エニグマ (暗号機)
A - Zのアルファベットによる多表式暗号であれば、多表の数は理論上26! = 403,291,461,126,605,635,584,000,000 通り得られる。もしローターの代わりにプラグボードを利用すればこの多表全てを所望の順番で変更利用できるが、1文字を暗号化する度にプラグの差し替えが必要であり実用性に乏しい。そこで多表数をアルファベット数と同じ数(エニグマは26表)で妥協する代わりに、機械的に多表を逐次変更する方法の一つとしてローター式(鼓胴とかドラム式とも呼ばれる)暗号機が登場した。
ローターには、その内部配線により26!通りの中から所望の単文字換字表を1つだけ設定することができる。よって「動かないローター」は「挿しっぱなしのプラグボード」と等価である。配線の変更作業は端末ユーザーには事実上不可能であり、配線内容が敵に漏洩した場合は別配線の新規ローターを全ユーザーに配布・交換する必要がある。
ローターを駆動することにより、そのローターの単文字換字表から関連付けられた26の多表を切り替えて利用できる。26の多表はローター固有の表であり、変更することは出来ない。
原字は自分自身に換字されない (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がある可能性がある。