エニグマ暗号機
第二次世界大戦のドイツのエニグマ暗号機でシミュレート・エンコード・デコードしましょう。リフレクター、3 つのローター、それぞれのリング設定と初期位置、そしてプラグボードを選び、メッセージを入力してローターが進む様子を見てください。エニグマは相互的です。同じ設定で暗号化も復号も行えるため、専用の復号モードはありません。すべてブラウザー内で動作します。
エニグマは相互的です。同じ機械設定で暗号化と復号の両方ができます。メッセージを読むには、ローター、リング、位置、プラグボードを暗号化時とまったく同じ設定にし、暗号文を貼り付けてください。結果が元の平文になります。専用の復号ボタンはありません。
リフレクター
ローター
左(低速)
中央
右(高速)
リング設定
初期位置
プラグボード
プラグボードはローターの前後で文字をペアごとに入れ替えます。AB CD EF のようにペアを入力してください。各文字は一度しか使えません。入れ替えなしにするには空欄のままにします。空白やその他の文字は無視されます。
上にテキストを入力すると、ここにエニグマの結果が表示されます。
エニグマ暗号機 の使い方
- 1
リフレクターとローターを選ぶ
リフレクター B または C を選び、左・中央・右のスロット用にローター I〜V から 3 つを選びます。標準的な基準設定は、リフレクター B にローター I・II・III です。
- 2
リング設定を決める
3 つのリング設定を AAA のように文字で入力します。リング設定(Ringstellung)は、各ローターの配線を文字環に対して回転させ、結果を変えます。
- 3
初期位置を決める
3 つの初期位置を AAA のように文字で入力します。これは入力を始める前にローターを合わせておく位置で、ローター窓に表示されます。復号するには、暗号化に使ったのと同じ初期位置を使ってください。
- 4
プラグボードのペアを追加する
必要に応じて AB CD EF のようにプラグボードのペアを入力します。各ペアはローターの前後で 2 文字を入れ替え、各文字は一度しか使えません。プラグボードを使わない場合は欄を空のままにします。
- 5
入力して結果を読む
メッセージを入力するか貼り付けると結果がすぐに表示され、リアルタイム計算でローター窓が進みます。エニグマは相互的なので同じ設定で暗号化も復号もでき、あなたの正確な機械設定とテキストでツールを再び開くリンクを、コピー・ダウンロード・共有できます。
エニグマ暗号機を理解する
エニグマ暗号機とは?
エニグマ暗号機は、ドイツの技術者アルトゥル・シェルビウス(Arthur Scherbius)が 1918 年ごろに発明した電気機械式のローター暗号装置です。木箱に収まったタイプライターのような外観で、キーボード、その上に並ぶ 26 文字が光るランプ盤、ローターと呼ばれる回転する車輪の組、そして前面のケーブル式プラグボードから成ります。文字を押すと電流がプラグボードを通り、ローターとリフレクターを横切り、戻ってきてランプ盤の別の文字を点灯させます。その光った文字が暗号文です。キーを押すたびにローターも回るため、同じ平文の文字でも現れるたびに違う暗号文になります。これがエニグマを単純な換字ではなく多表式暗号にしている点です。
ドイツ軍に採用され絶えず改良されたエニグマは、第二次世界大戦を通じてナチス・ドイツの秘密通信の屋台骨となりました。ドイツは、設定の組み合わせが膨大であることから解読不可能だと信じていました。それは誤りでした。マリアン・レイェフスキ(Marian Rejewski)率いるポーランドの数学者たちは 1930 年代初頭に機械とその配線を再構築し、その成果は英国のブレッチリー・パークでアラン・チューリング(Alan Turing)、ゴードン・ウェルチマン(Gordon Welchman)ら多くの人々によって発展させられました。彼らの解読は戦争を短縮したと広く考えられています。このツールは、ドイツ陸軍と空軍が使った標準的な 3 ローターのエニグマ I を再現します。
エニグマ暗号機の仕組み
エニグマの構成には 4 つの働く部分があります。プラグボード(Steckerbrett)は、ローター列の前後でケーブルにより文字をペアごとに入れ替えます。ローター(Walzen)は、26 個の入力接点それぞれが入り組んだ出力接点につながるよう配線された車輪で、この機械は 5 つの中から選んで順序づけた 3 つを同時に使います。リフレクター(Umkehrwalze)は末端にあり、固定された対応づけで電流をローターへ送り返します。そしてランプ盤が結果を表示します。したがって信号は往復します。プラグボード、右ローター、中央ローター、左ローター、リフレクター、左ローター、中央ローター、右ローター、プラグボード、そして最後にランプ、という順です。
3 つの設定が、特定の日やメッセージ向けに機械を個別化します。リング設定(Ringstellung)は、各ローターの配線を文字環に対して回転させます。初期位置(Grundstellung)は、入力を始める前に各ローターを合わせておく位置で、小さな窓から見えます。プラグボードのペアは最後の入れ替えの層を加えます。キーを押すたびにローターは走行距離計のように進むため、電流が通る配線は決して 2 回続けて同じになりません。ツールの下のリアルタイム計算は、メッセージの各文字に対して 3 つのローター窓が進む様子を示します。
計算例
機械を、最もよく引用される基準構成に設定します。リフレクター B、左から右へローター I・II・III、3 つのリング設定をすべて A、3 つの初期位置をすべて A、プラグボードは空です。ここで A を 5 回入力します。最初のキー押下で右ローターが進み、電流が往復してランプ B が点灯します。残りの A を入力すると、そのたびにローターが進み、D、続いて Z、G、O が点灯します。したがって平文 AAAAA は BDZGO に暗号化されます。これはローターが正しく配線されていることを確認する古典的なテストです。
エニグマは相互的なので、復号にはまったく同じ設定を使います。3 つのローターを初期位置 A に戻し、ほかは変えずに暗号文 BDZGO を入力してください。元のメッセージ AAAAA が出てきます。同じ設定でテキストが復元されました。だからこのツールには専用の復号モードがありません。暗号化に使った設定を復元して暗号文を入力し直すだけです。
リフレクターと相互性
エニグマを相互的にしているのはリフレクターです。26 本の線を対称にペアにするため、キーからランプへ電流がたどる経路は完全に可逆です。あるローター構成で A を押すと G が光るなら、同じ構成で G を押せば A が光ります。ローターの進みは設定とメッセージ内での文字の位置だけに依存し、文字そのものには決して依存しないため、機械を同じ開始状態に戻しさえすれば、復号は暗号化とまったく同じになります。手順は 1 つ、設定は 1 つ、向きは両方です。
リフレクターはエニグマの最も有名な欠陥も生みました。文字は決して自分自身に暗号化されません。電流は出ていった線とは必ず別の線で戻ってくるため、A は A 以外のどの文字にもなり得ますが、A にはなりません。一見無害ですが、これは解読者に強力な手段を与えました。平文の一片、いわゆるクリブがメッセージのどこかにあると推測できれば、それを暗号文に沿ってずらし、文字が自分自身と一致する位置をすべて即座に除外でき、探索範囲を劇的に狭められたのです。便利さを加えるための設計が、連合国に足がかりを与えてしまいました。
ローターの進みと二重ステップ
ローターは走行距離計の車輪のように回りますが、ひとひねりあります。右ローターはキーを押すたびに進みます。各ローターには繰り上げの切り欠きがあり、ローターがその切り欠きを越えて進むと、左隣のローターを 1 つ前へ押します。こうして右ローターが一周して切り欠きに達すると中央ローターが進み、中央ローターがやがて切り欠きに達すると左ローターが進みます。これが、機械がなかなか繰り返さない理由です。3 つのローターでは、完全な周期は数千文字に及びます。
二重ステップと呼ばれる、よく知られた変則があります。ステップ用レバーのかみ合い方のため、中央ローターが自身の繰り上げ位置にあると、次のキー押下で左ローターと一緒に進み、しかも直前の押下で右ローターによってもすでに進められていたため、短い間に 2 回動いたように見えます。忠実なエニグマ・シミュレーターはこの異常を再現しなければならず、このツールも再現します。中央ローターが切り欠きの近くにあるとき、リアルタイム計算でその発生を見られます。進みを正確に合わせることは不可欠です。たった 1 つの誤った進みが、それ以降のすべての文字を狂わせてしまうからです。
エニグマ暗号はどのように破られたか
最初の突破口はポーランドから生まれました。1932 年、数学者マリアン・レイェフスキ(Marian Rejewski)はイェジ・ルジツキ(Jerzy Rozycki)、ヘンリク・ジガルスキ(Henryk Zygalski)とともにポーランド暗号局で、置換論と盗み出された設定一覧を使って軍用エニグマの内部配線を再構築しました。これは長らく不可能と思われていた偉業です。ポーランドは電気機械式の補助装置を作り、何年もドイツの通信を読み、戦争の直前にすべてを英国とフランスに共有しました。その贈り物が、ブレッチリー・パークが築かれる土台となりました。
ブレッチリー・パークでは、アラン・チューリング(Alan Turing)とゴードン・ウェルチマン(Gordon Welchman)が、その日の鍵を見つけるために膨大な数のローター設定を高速に試す機械「ボンブ(Bombe)」を設計しました。彼らの攻撃は、自己暗号化が起きない欠陥、天気予報や決まり文句のような予測可能な平文のクリブ、そして鍵の使い回しやずさんな選び方といった操作員のミスに依拠しました。ドイツがローターやプラグを増やすにつれ作業は難しくなりましたが、解読は止まりませんでした。そこから得られた情報は「ウルトラ(Ultra)」という暗号名で呼ばれ、第二次世界大戦を短縮し多くの命を救ったと広く評価され、現代のコンピューティングの基礎を築く一助ともなりました。
エニグマ暗号は安全か?
当時の基準では、エニグマは恐るべきものでした。ローターの選択、リング設定、初期位置、そして 10 本のプラグボード・ケーブルを数えると、可能な設定は約 159 京通りに上ります。しかし、生の鍵の数は安全性と同じではありません。構造的な欠陥、とりわけどの文字も自分自身には暗号化されないこと、予測可能なメッセージ内容、そして人為的なミスにより、適切な機械と手法を持つ分析者は日々の鍵を何度も何度も復元できました。現代のコンピューターに対しては、完璧に運用されたエニグマでさえまったく保護になりません。
今日、エニグマ暗号はその教えと並外れた歴史ゆえに研究され、楽しまれています。ローター機械、多表式換字、そして入念な暗号解読がいかに暗号を打ち破るかを理解する最良の方法の一つであり、博物館、映画、パズル、capture the flag の課題に絶えず登場します。本物の情報を守るには、AES のような現代的で十分に検証されたアルゴリズムに常に頼るべきです。
よくある質問
エニグマ暗号機とは何ですか?
エニグマ暗号機はどのように動作しますか?
エニグマのメッセージはどうやって復号しますか?
エニグマの例を見せてもらえますか?
なぜエニグマには専用の復号ボタンがないのですか?
ローター、リング設定、初期位置とは何ですか?
プラグボードとは何ですか?
なぜ文字は決して自分自身に暗号化されないのですか?
誰がエニグマ暗号を破ったのですか?
エニグマ暗号はどれくらい安全でしたか?
私のテキストはサーバーにアップロードされますか?
関連ツール
こちらの便利なツールもどうぞ