エニグマ (暗号機)のソースを表示
←
エニグマ (暗号機)
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{参照方法|date=2015年9月5日 (土) 11:25 (UTC)}} [[ファイル:Enigma-logo.jpg|thumb|エニグマのロゴ]] '''エニグマ''' (Enigma) とは、[[第二次世界大戦]]で[[ナチス・ドイツ]]が用いたローター式[[暗号機]]である。幾つかの型がある。暗号機によって作成される[[暗号]]も広義にはエニグマと呼ばれる。名称はギリシア語に由来し、「謎」を意味する。 [[ファイル:EnigmaMachineLabeled.jpg|thumb|エニグマ暗号機]] エニグマ暗号機は、[[1918年]]に[[ドイツ国|ドイツ]]の発明家[[アルトゥール・シェルビウス]]によって発明された電気機械式暗号機械で、[[1925年]]には[[ヴァイマル共和国軍|ドイツ軍]]が正式に採用。続いてドイツ政府や[[ドイツ国営鉄道|国営鉄道]]なども採用し、3万台以上を販売した。 暗号方式は[[換字式暗号|換字式]]であり、詳しくは順変多表式である。エニグマは{{仮リンク|M-209|en|M-209}}と同様な反転暗号となり、[[暗号文]]を同じ鍵で再暗号化すると[[平文]]が得られる特徴がある。 大戦中の1939年に、[[イギリス]]は[[アラン・チューリング]]らによってエニグマの解読に成功したが、その事実は徹底して極秘事項とされ、[[ドイツ]]軍は終戦までエニグマを使用し続けた。 == 構造 == 手前に[[鍵盤 (入力装置)|キーボード]]があり、その奥にランプボード(表示盤)、一番奥には3枚のローター(暗号円盤)が入っていて、ローターの初期状態を設定できるようにホイールの端が出ている。ローターの左にはリフレクター(反転ローター)がつけられている。キーボードの手前には[[プラグボード]]が格納されている。 上蓋の内側の下にプラグコードが格納されている。 キーボードで[[平文]](ひらぶん)の一文字を打ち込むと、ランプボードの一つが点灯して暗号文の一文字が得られる。暗号文を復号する際も、同様にキーボードで暗号文を打ち込むとランプボードが点灯して平文が得られる。 [[ファイル:Enigma rotor set.png|thumb|内部のローター]] 暗号化・復号の[[鍵 (暗号)|鍵]]は、いくつかあるローターのうちどの3枚を使うかの組み合わせと、ローターをセットする順序、ローターの目盛りの初期位置、およびプラグボード配線である。 内部のローターは、中の配線が暗号化機(スクランブラー)になっている。打ち込んだ文字は3枚のローターを通って変換され、反転ローターでもう一度3枚のローターを逆方向に通って再度変換されて出力される。 1文字暗号化する毎にローターが一目盛り回転し、回路が変更されるので、同じ文字を打ち込んでも前回とは別の文字に変換される。端のローターが1回転すると隣のローターが一目盛り回転するので回路の組み合わせは膨大な数になる。これは異なる換字表を1文字ごとに使っていくことと同じである。 === ローターの構造 === [[ファイル:Enigma rotor exploded view.png|thumb|300px|ローターの構造]] # 刻み付リング, ロータが一回転したときにラッチ機構を通して隣のローターを一目盛り回転させる # "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回換字することで見かけ上、26<sup>3</sup>=17,576表を利用できる。ローターによる換字は[[群論]]でいう交換則が成立しない。よってローターを連結する順序を変えることにより、異なる多表を用意できる。例えばA,B,Cの異なるローターが有れば、3の順列数である6通りの連結が可能であり、17,576表が6倍の105,456表に増える。 3つのローターの並べ替え(105,456表)でも不足ならば、新規ローターを追加配布して入れ替えることができる。例えば異なる5つのローターA,B,C,D,Eがあれば、任意の3つを選んで60通り (60=<sub>5</sub>P<sub>3</sub>) に並べることができるので、17,576表が60倍の1,054,560表に増える。 === 反転ローター === [[ファイル:enigma wiring kleur.svg|thumb|250px|反転ローターによる電気的閉回路。この例ではAとDが同じ閉回路にあり、(A<sub>p</sub>=D<sub>c</sub>) かつ (D<sub>p</sub>=A<sub>c</sub>) である。他方 (A<sub>p</sub>=A<sub>c</sub>) となるように電流を流すことは不可能]] 電気的閉回路を構成する反転ローターの採用は、エニグマ換字に、反転性 (reciprocity) とある種の不完全性 (noncrashing) と言う2つの特徴を同時に与えた。 ==== 反転性 (reciprocity) ==== 原字Aが暗字Bに換字されるなら (A<sub>p</sub>=B<sub>c</sub>)、原字Bは暗字Aとなる (B<sub>p</sub>=A<sub>c</sub>) 特徴を持つ。この特長により暗号文を再度暗号化すると平文が得られ、機械構造がシンプルになった。例えば反転ローターを持たない[[:en:Hebern rotor machine|Hebern rotor machine]]にはreciprocityはないので、作成・翻訳切り替え機構が必要である。 ==== <!-- 暫定の和訳 -->ある種の不完全性 (noncrashing) ==== 原字は自分自身に換字されない (A<sub>p</sub>≠A<sub>c</sub>) 特徴を持つ。仮にエニグマの"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 WUEBYYNULL'''S'''EQS'''N'''ULLNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←正解候補 WUEBYYNULLSEQSNUL'''L'''NULL ←棄却 WUEBYYNULLSEQSNU'''L'''LNULL ←棄却 WUEBYYNULLSEQSNULLNULL ←正解候補 WUEBYYN'''U'''LLSEQSNULLNULL ←棄却 WUE'''B'''YYNULLS'''E'''QSNULLNULL ←棄却 '''W'''UEBYYNULLSEQSNULLNULL ←棄却 WUEBYY'''N'''ULLSEQSNULL'''N'''ULL ←棄却 WUEBYYNULLSEQSNULLNULL ←正解候補 WUEBYYNUL'''L'''SEQSNULLN'''U'''LL ←棄却 === プラグボード === [[ファイル:Enigma-plugboard.jpg|thumb|280px|プラグボード]] 各ローターの多表は固定されており、野戦で使用される暗号機は盗まれたり[[鹵獲]]されたりする可能性がある。そこでプラグボードが追加された。プラグボードはキーボード・ランプボードとローター換字部の間に挿入され、単文字換字を行う。アルファベット26個分の入出力端子があり、任意の2つのアルファベットをバナナプラグの付いた1組のケーブルで入れ替えることができる。右の写真では"A"と"J"、"S"と"O"が入れ替えてある。なおプラグの刺さっていないアルファベットは入出力が短絡された状態である(例えば"W"は"W"になる) ドイツ軍は初めは3組(3.5×10<sup>6</sup>通り)、後に10組(1.5×10<sup>14</sup>通り)のアルファベットを入れ替えた。ローターの並べ替え・入れ替えに比べ、桁違いの鍵規約数を末端ユーザーが利用できるのが特徴である。しかし頻繁にプラグを入れ替えることは困難であり、実際には1日毎(後に8時間毎)の入れ替えとなった。[[ポーランド]]の解読者は暗号解読に[[群論]]を初めて導入し、プラグボードの影響を排除してローター多表の解析に成功したことがエニグマ解読の重要な一歩となった。 ==== なぜ全てのプラグを使用しないのか ==== *プラグ組数をnと置くとプラグボード組み合わせ数ⅹは以下に示される<ref>ENIGMA, Wladyslaw Kozaczuk, University Publications of America, 1984</ref> {{分数|26!|(2<sup>n</sup> * n! * (26-2*n)!)}} =ⅹ <br/> 11組の時に最大となるがドイツは10組を採用した。この理由についてイギリス解読チームはドイツ側の計算尺の操作ミスと推定した。<ref name="Cipher A. Deavours, Louis Kruh(1985)">Machine Cryptography and Modern Cryptanalysis, Cipher A. Deavours, Louis Kruh, Artech House, 1985</ref> {| class="wikitable" |+ 組み合わせ数の変化 ! プラグ組数 !! 組み合わせ数 |- ! 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 |} ==== 商用エニグマの理論解説 ==== *商用エニグマにドイツ軍がプラグボードを追加した背景について<ref name="Cipher A. Deavours, Louis Kruh(1985)" /><ref name="C.A Deavours(1980)">THE BLACK CHAMBER: A COLUMN LA METHODE DES BATONS C.A Deavours CRYPTOLOGIA Vol.4 Num.4 1980 </ref> スペイン内戦では商用エニグマ暗号機を英国、ドイツ、イタリアそしてスペインが使用していた。そしてローター配線が明らかになると文頭仮定語からローターの開始位置と配置順序を見つける方法を各国が編み出した。フランスは"La Method des Batons"、英国は"cliques on the rod"と呼んでいた。 *暗号文の冒頭数文字はFastローターのみが回転しているがこの際の換字は以下の式で表現される。 pKC<sub>(i)</sub>WC<sub>(-i)</sub>ZC<sub>(i)</sub>W<sup>-1</sup>C<sub>(-i)</sub>K<sup>-1</sup>=c p:i文字目の平字、K:キーボード配線、C<sub>(i)</sub>:→向きのi文字目の接点状態 W:Fastローター配線、C<sub>(-i)</sub>:←向きのi文字目の接点状態 Z:動いていないMidローター→Slowローター→反転ローター→Slowローター→Midローターの配線で単文字換字状態 K<sup>-1</sup>:キーボード逆配線 c:i文字目の暗字 上式を移項すると以下の様になるが両辺で共通のKC<sub>(i)</sub>WC<sub>(-i)</sub>以外はZが有る pKC<sub>(i)</sub>WC<sub>(-i)</sub>Z=cKC<sub>(i)</sub>WC<sub>(-i)</sub> Zは単文字換字なので正しい仮定語と暗字列をFastローターの26通りの開始位置で総当たり換字すると出てくる両文字列が正しい位置の場合はisomorphの関係にある。仮定語の途中でMidローターが動いた場合はisomorphが2つのブロックから構成されるので判別が付く。 *;isomorph: 2つ以上の文字列が繰り返し同じパターンを示している事。idiomorphとも呼ばれる。<ref>"Military cryptanalytics part II",William F. Friedman & Lambros D. Callimahos, 1959</ref> p:PANAMACANAL<br/>c:tvuvpvqvuvd [[ファイル:La Method des Batons.jpg|thumb|280px|La Method des Batonsの例]] *例として暗文の文頭"LZHXBTF"に対して仮定語"GENERAL"を当てはめた場合、各文字にFastローターの26通りの換字結果を縦書きした短冊を用意して並べる。2文字目が2番目のローター位置に来るように短冊を1文字づつスライドしてある。並べ終えたら左右でisomorphを探す。なおZには反転ローターが組み込まれているので「同じ文字に換字されない」「AがBに換字されるならBはAに換字される」現象も判別の手掛かりとなる。図の場合はローター位置Q、EXOVLYLとMRHFDTDで正解となる<ref name="C.A Deavours(1980)" />。 *第二次大戦中と戦後の期間にスイスは独自のローター配線をした商用エニグマを外交用に使用していたがドイツは解読に成功していた。 *プラグボードの採用により未知の置換が挿入されてisomorphの判定が不能となった。 *米国のFriedmanはエニグマと同型のM-325を開発するあたりisomorph対策としてプラグボードでは無く各ローターにノッチを5個取付けてローター回転をより不規則にしてisomorphの判定が困難になるようにした。同様にイギリスもTypexに5~9のノッチをローターに付けた。両国はポーランドの解読結果(1932年)を受けてプラグボードを採用しなかった。 *昭和8年(1933年)に海軍省で発行された「九一式印字機考案に関する説明書」ではプラグボードを示す「文字順序変更装置」が採用され開発時には「エニグマ式暗号機」と比較評価しているがそれがプラグボードの付いた軍用エニグマかは不明である。<ref>「3月29日 海軍中佐 柿本 權一郎 外1名(1)」JACAR(アジア歴史資料センター)Ref.C05023390000、公文備考 昭和9年 B 人事 巻29(防衛省防衛研究所)</ref> ==== ポーランドの発見解説 ==== *エニグマローター換字の巡回表記について ある日の初期ローター開始位置1番目(例:AAA)においてプラグボードから全てコードを抜いた状態での換字表が以下の場合<ref name="Cipher A. Deavours, Louis Kruh(1985)" /> p<sub>1</sub>:ABCDEFGHIJKLMNOPQRSTUVWXYZ <br/> c<sub>1</sub>:UEJOBTPZWCNSRKDGVMLFAQIYXH <br/> 上下の関係を追うとA→UでありU→Aと一連の巡回となっているので(AU)と表記できる。同様に他の文字も調べると<br/> (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となる。 p<sub>1</sub>:ABCDEFGHIJKLMNOPQRSTUVWXYZ <br/> c<sub>1</sub>:TRJIMUQZDCNVEKSWGBOAFLPYXH <br/> (AT)(BR)(CJ)(DI)(EM)(FU)(GQ)(HZ)(KN)(LV)(OS)(PW)(XY) - ② であり13個の巡回となる。 同様に開始位置4番目(例:AAD)の場合は以下の通りに表すと仮定する。 プラグボード無しの場合は p<sub>4</sub>:ABCDEFGHIJKLMNOPQRSTUVWXYZ <br/> c<sub>4</sub>:ZLEJCUITGDMBKONSVXPHFQYRWA <br/> (AZ)(BL)(CE)(DJ)(FU)(GI)(HT)(KM)(NO)(PS)(QV)(RX)(WY) - ③ <br/> プラグボード(WS)(RE)(IO)(UT)(VG)(PL)有りの場合は <br/> (AZ)(BP)(CR)(DJ)(EX)(FT)(GQ)(HU)(IN)(KM)(LW)(OV)(SY) - ④ *ドイツ軍が冒頭にローター開始位置を2回繰り返して暗号化している事を知ったレイェフスキは以下の様に考えた。<ref>Breakthrough '32 The Polish Solution of the Enigma / Includes MS DOS 5-1/4" diskette for IBM PC, Cipher A. Deavours, 1988</ref> 暗号文の1文字目c<sub>1</sub>と4文字目c<sub>4</sub>は同じ文字pが異なるローター位置で換字されている。 ここで開始位置1番目(例:AAA)のローター換字全体をR、4番目(例:AAD)をS、プラグボード換字をPと置くと pPRP<sup>-1</sup>=c<sub>1</sub>, pPSP<sup>-1</sup>=c<sub>4</sub> となり P=P<sup>-1</sup>, R=R<sup>-1</sup>, S=S<sup>-1</sup> でもあることから以下の式が導かれる p=pPRP<sup>-1</sup>c<sub>1</sub>, p=pPSP<sup>-1</sup>c<sub>4</sub>, c<sub>1</sub>=PRSPc<sub>4</sub> よって同じ日に同じ開始位置で暗号化された1番目と4番目の暗字を集計するとPRSPの換字表が求まる。 PSRP:ABCDEFGHIJKLMNOPQRSTUVWXYZ <br/> PSRP:FCDNKHGAJRIOXMYLQPVZTWBSEU <br/> (Q)(G)(TZU)(AFH)(RPLOYEKIJ)(CDNMXSVWB) - ⑤ (=②④)<br/> ここでPSRP換字の巡回表記が1:1:3:3:9:9の特徴あるパターンである事に着目しさらにプラグボードの無い状態でのRS換字の①③も同じ1:1:3:3:9:9のパターンである事を発見した。<br/> RS:ABCDEFGHIJKLMNOPQRSTUVWXYZ <br/> RS:FCDNLHSAYEOPXMJIQKBUZVGWRT <br/> (Q)(V)(UZT)(AFH)(ELPIYRKOJ)(CDNMXWGSB) - ⑥ (=①③)<br/> この現象をレイェフスキは”characteristic set of a given day”と呼んだ。 PRSPとRSの巡回式が同じパターンの”characteristic set”となっている事からプラグボードに関係なく当日のローター配置を特定できると考えた。 ===== 特徴的な巡回パターンとなる理由 ===== *②④=⑤の演算を同じ文字が隣り合うように並べて検証する。便宜上④を[]で括る (GQ)[QG]=(G) <br/> (QG)[GQ]=(Q) <br/> (AT)[TF](FU)[UH](HZ)[ZA]=(AFH) <br/> (TA)[AZ](ZH)[HU](UF)[FT]=(TZU) <br/> (RB)[BP](PW)[WL](LV)[VO](OS)[SY](YX)[XE](EM)[MK](KN)[NI](ID)[DJ](JC)[CR]=(RPLOYEKIJ) <br/> (CJ)[JD](DI)[IN](NK)[KM](ME)[EX](XY)[YS](SO)[OV](VL)[LW](WP)[PB](BR)[RC]=(CDNMXSVWB) <br/> よって同じ組み合わせから2つの同じ長さの巡回パターンがペアで出来る事が判る。例えば1:1,2:2,10:10や2:2,11:11や13:13等 == 解読 == 1920年代にドイツ軍は3ロータ型のエニグマを運用開始し、1930年代に入ると[[イギリス]]、[[アメリカ合衆国|アメリカ]]、[[フランス]]がこの3ロータ型のエニグマ解読を試みたが不成功に終わった。 1932年、[[ポーランド軍参謀本部]]第2部暗号局([[:en:Biuro Szyfrów|en]])の[[数学者]][[マリアン・レイェフスキ]](当時27歳)と、彼の[[ポズナン大学]]における後輩[[ヘンリク・ジガルスキ]]と[[イェジ・ルジツキ]]<ref group="注釈">ポーランド暗号局では、これまで各国の機関や王室が語学的素養のあるものを採用していたことに対し、([[ドイツ語]]に堪能な)数学者を中心に採用した。</ref>は、[[1932年]]ころ初期型を[[暗号解読|解読]]した。これはフランス情報部のスパイが、ベルリン暗号局シフリーシュテーレで勤務する{{仮リンク|ハンス=ティロ・シュミット|en|Hans-Thilo Schmidt}}<ref group="注釈">ハンス=ティロ・シュミットの兄ルドルフはエニグマを採用した通信隊の隊長である。弟のハンス=ティロは軍を追い出され事業には立て続けに失敗していたが、兄はエニグマの採用で成功しており、兄への恨み・妬みと失望感から[[売国奴 #売国|売国]]行為に走っていたという。ハンス=ティロは作戦要員の裏切りから[[1943年]]に逮捕され、獄中で[[自殺]]した。</ref>から得た情報<ref group="注釈">軍事協定により得た情報は相互に共有することになっており、価値を見出せなかったフランス当局は"エニグマに関する情報"に興味を示していたポーランドに情報を与えた。</ref>から推察される構造を復元したエニグマを用いて解読された。元々がエニグマ実機が敵国側に堕ちることを想定され設計された暗号機であったので、レイェフスキにより解読された時点で実質エニグマは原理的に敗北したも同然であるといえよう(実のところ、レイェフスキの上司であるランゲル少佐はフランス側からローターの日毎の配置を記したコードブックも得ていた。が、戦争激化時のスパイ行為の難しさを見越して独力で解かせることにしていたという)。レイェフスキは「[[ボンバ (暗号解読機)|ボンバ]]」という暗号解読機を6台制作、ジガルスキは6枚のコードシート「ジガルスキ・シート」を6枚製作して、当時のドイツが使用していたもの(基本的に3ロータで、6つのホイールオーダーを可能としていた)より複雑なエニグマでも解読できるようにまで発展させた。 ところがドイツ側はローター数やプラグ数を2つ追加、これによりホイールオーダーは原理的に6から60に増加、暗号をより強固なものとした。ポーランド暗号局は当時6台制作したボンバとジガルスキ・シートにさらにそれぞれ54台、54枚を追加しなければ太刀打ちできない状況になった。原理は同じものであるから理論的にはレイェフスキの手法で新しいエニグマの暗号解読は十分可能であったが、ドイツとの戦争が差し迫っている中、ポーランド側には54台のボンバと54枚のジガルスキ・シートを追加制作し運用するために割く時間も予算も人員も足りなかった。既にドイツの独裁者であったヒトラーはポーランドへの強硬的な発言を強めており、ポーランドでは危機感が募るばかりで、ドイツが侵攻してくればポーランド側が独自に国土防衛を行いながらボンバを用いた新エニグマ解読作戦を継続することは考えられなかった。のちにレイェフスキはこう述べている: {{blockquote|「僕らは新しいロータの回路をすぐに把握したが、その導入部はロータの配列が6から60に増加することを可能としていた。だからそのため解読の鍵を見つけるのにこれまでの10倍の労力が必要となってしまったわけだ。つまりこの変化というのは本質的なものではなく単に量的なものであった。だから僕らは、ボンバを運転したり、穿孔シートを製作したり、その穿孔シート操作したりするための人員をずっと増やさなければならない状況になっていたのだ。」}} もはやボンバの改良や人員の強化は開戦に間に合わないと悟ったランゲル少佐は、やむなくイギリス・フランスの情報担当官を緊急でワルシャワに招き、"解読不可能"とされていたエニグマ解読の成果(「[[ボンバ (暗号解読機)|ボンバ]]」等)を披露し、旧式とはなっていたがドイツ軍用エニグマのレプリカを送呈した。その結果[[イギリス]]の[[政府暗号学校]] (GC&CS) の[[アラン・チューリング]]が、[[1939年]]秋には電動式の暗号解読機「{{仮リンク|ボンブ (暗号解読機)|en|Bombe|label=ボンブ}}」の設計を行った。レイェフスキのボンバがエニグマ解読専用の設計であったのに対し、このチューリングのボンブはいわゆる[[クリブ]]方式の暗号一般に対応できるよう設計された。そのためには大西洋上のドイツの[[気象観測船]]を奇襲により捕獲したり、損傷して自沈のために浮上した[[Uボート]]を捕獲したりしてエニグマの実物や暗号書を手に入れることが不可欠だった。 イギリスの諜報機関内で解読作業をしたグループは[[:en:Ultra|Ultra]](ウルトラ)と呼ばれ、解読情報はUltra情報と呼ばれた。Ultraの作業は戦時中はもちろん戦後も極秘とされ、1974年にその内実を記した書籍が出版される<ref>{{ Citation | last = Winterbotham | first = F.W. | title = The Ultra secret: the inside story of Operation Ultra, Bletchley Park and Enigma | place = London | publisher = Orion Books Ltd | origyear = 1974 | year = 2000 | oclc = 222735270 | isbn = 978-0-7528-3751-2 }} </ref>まで世間に知られる事は無かった。そのためチューリングら関与した科学者は戦後にその功績に見合った評価や待遇を受けられず不遇の日々を送る事となった。解読によって捕獲された[[U505 (潜水艦)|U-505]]の乗員はUltraの機密を保持するため、他の捕虜とは隔離され[[赤十字]]の面会も禁止された。 エニグマ解読には5つの方法、そしてモチベーションが必要とされた。どれもが重要な役割を果たし、タイムリーな解読のために相互に補完した。 === 学理的な解読 === フランス側はシュミットの情報を得てもなお暗号機自体や設計図が入手できない限り解読はできないと判断したが、ポーランド側は現物を入手する前にローター解析を進めた。戦前戦後を問わず「暗号機が盗難、盗写されないかぎり解読できない」という先入観に対する教訓である。群論によるローター配線解析の成功。これは解読者に[[数学]]よりも語学のセンスを要求したイギリスの方針を転換させた。ポーランドが暗号化されたローター開始位置から解読を試みる特別解のみを目指したのに対し、イギリスは一般解を目指したのが特徴的である<ref>Breakthrough '32 The Polish Solution of the Enigma / Includes MS DOS 5-1/4" diskette for IBM PC, Cipher A. Deavours, 1988</ref> === 機械による解読 === [[アラン・チューリング]]が開発した多数の暗号解読機「{{仮リンク|ボンブ (暗号解読機)|en|Bombe|label=ボンブ}}」による総当り攻撃。 === スパイや捕獲による暗号機(書)の入手 === 単に解読が可能になったのみならず、捕獲できなかった部分に対しての解読が容易になった。 Uボートから鹵獲された事例として[[U110 (潜水艦)|U-110]]や[[U505 (潜水艦)|U-505]]がある。 === 運用する人間の心理を突いた解読 === * 思いついた文字やキーボードの並び(QWERTYキーボードの左上「QWE」など)から、開始符を決める悪癖。 * 規約更新直後のローター開始位置に無意識の偏りがあること("Herivel tip"と呼ばれる)。 * ローターを入れ替えする際に前回と同じ位置に同じローターを避ける心理。 * ドイツ軍は各メッセージを一時的な鍵で暗号化し、その鍵を日鍵と呼ばれる一日変更されない鍵で暗号化してメッセージと共に送信していたが、初期は間違いを避けるため送信する鍵を反復していたこと。 === 交信解析 === 無線の[[コールサイン]]を解析し、送信・受信者や重要度、内容までも推定すること。[[クリブ]]が最大限に活用された。 === 解読のきっかけとなった「モチベーション」 === フランス情報部の{{仮リンク|ギュスターヴ・ベルトラン|en|Gustave Bertrand}}大尉はスパイであるシュミットから以下の情報を受け取った。 # ローターI,II,IIIの配列 # 各ローターに装着するアルファベットリングの位置。 # 共通鍵用のローター開始位置 # プラグボード配線 ベルトラン大尉はまず自国の暗号家であるバジェールに入手した情報を見せたが、専門家の返答は「この資料だけでは何も出来ない。エニグマ模造機を作るにはローター配線情報が必須だ」と否定的な意見だった。次に当時友好的であったイギリス情報部のウィルフレッド・ダンダーデイルに話を持ち掛けたが、情報は役に立たないと判断された。最後にベルトラン大尉が相談したのがポーランドであった。解読チームBS-4の幹部ランゲルに面会したところ、ランゲルは積極的な態度を示し「我々は貴方がた(英仏解読者)とは(ドイツに対する恐怖感からの)モチベーションが違います」とコメントした。 === 64年ぶりの解読 === 2006年2月、未解読のままになっていた三つの暗号文の内の一つが、ドイツのアマチュア暗号解読家と[[インターネット]]上の仲間による共同プロジェクト[[M4 Project]]によって解読された。M4 Projectは、[[分散コンピューティング]]を使用したブルートフォースアタック([[総当たり攻撃]])によってエニグマ暗号文を解読しようとするプロジェクトで、解読された内容は[[Uボート]]が発信した「敵を追跡している」という内容のものであった<ref>{{Cite web |title=「速度8ノット、敵追跡中」:分散コンピューティングで解読されたEnigmaの暗号 |url=https://japan.cnet.com/article/20097348/ |website=CNET Japan |date=2006-02-28 |access-date=2024-10-05 |language=ja}}</ref><ref>{{Cite web |title=Distributed computing cracks Enigma code - CNET News |url=https://archive.is/20130425113209/http://news.com.com/2100-1029_3-6043572.html |website=archive.is |date=2013-04-25 |access-date=2024-10-05}}</ref>。同年3月には2つ目の暗号も解読され、2013年1月には最後の暗号も解読された。 == 歴史 == * [[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型は欧州各国で採用が広まった。 * [[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月、ドイツ降伏 ==余談== イギリスが暗号を解読するようになると「ドイツ軍の指揮官が自分達への命令を確認するため、イギリスに問い合わせた」というジョークすら生まれた<ref>「イギリスの暗号解読」ディスカバリー・チャンネル</ref>。 == 脚注 == {{脚注ヘルプ}} === 注釈 === {{Notelist}} === 出典 === {{Reflist}} == 参考文献 == {{参照方法|date=2016年6月|section=1}} * 小説 ** 『エニグマ奇襲指令』[[マイケル・バー・ゾウハー]]著, [[田村義進]]訳 ハヤカワ文庫NV 234 1980年9月1日 ** 『暗号機エニグマへの挑戦』、[[ロバート・ハリス (1957年生)|ロバート・ハリス]]著、後藤安彦訳、新潮文庫ハ-32-1、新潮社、1996年9月1日、ISBN 4-10-249301-8 ** 『クリプトノミコン(1)』、[[ニール・スティーヴンスン]]著、中原尚哉訳、ハヤカワ文庫SF1398、早川書房、2002年4月30日、ISBN 4-15-011398-X (全4巻) * 映画 ** 『エニグマ奇襲指令/ベルリン暗殺データバンクを強奪せよ!』(1982年、イギリス/フランス):『エニグマ奇襲指令』の映画化作品 ** 『[[U-571]]』(2000年、アメリカ) ** 『[[エニグマ (映画)|エニグマ]]』(2001年、ドイツ/イギリス):『暗号機エニグマへの挑戦』の映画化作品(製作:[[ミック・ジャガー]]) ** 『[[イミテーション・ゲーム/エニグマと天才数学者の秘密]]』(2014年、英=米) * ドキュメンタリー ** 『[[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でコンパイルされている) == 関連項目 == * [[機械式暗号]] * [[換字式暗号]] * [[暗号史]] * [[暗号]] * [[M4 Project]] * [[イミテーション・ゲーム/エニグマと天才数学者の秘密]] * [[ヘルシュライバー]] - 暗号を送受信するために使用された通信機 * [[Colossus]] - 第二次世界大戦中にイギリスで開発された[[専用計算機]]。ドイツが利用する暗号化された[[テレタイプ端末]]のメッセージ解読に利用された。 == 外部リンク == {{cryptography navbox|machines}} {{Normdaten}} {{DEFAULTSORT:えにくま}} [[Category:暗号機]] [[Category:ナチス・ドイツ]] [[Category:第二次世界大戦]] [[Category:イギリス政府通信本部]] [[Category:ドイツの通信]]
このページで使用されているテンプレート:
テンプレート:-
(
ソースを閲覧
)
テンプレート:Blockquote
(
ソースを閲覧
)
テンプレート:Citation
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Cryptography navbox
(
ソースを閲覧
)
テンプレート:Normdaten
(
ソースを閲覧
)
テンプレート:Notelist
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
テンプレート:分数
(
ソースを閲覧
)
テンプレート:参照方法
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
エニグマ (暗号機)
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報