Colossus MarkI/MarkIIColossus Mark II。
左のオペレータは Dorothy Du Boisson、右のオペレータは Elsie Booker。
左に写っている斜めの制御パネルは、ローレンツのピンパターン設定に使われた。さん孔テープが右側に見えている。
開発元トミー・フラワーズ
製造元英国中央郵便本局研究所
Colossus(コロッサス、本来の意味はロードス島の巨像の名)は、第二次世界大戦の期間中、ドイツの暗号通信を読むための暗号解読器としてイギリスで使われた、専用計算機である。電子管(真空管とサイラトロン)を計算に利用していた。
Colossus は、ブレッチリー・パークの数学者マックス・ニューマンが提起した問題を解くため、英国中央郵便本局研究所(英語版)の技術者トミー・フラワーズを中心としたチーム(Sidney Broadhurst、William Chandler、Allen Coombs、 ⇒Harry Fensom ら)が設計した[1]。プロトタイプの Colossus Mark I は 1943年12月に完成し、1944年2月からブレッチリー・パークで動作した。改良版の Colossus Mark II はノルマンディー上陸作戦直前の1944年6月1日に完成した。戦争が終わるまでに10台の Colossus が製造された。
Colossus は Lorenz SZ40/42(英語版) という機械を使って暗号化されたテレタイプ端末のメッセージを解読する際に使われた。イギリスの暗号解読者らはこの暗号化されたテレタイプ通信トラフィックを "Fish(英語版)" と呼び、SZ40/42 という機械とその暗号を "Tunny(英語版)" と呼んだ。Colossus はふたつのデータ列を比較し、プログラム可能なブール関数に基づいて一致する箇所を数える。一方のデータは紙テープから高速に読み込まれ、もう一方は内部でローレンツ暗号機の電子的シミュレーションにより生成される。そして、様々な設定でローレンツ暗号機のエミュレーションを電気的に実行する。ある設定での一致箇所数が所定の閾値を越えると電気式タイプライタにその結果を出力する。
Colossusはローレンツ暗号機の鍵の組み合わせを探すのに使われたもので、傍受した暗号メッセージを完全に解読したわけではない。
プロジェクトの機密保持のため、Colossus のハードウェアと設計図はほとんど破棄され、1970年代まで機密が保持された。そのため、一部の開発関係者はデジタル電子計算機開発の先駆者としての栄誉を生前に受けることがなかった。2007年、Colossusの機能を復元したレプリカが完成している。
目的と起源ローレンツ暗号機の歯車部分。12個の歯車があり、全部で501個のピンがある。
Colossus は、Lorenz SZ40/42(英語版) 暗号機によって暗号化されたドイツの通信メッセージを解読するために使われた。Colossusの仕事の一部はローレンツ暗号機の電気機械的機能を電子的にエミュレートすることである。ローレンツ暗号機でのメッセージの暗号化手順は、平文と一連の鍵ビットとを結合させ、5つに分割する。鍵ビット列は12個のピン歯車で生成する。このうち5個の歯車は(イギリス側で)Χ(chi)ホイールと呼ばれ、別の5個は Ψ(psi)ホイールと呼ばれた。残り2個は駆動用歯車である。Χホイールは暗号化された文字毎に規則正しく回転し、Ψホイールは駆動用歯車によって制御されて不規則に回転する。
ブレッチリー・パークの暗号解読士ビル・タット(英語版)は、そのマシンが生成する鍵ビット列が、統計的に見て、完全な乱数であれば満たされるはずの振舞からはずれた偏向を示す振舞を発見し、その偏向が暗号を解読してメッセージを読むのに使えると考えた。メッセージを読むためには、ふたつの仕事を実行する必要があった。第一の仕事は「歯車のパターン解読」つまり全ての歯車のピンのパターンを発見することである。それらのパターンはローレンツ暗号機を設定変更するまでの一定期間、複数の異なるメッセージの送信で使われていた。第二の仕事は、発見したピンのパターンに基づいて「歯車を設定する」ことである。各メッセージは歯車の異なる位置から暗号化を開始される。「歯車を設定する」とは、あるメッセージの歯車の開始位置を探すことである。当初、Colossus は「歯車の設定」に使われたが、後に「歯車のパターン解読」にも使えることがわかった。