エニグマ(Enigma)とは、第二次世界大戦のときにナチス・ドイツが用いていたことで有名なロータ式暗号機のこと。幾つかの型がある。
エニグマ暗号機は、1918年ドイツの発明家アーサー・シェルビウス
(英語)によって発明された電気機械式暗号機械で、1925年にはドイツ軍が正式採用し約3万台が軍用として使用された。
暗号方式は換字式であり、詳しくは順変多表式である。エニグマはM-209
(英語)と同様な反転暗号となり、暗号文を同じ鍵で再暗号化すると平文が得られる特徴がある。
大戦中に連合国側はエニグマ解読に成功したが、その事実は徹底して秘密にされ、ドイツ軍は終戦までエニグマを使用し続けた。
現代では解読を不可能とするために複数の暗号アルゴリズムで構成される複合式の暗号もあり、アルゴリズムの実行順序がダイナミックに変更される。複合式の暗号はとても本来のエニグマに見られるような換字式暗号とは言えない(電子式暗号機)
構造
手前にキーボードがあり、その奥にランプボード(表示盤)、一番奥には3枚のローターが入っていて、ローターの初期状態を設定できるようにホイールの端が出ている。ローターの左にはリフレクター(反転ローター)がつけられている。キーボードの手前にはプラグボードが格納されている。 上蓋の内側の下にプラグコードが格納されている。
キーボードで平文(ひらぶん)の一文字を打ち込むとランプボードの一つが点灯して暗号文の一文字が得られる。暗号文を復号する際も、同様にキーボードで暗号文を打ち込むとランプボードが点灯して平文が得られる。
内部のローター
暗号化・復号の鍵は、いくつかあるローターのうちどの3枚を使うかの組み合わせと、ローターをセットする順序、ローターの目盛りの初期位置、およびプラグボード配線である。
内部のローターは、中の配線が暗号化機(スクランブラー)になっている。 打ち込んだ文字は3枚のローターを通って変換され、反転ローターでもう一度3枚のローターを逆方向に通って再度変換されて出力される。
1文字暗号化する毎にローターが一目盛り回転し、回路が変更されるので、同じ文字を打ち込んでも前回とは別の文字に変換される。端のローターが1回転すると隣のローターが一目盛り回転するので回路の組み合わせは膨大な数になる。これは異なる換字表を1文字ごとに使っていくことと同じである。