バンブリズムは、第二次世界大戦中にイギリスのブレッチリー・パークでアラン・チューリングによって開発された暗号解読プロセスです。[ 1 ]ブレッチリー・パークのハット8では、エニグマ暗号機で暗号化されたドイツ海軍のメッセージを解読するのに使用されました。このプロセスでは、逐次条件付き確率を使用して、エニグマ暗号機の可能性のある設定に関する情報を推測しました。[ 2 ]これは、仮説を支持する証拠の重みを測る尺度としてチューリングが考案した「バン」という概念を生み出しました。 [ 3 ] [ 4 ]この概念は後にチューリングリーやローレンツ暗号を解読するために使用された他のすべての方法に適用されました。[ 5 ]
バンブリスムスの目的は、エニグマの最も可能性の高い右側と中央のホイールを特定することによって、電気機械式ボンベ機の所要時間を短縮することであった。[ 6 ] [ 7 ]ハット8は2年間連続してこの手順を実行し、十分なボンベ時間が容易に入手できるようになった1943年にのみ停止した。[ 8 ] [ 9 ]バンブリスムスは、ポーランドの暗号解読者イェジー・ルジツキによって考案された「クロック方式」の発展形であった。[ 10 ]
ヒュー・アレクサンダーはバンブール派の中で最も優れた人物と見なされていた。彼とIJグッドは、このプロセスを仕事というより知的なゲームだと考えていた。「取るに足らないほど簡単ではなく、神経衰弱を引き起こすほど難しくもない」ものだった。[ 11 ]
1939年9月にブレッチリー・パークに到着してから最初の数か月で、アラン・チューリングは、ドイツ海軍のエニグマ暗号信号のメッセージ設定が共通の基本位置(ローターの開始位置)で暗号化され、その後、2文字と3文字のルックアップテーブルでさらに暗号化されていることを正しく推測した。これらの3文字テーブルは「 Kenngruppenbuch(Kブック)」と呼ばれる本に記載されていた。しかし、2文字テーブルがなければ、ハット8は通信傍受を開始することができなかった。[ 12 ] 1940年4月26日、ノルウェーのナルヴィクに向かっていた偽装武装トロール船ポラレスが北海でHMSグリフィンに拿捕されたナルヴィク包囲戦の後、突破口が開かれた。[ 13 ]ドイツ軍は暗号文書をすべて破棄する時間がなく、鹵獲された資料から指示システムの正確な形式が明らかになり、プラグボードの接続と4月23日と24日の基本情報、そして25日と26日の平文と暗号化されたメッセージの長いペアを提供するオペレーターのログが提供された。 [ 14 ]
バイグラム テーブル自体はキャプチャの一部ではなかったが、ハット 8 は設定リストを使用して、4 月 22 日から 27 日までに傍受されたすべてのドイツ海軍の通信を遡及的に読み取ることができた。これにより、バイグラム テーブルを部分的に再構築し、4 月 30 日以降、バンブリズムスを使用してドイツ海軍の通信を攻撃する最初の試みを開始できた。対象となる日は、少なくとも 200 のメッセージが受信され、部分的なバイグラム テーブルで指標が解読された日であった。最初に解読された日は 1940 年 5 月 8 日で、この日は、この偉業を成し遂げた暗号解読者ヒュー・フォスを称えて「フォスの日」として祝われるようになった。
この作業はその年の11月までかかり、その時点では情報はかなり古くなっていたが、バンブリズムスが機能する可能性があることを示した。また、バイグラム表の再構築が大幅に進み、その結果、4月14日と6月26日の解読が可能になった。しかし、ドイツ海軍は7月1日にバイグラム表を変更していた。[ 15 ] 1940年末までに、バンブリズムス採点システムの理論の大部分が解明された。
1941年3月3日にトロール船クレブス号からロフォーテン諸島で最初に行われた暗号解読では、2月の暗号鍵がすべて入手できたが、バイグラム表やKブックは入手できなかった。その後の解読により統計的スコアリングシステムが改良され、バンブリズムスは1943年半ばまでドイツ海軍のエニグマに対する標準的な手順となった。[ 15 ]
バンブリズムスは、ドイツ海軍のエニグマ通信の指示手順(暗号化されたメッセージ設定)の弱点を利用した。ドイツ陸軍と空軍のエニグマ手順とは異なり、ドイツ海軍は鍵リストによって提供される基本設定を使用していたため、特定の日(または2日間)のすべてのメッセージで同じだった。これは、3文字の指示がすべて同じローター設定で暗号化され、互いに深度が一致していたことを意味する。 [ 16 ]通常、2つのメッセージの指示は同じになることはなかったが、メッセージの途中でローターの位置が別のメッセージのローターの開始位置と同じになることがあり、このように重なり合う2つのメッセージの部分は深度が一致していた。

