解読は不可能かと思われたエニグマであったがチューリングらによって解読がなされることとなる。理論上、膨大な計算が必要であり、彼らは最初は手作業による人海戦術で計算を進めていたが、ポーランドのbomba(w:Bomba (cryptography))を発展させた解読機bombe(w:Bombe)によって大きく手間が軽減されることとなる。bombeは現在も、再構築され、その誕生・運用の地ブレッチリー・パークに設立されたThe National Museum of Computingに保存・展示されている。
またこの頃には戦況の変化のスピードが高まり、暗号通信にも速度が求められることとなった。単純に複雑なだけでは暗号化や復号に時間がかかり、実用性が乏しくなってしまうが、暗号機の登場は暗号化の速度向上にも貢献している。だが、それらの裏を掻くかの如く、アメリカ軍はアメリカ先住民ナバホ族の言葉であるナバホ語を、第二次大戦中に電話通信の暗号として利用した(コードトーカー)。ナバホ族出身の兵士同士が会話をするだけなので通信はとても早く正確で、ナバホ族の言葉は大変複雑な上に類似する言語が存在せず、日本軍は解読どころか暗号文を書き留めることすらできなかったという。これらのエピソードは映画「ウインドトーカーズ」でも描かれている。
だが、その日本も外務省と在ドイツ日本大使館の間で、重大な軍事機密事項の情報連絡を早口の薩摩弁で行うという同種のアイデアを実行している。これについては通常の国際電話で会話したため、アメリカ軍は当然の如く傍受したが、解読に困難を極め、最初はほとんどまともに解読ができなかったという。 1940年代、第二次世界大戦終了前後に開発が始まったプログラム可能な電子計算機(コンピュータ)の登場は機械式暗号の信頼性をさらに失速させる。コンピュータは自由にプログラムを設定でき、任意の機械式暗号をシミュレートできる上に暗号化・復号のスピードも桁違いで、暗号鍵を総当りで調べる、暗号文を統計処理して暗号鍵を推測する等、暗号解読の強力なツールとなる。初期のコンピュータにはコロッサスのように暗号解読を目的として開発されたものもある。 一方で1947年のトランジスタの発明、1958年の集積回路の発明など半導体技術の進歩は暗号にも大きな影響を与え、機械式では実現不可能な複雑なアルゴリズムでも実現可能になった。信頼性の高い暗号が、手軽に利用できるようになったのもコンピュータや半導体技術が出現してからである。 1970年代、ホルスト・ファイステルにより換字式暗号と転置式暗号を組み合わせた換字-転字暗号が提案され、DESの原型となるブロック暗号 Lucifer が誕生した。 エニグマなどの機械式暗号は、ブロック長が数ビットで、換字表の切替周期の長さとその統計的ランダム性を向上させた換字式暗号であるが、ブロック暗号はブロック長を64?128ビットと大きくし、換字と転置を繰り返すことで暗号文を作成する方式である。単純換字式暗号の換字表の種類は26!サイズであるが、ブロック長が64ビットのとき、(2^64)!という巨大なサイズとなる。 ただ、Luciferの換字表(Sボックスと呼ばれる)の設計には問題があり、解読が容易であった。その為、DES規格制定の際、当時のコンピューターを駆使してSボックスの検証が行われた。しかし助言したNSAがSボックスの設計方針(差分解読法への耐性)を明らかにしなかったため、裏口(バックドア)を仕掛けたとの疑惑が残った。 ブロック暗号の歴史は、ブロック暗号#歴史を参照。 コンピュータの性能が向上するにつれ、暗号の安全性は、コンピュータをもってしても解読を防げる程度にまで達したが、暗号技術は別の壁にぶつかる。 共通鍵暗号で通信をするには予め鍵を相手に送っておかなければならないが、その鍵を暗号化せずにそのまま送信すれば第三者に盗まれてしまう。安全に鍵を配送するのは多額のコストがかかり、これが鍵配送問題と呼ばれる問題である。鍵配送問題の例として、敵国に侵入したスパイに暗号鍵を送信していると推測される放送もある(ナンバーステーション、乱数放送)。 鍵配送問題を解決すべく、1976年にホイットフィールド・ディフィDiffieとマーチン・ヘルマンHellmanが公開鍵暗号系の概念を提案する(Diffie-Hellman鍵共有)。これは共通鍵暗号系と違い、暗号化と復号に別の鍵を使う、というアイデアである。暗号化の鍵は誰でも入手できるように公開してもよく、送信者はその公開鍵で暗号化して送信し、受信者は復号鍵で平文に戻す。公開された暗号化鍵では復号できず、復号鍵は受信者しか知らないので、通信の秘密は保たれる。 具体的な公開鍵暗号方式として有名なRSA暗号はその翌年に発表された。その後、ラルフ・マークルMerkleとヘルマンの二人が公開鍵暗号方式であるMerkle-Hellmanナップサック暗号を提案したが、この暗号方式は後に解読されてしまった。暗号ソフトウェアはフリーウェアとして公開されているPGPなどもあり、誰でも安心して通信できるようになった。 現在ではもっぱらソーシャルエンジニアリングによる鍵や情報の流出の危険性のほうが問題となっている。コンピュータのパスワードを複雑なものにする、パスワードのメモを机やゴミ箱に放置しないなどの対策が必要となる。 典型的な暗号方式であるRSA暗号の信頼性は、大きな数の素因数分解が困難なことに依存している。もし量子コンピュータが実現したとしたら、素因数分解が短い時間で可能になるのでRSA暗号は破られることになる、というように言われているがこれは「ショアのアルゴリズム」の存在による。現状では、それに必要な規模で安定稼働する量子コンピュータの実現は難しく[3]ただちに危殆化するおそれは無い。 量子(現在のところ光量子)を利用した量子暗号や、量子計算機を使った攻撃に耐える耐量子暗号(耐量子計算機暗号)[4]も研究されている。 日本では1930年代から機械式暗号を開発、使用を開始した。しかし多くは他国に解読され、第二次世界大戦末期には外務省や陸軍、海軍の情報が筒抜けとなっていた(日本の機械式暗号の項を参照のこと)。 第二次世界大戦後の日本の暗号の使用状況は秘匿されているが、1977年にオーストラリアの元外交官が執筆した著書の中で「日本の外交通信暗号は全て解読されている」、「最近は解読不能な暗号を作成することはさほど困難ではないのに、日本政府は解読された古い暗号を依然として使っている」と言及。外務省が調査した結果、元外交官が指摘する暗号とは「電報略号」を使用した機密性の低い通信であることと結論づけている。この際、正式な暗号の乱数表の作成はクセが出ないようコンピューターを利用していること、乱数の連絡も電報のほか磁気テープ(第三者が触れた場合には消磁される機能付き)などを利用していることが明かされており[5]、1970年代の暗号を取り巻く状況が垣間見れるものとなっている。なお、1970年代にはUKUSA協定諸国による盗聴システムが稼働しており、どこまで秘匿されていたかは明らかではない。
コンピュータと暗号
ブロック暗号の誕生
鍵配送問題と公開鍵暗号
量子暗号の展望
日本の暗号の歴史
脚注[脚注の使い方]
注釈^ 暗号学の用語では、普通の文そのままのものを「平文」、暗号に掛けるもの(平文に何らかの手を加えている場合がある)を「原文」と言う。
出典^ 以下の用語は、長田順行『暗号』による
^ 長田順行『暗号』によれば
^ RSA暗号が「ショアのアルゴリズム」に対して安全であることを証明:量子コンピュータ - MONOist
^ JPNIC ニュースレター No.82 耐量子計算機暗号とは - JPNIC
^ 豪元外交官指摘の事実 略号電報を解読『朝日新聞』1977年(昭和53年)4月10日朝刊、13版、22面
参考文献
暗号史に関する参考文献は、暗号関係の書籍#歴史・自叙伝に一覧されている書籍を参照。
関連項目
暗号理論
暗号解読
暗号化
表
話
編
歴
暗号
暗号史
暗号解読
Cryptography portal
en:Outline of cryptography
共通鍵暗号