戻る 暗号解読



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

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


シーザー暗号

たとえば "I LOVE YOU" は "L ORYH BRX" になります。
こうしておけば、 この手紙が第三者に読まれても、 秘めた恋が発覚する恐れはありません。
しかし、 「これはシーザー暗号ではないか」 と気づかれてしまえば、 解読は時間の問題です。
シーザー暗号にはずらせ方を変えたものもありますが、 アルファベットは 26 文字ですから 25 回試せば必ず解読できます。
またこの場合なら、 "L" という単語はおそらく "I" か "A" のどちらかですから、 2 回で十分です

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

換字暗号




しかし、"M TVNX SVK" は無理でも、 暗号文がある程度長ければ、 これも解読は簡単です。

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

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

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

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

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



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

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



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




関連事項:  シーザー暗号  エニグマ  秘密鍵暗号方式  公開鍵暗号方式 


情報処理概論 に戻る   目次 に戻る  戻る  


*1 暗号文を単語で区切ると解読が容易になるため、 通常は単語の間にスペースを入れません。
*2 平文テキストは "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: 2012.11.10  address