エニグマ暗号シミュレーター(ローター式暗号機)

第二次世界大戦でドイツ軍が使用したエニグマ暗号機を、実機通りのローター配線・段差機構でブラウザ上に再現するシミュレーターです。ローターの種類・リング設定・初期位置・プラグボードを自由に設定して暗号化・復号を体験できます。処理はすべてブラウザ内で完結します。

エニグマ暗号シミュレーターとは

このツールは、第二次世界大戦でドイツ軍が使用した3ローター式エニグマ暗号機(Enigma I)を、実機と同じ配線表・段差機構(ステッピング)でブラウザ上に再現するシミュレーターです。ローターの種類・リング設定・初期位置・プラグボードの組み合わせをそのまま入力の変換ルールとして使い、平文を暗号文に、暗号文を平文に変換します。

処理はすべてブラウザ内で完結し、入力したテキストがサーバーに送信されることはありません。実機同様、変換対象は英字(A〜Z)のみで、数字や記号・空白はローターを経由せずそのまま出力されます。同じ設定で暗号文をもう一度処理すると平文に戻る「相互暗号」の性質も忠実に再現しています。

エニグマ暗号の使い方

  1. ローターの種類を選ぶ 左・中央・右の3つのスロットに、I〜Vの中からローターを選びます(重複使用も可能です)。
  2. リング設定を合わせる 各ローターのRingstellung(A〜Z)を指定します。暗号化・復号の両方で同じ値が必要です。
  3. 初期位置を設定する 各ローターのGrundstellung(窓に表示される文字)を指定します。メッセージごとに変えるのが実際の運用です。
  4. プラグボードを設定する(任意) 入れ替えたい文字ペアを「AB CD」のようにスペース区切りで最大10組まで入力します。
  5. テキストを入力して実行する 平文または暗号文を入力欄に入れて「暗号化・復号する」を押すと、変換結果が表示されます。

使いこなすためのヒント

  • エニグマは相互暗号(reciprocal cipher)のため、暗号化時と全く同じローター設定・初期位置・プラグボードを使えば、暗号文をもう一度処理するだけで元の平文に戻ります。「結果を入力に反映」ボタンで試せます。
  • ローターの初期位置(Grundstellung)を1文字でも変えると、得られる暗号文は全く別のものになります。実際の運用でも、この設定は原則として毎日変更されていました。
  • 反射板(Umkehrwalze)を経由する構造上、ある文字が暗号化後に同じ文字になることは絶対にありません。この性質は後にアラン・チューリングらの解読の重要な手がかりになりました。
  • プラグボードは最大10組の文字ペアを入れ替えられます。実際のドイツ軍でも運用規則によって最大10組までに制限されていました。
  • 「設定をランダム化」ボタンを押すと、運用担当者が毎日行っていた鍵設定(暗号鍵表に基づくローター・リング・プラグボードの変更)を疑似的に体験できます。

エニグマ暗号シミュレーターの活用シーン

暗号史・情報セキュリティの授業教材として

ローター配線や段差機構を実際に動かしながら見せることで、教科書の図だけでは伝わりにくい仕組みを直感的に理解させられます。

ブレッチリー・パークの解読劇の再現として

同じ設定なら暗号文が平文に戻る様子を実演し、アラン・チューリングらが挑んだ暗号解読の難しさを体感的に説明できます。

暗号アルゴリズムの自主学習として

ローター・リング設定・プラグボードを1つずつ変えて出力がどう変化するかを試し、多表式換字暗号の考え方を手を動かして学べます。

書籍・資料に載る暗号例の検算として

暗号史の書籍やWebサイトに掲載されているエニグマの入出力例を、同じ設定値を入力して実際に再現・確認できます。

エニグマ暗号の用語集

