戻る 暗号解読


暗号にはたくさんの種類がありますが、 初期の代表的な暗号として シーザー暗号 があります。

これは下図のように、 アルファベットを 3 文字ずらせたものに置き換えるというものです。


シーザー暗号

たとえば "I LOVE YOU" は "L ORYH BRX" になります。
こうしておけば、 たとえこの手紙が第三者に読まれたとしても、 秘めたる恋が発覚する心配はありません。

しかし、 「これはシーザー暗号ではないか」 ということに気づかれてしまえば、 解読は時間の問題です。
シーザー暗号にはずらせ方を変えたものもありますが、アルファベットは 26 文字しかありませんから、 片っ端から試していけば、 どんなに運が悪くても、 25 回目には成功します。
またこの場合、 "L" という単語は、 "I" か "A" にちがいありませんから、 2 回試すだけで十分です。


しかし 単純に文字をずらせるのではなく、ランダムに並びかえたもので置き換えると、解読は俄然むずかしくなります。
たとえば下図のように並びかえたものを使うと、 "I LOVE YOU" は "M TVNX SVK" になります。
これなら、 簡単には解読できません。
こういう暗号を 「換字暗号」 といいます。


換字暗号




しかし、"M TVNX SVK" では無理でも、 ある程度暗号文が長ければ、 これも解読は難しくありません。

以下はコンピュータに関する英語の論文 の一部を暗号化したものです。
試しに解読してみてください。

やり方は簡単で、この暗号文をよく見ると、まず "k" という文字が多いことに気付きます。
この暗号文で使われている文字の割合を調べたものが下のグラフ (赤) で、 やはり "k" が多いことが分かります。
一方、英語の文章の中で一番よく使われている文字は "e" です (灰色)

英文では "e" がたくさん使われるのなら、 それを暗号化した文章にも "e" に相当する文字が多くなるはずですから、 この "k" は "e" ではないかという見当がつきます。
で、 まず下の画面中、 どれでもいいですから K をマウスでクリックし、つぎにキーボードの E をクリックしてください。
これで一文字解読できました。

また、 暗号文には "pak" という単語がたくさんあることにも気付きます。
よく使われる3文字の単語で、 おしまいの文字が "e" といえば、 あれしかありませんよね。
頻度のデータもよく似ているし、 "p" と "a" は、 おそらくあれとあれでまず間違いないだろう…。

というふうにして 文字の頻度や英語の綴りの特徴などを手がかりにして解読を進めていくと、 初めての人でも 30分〜1時間ほどで解読できるようです。



暗号文は2種類あり、チェックボックスをクリックすれば切り替わります。
切り替えると解読データがクリアされますから、解読中は変更しないようにしてください。
暗号文2 の方が、 少し難しいかもしれません。

暗号鍵も3種類あり、 暗号鍵R ではクリックするたびに新たに暗号鍵が作成されます。
(暗号文1と暗号文2は、それぞれ異なる暗号鍵が使われています。)



単純な暗号ではこうしてすぐに解読されてしまうため、 さまざまな暗号方式が考えられてきました。
このようなタイプの暗号で、 もっとも巧妙なもののひとつに 「エニグマ」 があります。





情報処理概論 に戻る   講義資料 に戻る   戻る  

*1平文テキストは "First Draft of a Report on the EDVAC"  John von Neumann  (1945)、 "A Symbolic Analysis of Relay and Switching Circuits"  Claude E. Shannon  (1937) の抜粋です。

Java applet 圧縮アーカイブファイル    自由利用マーク
update: 2007.08.19  address