Colossus

目的と起源

Colossus は、Lorenz SZ40/42 暗号機によって暗号化されたドイツの通信メッセージを解読するために使われた。Colossusの仕事の一部はローレンツ暗号機の電気機械的機能を電子的にエミュレートすることである。ローレンツ暗号機でのメッセージの暗号化手順は、平文と一連の鍵ビットとを結合させ、5つに分割する。鍵ビット列は12個のピン歯車で生成する。このうち5個の歯車は（イギリス側で）Χ（chi）ホイールと呼ばれ、別の5個は Ψ（psi）ホイールと呼ばれた。残り2個は駆動用歯車である。Χホイールは暗号化された文字毎に規則正しく回転し、Ψホイールは駆動用歯車によって制御されて不規則に回転する。
ブレッチリー・パークの暗号解読士ビル・タットは、そのマシンが生成する鍵ビット列が、統計的に見て、完全な乱数であれば満たされるはずの振舞からはずれた偏向を示す振舞を発見し、その偏向が暗号を解読してメッセージを読むのに使えると考えた。メッセージを読むためには、ふたつの仕事を実行する必要があった。第一の仕事は「歯車のパターン解読」つまり全ての歯車のピンのパターンを発見することである。それらのパターンはローレンツ暗号機を設定変更するまでの一定期間、複数の異なるメッセージの送信で使われていた。第二の仕事は、発見したピンのパターンに基づいて「歯車を設定する」ことである。各メッセージは歯車の異なる位置から暗号化を開始される。「歯車を設定する」とは、あるメッセージの歯車の開始位置を探すことである。当初、Colossus は「歯車の設定」に使われたが、後に「歯車のパターン解読」にも使えることがわかった。
Colossus は、ブレッチリー・パークのローレンツ暗号機に対する機械的解読手法を研究した Newmanry（数学者マックス・ニューマンが指揮する部門）が運用した。
Colossus は Heath Robinson と呼ばれる特殊用途の光学機械式比較器を開発するプロジェクトからの派生として開発された。Heath Robinson で問題となったのは、電気機械式リレーの遅さと2つの紙テープの同期をとる方法である。一方の紙テープは暗号化されたメッセージをさん孔されており、もう一方はローレンツ暗号機のホイールによって生成されたパターンを示している。これを一秒間に2000文字程度読むようにしたところ、テープがずれて計算が不安定になってしまった。このため英国中央郵便本局研究所のトミー・フラワーズを呼びよせ、Heath Robinson の比較機構の設計を調べさせた。フラワーズはこの機械に感心せず、自らが主導して紙テープの一方のデータを内部で生成する電子装置を設計した。フラワーズはその設計を1943年2月にマックス・ニューマンに提示したが、1000から2000本の熱イオン管（真空管）を使って計算するというアイデアは信用されず、Heath Robinson の台数を増やすことになった。しかしフラワーズは自身のアイデアに固執し、研究所の上司から開発資金を獲得した。

Colossus の開発

トミー・フラワーズは英国中央郵便本局研究所で Colossus の設計・製作に11カ月（1943年2月から12月）を費やした。1943年12月の機能試験の後、分解してブレッチリー・パークに移送され、試験運用が開始されたのが1944年1月18日である。ブレッチリー・パークでの組み立ては Harry Fensom と Don Horwood が行った。そして 1944年2月5日から Colossus は暗号解読士らに使用された。
Mark I に続いて 9台の Colossus Mark II が1944年6月以降、順次使用された。最初の Mark I は後に Mark II に改造されている。終戦時には11台めの Colossus が組み立てをほぼ完了した状態であった。Colossus Mark I は1500本の真空管を使用している。Colossus Mark II は2400本の真空管を使用しており、Mark I の5倍の性能で操作も改善されていた。Mark II の設計は Mark I の製作と並行して行われた。トミー・フラワーズは他のプロジェクトに異動となったため、Allen Coombs が Mark II のプロジェクト責任者となった。比較すると、他の初期のコンピュータ Manchester Mark I (1949) は 4200本、ENIAC (1946) は 17468本の真空管を使用している。
Colossus は電子的に歯車パターンを生成することで第二の紙テープを不要とし、一秒間に5000文字を処理することができた（紙テープの速度では毎秒12.2m）。回路の同期は紙テープのスプロケットホールによって生成されるクロック信号で行われた。従って計算速度はテープリーダーの機構によって制限されている。トミー・フラワーズは限界速度を試験し、最高で毎秒9700文字の処理速度を記録した。彼は、その試験を元に通常の運用にふさわしい速度として毎秒5000文字に設定した。場合によっては複数台の Colossus を使って今で言う並列計算のような使い方をすることもあり、約2倍の性能を発揮した。
Colossus には世界初のシフトレジスタとシストリックアレイが使われている。さん孔テープ上の5チャネルに対応して、最大100回の論理演算から構成されるテストを5つ並行して実施できる（ただし、通常 1回の走行では1本か2本のチャネルだけを調べた）。
当初 Colossus は与えられたメッセージの最初の歯車の位置をつきとめるために使われた（「歯車の設定」）が、Mark II はピンのパターンをつきとめる（「歯車のパターン解読」）のを助けるための機構が含まれていた。どちらの機種もスイッチ群とプラグ盤を使ってプログラム可能であり、これは Heath Robinson には無い機能である。

