エニグマ (暗号機)

エニグマ (Enigma) とは、第二次世界大戦でナチス・ドイツが用いたローター式暗号機である。幾つかの型がある。暗号機によって作成される暗号も広義にはエニグマと呼ばれる。名称はギリシア語に由来し、「謎」を意味する。

エニグマ暗号機は、1918年にドイツの発明家アルトゥール・シェルビウスによって発明された電気機械式暗号機械で、1925年にはドイツ軍が正式に採用。続いてドイツ政府や国営鉄道なども採用し、3万台以上を販売した。
暗号方式は換字式であり、詳しくは順変多表式である。エニグマはと同様な反転暗号となり、暗号文を同じ鍵で再暗号化すると平文が得られる特徴がある。

大戦中の1939年に、イギリスはアラン・チューリングらによってエニグマの解読に成功したが、その事実は徹底して極秘事項とされ、ドイツ軍は終戦までエニグマを使用し続けた。

 構造 
手前にキーボードがあり、その奥にランプボード（表示盤）、一番奥には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表に増える。

 反転ローター 

電気的閉回路を構成する反転ローターの採用は、エニグマ換字に、反転性 (reciprocity) とある種の不完全性 (noncrashing) と言う2つの特徴を同時に与えた。

 反転性 (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時間毎）の入れ替えとなった。ポーランドの解読者は暗号解読に群論を初めて導入し、プラグボードの影響を排除してローター多表の解析に成功したことがエニグマ解読の重要な一歩となった。

 なぜ全てのプラグを使用しないのか 
プラグ組数をnと置くとプラグボード組み合わせ数ⅹは以下に示される

 =ⅹ　

11組の時に最大となるがドイツは10組を採用した。この理由についてイギリス解読チームはドイツ側の計算尺の操作ミスと推定した。

+ 組み合わせ数の変化 プラグ組数 組み合わせ数 0 1 1 325 2 44,850 3 3.5E+06 4 1.6E+08 5 5.0E+09 6 1.0E+11 7 1.3E+12 8 1.1E+13 9 5.4E+13 10 1.5E+14 11 2.1E+14 12 1.0E+14 13 7.9E+12

 商用エニグマの理論解説 
商用エニグマにドイツ軍がプラグボードを追加した背景について

スペイン内戦では商用エニグマ暗号機を英国、ドイツ、イタリアそしてスペインが使用していた。そしてローター配線が明らかになると文頭仮定語からローターの開始位置と配置順序を見つける方法を各国が編み出した。フランスは"La Method des Batons"、英国は"cliques on the rod"と呼んでいた。

暗号文の冒頭数文字はFastローターのみが回転しているがこの際の換字は以下の式で表現される。
pKC(i)WC(-i)ZC(i)W-1C(-i)K-1=c

p:i文字目の平字、K:キーボード配線、C(i):→向きのi文字目の接点状態

W：Fastローター配線、C(-i):←向きのi文字目の接点状態

Z:動いていないMidローター→Slowローター→反転ローター→Slowローター→Midローターの配線で単文字換字状態

K-1:キーボード逆配線
c:i文字目の暗字

上式を移項すると以下の様になるが両辺で共通のKC(i)WC(-i)以外はZが有る

pKC(i)WC(-i)Z=cKC(i)WC(-i)

Zは単文字換字なので正しい仮定語と暗字列をFastローターの26通りの開始位置で総当たり換字すると出てくる両文字列が正しい位置の場合はisomorphの関係にある。仮定語の途中でMidローターが動いた場合はisomorphが２つのブロックから構成されるので判別が付く。

isomorph 2つ以上の文字列が繰り返し同じパターンを示している事。idiomorphとも呼ばれる。　
p:PANAMACANALc:tvuvpvqvuvd

例として暗文の文頭"LZHXBTF"に対して仮定語"GENERAL"を当てはめた場合、各文字にFastローターの26通りの換字結果を縦書きした短冊を用意して並べる。２文字目が２番目のローター位置に来るように短冊を１文字づつスライドしてある。並べ終えたら左右でisomorphを探す。なおZには反転ローターが組み込まれているので「同じ文字に換字されない」「AがBに換字されるならBはAに換字される」現象も判別の手掛かりとなる。図の場合はローター位置Ｑ、EXOVLYLとMRHFDTDで正解となる。

第二次大戦中と戦後の期間にスイスは独自のローター配線をした商用エニグマを外交用に使用していたがドイツは解読に成功していた。

プラグボードの採用により未知の置換が挿入されてisomorphの判定が不能となった。
米国のFriedmanはエニグマと同型のM-325を開発するあたりisomorph対策としてプラグボードでは無く各ローターにノッチを5個取付けてローター回転をより不規則にしてisomorphの判定が困難になるようにした。同様にイギリスもTypexに5～9のノッチをローターに付けた。両国はポーランドの解読結果(1932年)を受けてプラグボードを採用しなかった。
昭和8年(1933年)に海軍省で発行された「九一式印字機考案に関する説明書」ではプラグボードを示す「文字順序変更装置」が採用され開発時には「エニグマ式暗号機」と比較評価しているがそれがプラグボードの付いた軍用エニグマかは不明である。

 ポーランドの発見解説 
エニグマローター換字の巡回表記について
ある日の初期ローター開始位置1番目(例:AAA)においてプラグボードから全てコードを抜いた状態での換字表が以下の場合

p1:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
c1:UEJOBTPZWCNSRKDGVMLFAQIYXH 
上下の関係を追うとA→UでありU→Aと一連の巡回となっているので(AU)と表記できる。同様に他の文字も調べると
(AU)(BE)(CJ)(DO)(FT)(GP)(HZ)(IW)(KN)(LS)(MR)(QV)(XY) -　①
の13個の巡回となりこれは反転ローターの影響である。

この開始位置1番目(例:AAA)において以下の6組のプラグボードを刺したとする
(WS)(RE)(IO)(UT)(VG)(PL)
Aはプラグボードを刺していないのでAとしてローター換字されUとなり、Uはプラグボードが刺さっているのでUがTとなる。
p1:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
c1:TRJIMUQZDCNVEKSWGBOAFLPYXH 
(AT)(BR)(CJ)(DI)(EM)(FU)(GQ)(HZ)(KN)(LV)(OS)(PW)(XY)　- ②
であり13個の巡回となる。

同様に開始位置4番目(例:AAD)の場合は以下の通りに表すと仮定する。
プラグボード無しの場合は
p4:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
c4:ZLEJCUITGDMBKONSVXPHFQYRWA 
(AZ)(BL)(CE)(DJ)(FU)(GI)(HT)(KM)(NO)(PS)(QV)(RX)(WY) - ③ 
プラグボード(WS)(RE)(IO)(UT)(VG)(PL)有りの場合は 
(AZ)(BP)(CR)(DJ)(EX)(FT)(GQ)(HU)(IN)(KM)(LW)(OV)(SY) - ④

ドイツ軍が冒頭にローター開始位置を２回繰り返して暗号化している事を知ったレイェフスキは以下の様に考えた。
暗号文の1文字目c1と4文字目c4は同じ文字pが異なるローター位置で換字されている。
ここで開始位置1番目(例:AAA)のローター換字全体をR、4番目(例:AAD)をS、プラグボード換字をPと置くと
pPRP-1=c1, pPSP-1=c4 となり
P=P-1, R=R-1, S=S-1 でもあることから以下の式が導かれる
p=pPRP-1c1, p=pPSP-1c4, c1=PRSPc4

よって同じ日に同じ開始位置で暗号化された1番目と4番目の暗字を集計するとPRSPの換字表が求まる。
PSRP:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
PSRP:FCDNKHGAJRIOXMYLQPVZTWBSEU 
(Q)(G)(TZU)(AFH)(RPLOYEKIJ)(CDNMXSVWB)　- ⑤　(=②④)
ここでPSRP換字の巡回表記が1:1:3:3:9:9の特徴あるパターンである事に着目しさらにプラグボードの無い状態でのRS換字の①③も同じ1:1:3:3:9:9のパターンである事を発見した。
RS:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
RS:FCDNLHSAYEOPXMJIQKBUZVGWRT 
(Q)(V)(UZT)(AFH)(ELPIYRKOJ)(CDNMXWGSB) - ⑥ (=①③)
この現象をレイェフスキは”characteristic set of a given day”と呼んだ。
PRSPとRSの巡回式が同じパターンの”characteristic set”となっている事からプラグボードに関係なく当日のローター配置を特定できると考えた。

 特徴的な巡回パターンとなる理由 
②④=⑤の演算を同じ文字が隣り合うように並べて検証する。便宜上④を[]で括る
(GQ)[QG]=(G) 
(QG)[GQ]=(Q) 
(AT)[TF](FU)[UH](HZ)[ZA]=(AFH) 
(TA)[AZ](ZH)[HU](UF)[FT]=(TZU) 
(RB)[BP](PW)[WL](LV)[VO](OS)[SY](YX)[XE](EM)[MK](KN)[NI](ID)[DJ](JC)[CR]=(RPLOYEKIJ) 
(CJ)[JD](DI)[IN](NK)[KM](ME)[EX](XY)[YS](SO)[OV](VL)[LW](WP)[PB](BR)[RC]=(CDNMXSVWB) 
よって同じ組み合わせから２つの同じ長さの巡回パターンがペアで出来る事が判る。例えば1:1,2:2,10:10や2:2,11:11や13:13等

 解読 
1920年代にドイツ軍は3ロータ型のエニグマを運用開始し、1930年代に入るとイギリス、アメリカ、フランスがこの3ロータ型のエニグマ解読を試みたが不成功に終わった。

1932年、ポーランド軍参謀本部第2部暗号局(en)の数学者マリアン・レイェフスキ（当時27歳）と、彼のポズナン大学における後輩ヘンリク・ジガルスキとイェジ・ルジツキは、1932年ころ初期型を解読した。これはフランス情報部のスパイが、ベルリン暗号局シフリーシュテーレで勤務するから得た情報から推察される構造を復元したエニグマを用いて解読された。元々がエニグマ実機が敵国側に堕ちることを想定され設計された暗号機であったので、レイェフスキにより解読された時点で実質エニグマは原理的に敗北したも同然であるといえよう（実のところ、レイェフスキの上司であるランゲル少佐はフランス側からローターの日毎の配置を記したコードブックも得ていた。が、戦争激化時のスパイ行為の難しさを見越して独力で解かせることにしていたという）。レイェフスキは「ボンバ」という暗号解読機を6台制作、ジガルスキは6枚のコードシート「ジガルスキ・シート」を6枚製作して、当時のドイツが使用していたもの（基本的に3ロータで、6つのホイールオーダーを可能としていた）より複雑なエニグマでも解読できるようにまで発展させた。

ところがドイツ側はローター数やプラグ数を2つ追加、これによりホイールオーダーは原理的に6から60に増加、暗号をより強固なものとした。ポーランド暗号局は当時6台制作したボンバとジガルスキ・シートにさらにそれぞれ54台、54枚を追加しなければ太刀打ちできない状況になった。原理は同じものであるから理論的にはレイェフスキの手法で新しいエニグマの暗号解読は十分可能であったが、ドイツとの戦争が差し迫っている中、ポーランド側には54台のボンバと54枚のジガルスキ・シートを追加制作し運用するために割く時間も予算も人員も足りなかった。既にドイツの独裁者であったヒトラーはポーランドへの強硬的な発言を強めており、ポーランドでは危機感が募るばかりで、ドイツが侵攻してくればポーランド側が独自に国土防衛を行いながらボンバを用いた新エニグマ解読作戦を継続することは考えられなかった。のちにレイェフスキはこう述べている：

もはやボンバの改良や人員の強化は開戦に間に合わないと悟ったランゲル少佐は、やむなくイギリス・フランスの情報担当官を緊急でワルシャワに招き、"解読不可能"とされていたエニグマ解読の成果（「ボンバ」等）を披露し、旧式とはなっていたがドイツ軍用エニグマのレプリカを送呈した。その結果イギリスの政府暗号学校 (GC&CS) のアラン・チューリングが、1939年秋には電動式の暗号解読機「」の設計を行った。レイェフスキのボンバがエニグマ解読専用の設計であったのに対し、このチューリングのボンブはいわゆるクリブ方式の暗号一般に対応できるよう設計された。そのためには大西洋上のドイツの気象観測船を奇襲により捕獲したり、損傷して自沈のために浮上したUボートを捕獲したりしてエニグマの実物や暗号書を手に入れることが不可欠だった。

イギリスの諜報機関内で解読作業をしたグループはUltra（ウルトラ）と呼ばれ、解読情報はUltra情報と呼ばれた。Ultraの作業は戦時中はもちろん戦後も極秘とされ、1974年にその内実を記した書籍が出版されるまで世間に知られる事は無かった。そのためチューリングら関与した科学者は戦後にその功績に見合った評価や待遇を受けられず不遇の日々を送る事となった。解読によって捕獲されたU-505の乗員はUltraの機密を保持するため、他の捕虜とは隔離され赤十字の面会も禁止された。

エニグマ解読には5つの方法、そしてモチベーションが必要とされた。どれもが重要な役割を果たし、タイムリーな解読のために相互に補完した。

 学理的な解読 
フランス側はシュミットの情報を得てもなお暗号機自体や設計図が入手できない限り解読はできないと判断したが、ポーランド側は現物を入手する前にローター解析を進めた。戦前戦後を問わず「暗号機が盗難、盗写されないかぎり解読できない」という先入観に対する教訓である。群論によるローター配線解析の成功。これは解読者に数学よりも語学のセンスを要求したイギリスの方針を転換させた。ポーランドが暗号化されたローター開始位置から解読を試みる特別解のみを目指したのに対し、イギリスは一般解を目指したのが特徴的である

 機械による解読 
アラン・チューリングが開発した多数の暗号解読機「」による総当り攻撃。

 スパイや捕獲による暗号機（書）の入手 
単に解読が可能になったのみならず、捕獲できなかった部分に対しての解読が容易になった。

Uボートから鹵獲された事例としてU-110やU-505がある。

 運用する人間の心理を突いた解読 
 思いついた文字やキーボードの並び（QWERTYキーボードの左上「QWE」など）から、開始符を決める悪癖。
 規約更新直後のローター開始位置に無意識の偏りがあること（"Herivel tip"と呼ばれる）。
 ローターを入れ替えする際に前回と同じ位置に同じローターを避ける心理。
 ドイツ軍は各メッセージを一時的な鍵で暗号化し、その鍵を日鍵と呼ばれる一日変更されない鍵で暗号化してメッセージと共に送信していたが、初期は間違いを避けるため送信する鍵を反復していたこと。

 交信解析 
無線のコールサインを解析し、送信・受信者や重要度、内容までも推定すること。クリブが最大限に活用された。

 解読のきっかけとなった「モチベーション」 
フランス情報部の大尉はスパイであるシュミットから以下の情報を受け取った。
 ローターI,II,IIIの配列
 各ローターに装着するアルファベットリングの位置。
 共通鍵用のローター開始位置
 プラグボード配線

ベルトラン大尉はまず自国の暗号家であるバジェールに入手した情報を見せたが、専門家の返答は「この資料だけでは何も出来ない。エニグマ模造機を作るにはローター配線情報が必須だ」と否定的な意見だった。次に当時友好的であったイギリス情報部のウィルフレッド・ダンダーデイルに話を持ち掛けたが、情報は役に立たないと判断された。最後にベルトラン大尉が相談したのがポーランドであった。解読チームBS-4の幹部ランゲルに面会したところ、ランゲルは積極的な態度を示し「我々は貴方がた（英仏解読者）とは（ドイツに対する恐怖感からの）モチベーションが違います」とコメントした。

 64年ぶりの解読 
2006年2月、未解読のままになっていた三つの暗号文の内の一つが、ドイツのアマチュア暗号解読家とインターネット上の仲間による共同プロジェクトM4 Projectによって解読された。M4 Projectは、分散コンピューティングを使用したブルートフォースアタック（総当たり攻撃）によってエニグマ暗号文を解読しようとするプロジェクトで、解読された内容はUボートが発信した「敵を追跡している」という内容のものであった。同年3月には2つ目の暗号も解読され、2013年1月には最後の暗号も解読された。

 歴史 
 1918年
 シェルビウスがエニグマの特許を出願。
 1923年
 Chiffriermaschinen A.G.がエニグマのA型を展示会に出品。
 Scherbius特許を忠実に商品化したA型は28接点のローター4個が不規則な回転を行う。A型は大きくて不評だった。
 B型は接点数を28→26字にする。
 CおよびD型は3つのローター (fast,medium,slow) が距離計のように駆動、周期は字である（slowが駆動する時、mediumも連れ周り）。さらにHugo Kochが発明した反転ローター"Umkehrwalze"を採用。小型化に成功したD型は欧州各国で採用が広まった。
 1926年
 ドイツ海軍が軍用エニグマの運用を開始。これは商用D型にウムラウトを加えた29字タイプである。
 1928年
 ドイツ陸軍が軍用エニグマ G型の運用を開始。
 1930年
 ドイツ陸軍は改良したI型を本格運用。商用D型との主な違いは、
 反転ローターは固定され、駆動はしない。
 プラグボードの採用。商用型の被解読性にドイツも気付いた。
 1931年
 フランス側スパイのシュミット（独暗号局職員）が11月頃からドイツ陸軍エニグマの鍵と操作書を盗み出す。
 この頃のドイツ暗号員はAAAやABCのような安易なローター開始位置を用いていた。
 1932年
 12月、ポーランドの解読者であるレイェフスキがシュミット情報を元に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か月ごと）
 スペイン内戦ではイタリア軍がプラグボードのない商用エニグマを使用。ドイツ外務省はイタリアのエニグマ解読に成功する。同じ鍵系列で100通近い電文を暗号化したので古典的解読法が適用できた。この頃になるとフランスでは、商用型のローター配線がわかれば、文頭仮定語からローターの開始位置と配置順序を見つける"La Method des Batons"を編み出す。正しい位置と順序ならば、仮定語と暗号文はisomorphsを成すからである。類似の解読法をイギリスでは"Casting the rod"、アメリカでは"strip"と呼んだ。
 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が追加されたローター配線も復元する。
 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月、ドイツ降伏

余談
イギリスが暗号を解読するようになると「ドイツ軍の指揮官が自分達への命令を確認するため、イギリスに問い合わせた」というジョークすら生まれた。