Banburismus の原理は比較的単純で (一致指数とかなり似ているようです)、英語またはドイツ語の 2 つの文を上下に並べて書き、一方のメッセージの文字がもう一方のメッセージの対応する文字と同じである頻度を数えると、文がランダムな文字の列である場合よりも多くの一致が発生します。ランダムなシーケンスの場合、単一の文字の繰り返し率は 26 分の 1 (約 3.8%) と予想され、ドイツ海軍のメッセージでは 17 分の 1 (5.9%) であることが示されました。[ 17 ] 2 つのメッセージが深層にある場合、一致は平文の場合と同じように発生します。しかし、メッセージが詳細に記述されていない場合、2つの暗号文はランダムに比較され、約26分の1の繰り返し率となります。これにより、攻撃者は、3文字目だけが異なる2つのメッセージを用意し、それらを比較することで、詳細レベルで一致する箇所を示す特徴的な繰り返しパターンを見つけることができます。
2 つのメッセージを比較して繰り返しを探す作業は、メッセージの長さに応じて高さ約250 ミリメートル (9.8インチ) 、幅数メートル (ヤード) の薄いカードにメッセージをパンチすることで容易になった。カードの列の上部の穴はその位置の「A」を表し、下部の穴は「Z」を表した。2 枚のメッセージ カードはライト ボックスの上に重ねられ、光が透過する場所に繰り返しがあった。これにより、繰り返しを検出して数えることがはるかに容易になった。カードはオックスフォードシャーのバンベリーで印刷された。ブレッチリー パークでは「バンベリー」として知られるようになり、それゆえ、それを用いた手順はバンブリズムスと呼ばれるようになった。[ 18 ]
スクリッチマス法(下記参照)を適用することで、右回転子の可能性に関する手がかりが得られる。
インジケータ「VFG」を含むメッセージ: XCYBGDSLVWBDJLKWIPEHVYGQZWDTHRQXIKEESQSSPZXARIXEABQIRUCKHGWUEBPF
インジケーター「VFX」付きメッセージ: YNSCFCCPVIPEMSGIZWFLHESCIYSPVRXMCFQAXVXDVUQILBJUABNLKMKDJMENUNQ
ハット8はこれらをバンベリーにパンチし、有効なオフセット(-25文字から+25文字まで)の繰り返し回数を数える。有望な位置は2つある。
XCYBGDSLVWBDJlKWIPEHVYGQZWDTHRQXIKEESQSSPZXARIXEABQIRUCKHGWUEBPF YNSCFCCPVIPEMSGIZWFLHESCIYSPVRXMCFQAXVXDVUQILBJUABNLKMKDJMENUNQ -- -- - - - - --
この8文字のずれは、56文字(16%)の重複の中に、2つの2文字を含む9つの繰り返しを示している。
もう一つの有望なポジションは次のようになります。
XCYBGDSLVWBDJlKWIPEHVYGQZWDTHRQXIKEESQSSPZXARIXEABQIRUCKHGWUEBPF YNSCFCCPVIPEMSGIZWFLHESCIYSPVRXMCFQAXVXDVUQILBJUABNLKMKDJMENUNQ ---
この7のずれは、57文字の重なりの中にたった1つの三爻卦だけを示している。
チューリングの方法では、デシバンのスコアを蓄積することで、これらの状況のうちどれがメッセージを深く表現している可能性が最も高いかを計算できます。予想通り、前者が5対1のオッズで勝者となり、後者はわずか2対1です。[ 19 ]
チューリングは、一定数の文字の重複における単一の繰り返しの数、およびバイグラムとトライグラムの数のスコアを計算しました。テトラグラムは平文中のドイツ語の単語を表すことが多く、そのスコアはメッセージの種類(トラフィック分析から)やメッセージ内の位置に応じて計算されました。[ 20 ]これらは表にまとめられ、バンブール主義者は関連する値を合計してメッセージのペアを評価し、どのメッセージが詳細である可能性が高いかを判断しました。
ブレッチリー・パークでは、「VFX」という指示平文が「VFG」の8文字前、つまり(3番目の異なる文字だけを考えると)「X = G+8」であるという慣例が用いられていた。
スクリッチムスは、バンブリズムスの手順の一部であり、右手(速い)ホイールの特定につながる可能性があった。バンブリストは、さまざまなメッセージペア(3番目の指示文字のみが異なる)から、「X = Q−2」、「H = X−4」、「B = G+3」を示す証拠を得ることができた。彼または彼女[ 21 ]は、1:1よりも高いオッズ(つまりスコアが+34以上)を持つすべての距離をデシバンシートから検索した。次に、これらの繰り返しからエンドホイール文字の「チェーン」を形成することによって、「エンドホイールアルファベット」を構築しようと試みた。[ 22 ]
そして、彼らは次のような「連鎖」を構築することができる。
G--BH---XQ
これを段階的にオフセットしながらエニグマローターの既知の文字シーケンスと比較すると、エニグマ機の「相互性」特性または「自己暗号化禁止」特性のいずれかに違反するため、かなりの数の可能性が除外されます。
G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (G は B に暗号化されますが、B は E に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (H は明らかに H に暗号化されます) G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (G は D に暗号化されますが、B は G に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (B は H に暗号化されますが、H は J に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です(Q は明らかに Q に暗号化されます) G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (G は明らかに G に暗号化されます) G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (G は H に暗号化されますが、H は M に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (H は Q に暗号化されますが、Q は W に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (X は V に暗号化されますが、Q は X に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (B は Q に暗号化されますが、Q は Y に暗号化されます)。 G--BH---XQ ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (X は X に暗号化されます) Q G--BH---X-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です -Q G--BH---X-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (Q は B に暗号化されますが、B は T に暗号化されます)。 XQ G--BH---> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です -XQ G--BH--> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (X は B に暗号化されますが、B は V に暗号化されます)。 --XQ G--BH-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です ---XQ G--BH-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です(X は D に暗号化されますが、B は X に暗号化されます)。 H---XQ G--B-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (Q は G に暗号化されますが、G は V に暗号化されます)。 -H---XQ G--B-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (H は B に暗号化されますが、Q は H に暗号化されます)。 BH---XQ G--> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です(G は X に暗号化され、X は G に暗号化されるという性質に注目してください)。 -BH---XQ G-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は不可能です (B は B に暗号化されます) --BH---XQ G-> ABCDEFGHIJKLMNOPQRSTUVWXYZ ......... は可能です
いわゆる「エンドホイールアルファベット」は、わずか4組のメッセージから派生した5文字の文字連鎖を確立するだけで、すでに9つの可能性に限定されている。ハット8は、最初の連鎖と共通する文字を持たない他の文字連鎖を、これらの9つの候補エンドホイールアルファベットに当てはめようと試みる。
最終的には、候補者が一人だけ残ることを望んでいるだろう。おそらく、次のような候補者だ。
ヌップ F----A--D---O --XQ G--BH-> ABCDEFGHIJKLMNOPQRSTUVWXYZ
それだけでなく、このようなエンドホイールのアルファベットは、エンドホイールが実際には「ローターI」であるという結論を必然的に導きます。なぜなら、「ローターII」であれば「E」から「F」へ移動する際にホイールの中間回転が発生するはずですが、それは文字チェーン「F----A--D---O」の中央に位置するからです。同様に、他のすべての中間回転の可能性も排除されます。ローターIは「Q」と「R」の間で回転しますが、この部分はアルファベットの中で唯一チェーンで繋がっていない部分です。
エニグマ暗号機の各ホイールの回転軸が異なるのは、おそらく設計者がセキュリティを向上させるための措置だったのだろう。しかし、まさにこの複雑さゆえに、ブレッチリー・パークは終端ホイールの正体を突き止めることができたのだ。
エンドホイールが特定されると、同じ原理をミドルローターの処理にも拡張できますが、最初のインジケータ文字のみを共有するメッセージペアの重複を検索するという複雑さが加わり、重複は最大650文字離れている可能性があります。[ 23 ]
この作業は手作業では到底不可能なほど膨大な量になるため、BP社はメッセージを80桁のカードにパンチし、ホレリス社の機械を使ってテトラグラムの繰り返しパターンなどをスキャンした。そうすることで、ライトボックス上にどのバンベリーを(どの程度の重なりで)配置すれば、繰り返しパターン全体を評価できるかが分かった。
ハット8は、中間ホイールの重なりが考えられる一連のパターンを把握することで、端のホイールについて上で説明したのとほぼ同じ方法で、中間ホイール用の文字チェーンを構成できるだろう。そして(スクリッチマスに倣って)、少なくとも部分的な中間ホイール用アルファベットが得られ、うまくいけば、中間ホイールのローターの選択肢のうち少なくともいくつかを回転に関する知識から除外できるだろう(端のホイールを特定したときと同じように)。
総合的に考えると、おそらく右側と中央の車輪によって、その日のボンベ走行回数は、可能な336回から大幅に減少するだろう。