Lorenzは5ビットのテレタイプコードの各ビットに対して第一の換字を行うχローター 5枚と第二の換字を行うΨローター 5枚を持つ暗号器である。χローターは文字ごとに1ポジション進むが、Ψローターの回転は2枚のモーターローターで制御するという構造になっており、回転にランダム性が加わっている。ということで、Enigmaに較べて格段に複雑性を増している。

この暗号の解読を行うために開発された専用コンピュータが「Colossus」である。なお、Colossusの名前は、オリジナルの世界の七不思議の一つであるロードス島の巨像、コロッサスから採られている。当時としては破天荒な巨大な電子式ディジタルコンピュータということで、この名が付けられたのであろう。

Colossusは1943年の2月から設計が開始され、Colossus Mark-1は1年弱の短い期間で設計、製造を終わり、1944年の1月18日に納入された。設計はPostal Officeの研究所(日本で言えば、昔の郵政省の研究所か)に委託され、Tommy Flowers氏が開発を担当した。

Flowers氏のチームは、Mark-1の納入後も開発を続け、1944年の6月にはMark-2を完成し、Bletchley Parkに納入する。また、稼動中のMark-1も順次、Mark-2にアップグレードされ、2次大戦終戦時には合計10台のColossus Mark-2が稼動していた。

数少ない、当時のColossusの前面側の写真。操作しているのは、英国海軍婦人部隊員の女性。(出典:B.Randell氏の論文)

右手の奥にあるプーリー状のものが見えるのが、無線の傍受で入手した暗号通信メッセージをタイプした紙テープの読み取り装置である。9700字/秒を超えたあたりで紙テープが千切れてしまうので、実用マシンでは5000字/秒で動作させたという。

Colossusのロッカーの裏側の写真。(出典:B.Randell氏の論文)

Colossusは真空管を使ったディジタルコンピュータで、Mark-1には1500本の真空管が使われた。そして、Lorenz暗号器のローターを電子的に模擬するサイラトロン(半導体のサイリスタ、あるいはSCRと同様の働きをする希ガス入りの真空管。なお、サイリスタという名称は、サイラトロンと同様に動作することから名付けられている)で構成する5つのリングを備えていた。

なお、Mark-2では真空管の本数を2400本に増加しプロセサ数を5倍に増強して、6本のテープを並列に処理することにより、Mark-1に較べて5倍に高速になっている。(Flowers氏の論文には、6本のテープのデータを5台のプロセサに入力するため、Remembering Unitと呼ぶ、6キャラクタ分のシフトレジスタが開発されたとあるが、何度読んで見ても、何故、テープの本数とプロセサの台数を違える必要があるのか筆者には理解出来なかった。)

Lorenz SZ暗号器の構造。k(χ)リングとs(Ψ)リングとm(モーター)リングで換字を行う。(出典:Bletchley Parkのテクニカルドキュメント)

Lorenz暗号器では、この図に示すように、元の文章(平文:Plain Textと呼ぶ)はビット毎に対応するk(χ)リングに入力され、kリングの各ポジションのピンのセッティングにより、そのまま出力されたり、否定して出力されたりする。また、この図のそれぞれのリングの下側に書かれている数字はリングの周期で、互いに素な周期をもつことにより全体として長い周期を持つように工夫されている。

従って、平文がどのように暗号化されるかは、それぞれのリングをどの位置から開始するかによって変わり、ドイツ軍は夜間にこの変更を行い、毎日、組み合わせが変更された。また、このセッティングは通信先毎に個別であり、A地点とB地点の間の暗号通信のリングセッティングが判明しても、A地点とC地点の暗号解読には利用できなかった。

リングのセッティングは、全てのリングの周期の積であり、

  • 41×31×29×26×23×43×47×51×53×59×61×37 (=1.6 E+19)

と非常に多くの可能性があり、ドイツ軍は解読不可能と考えていた。