エニグマ:1.59×10²⁰ 通りの鍵と一つの欠陥
アメリカの国家安全保障局の国立暗号博物館に展示されている、ローター三つのエニグマ。上がローター、中ほどがランプ、下がキーボード、手前がプラグボード。National Security Agency · Wikimedia Commons · パブリックドメイン エニグマは、木の箱に入ったタイプライターのように見えた。操作員がキーボードで文字を押すと、ランプ盤で別の文字が光る。二人めの操作員が光った文字を書きとめ、その文字列がモールス信号で無線送信された。受け手の側では、同じように設定した同じ機械で操作員が暗号文を打ち込み、ランプでもとの文を読んだ。
キーとランプのあいだで、電流は迷路を通った。プラグボード、中で配線が交差した三つのローター、電流を送り返すリフレクター、ふたたび三つのローター、そしてふたたびプラグボード。しかもキーを押すたびに最初のローターが一つ回り、迷路全体が変わった。
鍵を数える ドイツ軍がエニグマを信頼したのは、設定の可能な数の多さのためだった。1939 年の陸軍型について、パスカルが教えてくれた組合せ論で数えてみよう。
ローター。 5 個入りの箱から 3 個を選び、順序も区別する。
$$5\cdot4\cdot3=60.$$初期位置。 各ローターは 26 文字のどれかから始まる。
$$26^3=17\,576.$$プラグボード。 10 本のケーブルが文字を二つずつつなぎ、入れ替える。26 文字から 10 組をつくる方法は何通りか。26 文字を $26!$ 通りのどれかの順に一列に並べ、最初の 20 文字で二つずつ組をつくる。残りの 6 文字はつながず、その順序は関係ないので $6!$ で割る。10 組の順序も関係ないので $10!$ で割る。各組の中の順序も関係ないので $2^{10}$ で割る。結果は
$$\frac{26!}{6!\cdot10!\cdot2^{10}}=150\,738\,274\,937\,250.$$合計。 かけ合わせると
$$60\cdot17\,576\cdot150\,738\,274\,937\,250\approx1.59\times10^{20}.$$ローターのリング設定を数えなくても、約 1.59×10²⁰ 通りの鍵がある。毎秒百万通り試しても、すべてを試すにはおよそ五百万年かかる。
欠陥 リフレクターには実用上の利点があった。同じ設定のまま、機械で暗号化も復号もできたのである。しかし生まれつきの欠陥ももたらした。電流はいつも別の道を通って戻ってくるので、どの文字も自分自身には暗号化されない。A はけっして A にならない。
ささいなことに見えるが、これが決定的だった。暗号解読者たちは、多くの通信に予想できる語が含まれていることを知っていて、それを crib(カンニング)と呼んだ。6 時の天気予報は WETTERVORHERSAGE で始まり、多くの報告は KEINE BESONDEREN EREIGNISSE、「特記事項なし」と書かれていた。クリブが暗号文のどこにあるかを見つけるには、それを暗号文に沿ってずらしていき、どこかの文字が真下の暗号文の文字と一致する位置をすべて捨てればよかった。
Q F Z W R W I K T Y R E S X B F O G K U H Q W E T T E R V O R H E R S A G E ← S の上に S:ありえない W E T T E R V O R H E R S A G E ← 一致なし:ありうる 最初の位置では、クリブの S が暗号文の S の上に来てしまうが、エニグマはけっしてそうしない。この位置は捨てられる。4 文字先では、どの文字も一致せず、この位置は候補として残る。