📝 目次
1. エニグマ暗号機とは?なぜ解読不可能と言われたか
古代の「シーザー暗号」や、戦国武将の「上杉暗号」などには、一つだけ大きな弱点がありました。
それは、「一度『AはDになる』というルールがバレたら、手紙の全文章が読まれてしまう」ということです。
しかし、エニグマは違います。
エニグマの最大の特徴は、キーボードで文字を打つたびに「機械の中の歯車(ローター)がカチャッと回転し、文字を打つたびに暗号のルールが変わる」という革命的なシステムでした。
- 1文字目の「A」を打つと → 「F」になって出力される
- 2文字目の「A」を打つと → 「P」になって出力される
- 3文字目の「A」を打つと → 「Q」になって出力される
このように、同じ「A」という文字を連続で打っても、毎回違う文字に変換されるのです。そのため当時のスパイが暗号文を何百通も集めて束にしても、パターンの法則性を見つけることは不可能でした。
▲エニグマの前面にある「プラグボード(配線盤)」。このケーブルを入れ替えるだけで、文字がさらに複雑にシャッフルされる。
約1590京通りの組み合わせ「プラグボード」
さらに、エニグマの前面には「プラグボード(ステッカーブレッド)」というケーブルを繋ぎ変える配線盤がありました。「AとTを繋ぐ」「GとPを繋ぐ」といった設定を每日変えることで、エニグマのパターンの組み合わせの数はなんと約15,000,000,000,000,000,000(約1590京)通りにも達しました。
当時の人間の手計算では、宇宙が滅亡するまで計算しても今日の分の日替わり設定を当てることはできない、まさに「無敵」だったのです。
⚙️ 無料体験!エニグマ暗号機シミュレーター
文章だけではわかりにくいので、実際にローター(歯車)の動きを体験してみましょう!
キーボードのアルファベットをクリックするか、PCのキーを叩いてください。
▼ 現在のローター設定(キーを打つと回転します) ▼
▼ 暗号化されたメッセージ(出力ランプ) ▼
3. エニグマ暗号の「解き方」4つのステップ
それでは、1590京通りの鍵があるこのバケモノ暗号機を、当時の連合軍(イギリス・ポーランド)の天才たちはどうやって解いたのでしょうか?
その解読の歴史(解き方)を4つのステップで解説します。
【Step 1】ポーランドの勇者による「基礎解読」
イギリスが本格的に動き出す何年も前、実はポーランドの数学者たち(マリアン・レイェフスキら)がエニグマの構造を数学的に紐解くことに成功していました。
彼らは初期のエニグマの配線ルールを割り出し、「ボンバ」と呼ばれる初期の計算機まで作っていました。しかし、ドイツ軍がローターの数を増やして改良したため、ポーランド単独での解読は限界を迎え、その資料は開戦直前にイギリスへと託されました。
【Step 2】アラン・チューリングの登場と「機械 vs 機械」の発想
イギリスの極秘施設「ブレッチリー・パーク」に集められたのが、のちにコンピュータの父と呼ばれる天才数学者アラン・チューリングです。
彼は「1590京通りの計算を人間がやるのは不可能だ。機械が作った暗号は、機械で突破するしかない」と考えました。
▲チューリングがエニグマを解読するために設計した巨大な電気機械式計算機「Bombe(ボンベ)」のイメージ。
【Step 3】エニグマ最大の致命的な「弱点」を発見
エニグマには構造上、絶対にやってはいけない致命的なバグが一つありました。それは「入力した文字が、自分自身(同じ文字)に変換されることは絶対にない」というルールです。
つまり「A」というキーを打って、出力ランプの「A」が光ることは構造上100%ありえなかったのです。チューリングは、この「Aは絶対にAにならない」という制約を利用することで、1590京の無駄な選択肢を大幅に除外することに成功しました。
【Step 4】解読の決め手になった「既知平文攻撃(Cribs)」
さらに、ドイツ軍の通信兵たちは人間ゆえのミスをしていました。毎朝の天気予報メッセージの最後に必ず「WETTER(天気)」や「HEIL HITLER(ハイル・ヒトラー)」という決まり文句の単語を打っていたのです。
「この暗号文の一番最後は絶対に『HEILHITLER』であるはずだ」という答え(既知平文)があらかじめわかっていれば、Step3の弱点(HがHに変換されない等)と照らし合わせるパズルが成立します。この手がかり(Cribs:クリブ)を使って、チューリングの巨大解読機「Bombe(ボンベ)」は連動した何百もの歯車を一斉に回し、矛盾がない「その日の1590京通りのたった一つの正解設定」を数十分で探し当てることに成功しました。
4. 現代の暗号はエニグマの弱点をどう克服したか?
エニグマの敗因は、①「自分の文字に変換されない弱点があったこと」 と ②「いつも同じ文字(ハイル・ヒトラー)が含まれていたこと」 だね🐾
現代のインターネットや銀行で使われている暗号(AESなど)や「ハッシュ関数」は、この弱点を完全に克服しているから、チューリングマシンの数億倍のスーパーコンピュータを使っても解けない最強の仕組みになっているんだ!
現在、私たちがスマホでクレジットカード決済をしたり、ビットコインのような暗号資産を送金するときには、エニグマの反省を活かした「どんな入力でもランダムな英数字に変換され、自分自身の文字に変換されることも許容する(除外ルールを作らない)」仕組みが使われています。
当時の何十万人もの命を救った「暗号解読の歴史」が、今の私たちの生活と財産を守るサイバーセキュリティの土台になっているのですね。