暗号学において、クロックは、ドイツのエニグマ暗号の解読を容易にするために、ポーランドの参謀本部暗号局のポーランドの数学者で暗号学者のイェジー・ロジツキによって考案された方法であった。この方法は、異なる回転位置を利用してドイツのエニグマの右端のローターを決定した。ポーランド人にとって、右端のローターを知ることは、ローターの順序の探索空間を3分の1(ローターの数)に減らした。イギリス人はこの方法を改良し、限られた数のボンベをより効果的に使用できるようにした(イギリスは5〜8個のローターに直面した)。
方法
この方法により、エニグマ暗号機のどのローターが一番右にあるか、つまりキーが押されるたびにローターが常に回転する位置にあるかを判別できる場合もあった。 [1]時計法は1933年から1935年にかけてイェジ・ロジツキによって開発された。[2]
マリアン・レイェフスキのグリル法では右回転子を判別できたが、26通りの始動回転のそれぞれで、考えられるすべての回転子順列(当時は3つの回転子があった)を試す必要があった。グリル法のテストは、プラグボードの設定によっても複雑になった。対照的に、クロック法では、プラグボードの影響を受けない単純なテストが行われた。[3]
1930年代初頭、ドイツ軍は3か月間同じローター順序を使用していたため、ローター順序の決定はそれほど負担にはなりませんでした。ローター順序は一度決定すれば、その後3か月間その順序を使用することができました。1936年2月1日、ドイツ軍はローター順序を毎月変更しました。1936年11月1日、ドイツ軍はローター順序を毎日変更しました。[4]
ロジツキの「時計」方式は後に、イギリスの暗号学者アラン・チューリングがブレッチリー・パークで「バンブリズム」と呼ばれる暗号技術の開発に応用した。[5]
背景
暗号局は、エニグマ機で暗号化されたドイツの無線傍受を受信しました。約60のメッセージから、局はマリアン・レイェフスキのメッセージキーエンコーディングの特徴的な構造を解明することができました。 [6]質の悪いメッセージキーを利用することで、局はメッセージキーエンコーディングを解明することができました。その時点では、暗号解読者はメッセージキーとその暗号文しか知らない可能性があります。彼らは、プラグボードの設定、リングの設定、ローターの順序、または初期設定など、日常のキーのその他の秘密を知らない可能性があります。そのようなわずかな情報と運があれば、ポーランド人はどのローターが最も右であるかをまだ特定できました。
日常の交通では、メッセージキーが同じ2文字で始まるメッセージペアが12個ほどある可能性があります。[7]つまり、左ローターと中央ローターは同じ位置にあるということです。
メッセージペアの暗号文を整列させる方法は2つあります。[8]両方の整列が試されます。整列の1つは、同一の多アルファベット置換を使用します。これにより、暗号解読者は、特定の文字範囲内でローターの回転が起こったかどうかを判断できます。
ローターの回転位置はそれぞれ異なっていました。イギリスでは「Royal Flags Wave Kings Above」という記憶法が使われていましたが、これはローター I が R で回転し、ローター II が F で回転し、ローター III が W で回転し、ローター IV が K で回転し、その他のローターが A で回転することを意味していました。
メッセージ ペアが協力し合えば、ポーランド人はターンオーバーが 1 つのローターだけを含むウィンドウを狭めることができます。1 つのメッセージ ペアでは、ターンオーバーがウィンドウ B から U で発生したと表示され、これはローター I (R)、II (F)、および IV (K) が実行可能であることを意味します。2 番目のメッセージ ペアでは、ウィンドウ M から C が生成され、これはローター I (R)、III (W)、V+ (A) が実行可能であることを意味します。ローター I のみが両方のメッセージ ペアを満たすため、ローター I は右側のローターです。
マシン設定
エニグマ暗号機は、ユーザーがいくつかの秘密を共有することを前提としていました。1930年のエニグママニュアルには、毎日秘密の設定が記載されていました。[9] [10]
毎日の設定(共有シークレット): ローター順序: II I III リング設定: 24 13 22 (XMV) リフレクター:A プラグボード: AM、FI、NV、PS、TU、WZ 最終処理: 06 15 12 (FOL)
毎日の設定は、暗号係にメッセージを交換できるように機械を構成する方法を伝えた。当初、機械には3つのローターがあり、任意の順序(ホイール順序またはローター順序)で配置できた。[11] 各ローターには数字または文字が書かれたリングがあり、そのリングは26の位置のいずれかに配置できた。プラグボードは追加の文字を交換した。
各メッセージごとに、オペレーターは 3 文字のメッセージ キーを選択して、メッセージの本文を暗号化します。このキーはランダムにすることが意図されており、各メッセージにランダム キーを使用することはセキュリティ上適切な方法です。受信者がメッセージを復号化できるように、メッセージ キーを受信者に伝える必要があります。
メッセージ キーを平文で送信する代わりに、メッセージ キーは Grundstellung (地上設定) で暗号化されます。重大な手順上のミスにより、ドイツ人はメッセージ キーを 2 回暗号化しました。メッセージ キーが "ABL" の場合、ドイツ人は 2 倍のキー "ABLABL" を暗号化し、結果 ("PKPJXI") を送信します。メッセージ キーを 2 回送信すると、送信中に文字化けしたキーを復元できますが、暗号化キーを 2 回送信するのではなく、2 倍のキーを暗号化するという暗号上のミスがありました (例: "PKPPKP")。2 倍のキーにより、ポーランド人は攻撃を受けることになります。同じ毎日のキー (約 70 件のメッセージ) を使用する十分なメッセージ トラフィックがあり、暗号担当者が弱いキー ("CCC" や "WER" など) を使用した場合、ポーランド人は Rejewski の特性法を使用して、その日のメッセージ キーをすべて特定できます。驚いたことに、ポーランド人は、プラグボードの設定、ローターの順序、ローターの位置、リングの設定など、日常の機械設定の重要な秘密を知ることなく、メッセージ キーを解読しました。
ポーランド人は残りの秘密を得るために他の技術を使用する必要がありました。時計法はローターの順序を決定するのに役立ちました。

