読書メモ(暗号解読)

暗号解読(上) (新潮文庫)

暗号解読(上) (新潮文庫)

暗号解読 下巻 (新潮文庫 シ 37-3)文句なしに面白い。シンは『代替医療のトリック』『フェルマーの最終定理』『宇宙創成』に続き四作目。外れがない。もはやサイモン・シンツイッターでフォローしちゃってるくらいファンである。


・単アルファベット換字式
「秘密にメッセージをやり取りしたい」という要請は昔からあって,暗号も早くから考えられていた。最も単純な暗号は,単アルファベット換字式というやつで,aをgに,bをmに,…と文字を入れ替えるやつ。しかし単アルファベット換字式暗号は簡単に破られる。英語ではeが最も出現頻度が高い,というような頻度分析を用いて,どの字がどの字にあたるか推定し,暗号文から平文を復元していく。この解読法はアラビアで発見されたらしい。


・ホモフォニック換字式
 頻度分析への対抗策として,出現頻度の高い文字に複数の文字を割り当てて置換するホモフォニック換字式暗号が作られた。例えば平文の「e」を「#」「$」「%」「&」のどれかに置換して暗号化するなどすれば,暗号文に現れる文字の出現頻度をならすことができる。しかしこれも,連接特徴などを用いて解読可能。
 連接特徴とは,例えば英語ではqの後はuが来るといったような文字の配置関係。これを利用されれば,頻度分析が使えないホモフォニック暗号も安全ではない*1


・ヴィジュネル暗号
 そこで開発されたのが16世紀終わりごろのヴィジュネル式暗号。平文を一文字づつ別のアルファベットに置換していくのだが,同じ文字でもその位置によって異なる文字に置換されるようにしている。そうすると,頻度分析も連接特徴も使えない。
 具体的には,何文字目のアルファベットをいくつずらしたアルファベットにするかを鍵として取り決めておく。通常暗号文より鍵の方が短い。例えば鍵の長さが5なら,それを何度も繰り返し使う。そして鍵は間違いのないように意味をもつ語にしておく。
 例えば「bed」という鍵では,平文の1,2,3文字目をそれぞれ1,4,3個先のアルファベットに置換する(b,e,dがaから数えて1,4,3番目のアルファべットなので)。4,5,6文字目も同様で,以下周期的に鍵を適用していく。
「bed」で例えば平文「polyhedron」を暗号化すると,「qsozlhevro」となる。はじめのpが1つ先のqになり,次のoが4つ先のsになり,次のlが3つ先のoになり,次のyが1つ先のzになり…というわけだ。復号は鍵を使って逆のことをすればいい。
 しかし,ヴィジュネル式暗号にも弱点があった。ある程度長い暗号文が手に入れば,鍵が意味をもった語であることと,鍵を周期的に用いることを利用して解読できる。まず暗号文から同じ文字の繋がりを複数個所見つける。そこでは同じ単語が,鍵の同じ部分で暗号化されている可能性が高い。このことから,鍵の周期がわかる。次に,平文中で使われそうな単語を,平文の適当な位置に仮に置いてみて,それと暗号文から鍵の一部を割り出してみる。鍵は意味のある語だから,割り出した文字列がありえない文字の並び方であれば棄却でき,ありそうな並びなら仮置が正しい可能性がある。
 このような推測を繰り返して鍵を推定していけば,ヴィジュネル式暗号も解くことができる。このように,暗号の歴史は,暗号使用者と解読者のシーソーゲームの歴史であり,強い暗号が開発されて解読不能になったり,解読法が開発されて暗号が脆弱化したりの繰り返しだった。


・様々なエピソード
 本書は,スコットランド女王だったメアリ・ステュワートの裁判の場面から始まる。エリザベス一世暗殺未遂(バビントン事件)の嫌疑をかけられた彼女は,証拠である手紙の暗号が解読されたために有罪とされ,処刑されてしまう。この他にもビール暗号など魅力的なエピソードを収録している。
 変わり種として,太平洋戦争で米軍が使ったナヴァホ暗号がおもしろい。インディアンのナヴァホ族を通信兵として採用し,ナヴァホ語で交信するという寸法。暗号化も復号も迅速で,鍵のやりとりも無用。解読されることもなかった。
 ほかに,暗号ではないが古代文字解読の物語も載せている。シャンポリオンヒエログリフ解読,ベントリスとチャドウィックによる線文字Bの解読。熱意と努力で解読に至る何ともドラマチックな実話だ。古代文字には未解読のものも多いが,テキストが少ないなど解読は至難。


