シーザー暗号解読器・改 ~単語リストを用いた解読~

Pocket
LinkedIn にシェア
LINEで送る

シーザー暗号解読器の改良版として、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

を出力する。

単語リストの実装は、カエサル暗号だけでなくエニグマ暗号器など、あらゆる暗号解読器において行うことが可能である。

このように、辞書を使えば単語で構成された暗号を簡単かつ高速に解読できるのであり、逆に言えば英文の暗号は単語間にスペースを挟むことによって脆弱性が高まるのである。

Pocket
LinkedIn にシェア
LINEで送る

投稿者: 大野 駿太郎

神経科学を研究している博士学生。Rust, Python, C/C++, Unityを活用して、世界の様々な現象を分析・シミュレートしています。理系分野だけでなく、政治学や社会学も、もちろん分析対象です。

「シーザー暗号解読器・改 ~単語リストを用いた解読~」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です