ローターによって回転位置は異なります
クロック方式では、異なるターンオーバー位置を持つ 3 つのローター (I、II、III) を利用しました。右端のローターは、各文字が暗号化されるたびに移動しました。リングの特定の位置で文字を暗号化すると、左にある次のローターも 1 つ位置移動します (ターンオーバー)。次のローターを動かすリングの位置は、ローターごとに異なり、ローター I は QR 遷移 (「ロイヤル」) で進み、ローター II は EF (「フラグ」) で進み、ローター III は VW (「ウェーブ」) で進みました。[12] ターンオーバーを検出できれば、右端のローターを特定できる可能性があります。
ポーランド人はメッセージキーを解読したため、各メッセージのリングの位置を知っていました。リングの位置がメッセージキーだったからです。[13]
十分なトラフィックがあれば、ポーランド人は同じ 2 つの文字で始まるメッセージ キーを見つけるでしょう。ポーランド人がキー「AAA」と「AAT」を持つメッセージを受信したとします。
メッセージ キー AAA: BQWBOCKUQFPQDJTMFTYSRDDQEQJWLPTNMHJENUTPYULNPRTCKG メッセージ キー AAT: SRDDQEQJWLPTNMHJENUTPYULNPRTCKGFHWQJTVQROVULGDMNMX
偶然のインデックス
十分に長いメッセージの一致度インデックスを使用して、ポーランド人はローター設定が一致する場所を特定できました。この決定は統計的ですが、微妙でもあります。言語における不均一な 文字頻度を利用します。文字が一列に並んだ 2 つの文を考えてみましょう。文字の頻度が同じであれば、最初の文の文字は 2 番目の文の同じ位置にある文字と 1/26 (0.038) の確率で一致します。自然言語の場合、「e」などの文字ははるかに可能性が高いため、一致の可能性ははるかに高くなります。次の例では、最初の 28 文字に 6 つの一致があります (26 文字あたり 1.73 の一致という予想よりもはるかに多い)。
私たちは真実を自明であると信じています 人類の出来事の過程において * *** * *
一致インデックスは、比較する 2 つの文字列が同じポリアルファベット キーで暗号化されている場合にも当てはまります。つまり、文字が等しい場合は、暗号化も等しくなります。逆に、文字列が異なるポリアルファベット キーで暗号化されている場合は、文字列がランダム化され、一致インデックスにはランダムな一致のみが表示されます (26 文字のうち 1 文字が一致します)。
2 つの文字列が十分に長い場合 (たとえば 260 文字)、一致インデックスによって、文字列が同じポリアルファベット キー (つまり、同じローター構成) で暗号化されたかどうかが示されます。
ローターの位置と一致
一致の指標を不条理なレベルまで強調するために、上記の 2 つのサンプル メッセージはすべて文字「A」で構成されているため、同じローター位置を共有するすべての位置で一致が発生します (通常のメッセージでは発生しません)。これにより、短いメッセージでも一致がはっきりとわかります。実際には、統計的な指標を得るには長いメッセージが必要です。
ポーランド人は、毎日のトラフィックを検索して、キーが同じ 2 文字で始まるメッセージのペアを探しました。キー ペアの例は、("UIB", "UIW") または ("GCE", "GCX") です。メッセージ キーの最初の 2 文字が別のメッセージのキーと一致する可能性は低いですが ( 1/(26×26)=1/576 )、一連のメッセージでそのようなペアが見つかる可能性は高いです。このような一致を見つけることは、誕生日問題の一例です。
ポーランド人は最初の 2 文字が一致することを望みました。それは、左と中央のローターが同一の回転をしており、同じ順列を生成することを意味するからです。ポーランド人は、キーの 3 番目の文字が異なることを考慮して、2 つのメッセージを整列させることもできます。上記の ("AAA", "AAT") の例のペアを考えると、ポーランド人は、メッセージが共通のキー (共通のローター回転) を共有するようにメッセージを整列させる 2 つの方法があることを知っていました。この 2 つのケースは、ターンオーバー (中央のローターの動き) が "A" と "T" の間で発生するか、"T" と "A" の間で発生するかを反映しています。
で 右ローター位置: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ メッセージ キー AAA: BQWBOCKUQFPQDJTMFTYSRDDQEQJWLPTNMHJENUTPYULNPRTCKG メッセージ キー AAT: SRDDQEQJWLPTNMHJENUTPYULNPRTCKGFHWQJTVQROVULGDMNMX 偶然: ================================= 結論: キーは同じなので、AT でのターンオーバーはありません。
TA 右ローター位置: TUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRS メッセージ キー AAT: SRDDQEQJWLPTNMHJENUTPYULNPRTCKGFHWQJTVQROVULGDMNMX メッセージ キー AAA: BQWBOCKUQFPQDJTMFTYSRDDQEQJWLPTNMHJENUTPYULNPRTCKG 偶然: 結論:キーが異なるため、TAのターンオーバー
中央のローターは、どのローターが最も右 (高速) 位置にあるかに応じて、異なる位置で回転します。ローター I、II、III の変更点は、1、2、3 で示されます。中央のローターの位置は、右ローターが I、II、または III であると仮定して示されます。
メッセージ キー AAA: BQWBOCKUQFPQDJTMFTYSRDDQEQJWLPTNMHJENUTPYULNPRTCKG 売上高 2 1 3 2 1 3 右 ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY 中(I) ああああああああああああBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCC 中級(II) AAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCC 中(III) ああああああああああああああああああああああああああああああああああああああああああああああああああああああああ メッセージ キー AAT: SRDDQEQJWLPTNMHJENUTPYULNPRTCKGFHWQJTVQROVULGDMNMX 売上高 3 2 1 3 右TUVWXYZABCDEFGHIJKLMNOPQRSTUVWXY 中(I) ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ 中(II) ああああああああああBBBBBBBBBBBBBBBBBBBB 中(III) AAABBBBBBBBBBBBBBBBBBBBBBBBBBCCCC
言語ベースの一致が発生するには、3 つのローターすべてが同期している必要があります。同期していない場合は、プレーンテキストがランダムにスクランブルされ、言語特性が透けて見えなくなります。一致が発生する領域を見ると、いくつかのことがわかります。ローター I が右側にある場合、中央のローターは一致せず、一致のインデックスは一致を示しません。ローター II が右側にある場合、中央のローターも一致しません。ローター III は完全な一致を示します。したがって、右端のローターはローター III になります。
この時点で、ポーランド人は、正しいローターが III であり、ローターの順序が (I、II、III) または (II、I、III) のいずれかであることを知っています。彼らはメッセージ キーを知っていましたが、リングの設定を知らなかったため、ローターの絶対位置を知りませんでした。また、プラグボードの設定も知りませんでした。ポーランド人は他の方法を使用してその情報を知ることもできますが、正しいローターを知ることでそれらの方法は簡素化されます。
ユーティリティ
当初、時計方式はあまり重要ではありませんでした。1932年、ドイツ人は一度に3か月間同じローター順序を維持しました。1936年2月1日、ドイツ人は毎月ローター順序を変更しました。毎日のホイール順序の変更は1936年11月1日に開始されました。[14]
1936年10月、ドイツ軍はプラグの数を6個から8個に増やし、グリル法を複雑にした。ポーランド軍はサイクロメーターとカードカタログを開発した。新しい方法は1年もかかって完成しなかったが、ほとんど手間をかけずにローターの順序全体(右ローターだけでなく)を特定できた。[15] 残念ながら、1937年11月2日にドイツ軍が反射鏡を交換したため、カタログは役に立たなくなり、新しいカタログを作成する必要があった。
1938年9月15日、ドイツはネットワーク上のメッセージが同じGrundstellungを使用しないように手順を変更しました。[16]この変更により、メッセージキーが簡単にわからなくなったため、クロック方式が複雑になりました。
イギリスの暗号解読者はクロック方式を拡張した。Banburismusを参照。ドイツ海軍の Enigma メッセージは同じGrundstellung を使用しており、イギリスの暗号解読者は暗号化されたメッセージ キーを判別することができた。暗号化されたキーの最後の文字以外がすべて一致した場合、右ローターを除いてローターの位置は同じになる。問題は、イギリスが (ポーランドのように) プレーンテキスト メッセージ キーではなく暗号化されたメッセージ キーを照合していたため、暗号化されたメッセージ キーの最後の文字が自然な "ABCDE...WXYZ" の順序ではなく、任意の順序になっていたことである。イギリスは、2 つのオフセットだけを見るのではなく、すべての可能なオフセットを見て、3 番目のホイールの順序を十分に推測してから、正しいローターを判別する必要がありました。最後のローターを正しく推測できれば、イギリスは貴重な Bombe 時間を節約できます。
注記
- ^ レイェフスキ 1984、290 ページ
- ^ Rejewski 1981、p. 223 には、「この時期に、Różycki は クロック法と呼ばれる手順を考案しました。これにより、多くの場合、特定の日に 3 つのドラム (I、II、III) のどれがドラムNであるか、つまり、どのドラムがマシンの右側にあるかを判断することができました。」と記載されています。
- ^ Rejewski 1981、p. 227 には、「クロック法の結果として、どのドラムがN の位置にあるかがわかることもあったが、SD ネットワークに適用できる唯一の方法であるグリッド法は、失敗することもありました。1939 年 1 月 1 日にドイツ人が再び順列Sによって変更された文字のペアの数を7 から 10 に増やしたため、失敗しました。」と記載されています。
- ^ レイェフスキ 1981、223 ページ
- ^ グッド 1993、155 ページ
- ^ Rejewski 1981、p. 218 には、「AD、BE、CF という特徴的な構造を確立するには、同じ日の十分な数、約 60 個の標本が必要でした」と記載されています。
- ^ Rejewski 1981、p. 223 には、「十分な量の暗号化された資料を利用できるため、通常、各ペアのキーの最初の 2 文字は同一で、3 番目の文字が異なるメッセージのペアが 12 個ほど見つかります。」と記載されています。
- ^ レイェフスキ 1981、223 ページ
- ^ 「Frode Weierud の CryptoCellar | 1930 年のエニグマ テスト メッセージ」。2014 年 10 月 30 日時点のオリジナルよりアーカイブ。2014 年 10 月 7 日閲覧。、1930 年の「Schlüsselanleitung zur Chiffriermachine Enigma I」[「暗号マシン「エニグマ I」の鍵の使用方法」] を引用
- ^ シミュレーターで確認できます。たとえば、http://people.physik.hu-berlin.de/~palloks/js/enigma/enigma-u_v20_en.html で、Enigma I を選択し、リフレクター A を選択し (当時、ドイツ軍はリフレクターを 1 つしか持っていませんでした)、ホイールの順序 (II、I、III) を設定し、リング (24、13、22) を設定し、プラグ (AM、FI、NV、PS、TU、WZ) を設定し、プラグボードをアクティブにして、ホイールを地上設定 ("FOL") に設定します。入力ボックスに ABLABL と入力すると、出力として PKPJXI が生成されます。
- ^ 後には3つ以上のローターも可能になる予定。
- ^ イギリス人はターンオーバーの位置を覚えるために「Royal Flags Wave Kings Above(王の旗が王を上に振る)」という記憶術を使った。
- ^ リングの位置はウィンドウに表示されるものであり、Ringstellung (リング設定) ではありません。
- ^ レイェフスキ 1981、223 ページ
- ^ レイェフスキ 1981、224-225 ページ
- ^ レイェフスキ 1981、225 ページ
参考文献
- コザチュク、ヴワディスワフ(1984)、カスパレク、クリストファー(編)、エニグマ:第二次世界大戦でドイツの機械暗号がいかにして破られ、連合国はいかにしてそれを解読したか、メリーランド州フレデリック:University Publications of America、ISBN 978-0-89093-547-7W kręgu enigmy、Warsaw、Książka i Wiedza、1979 年の改訂および増補翻訳。Marian Rejewskiによる付録が追加されています。
- レイェフスキ、マリアン(1981 年 7 月)、「ポーランドの数学者はいかにしてエニグマを解読したか」、Annals of the History of Computing、3 (3)、IEEE: 213–234、doi :10.1109/MAHC.1981.10033、S2CID 15748167
- レイェフスキ、マリアン(1984)、「エニグマ暗号の数学的解読」、カスパレク、クリストファー (編)、『エニグマ: ドイツの機械暗号の破り方と第二次世界大戦中の連合国による解読方法』、付録 E: 272–291 ページ、ISBN 978-0-89093-547-7
- グッド、ジャック(1993)、「エニグマと魚」、ヒンズリー、FH、ストリップ、アラン(編)、コードブレーカー:ブレッチリーパークの内幕、オックスフォード:オックスフォード大学出版局、pp. 149-166、ISBN 978-0-19-280132-6
