Colossus

Colossus（コロッサス、本来の意味はロードス島の巨像の名）は、第二次世界大戦の期間中、ドイツの暗号通信を読むための暗号解読器としてイギリスで使われた、専用計算機である。電子管（真空管とサイラトロン）を計算に利用していた。 Colossus は、ブレッチリー・パークの数学者マックス・ニューマンが提起した問題を解くため、英国中央郵便本局研究所（英語版）の技術者トミー・フラワーズを中心としたチーム（Sidney Broadhurst、William Chandler、Allen Coombs、Harry Fensom ら）が設計した。プロトタイプの 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の機能を復元したレプリカが完成している。 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 の設計・製作に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 は先端技術であった真空管、サイラトロン（熱陰極格子制御放電管）、光電子増倍管（紙テープ読み取りに使用）を使っている。そしてプログラムされた論理関数を各文字に適用して、どれだけ "真" が返ってくるかをカウントする。真空管は故障しやすかったが、ほとんどの故障は電源のON/OFF時に起きるので、Colossus マシンは一度電源を入れたら故障で働かなくなるまで電源を入れっぱなしにして使われた。 Colossus はプログラム可能な電子デジタルマシンだが、そのプログラム機能は次のような点で限定されたものだった。 プログラムは内蔵式ではない。新たなタスクを設定するには、オペレータがプラグ盤とスイッチ群を操作して配線を変更する。 汎用性はなく、計数とブール演算という暗号解読に特化した設計である。 したがって、ある程度の柔軟性はあるが、自由にプログラム可能とは言えず、ある種の専用計算機である、ということになる。 「世界初のコンピュータはどれか」という議論（本質は「コンピュータ」の定義次第であるが）で本機とよく比較される機械について以下に述べる。コンラート・ツーゼの Zuse Z3 は世界初のプログラム制御式の完全機能するコンピュータであり、ベル研究所でジョージ・スティビッツらによって1930年代後半に開発されたマシンと同様、電気機械式リレーを使用していた。アタナソフ&ベリー・コンピュータは電子式で2進数を使用していたが、プログラム可能ではなかった。ヴァネヴァー・ブッシュらが1930年代以前から開発していたアナログコンピュータは半プログラム可能であった。チャールズ・バベッジの解析機関はこれら全てに先行していたし（19世紀中盤）、デジタル式でプログラム可能だったが、部分的にしか制作されず、当時は機能しなかった（ただし、階差機関のレプリカは1991年に製作され動作した）。Colossus は、「デジタル」式で「プログラム可能」で「電子」式であるという組合せでは世界初であるが、汎用性は低かった。より高い汎用性は1946年に開発されたENIACで実現された。いずれにしろプログラム内蔵方式ではなく、同方式により実現されるような柔軟なプログラム可能性もない。 Colossus の用途は国家機密であったため、その存在も戦後何年も極秘扱いのままだった。したがって、コンピュータ史に Colossus が出てくることも無く、フラワーズらも口を噤まなければならなかった。 Colossusに関わったわずかな人々は、大規模で信頼性のあるデジタル電子デバイスが十分実現可能なことを既に知っており、イギリスでの、そして恐らくアメリカでの初期のコンピュータに関する業績に重要な役割を演じた。しかしそれは秘密裏に行われたため、後年のコンピュータの開発に直接的な影響は殆ど及ぼさなかった。EDVACこそが当時影響を与えたコンピュータ・アーキテクチャだったと言えよう。1972年、ハーマン・ゴールドスタイン（ENIAC開発者の一人）は以下のように記している。 イギリスは、戦後すぐにコンピュータの分野で、構想と遂行能力に優れた多くのプロジェクトに着手できるほどの活力を持っていたのである。 これを書いたときゴールドスタインは、 Colossus のこと、あるいは、アラン・チューリング（パイロットACE）やマックス・ニューマン（マンチェスター・コンピュータ）、ハリー・ハスキー（Bendix G-15）といった人々のプロジェクトが Colossus の影響を受けていたことを知らなかった。1970年代に Colossus の情報を発掘した計算機科学者ブライアン・ランデル（英語版）はゴールドスタインの記述に言及する形でこう記している。 私が考えるに、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年前とほぼ同等といえる。この素晴らしいマシンが暗号を解読することで戦争を何カ月も短縮した。それを生み出したブレッチリー・パークで働いていた人々にふさわしい賛辞を引き起こしたことを嬉しく思う」とコメントした。