謎
ベルを鳴らすと、猫が素早くドアの隙間を通り抜け、代わりに使用人らしき女性が出てきた。要件を話すとその女性は、応接間に丁寧に案内した。
「しばらく、お待ちください」
そう言われ、スチュアートは、ソファーに座って待つことにした。そして、手紙の中身について考えを巡らせた。手紙の内容は、ナチスドイツの暗号機『エニグマ』の解読に関わることである。
ギリシャ語で『謎』を意味するエニグマは、ローター式暗号機であり、第一次世界大戦も終わる1918年に、ドイツの電子技師アルトゥール・シェルビウスによって商業用として発明された。第一次世界大戦で暗号が解読されていたことを知ったドイツは、1925年、エニグマを正式採用する。
エニグマは、タイプライターのような外観をしているが、中身は換字式暗号と呼ばれる文字を別の文字に変換する機能が搭載されている。その機構は、意外と単純であり、主に「ローター」、「リフレクター」、「プラグボード」の3つで構成され、それぞれ文字を変換する。
「ローター」は、幅が狭い円柱を横にしたものであり、エニグマの中に3つある。円柱の側面にはアルファベットに対応する26の数字が載っている。円柱の中は、文字を変換できるように配線がクロスしており、タイプするごとにそのうち一つが少し回転し、それが1回転すると隣のローターが少し回転する。これにより、文字変換がタイプごとに異なる。
「リフレクター」は、一番端のローターの回線を反転させる。これは、エニグマのユニークな機構であり、これにより、変換前と後の文字の組み合わせは、逆でも同じになる。つまり、暗号化後の文字を打てば、暗号化前の文字になり、復号(暗号文字をもとに戻すこと)が簡単になる。これによって、エニグマはコンパクトになり、持ち運びしやすい。これがドイツ軍採用の理由の一つともなったが、必ず別の文字となるという解読にヒントを与えることになった。
「プラグボード」は、プラグコードにより26の文字の変換を入れ替える。具体的には、26文字それぞれにプラグがあり、そのうち2つを選び、それぞれをプラグコードで結ぶ。これにより、その2つの文字の変換が手元で行え、さらに暗号を複雑にする。
ドイツ軍のエニグマの運用方法は、鍵の受け渡しから始まる。まず、あらかじめ配布された『日鍵』である「ローターの順番」「ローターの初期位置」「プラグボードの組み合わせ」を設定し、通信者間の鍵(ローターの初期位置)を受け渡しする。そして、受け渡しされた鍵により、送信したい文をエニグマにより暗号化し、モールス信号により通信する。
多少のバージョンによって違いはあるものの、以上がエニグマの基本的な構造と運用方法である。
エニグマの暗号文の解読は、その構造が判明していれば、日鍵の特定を意味する。日鍵の特定作業は、相手の運用ミスの利用、可能性の低い日鍵候補の切り捨て、そして、残った日鍵候補の全試行である。
日鍵は文字通り日々変わるため、数時間でそれを特定しなければならない。そうしないと、解読できる文は少なくなり、かつ、解読した情報が古くなり、意味がない。
スチュアートは、彼のチェスの思考時と同じように口に手を当て、何もないソファーの前のテーブルを見つめていた。
(エニグマの日鍵の特定は、チェスに似ているな。相手の読み間違い、可能性の低い手の切り捨て、候補手の試行、そして、時間制限……)
スチュアートは、天井を仰ぐ。
(ただ、違うのは、解読者が一人ではないこと、そして、機械が使えることか)
スチュアートが持ってきた手紙には、解読作業スタッフと解読機械のオペレーターの増員要請が書かれてある。
(解読作業はチェスと違い、一人で行えることは限られてるからな……あと、こっちは人命、いや、世界の将来がかかっている)
「首相に要件とは」
上を向いていたスチュアートが声の方向を見ると、そこには、小柄でこぎれいなダークスーツを着た男性がいた。彼は、チャーチルの議会担当秘書官ジョージ・ハーヴィー=ワットであり、スチュアートには首相の秘書官だと説明した。
「私はGC&CSのスチュアート・ミルナー=バリーです。この手紙をチャーチル卿に渡していただきたい」
ハーヴィー=ワットは、雨で濡れていたスチュアートをまじまじと見て、困惑しながらも手紙を受け取った。スチュアートは簡単に手紙の内容を説明し、
「暗号解読作業について緊急を要するものです。是非、最優先でお願いしたい」
と言った。髪の毛が濡れたスチュアートの何かが差し迫った表情を見て、秘書官は、
「わかりました。こちらは必ず首相に最優先で届けることをお約束します」
と、丁寧に応対した。その対応に安堵したスチュアートは、簡単な別れの挨拶をし、首相官邸を後にした。
【換字式暗号(かえじしきあんごう)】
文字を別の文字や記号に変換する古典暗号です。この種の暗号として「シーザー暗号」があります。これは名前の通り、古代ローマのガイウス・ユリウス・カエサルが使用した暗号で、単純に指定した文字(鍵に該当)だけアルファベットをずらす方法です。子供でも思いつく暗号ですが、解読するのは大人でも多少骨が折れます。このアルファベットをずらすのを複雑にしたのがエニグマです。
【エニグマの構造(えにぐまのこうぞう)】
エニグマは、よく「難攻不落の暗号」とか、「ドイツの叡智の結晶」とか、物凄そうなものとして言われることがありますが、その構造は意外と単純です。小説で説明した『ローター』『リフレクター』『プラグボード』が主な変換機構で、そのほかは、文字を打つ26のタイプキーと変換後の文字を示す26のライトぐらいでしょうか。
変換機構の『ローター』『リフレクター』『プラグボード』は、数段落の文字で説明できるぐらい(筆者の説明は拙いかもしれませんが)単純です。頑張れば、小学生の夏休みの工作でできるのではないかと思います。単純がゆえ、エニグマを紙で表現できるpdfファイルもインターネット上で公開されています。プラグボードはないですが、プラグボードは単なる変換なので、それも簡単に加えることができます。
【エニグマの解読(えにぐまのかいどく)】
暗号通信の解読について、飛び回っている通信データを受信することは簡単ですが、それを解読することが一番難点になります。今で表現すると、メール(e-mail)のパスワード付きの添付ファイルのようなものでしょうか。最近はほぼないですが、メールが暗号化されていない場合、メールの添付ファイルは、メール本文同様、メールの送受信の中継サーバーで簡単に取得できます。もちろん、パスワードがついていると、中を見ることができません。
エニグマの暗号解読ですが、小説でも説明した通り、日鍵の特定が解読につながります。これは、先の例だと、添付ファイルのパスワードのハッキングになります。ハッキングの最も単純なやり方はブルートフォースアタック、いわゆる、総当たり攻撃です。様々なパスワードを試して、ハッキングします。もちろん、パスワードが長くなると、手間と時間が指数的に増加します。
エニグマも、日鍵の特定に総当たり攻撃で行うことができます。その場合、バージョンにもよりますが、日鍵が小説の通り『ローターの順番』『ローターの初期位置』『プラグボードの組み合わせ』とし、ローターが3つ、プラグボードが6つとすると、「3つの『ローターの順番』が 3! = 6通り」、「26の数字がある『ローターの初期位置』が26×26×26 = 17,576通り」、「6つのプラグコード(12の文字)の『プラグボードの組み合わせ』=26C12×11×9×…×1 = 100,391,791,500通り」となります。『プラグボードの組み合わせ』の「26C12」は、26文字のうち12文字をとる組み合わせになります。また、「11×9×…×1 」の意味ですが、選択された12文字のプラグの穴は必ずプラグコードが入るため、そのプラグコードの反対側を挿す対象を残り11文字のプラグから選択します。これをプラグコードの数6回繰り返します。
この3つの組み合わせをかけ合わせると、6 × 17,576 × 100,391,791,500 = 10,586,916,764,424,000 ≒ 1.06京通りになります。手作業で行うのは不可能です。入力できる文字が英数字(大文字・小文字)+記号(34文字)の計96文字が使用できるパスワードで考えると、8文字のパスワードである96の8乗 ≒ 7200兆通りを越えます。今の基準でもある程度安全と思われる組み合わせの数です。
長い説明になりましたが、取りうる組み合わせが多すぎるので、総当たり攻撃以外の方法を考えなければなりません。通信は通常ある程度は行われているので、解読対象の暗号文はある程度あります。これは、先の添付ファイルで考えると、同じパスワードが使用されている異なる添付ファイルをある程度の数取得できるようなものになります。ざっくり言いすぎにはなりますが、エニグマ解読は、同じパスワードで中身が違う添付ファイルが複数あり、そのファイルそのものからパスワードを推測し、暗号文を解読するような形になります。