ローター
内部に固有の配線を持つ回転式の暗号円盤。エニグマは3枚(I〜Vから選択)を組み合わせて使い、キーを押すたびに右側から順に回転します。
リフレクター(反射板・Umkehrwalze)
3枚のローターを通過した信号を折り返し、再びローターを逆向きに通す部品。この構造により暗号化と復号が同じ操作になります。
プラグボード(Steckerbrett)
キーボードとローターの間で指定した文字ペアを入れ替える追加の暗号化レイヤー。最大10組まで設定でき、鍵の組み合わせ数を大きく増やします。
リング設定(Ringstellung)
ローター内部の配線と、外側に表示されるアルファベットとの対応関係をずらす設定。初期位置とは別に、より長期間固定される鍵の一部です。
初期位置(Grundstellung)
メッセージの暗号化を始める時点での各ローターの窓の表示文字。実際の運用ではメッセージごとに変更されていました。
段差機構(ステッピング)
キーを押すたびに右ローターが1段回転し、特定のノッチ位置を通過すると隣のローターも連動して回転する仕組み。中央ローターがノッチにあるときに左右両方が同時に進む「二重ステッピング異常」という特有の癖があります。
相互暗号(reciprocal cipher)
リフレクターを経由する構造により、同じ設定で2回変換すると元の文字列に戻る性質。エニグマでは暗号化と復号が全く同じ操作で行えます。

よくある質問

ポーランドの数学者たちが1930年代に機械の構造を数学的に解析し、その成果を引き継いだイギリスのブレッチリー・パークでアラン・チューリングらが解読装置「ボンブ」を開発しました。同じ書き出しの多用など運用上の癖も解読の手がかりになったとされています。

現代の基準では全く安全ではありません。第二次世界大戦中に既に体系的に解読されており、鍵空間も現代のAES等の暗号と比べて桁違いに小さいため、現在のコンピューターであれば瞬時に総当たりが可能です。本ツールはあくまで歴史・教育目的のシミュレーターです。

ありません。反射板を経由する構造上、ある文字が自分自身に変換されることは数学的に起こり得ません。この性質は暗号としては弱点であり、解読者が平文を推測する際の重要な手がかりの1つになりました。

初期位置はローターの窓に表示される文字で毎回のメッセージごとに変更される設定、リング設定はローター内部の配線とアルファベット表示の対応関係そのものをずらす設定で、より長期間固定される鍵の一部です。両方が一致しないと正しく復号できません。

キーボードと出力表示の間で指定した文字ペアを入れ替える追加の暗号化レイヤーです。ローターだけの暗号化に比べて組み合わせの数が飛躍的に増えるため、実際のドイツ軍運用でも解読を困難にする重要な要素とされていました。
ツールくん

余談ですが ― エニグマとブレッチリー・パークの物語

エニグマは1918年にドイツの技術者アルトゥール・シェルビウスが商用の暗号機として特許を取得した装置で、後にドイツ軍が通信の秘匿に採用したことで広く知られるようになりました。ローターと呼ばれる回転式の暗号円盤を複数組み合わせ、キーを押すたびにローターが機械的に回転して配線が変化するため、同じ文字を入力しても毎回異なる文字に暗号化される仕組みを実現していました。

エニグマの解読は、まずポーランドの数学者マリアン・レイェフスキらが1930年代に数学的手法で機械の構造を解明したことから始まりました。第二次世界大戦開戦後はイギリスのブレッチリー・パークに解読チームが結集し、アラン・チューリングらが「ボンブ」と呼ばれる電気機械式の解読装置を開発して、日々変更される鍵設定を突き止める作業を組織的に行いました。この成果は連合国側の情報戦に大きく貢献したとされています。

エニグマの解読史は、どれほど複雑な暗号機構であっても運用上の癖や人為的なミス(同じ挨拶文で始まる、鍵設定表の使い回しなど)が突破口になり得るという教訓を現代の暗号設計にも残しています。本シミュレーターはあくまで歴史的な仕組みを学ぶための教育目的のツールであり、現代の通信を守るための暗号化には使用できません。