影響とその後

Colossus の用途は国家機密であったため、その存在も戦後何年も極秘扱いのままだった。したがって、コンピュータ史に Colossus が出てくることも無く、フラワーズらも口を噤まなければならなかった。
広く知られなかったため、直接影響を受けて開発されたコンピュータも少ない。EDVACは初期の設計としては最も後世のコンピュータ・アーキテクチャに影響を与えたと言えよう。
しかし、Colossusで培われた技術、特に信頼性のある高速電子デジタル計算デバイスはイギリスでの初期のコンピュータの開発に大きな影響を与えた。Colossus 開発に関係した人々は当然その大きな役割を理解していた。1972年、ハーマン・ゴールドスタイン（ENIAC開発者の一人）は以下のように記している。
イギリスでは戦後間もなく、よく考え抜かれた様々なコンピュータ関連のプロジェクトが開始されている。
これを書いたとき、ゴールドスタインは Colossus のことを知らなかった。それらのプロジェクトに Colossus の技術を持ち込んだ人々には、アラン・チューリング（Pilot ACE）、マックス・ニューマン、I・J・グッド（Manchester Mark I 他）などがいる。計算機科学者ブライアン・ランデルは後にこう記している。
COLOSSUSプロジェクトはこの活力の重要な源であった。全く賞賛されることはなかったが、デジタルコンピュータの発明の歴史上、大きな意義を持っている。
Colossusのハードウェアと関連文書は戦後しばらくは機密扱いでそのまま保持されていたが、ウィンストン・チャーチルが Colossus を手のひらより小さい破片に破壊するよう特別に命令した。トミー・フラワーズは青写真を暖炉で燃やした。いくつかの部品は引き抜かれ、ニューマンがマンチェスター大学の王立協会計算機研究所に持ち込んだ。Colossus Mark I は分解され、その部品は中央郵便本局に返却された。しかし、2台の Colossus はGCHQが1952年から1954年にチェルトナムに移転したとき Eastcoate で保管された。Colossus Blue と呼ばれた Colossus は 1959年に分解され、残る1つも1960年に分解された。晩年、Colossus は訓練目的で使われたが、それ以前に他の目的に転用する試みがなされた。I・J・グッドはNSAを説得して Colossus が彼らの計画していた特殊用途のマシンとして使えるとして、戦後最初にそれを使うプロジェクトに関与した。また、Colossus はワンタイムパッドテープのランダム性を確認するために文字を種類毎に数えるという処理にも使われた。
その間Colossusは機密とされたままだった。これはイギリスの諜報部門がエニグマ風の暗号機を使っており、それを同盟国へ売り込んでいたためで、暗号解読機の存在が知られると、誰もその暗号機を買ってくれなくなると考えたのである。しかし1960年代になると通信のデジタル化が進み、デジタル暗号システムが一般的となり、そのような暗号機の必要性は低くなっていった。
Winterbotham が The Ultra Secret という本 (1974) で秘密を暴露すると、Colossusに関する情報が1970年代後半に開示され始めた。2000年10月、Tunny暗号（ローレンツ暗号機の生成する暗号）とその解読に関する500ページの技術リポート General Report on Tunny がGCHQから国立公文書館に引き渡された。その内容はオンラインで閲覧が可能で、それには共に働いた暗号解読士の Colossus への賞賛の言（ピーアン）が載っている。

復元

2003年3月、トニー・セール率いるチームが Colossus Mark II の完全動作するレプリカを組み立てた。設計図と実物は破棄されたが、技術者のノートなど驚くほど大量の資料が主にアメリカ合衆国に現存していた。光学式紙テープリーダーが最大の問題だったが、元の設計者 Arnold Lynch が自身の元々の仕様を再現した。バッキンガムシャー州ミルトン・キーンズのブレッチリー・パークで組み立てられた（元の Colossus 9号機が実際に置かれていた場所）。
2007年11月、プロジェクト完了の祝賀と博物館創設のための募金をかねて Cipher Challenge というイベントが開催された。Lorenz SZ42 で暗号化した3つのメッセージをドイツの無線局 DL0HNF から発信し、復元したColossusと世界中のアマチュア無線家が解読を競うというイベントである。事前に注意深く準備し、Adaで暗号解読ソフトウェアを完成させていたアマチュア無線家 Joachim Schüth が勝利した。Colossusチームは第二次世界大戦当時の無線機を使うことにこだわり、受信状態がよくなかったため、ちゃんと受信するのに1日かかってしまった。いずれにしても、勝者は1.4GHzのパソコンを使っており、12個の歯車の設定を特定するのに1分もかからなかった。その勝者は「私のラップトップは毎秒120万文字を処理でき、Colossusの240倍の性能だった。CPUのクロック周波数を単純にその割合で算定すれば、Colossusのクロックは5.8MHzになる。これは1944年に作られたコンピュータとしては驚異的だ」と述べている。
Cipher Challenge により、復元プロジェクトの成功が確認された。トニー・セールは「今回の性能を見ると、60年前とほぼ同等といえる。この素晴らしいマシンが暗号を解読することで戦争を何カ月も短縮した。それを生み出したブレッチリー・パークで働いていた人々にふさわしい賛辞を引き起こしたことを嬉しく思う」とコメントした。