シーザー暗号解読器の改良版として、Pickleのファイルとして配布した単語リストを用いた自動解読プログラムを作成した。
旧型の解読器では、アルファベットを0~25文字ずらした計26種類の正解候補をすべて表示し、人間の判断によってその中から真の正解を選択していたが、この新型解読器では、正解候補が持つ単語が単語リストに含まれる確率を計算して、それらしい単語を最も多く含む1種類の解答のみを表示する。
例えば、暗号文として
Bpm ycqks wvgf owjtqv rcuxa wdmz bpm tihg leizn.
を入力すると、
The quick onyx goblin jumps over the lazy dwarf.(出典:Now I Know My ABC's)
を出力する。
単語リストの実装は、カエサル暗号だけでなくエニグマ暗号器など、あらゆる暗号解読器において行うことが可能である。
このように、辞書を使えば単語で構成された暗号を簡単かつ高速に解読できるのであり、逆に言えば英文の暗号は単語間にスペースを挟むことによって脆弱性が高まるのである。
コメント
[…] 使い道の例はこちら。 […]