ナチスの暗号機エニグマの仕組み
エニグマ(Enigma)は、第二次世界大戦のときにナチス・ドイツが用いていたことで有名なローター式暗号機である。1918年にドイツの発明家アルトゥール・シェルビウスによって発明され、1925年には約3万台が軍用として使用された。
優れた暗号システムの例に漏れず、エニグマは使用するのは簡単であるが、その暗号文を破るのは非常に難しい。
機械式と電子式の中間にあるエニグマの見た目は、大きめのタイプライターのようだ。キーボードでメッセージの最初の文字を入力すると、ランプボード上で置き換えられた文字が点灯する。暗号文を受信した側でも同じ手順を踏む。”暗号文”を入力すると、解読されたメッセージがランプボード上で点灯する。
Imitation Game: how did the Enigma machine work?
内部には3つのローターが組み込まれている。各ローターは文字の入力を受けると、異なる文字を出力する。この文字が3つのローターを経た後、”反転ローター”によって逆方向に送信され、3つのローターを再び経由する。
最終的にランプボード上で文字が点灯し、暗号化された出力を示す。同時に最初のローターが1目盛り分回転する。このため、2文字目に1文字目と同じものを打ち込んだとしても、違う文字が出力される。
最初のローターが26目盛り回転すると、2番目のローターも1目盛り分回転する。2番目のローターが1回転すると、3番目のローターも同様に回転する。この結果、同じ暗号化プロセスが再び使用されるまでに、17,000種類の組み合わせが存在することになる。
またローターと入出力の途中には、1組の文字を入れ替えるプラグボードが内蔵されている。初期モデルでは最大6組まで入れ替えることができたが、後期モデルでは10組に拡大され、第4ローターも追加された。

こうした複雑な仕組みにもかかわらず、オペレーターに必要なのは、3つのローターの配置と順序ならびにプラグの配置だけだ。初期設定さえ知っていれば、解読は暗号文を入力し直すだけだ。反転ローターのおかげで、解読は暗号化手順と全く同じなのだ。
しかし反転ローターには、暗号破りの手がかりを与えてしまうという欠点もあった。すなわち同じ文字には変換されないことだ。このヒントと、いくつかのメッセージ(「Keine besonderen Ereignisse(報告なし)」や「An die Gruppe(グループ宛)」など)の暗号化の結果を推測することで、数千種類のローターの配置を除外することができた。

やがて数学者アラン・チューリングが暗号解読機”ボンベ"を開発し、論理解析を行ってエニグマを破るようになる。しかし、最初の手順は必ず手動で行わなければならなかった。ボンベは検証すべき組み合わせの種類を減らす役にしか立たなかったのだ。

連合国は暗号解読チームを組織しエニグマの解読に当たらせたが、ナチスもローターの数を増やしたり、形状を変更するなど、エニグマの改良に取り組んでいた。そしてエニグマを超える”ローレンツ”が登場する。

イギリスはその解読により大勢の暗号解読者と自動化が必要となる。これが世界初のデジタル・プログラム可能コンピューター、”コロッサス”の誕生につながる。

via:io9・theguardian/
translated hiroching
現在ネット上にて実際にエニグマ暗号を生成できるシミュレーターが公開されているので、興味のある人はチェックしてみよう。
【Enigma Simulation】