エニグマ
 20世紀に入ると,無線通信の登場により,通信を誰でも簡単に傍受することが可能となり,暗号の必要性は増した。そして通信量も飛躍的に増えたため,自動的に暗号化,復号を行なう暗号機械が登場する。
 中でも高名なのがドイツのエニグマ暗号機で,本書でも詳しく解説されている。外交暗号電報(ツィンマーマン電報)が一次大戦のさなかに解読されていたことに,ドイツは10年も経ってから気付く。そこであわててエニグマを制式採用した。ツィンマーマン電報は,イギリス軍情報部によって解読されていたが,イギリスはその事実を隠していた。暗号文の解読ではなく平文が漏洩したかのように工作して,ドイツが暗号の脆弱性に気付かないようにしたのだ。ドイツはまんまとしてやられたのだった。
 それで,ドイツは二次大戦前に非常に巧妙で解読が難しいエニグマ暗号を採用した。しかし,これもついには解読されることになる。エニグマの解読は,弱小国ポーランドの数学者がやってのける。ソ連とドイツに挟まれ,国家存亡の切実な危機感が,この快挙を可能にした。ただポーランドに解読された後,エニグマはさらに強化される。しかしこれもイギリス政府通信本部が解読に成功。悲劇の天才数学者チューリングがその仕事に貢献したことはあまりにも有名。
 暗号の安全性には鍵のやりとりの安全性が大きく影響していた。鍵は正当な受信者には確実に届けなければならないが,傍受者に漏れてはならない。ヴィジュネル暗号の教訓から鍵はランダムな文字列でなくてはいけない。エニグマで鍵にあたるのは,ローターの位置やケーブルの配線などの設定で,天文学的な数の組み合わせのどれにするかを毎日変更する(日鍵)。日鍵は毎月一ヶ月分が送付されるが,これが敵の手に落ちれば解読されてしまう*2。実際は一つの暗号文毎にメッセージ鍵が用いられる。メッセージ鍵は日鍵で暗号化されて送信されてくるので,それを復号してエニグマを設定し,暗号化メッセージを復号するという手順が踏まれていた。
 エニグマは,メッセージ鍵の平文が,鍵の内容を二回繰り返すフォーマットだったために,そこが弱点となり日鍵を突き止められて解読された。もっとも日鍵は毎日変わるので,毎日せっせと日鍵を突き止めて,暗号文を解読しなくてはいけなかったのだが,イギリスはそれをやってのけた。


・鍵配送問題と公開鍵暗号
 20世紀前半までの暗号はすべて鍵を通信当事者以外には漏らさない秘密鍵暗号だった。その中で解読を最も困難にするには,平文と同じくらい長い乱数鍵を,一度きりしか使わなければよい。それなら鍵さえ漏れなければ解読は不可能である*3。絶対に不可能だ。
 しかし,そうすると鍵の配送が事実上不可能になる。確かに,通信毎に暗号文と同じ分量の鍵をやりとりするのは非現実的だ。この鍵配送問題が20世紀半ばまで大きな問題だった。しかしこれを根本的に解決する革命的な暗号方式が開発される。
 それが公開鍵暗号である。鍵を秘密ではなく公開してしまうという逆転の発想だ。通信に関与する人はそれぞれ一般に公開する公開鍵と秘密にしておく個人鍵をもっていて,平文を暗号化してもらうときは公開鍵を使い,できた暗号文を復号するときには個人鍵を使う。
 例えばAさんがBさんに暗号文を送る場合,AさんはBさんの公開鍵を使って平文を暗号化し,それを受け取ったBさんは自分の個人鍵で暗号文を復号する。これを逆にして,個人鍵で暗号化し,公開鍵で復号すれば,電子署名として使うこともできる。
 もちろん公開鍵と個人鍵は対応している。公開鍵と個人鍵を順に用いると,恒等変換になっていなくてはならない。従来の暗号では,暗号化に用いる鍵から,復号に用いる鍵を簡単に求めることができたが,公開鍵暗号ではそうではない。
 公開鍵から対応する個人鍵を求めることが事実上不可能になるように設計されている。掛けるときに使う鍵をどんなに調べても,開けるときに使う鍵が分からないようになっているのだ。それには大きな数の素因数分解が非常に難しいことを利用している。
 年々強力になるコンピュータの計算能力でも公開鍵から個人鍵を求めるには天文学的な時間がかかる。暗号開発者と解読者との戦いは,当面は開発者の優位が続くだろう。解読者の巻き返しがあるとすると,量子コンピュータの登場以降だろうか。
 誰でも簡単に安全な公開鍵暗号が使えるように,コンピュータソフトを開発したジマーマンの物語も語られる。もちろん米政府は,安全な暗号が広く普及することに反対で,ジマーマンは著作権侵害訴訟を起こされるなど軽く弾圧を受ける。しかし結局ジマーマンは追及を逃れ,暗号ソフトは世に出回った。


 暗号にかかわる人間たちの歴史ドラマを盛りだくさんに取り上げてまったく飽きさせない。暗号の理論についてごまかしなしに解説してくれるのも嬉しい。巻末には本格的な暗号解読問題を収録。解答は邦訳前に締め切られていたようで,文庫本には正解が収録されているが,めちゃくちゃ難しくて,素人に解読は無理だ。


 最後に,今ふと気づいたんだけど,外交電報事件のツィンマーマンと暗号ソフトのジマーマンって実は同じ名前!?

*1:もっとも,頻度分析に対しては,元の平文を意図的に頻度の偏った文にしておく対策も考えられる。eを一文字も使わずに書かれた英語の小説もあるらしい。そりゃスゴイ!

*2:エニグマの機械自体は敵の手に渡ることが想定されている

*3:総当たりであらゆる鍵を試すには天文学的な時間がかかるし,仮にそれができたとしても,意味のある文がいくらでも出てくるので,どれが平文か判断できない。