TOPセキュリティ > 暗号技術の基礎(中)

セキュリティ

暗号技術の基礎(中)

2021/12/15

Matthew Tyson InfoWorld

 現代の生活で、暗号技術はますます重要な存在になっている。アプリにログインする時も、メールを送信する時も、その基盤にあるインフラでは、高度な暗号技術が使われている。その技術の多くは、1970年代のブレークスルーで生まれ、今日まで受け継がれている。

前回から続く)

疑似乱数関数

Credit: IDG
Credit: IDG

 一方向関数に加えて、疑似乱数を生成するアルゴリズムも、暗号プリミティブとみなされる。すなわち、通信のセキュリティー確保に欠かせない基本的な構成要素である。なぜなら、通信で秘密を確保する仕組みは、当事者は知っているが部外者は知らない値が土台となり、乱数の生成はその基になるからだ(乱数を生成する際、ユーザーからの入力値を取り入れることも多いが、人間の入力は往々にして当てにならない)。

 システムクロックから得た値など、種(シード)を指定する手法で得られる乱数は、あくまで疑似的な乱数にすぎない。乱数の生成方法をハッカーが把握した場合、それに基づく乱数攻撃の手法を編み出せる可能性がある。ハッカーの巧妙さという面では、ブラックハットとホワイトハットは追いつ追われつの関係にある。実際、暗号技術の歴史は、いわば善と悪のつばぜり合いの歴史である。

 乱数攻撃を防ぐために、安全性を高めた乱数生成の手法も開発されている。大半の暗号ライブラリには、乱数生成の機能が備わっている。

非対称鍵

 現代の暗号技術に至る発展のうちで、最も独創的で大きな影響を与えたのは、公開鍵と秘密鍵のペアを使う非対称鍵の手法の考案かもしれない。暗号化と復号で別々の鍵を使うというのが根本的なアイデアだ。暗号化鍵は配布しても安全だが、復号鍵は自分だけの秘密にしておく。

 この手法が世に出たのは1970年代末のこと。2人のプログラマーと1人の数学者が革新的な暗号システムを考案し、3人の名前の頭文字から「RSA」と名付けた(ちなみに、英国の諜報機関の数学者が、同じような仕組みを数年前の段階で考案していたという興味深い裏話もある。しかし、そちらの発明は機密扱いだったうえ、当時のコンピューターシステムの限界から、実用性のないシステムとみなされていた)。

↑ページ先頭へ