エニグマ (暗号機)
エニグマ (Enigma) とは、第二次世界大戦のときにナチス・ドイツが用いていたことで有名なローター式暗号機のこと。幾つかの型がある。その暗号機の暗号も広義にはエニグマと呼ばれる。
概要
エニグマ暗号機は、1918年にドイツの発明家テンプレート:仮リンクによって発明された電気機械式暗号機械で、1925年にはドイツ軍が正式採用し約3万台が軍用として使用された。
暗号方式は換字式であり、詳しくは順変多表式である。エニグマはテンプレート:仮リンクと同様な反転暗号となり、暗号文を同じ鍵で再暗号化すると平文が得られる特徴がある。
大戦中に連合国側はエニグマ解読に成功したが、その事実は徹底して秘密にされ、ドイツ軍は終戦までエニグマを使用し続けた。
現代では解読を不可能とするために複数の暗号アルゴリズムで構成される複合式の暗号もあり、アルゴリズムの実行順序がダイナミックに変更される。複合式の暗号はとても本来のエニグマに見られるような換字式暗号とは言えない(電子式暗号機)。 テンプレート:-
構造
手前にキーボードがあり、その奥にランプボード(表示盤)、一番奥には3枚のローターが入っていて、ローターの初期状態を設定できるようにホイールの端が出ている。ローターの左にはリフレクター(反転ローター)がつけられている。キーボードの手前にはプラグボードが格納されている。 上蓋の内側の下にプラグコードが格納されている。
キーボードで平文(ひらぶん)の一文字を打ち込むとランプボードの一つが点灯して暗号文の一文字が得られる。暗号文を復号する際も、同様にキーボードで暗号文を打ち込むとランプボードが点灯して平文が得られる。
暗号化・復号の鍵は、いくつかあるローターのうちどの3枚を使うかの組み合わせと、ローターをセットする順序、ローターの目盛りの初期位置、およびプラグボード配線である。
内部のローターは、中の配線が暗号化機(スクランブラー)になっている。打ち込んだ文字は3枚のローターを通って変換され、反転ローターでもう一度3枚のローターを逆方向に通って再度変換されて出力される。
1文字暗号化する毎にローターが一目盛り回転し、回路が変更されるので、同じ文字を打ち込んでも前回とは別の文字に変換される。端のローターが1回転すると隣のローターが一目盛り回転するので回路の組み合わせは膨大な数になる。これは異なる換字表を1文字ごとに使っていくことと同じである。
ローターの構造
- 刻み付リング, ロータが一回転したときにラッチ機構を通して隣のローターを一目盛り回転させる
- "A"の場所を示すドット印, 操作者がローターを組み立てるときに使う
- アルファベットが刻まれたリング, 文字ではなく数字がついているリングもある
- 端子板
- 端子板とピン端子を接続するワイヤ;このワイヤの接続が換字表を実現している部分である
- スプリング付ピン端子
- スプリング付リング, アルファベットリングの位置を変更するのに使う; リバー上のピンがアルファベットリングの側面の穴に入るようになっている
- ハブ, 中心軸を通す
- Finger wheel, ローターの初期位置を手動でセットするのに使う
- ラッチ機構
エニグマ換字の原理
ドイツ陸軍用I型のエニグマ暗号機は理論上3つの換字要素、ローター、反転ローターおよびプラグボードから構成されている。
ローター
- A - Zのアルファベットによる多表式暗号であれば、多表の数は理論上26! = 403,291,461,126,605,635,584,000,000 通り得られる。もしローターの代わりにプラグボードを利用すればこの多表全てを所望の順番で変更利用できるが、1文字を暗号化する度にプラグの差し替えが必要であり実用性に乏しい。
- そこで多表数をアルファベット数と同じ数(エニグマは26表)で妥協する代わりに、機械的に多表を逐次変更する方法の一つとしてローター式(鼓胴とかドラム式とも呼ばれる)暗号機が登場した。
一個のローター
- ローターには、その内部配線により26!通りの中から所望の単文字換字表を1つだけ設定することができる。
- よって「動かないローター」は「挿しっぱなしのプラグボード」と等価である。
- 配線の変更作業は端末ユーザーには事実上不可能であり、配線内容が敵に漏洩した場合は別配線の新規ローターを全ユーザーに配布・交換する必要がある。
ローターの駆動
- ローターを駆動することにより、そのローターの単文字換字表から関連付けられた26の多表を切り替え利用できる。もちろん26の多表はローター固有の表であり、変更することは出来ない。
- よって1文字換字する度にローターを駆動させ、どの表を利用するかが重要となるが、エニグマはローターの多表が秘匿されていることを前提にした順変多表式であり、1文字換字毎に1/26段階ずつ駆動させている。つまり多表を頭から順繰りに切り替えていく。
複数のローターの連結
- しかし利用するローターが1個では多表が26と少ない欠点を持つ。
- そこで3つのローターを連結して3回換字することで見かけ上、263=17,576表を利用できる。
複数のローターの並べ替え
- ローターによる換字は群論でいう交換則が成立しない。よってローターを連結する順序を変えることにより、異なる多表を用意できる。
- 例えばA,B,Cの異なるローターが有れば、3の順列数である6通りの連結が可能であり、17,576表が6倍の105,456表に増える。
複数のローターの入れ替え
- 3つのローターの並べ替え(105,456表)でも不足ならば、新規ローターを追加配布して入れ替えることができる。
- 例えば異なる5つのローターA,B,C,D,Eがあれば、任意の3つを選んで60通り (60=5P3) に並べることができるので、17,576表が60倍の1,054,560表に増える。
反転ローター
- 電気的閉回路を構成する反転ローターの採用はエニグマ換字に2つの特徴、反転性 (reciprocity) とある種の不完全性 (noncrashing) を同時に与えた。
反転性 (reciprocity)
- 原字Aが暗字Bに換字されるなら (Ap=Bc)、原字Bは暗字Aとなる (Bp=Ac) 特徴を持つ。
- この特長により暗号文を再度暗号化すると平文が得られ、機械構造がシンプルになった。
- 例えば反転ローターを持たないHebern rotor machineにはreciprocityはないので、作成・翻訳切り替え機構が必要である。
ある種の不完全性 (noncrashing)
- 原字は自分自身に換字されない (Ap≠Ac) 特徴を持つ。仮にエニグマの"A"のボタンを連続して打鍵すると、その都度に異なる文字ランプが点灯するが決して"A"だけは点灯しない。これは反転ロータの構造による(26個の接点を2個ずつ結合しているから)。
- 例えばM-209はreciprocityであるがnoncrashingではない。
- これはクリブによる解読が容易である欠点となった。
- この特徴を利用して気象通報用エニグマ暗号文の冒頭部に対してクリブ (crib) を当てはめる場合を説明する。
- 暗号文の冒頭
- TVQLKIGWHBSTUXNTXEYLKPEAZZNSKUFJRCADVVTI…
- 仮定する独語
- Wetterübersicht 0600(üは暗号変換時は「ue」として扱う。英訳は「Weathersurvey 06:00」。)
- cribとなる文字列
- WUEBYYNULLSEQSNULLNULL(Wueb=Wetterübersicht, YY=空白, Seqs=Sechs)
- crib(クリブ)
- 原文中にあることが推定される単語やフレーズ
暗号文とcribを重ね合わせ、上下で同じ文字(暗字=原字)になった場合は、誤った位置として棄却できる。エニグマ暗号文には、こうしてcribを当てはめることが可能である。この例では2番目、5番目および10番目にcribがある可能性がある。
TVQLKIGWHBSTUXNTXEYLKPEAZZNSKUFJRCADVVTI WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←正解候補 WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←正解候補 WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←正解候補 WUEBYYNULLSEQSNULLNULL ←棄却
プラグボード
- 各ローターの多表は固定されており、野戦で使用される暗号機は盗まれたり鹵獲されたりする可能性がある。そこでプラグボードが追加された。
- プラグボードはキーボード・ランプボードとローター換字部の間に挿入され、単文字換字を行う。
- アルファベット26個分の入出力端子があり、任意の2つのアルファベットをバナナプラグの付いた1組のケーブルで入れ替えることができる。右の写真では"A"と"J"、"S"と"O"が入れ替えてある。なおプラグの刺さっていないアルファベットは入出力が短絡された状態である(例えば"W"は"W"になる)
- ドイツ軍は初めは3組(3.5×106通り)、後に10組(1.5×1014通り)のアルファベットを入れ替えた。
- ローターの並べ替え・入れ替えに比べ、桁違いの鍵規約数を末端ユーザーが利用できるのが特徴である。しかし頻繁にプラグを入れ替えることは困難であり、実際には1日毎(後に8時間毎)の入れ替えとなった。
- ポーランドの解読者は暗号解読に群論を初めて導入し、プラグボードの影響を排除してローター多表の解析に成功したことがエニグマ解読の重要な一歩となった。
解読
- 1920年代にドイツ軍は3ロータ型のエニグマを運用開始し、1930年代に入るとイギリス、アメリカ、フランスがこの3ロータ型のエニグマ解読を試みたが不成功に終わった。
- いっぽう1932年、ポーランド暗号局の27歳という若き数学者マリアン・レイェフスキと、レイェフスキのポズナン大学における後輩ヘンリク・ジガルスキとイェジ・ルジツキ[1]は、1932年ころ初期型を解読した。これはフランス情報部のスパイが、ベルリン暗号局シフリーシュテーレで勤務するハンス=ティロ・シュミット[2]から得た情報[3]から推察される構造を復元したエニグマを用いて解読された。元々がエニグマ実機が敵国側に堕ちることを想定され設計された暗号機であったので、レイェフスキにより解読された時点で実質エニグマは原理的に敗北したも同然であるといえよう(実のところ、レイェフスキの上司であるランゲル少佐はフランス側からローターの日毎の配置を記したコードブックも得ていた。が、戦争激化時のスパイ行為の難しさを見越して独力で解かせることにしていたという)。レイエフスキは「ボンバ」という暗号解読機を6台制作、ジガルスキは6枚のコードシート「ジガルスキ・シート」を6枚製作して、当時のドイツが使用していたもの(基本的に3ロータで、6つのホイールオーダーを可能としていた)より複雑なエニグマでも解読できるようにまで発展させた。
- ところがドイツ側はローター数やプラグ数を2つ追加、これによりホイールオーダーは原理的に6から60に増加、暗号をより強固なものとした。ポーランド暗号局は当時6台制作したボンバとジガルスキ・シートにさらにそれぞれ54台、54枚を追加しなければ太刀打ちできない状況になった。原理は同じものであるから理論的にはレイェフスキの手法で新しいエニグマの暗号解読は十分可能であったが、ドイツとの悲劇的な戦争が差し迫っている中、ポーランド側には54台のボンバと54枚のジガルスキ・シートを追加制作し運用するために割く時間も予算も人員も足りなかった。既にドイツの独裁者であったヒトラーはポーランドへの強硬的な発言を強めており、ポーランドでは危機感が募るばかりで、ドイツが侵攻してくればポーランド側が独自に国土防衛を行いながらボンバを用いた新エニグマ解読作戦を継続することは考えられなかった。のちにレイェフスキはこう述べている:
- もはやボンバの改良や人員の強化は開戦に間に合わないと悟ったランゲル少佐は、やむなくイギリス・フランスの情報担当官を緊急でワルシャワに招き、"解読不可能"とされていたエニグマ解読の成果(bombe等)を披露し、旧式とはなっていたがドイツ軍用エニグマのレプリカを送呈した。その結果イギリスの政府暗号学校 (GC&CS) のアラン・チューリングが、1939年秋には電動式の暗号解読機「ボンブ」の設計を行った。ポーランドのレィエフスキ・ボンバがエニグマ解読専用の設計であったのに対し、このイギリスのチューリング・ボンブはいわゆるクリブ方式の暗号一般に対応できるよう設計された。そのためには大西洋上のドイツの気象観測船を奇襲により捕獲したり、損傷して自沈のために浮上したUボートを捕獲したりしてエニグマの実物や暗号書を手に入れることが不可欠だった。
- イギリスの諜報機関内で解読作業をしたグループはUltra(ウルトラ)と呼ばれ、解読情報はUltra情報と呼ばれた。
エニグマ解読には5つの方法、そしてモチベーションが必要とされた。どれもが重要な役割を果たし、タイムリーな解読のために相互に補完した。
学理的な解読
- 群論によるローター配線解析の成功。これは解読者に数学よりも語学のセンスを要求した英国の方針を転換させた。
機械による解読
- アラン・チューリングが開発した多数の暗号解読機「ボンベ (Bombe)」による総当り攻撃。
スパイや捕獲による暗号機(書)の入手
- 単に解読が可能になったのみならず、捕獲できなかった部分に対しての解読が容易になった。
運用する人間の心理を突いた解読
- 思いついた文字やキーボードの並びから、開始符を決める悪癖。
- 規約更新直後のローター開始位置に無意識の偏りがあること。("Herivel tip"と呼ばれる)
- ローターを入れ替えする際に前回と同じ位置に同じローターを避ける心理。
- ドイツ軍は各メッセージを一時的な鍵で暗号化し、その鍵を日鍵と呼ばれる一日変更されない鍵で暗号化してメッセージと共に送信していたが、初期は間違いを避けるため送信する鍵を反復していたこと。
交信解析
- 無線コールサインを解析し、送信・受信者や重要度、内容までも推定すること。クリブが最大限に活用された。
モチベーション
- フランス情報部のBertrand大尉はスパイであるSchmidtから以下の情報を受け取った。
- ローターI,II,IIIの配列
- 各ローターに装着するアルファベットリングの位置。
- 共通鍵用のローター開始位置
- プラグボード配線
- Bertrand大尉はまず自国の暗号家であるBassieresに入手した情報を見せたが、専門家の返答は「この資料だけでは何も出来ない。エニグマ模造機を作るにはローター配線情報が必須だ」と否定的な意見。
- 次に当時友好的であったイギリス情報部のWilfred Dunderdaleに話を持ち掛けたが、情報は役に立たないと判断された。
- 最後にBertrand大尉が相談したのがポーランドであった。解読チームBS-4の幹部Langer大佐に面会したところ、大佐は積極的な態度を示し「貴方がた(英仏解読者)とは(ドイツに対する恐怖感に基づく)モチベーションが違います」とコメントした。
64年ぶりの解読
2006年2月、未解読のままになっていた三つの暗号文の内の一つが、ドイツのアマチュア暗号解読家とインターネット上の仲間による共同プロジェクトM4 Projectによって解読された。M4 Projectは、分散コンピューティングを使用したブルートフォースアタック(総当たり攻撃)によってエニグマ暗号文を解読しようとするプロジェクトで、解読された内容はUボートが発信した「敵を追跡している」という内容のものであった[1][2]。
歴史
- 1918年
- シェルビウスがエニグマの特許を出願。
- 1923年
- Chiffriermaschinen A.G.がエニグマのA型を展示会に出品。
- Scherbius特許を忠実に商品化したA型は28接点のローター4個が不規則な回転を行う。A型は大きくて不評だった。
- B型は接点数を28→26字にする。
- CおよびD型は3つのローター (fast,medium,slow) が距離計のように駆動、周期は<math> 26\times 25\times 26 = 16,900</math>字である(slowが駆動する時、mediumも連れ周り)。さらにHugo Kochが発明した反転ローター"Umkehrwalze"を採用。小型化に成功したD型は欧州各国で採用が広まった。
- Chiffriermaschinen A.G.がエニグマのA型を展示会に出品。
- 1926年
- 1928年
- ドイツ陸軍が軍用エニグマ G型の運用を開始。
- 1930年
- ドイツ陸軍は改良したI型を本格運用。商用D型との主な違いは、
- 反転ローターは固定され、駆動はしない。
- プラグボードの採用。商用型の被解読性にドイツも気付いた。
- ドイツ陸軍は改良したI型を本格運用。商用D型との主な違いは、
- 1931年
- 1932年
- 12月、ポーランドの解読者であるマリアン・レイェフスキがSchmidt情報を元に3個のローター配線を解析することに成功。これでドイツ陸軍のエニグマが読めるようになった。なおローター解析には群論を導入した。
- ドイツ上層部は安易な開始位置を禁止するが今度はキーボード配列を借用したQAY, PYX等の鍵が多発する。
- この頃の鍵探索法は"grill-method"と呼ばれ、プラグボードがまだ6組しか置換していないのが幸いした。
Q W E R T Z U I O A S D F G H J K P Y X C V B N M L
- 1934年
- 10月、ドイツ海軍もエニグマ I型を運用開始
- 1935年
- 8月、ドイツ空軍もエニグマ I型を運用開始
- 1936年
- 1月、ローター配列が1か月毎に更新される(以前は3か月毎)
- 10月、プラグボードの数が8組に増加して"grill-method"の効率が低下した。対抗策としてプラグボードには影響されない"cyclometer"および"card-catalog"が導入される。共通鍵(日鍵)は僅か12 - 20分で突き止められた。
- 10月、8時間毎にローター配列が変更されるようになった。
- 1937年
- 11月、反転ローターが更新されてcard-catalogの再構築が必要となった。1年以内に完了して新しい反転ローターに追随できた。
- 1938年
- 9月15日、個別鍵の秘匿方法が変更されてcard-catalogが利用できない。そこでポーランドは2つの対抗策を編み出した。
- "bombe"の構築。card-catalogと同様に全ての文字がプラグボードを通過しないことを利用していたが、より柔軟な運用ができた。bombeが稼動すると個別鍵は2時間で求まった。
- Zygalskiが"perforated-sheets"を考案。これもプラグボードの影響を受けないが、シート作成に時間が掛かり38年末になっても1/3しか完成しなかった。
- 12月、ドイツ陸軍がローター種類を3個から5個にする。Rejewskiが追加されたローター配線も復元する。
- 9月15日、個別鍵の秘匿方法が変更されてcard-catalogが利用できない。そこでポーランドは2つの対抗策を編み出した。
- 1939年
- 1月1日、プラグボードが10組に増え、bombeの効率が低下した。ローター配列の規約数も増加しており、ポーランド独力ではタイムリーな解読は維持できない。
- 7月24日、ポーランドの解読成果が英仏に提供される。
- 8月16日、ポーランド製エニグマ模造機がロンドンに。
- 9月1日、ドイツがポーランドに侵攻、英仏は宣戦布告。
- 英国がperforated-sheetsを作成開始(60×26=1560枚)、仏に逃れていたポーランド解読者に提供されると日鍵の探索が再開された。解読には70 - 100通の電文が必要だった。しかし翌年には個別鍵秘匿方法が変更されてperforated-sheetsも役立たずになる。
- 1940年
- 1月、イギリスはドイツ空軍のエニグマを解読(紙と鉛筆による)
- 2月、英国は海軍エニグマのローター2個分をU-33から捕獲。脱出乗員がポケットにローターを入れたまま捕虜になった。
- 3月14日、GC&CSにボンベ初号機が導入。
- 5月、ドイツの偽装トロール漁船からの回収文書を利用して海軍エニグマを解読。
- 5月、空軍の汎用鍵システムの解読に成功。終戦まで追随できた。
- 8月8日、ボンブ改良機、始動。
- 8月、海軍エニグマの3番目のローターを捕獲成功。
- 9月、バトル・オブ・ブリテンでのドイツ空軍敗退決定。
- 12月、親衛隊の汎用鍵システムの解読に成功。
- 1941年
- 1月、アフリカ戦線での空軍鍵システムの解読に成功。
- 3月、ドイツ哨戒船Krebから捕獲した文書により3 - 5月分の海軍Home Water鍵を入手、この鍵はUボートも使用していた。
- 6月、U-110と気象観測船Münchenから1か月分の鍵を捕獲。
- 6月、東部戦線の陸軍鍵システムの解読に成功。
- 7月、気象観測船Lauenburgから1か月分の鍵を捕獲。
- 8月、海軍Home Water鍵(Uボート含む)を捕獲暗号鍵無しでも36時間以内に解読可能となる。これは6・7月の捕獲鍵がヒントになる。
- 10月、Uボート専用鍵システム (TRITON) が12 - 120時間で解読可能。
- 12月、アプヴェーア(国防軍情報部、カナリス提督)鍵システムの解読に成功。1944年まで追随した。
- 1942年
- 1月、空軍の鍵システムであるFliegerkorps IXとFliegerkorps Xの解読に成功。
- 1月、新しい海軍気象通報用鍵システムが採用されるが、クリブから解読可能となる。
- 2月、Uボートが4個ローターのエニグマ暗号機を採用 (SHARK)。 これにてGC&CSでの対Uボート解読は振り出しに戻る。
- 4月、アフリカ戦線で空地連絡用鍵の解読に成功。 解読は1943年9月まで追随。
- 10月、U-559から新しい海軍気象通報用鍵を捕獲。
- 10月13日、第一次遣独潜水艦伊号第三〇潜水艦がドイツからエニグマ50台を持ち帰ったが、インド洋における日独海軍の協同作戦用かこのうち10台をシンガポールで陸揚げした後、出航時に同艦は触雷沈没した。
- 11月、連合軍アフリカ侵攻。
- 12月、Uボート用鍵 (SHARK) の解読成功。気象通報用鍵がクリブとなる。解読には8日掛かったが月末には12時間に短縮した。
- 1943年
- 1月、SHARK解読に遅れ。幾つかは戦術的価値の有るうちに解読。
- 3月、90個のSHARK鍵を112日間で解読。
- 8月、SHARK解読が加速する。
- 1944年
- 6月、連合軍ノルマンディー上陸
- 11月、各Uボートで個別鍵を採用するがもはや連合軍の船舶量、対潜能力に打ち勝てない。
- 1945年
- 5月、ドイツ降伏
余談
イギリスが暗号を解読するようになると「ドイツ軍の指揮官が自分達への命令を確認するため、イギリスに問い合わせた」というジョークすら生まれた[4]。
脚注
参考文献
- 小説
- 『暗号機エニグマへの挑戦』、ロバート・ハリス著、後藤安彦訳、新潮文庫ハ-32-1、新潮社、1996年9月1日、ISBN 4-10-249301-8
- 『クリプトノミコン(1)』、ニール・スティーヴンスン著、中原尚哉訳、ハヤカワ文庫SF1398、早川書房、2002年4月30日、ISBN 4-15-011398-X (全4巻)
- 映画
- ドキュメンタリー
- 『Uボート捕獲大作戦-エニグマ暗号を解読せよ!-』『イギリスの暗号解読』(ディスカバリーチャンネル)
- 『素数の魔力に囚われた人々』(NHK)
- 歴史
- Seizing the Enigma: The Race to Break the German U-Boats Codes, 1939-1943, David Kahn,Houghton Mifflin 1991, ISBN 0-395-42739-8
- 『エニグマ暗号戦-恐るべき英独情報戦』、広田厚司著、光人社NF文庫、2004年2月13日、ISBN 4-7698-2409-2
- 解読理論
- ENIGMA, Wladyslaw Kozaczuk, University Publications of America, 1984, ISBN 0-89093-547-5
- Machine Cryptography and Modern Cryptanalysis, Cipher A. Deavours, Louis Kruh, Artech House, 1985 ISBN 0-89006-161-0
- 解読演習
- Breakthrough '32 The Polish Solution of the Enigma / Includes MS DOS 5-1/4" diskette for IBM PC, Cipher A. Deavours, 1988, ISBN 0-89412-152-9(付属のプログラムはBoland Turbo BASICでコンパイルされている)
関連項目
外部リンク
テンプレート:Link GA
- ↑ ポーランド暗号局では、これまで各国の機関や王室が語学的素養のあるものを採用していたことに反し、(ドイツ語に堪能な)数学者を中心に採用した
- ↑ ハンス=ティロ・シュミットの兄ルドルフはエニグマを採用した通信隊の隊長である。弟であるハンス自らは軍を追い出され事業には立て続けに失敗するなか、兄はエニグマの採用で成功したことから、兄への恨みや妬みと失望感から売国行為に走っていたという。ハンスは作戦要員の裏切りから1943年に逮捕され、獄中で自殺した
- ↑ 軍事協定により得た情報は相互に共有することになっており、価値を見出せなかったフランス当局は"エニグマに関する情報"に興味を示していたポーランドに情報を与えた
- ↑ 「イギリスの暗号解読」ディスカバリー・チャンネル