Colossus(コロッサス、本来の意味はロードス島の巨像の名)は、第二次世界大戦の期間中、ドイツ暗号通信を読むための暗号解読器としてイギリスで使われた、専用計算機である。電子管真空管サイラトロン)を計算に利用していた。

Colossus MarkI/MarkII
Colossus Mark II。
左のオペレータは Dorothy Du Boisson、右のオペレータは Elsie Booker。
左に写っている斜めの制御パネルは、ローレンツのピンパターン設定に使われた。さん孔テープが右側に見えている。
開発元 トミー・フラワーズ
製造元 英国中央郵便本局研究所英語版
種別 専用用途のデジタル電子計算機
世代 第一世代コンピュータ
発売日 Mark 1: 1943年12月 (1943-12);
Mark 2: 1944年6月6日 (1944-06-06)
販売終了日 1945年6月8日 (1945-6-8)
出荷台数 10
対応メディア 紙テープテレプリンタ出力
CPU 真空管サイラトロンを使った独自回路。Mark I では1500本、Mark II では2400本を使用。
メモリ なし(RAMを持たない)
ストレージ 20,000文字×5ビット以下の紙テープの輪を使用
ディスプレイ 操作パネルのランプ群
入力機器 制御卓のスイッチ群とプラグ盤

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 は「歯車の設定」に使われたが、後に「歯車のパターン解読」にも使えることがわかった。

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 が行った[2]。そして 1944年2月5日から Colossus は暗号解読士らに使用された[3]

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 には無い機能である。

設計と操作 編集

 
1994年、トニー・セール(右)率いるチームがブレッチリー・パークでColossusの復元を開始した。写真は、2006年のもので、完成したマシンでの暗号解読をセールが監督しているところ。

Colossus は先端技術であった真空管サイラトロン(熱陰極格子制御放電管)、光電子増倍管(紙テープ読み取りに使用)を使っている。そしてプログラムされた論理関数を各文字に適用して、どれだけ "" が返ってくるかをカウントする。真空管は故障しやすかったが、ほとんどの故障は電源のON/OFF時に起きるので、Colossus マシンは一度電源を入れたら故障で働かなくなるまで電源を入れっぱなしにして使われた[3]

Colossus はプログラム可能な電子デジタルマシンだが、そのプログラム機能は次のような点で限定されたものだった[4]

  • プログラムは内蔵式ではない。新たなタスクを設定するには、オペレータがプラグ盤とスイッチ群を操作して配線を変更する。
  • 汎用性はなく、計数とブール演算という暗号解読に特化した設計である。

したがって、ある程度の柔軟性はあるが、自由にプログラム可能とは言えず、ある種の専用計算機である、ということになる。

「世界初のコンピュータはどれか」という議論(本質は「コンピュータ」の定義次第であるが)で本機とよく比較される機械について以下に述べる。コンラート・ツーゼZuse Z3 は世界初のプログラム制御式の完全機能するコンピュータであり、ベル研究所ジョージ・スティビッツらによって1930年代後半に開発されたマシンと同様、電気機械式リレーを使用していた。アタナソフ&ベリー・コンピュータは電子式で2進数を使用していたが、プログラム可能ではなかった。ヴァネヴァー・ブッシュらが1930年代以前から開発していたアナログコンピュータは半プログラム可能であった。チャールズ・バベッジ解析機関はこれら全てに先行していたし(19世紀中盤)、デジタル式でプログラム可能だったが、部分的にしか制作されず、当時は機能しなかった(ただし、階差機関のレプリカは1991年に製作され動作した)。Colossus は、「デジタル」式で「プログラム可能」で「電子」式であるという組合せでは世界初であるが、汎用性は低かった。より高い汎用性は1946年に開発されたENIACで実現された。いずれにしろプログラム内蔵方式ではなく、同方式により実現されるような柔軟なプログラム可能性もない。

影響とその後 編集

Colossus の用途は国家機密であったため、その存在も戦後何年も極秘扱いのままだった。したがって、コンピュータ史に Colossus が出てくることも無く、フラワーズらも口を噤まなければならなかった。

Colossusに関わったわずかな人々は、大規模で信頼性のあるデジタル電子デバイスが十分実現可能なことを既に知っており、イギリスでの、そして恐らくアメリカでの初期のコンピュータに関する業績に重要な役割を演じた。しかしそれは秘密裏に行われたため、後年のコンピュータの開発に直接的な影響は殆ど及ぼさなかった。EDVACこそが当時影響を与えたコンピュータ・アーキテクチャだったと言えよう。1972年、ハーマン・ゴールドスタイン(ENIAC開発者の一人)は以下のように記している。

イギリスは、戦後すぐにコンピュータの分野で、構想と遂行能力に優れた多くのプロジェクトに着手できるほどの活力を持っていたのである。[5]

これを書いたときゴールドスタインは、 Colossus のこと、あるいは、アラン・チューリングパイロットACE)やマックス・ニューマンマンチェスター・コンピュータ)、ハリー・ハスキーBendix G-15)といった人々のプロジェクトが Colossus の影響を受けていたことを知らなかった。1970年代に Colossus の情報を発掘した計算機科学者ブライアン・ランデル英語版はゴールドスタインの記述に言及する形でこう記している。

私が考えるに、COLOSSUSプロジェクトはこの活力の重要な源であったが、ほとんど賞賛されることはなかったし、デジタルコンピュータの発明史の上でも重要だとみなされてこなかった。[6]

Colossusのハードウェアと関連文書は戦後しばらくは機密扱いでそのまま保持されていたが、ウィンストン・チャーチルが Colossus を手のひらより小さい破片に破壊するよう特別に命令した。トミー・フラワーズは青写真を暖炉で燃やした。いくつかの部品は引き抜かれ、ニューマンがマンチェスター大学王立協会計算機研究所に持ち込んだ[7]。Colossus Mark I は分解され、その部品は中央郵便本局に返却された。しかし、2台の Colossus はGCHQが1952年から1954年にチェルトナムに移転したとき Eastcoate で保管された[8]Colossus Blue と呼ばれた Colossus は 1959年に分解され、残る1つも1960年に分解された[8]。晩年、Colossus は訓練目的で使われたが、それ以前に他の目的に転用する試みがなされた[9]。I・J・グッドはNSAを説得して Colossus が彼らの計画していた特殊用途のマシンとして使えるとして、戦後最初にそれを使うプロジェクトに関与した[8]。また、Colossus はワンタイムパッドテープのランダム性を確認するために文字を種類毎に数えるという処理にも使われた[8]

その間Colossusは機密とされたままだった。これはイギリスの諜報部門がエニグマ風の暗号機を使っており、それを同盟国へ売り込んでいたためで、暗号解読機の存在が知られると、誰もその暗号機を買ってくれなくなると考えたのである。しかし1960年代になると通信のデジタル化が進み、デジタル暗号システムが一般的となり、そのような暗号機の必要性は低くなっていった。

Winterbotham が The Ultra Secret という本 (1974) で秘密を暴露すると、Colossusに関する情報が1970年代後半に開示され始めた。2000年10月、Tunny暗号(ローレンツ暗号機の生成する暗号)とその解読に関する500ページの技術リポート General Report on TunnyGCHQから国立公文書館に引き渡された。その内容はオンラインで閲覧が可能で[10]、それには共に働いた暗号解読士の Colossus への賞賛の言(ピーアン)が載っている[11]

復元 編集

 
復元されたColossusを後ろから見たところ

2003年3月、トニー・セール率いるチームが Colossus Mark II の完全動作するレプリカを組み立てた[12]。設計図と実物は破棄されたが、技術者のノートなど驚くほど大量の資料が主にアメリカ合衆国に現存していた。光学式紙テープリーダーが最大の問題だったが、元の設計者 Arnold Lynch が自身の元々の仕様を再現した。バッキンガムシャーミルトン・キーンズブレッチリー・パークにある国立コンピューティング博物館(元の Colossus 9号機が実際に置かれていた場所に開設された博物館)で組み立てられた。

2007年11月、プロジェクト完了の祝賀と博物館創設のための募金をかねて Cipher Challenge というイベントが開催された[13]。Lorenz SZ42 で暗号化した3つのメッセージをドイツの無線局 DL0HNF から発信し、復元したColossusと世界中のアマチュア無線家が解読を競うというイベントである。事前に注意深く準備し、Adaで暗号解読ソフトウェアを完成させていたアマチュア無線家 Joachim Schüth が勝利した[14][15]。Colossusチームは第二次世界大戦当時の無線機を使うことにこだわり[16]、受信状態がよくなかったため、ちゃんと受信するのに1日かかってしまった。いずれにしても、勝者は1.4GHzのパソコンを使っており、12個の歯車の設定を特定するのに1分もかからなかった。その勝者は「私のラップトップは毎秒120万文字を処理でき、Colossusの240倍の性能だった。CPUのクロック周波数を単純にその割合で算定すれば、Colossusのクロックは5.8MHzになる。これは1944年に作られたコンピュータとしては驚異的だ」と述べている[17]

Cipher Challenge により、復元プロジェクトの成功が確認された。トニー・セールは「今回の性能を見ると、60年前とほぼ同等といえる。この素晴らしいマシンが暗号を解読することで戦争を何カ月も短縮した。それを生み出したブレッチリー・パークで働いていた人々にふさわしい賛辞を引き起こしたことを嬉しく思う」とコメントした[18]

脚注 編集

  1. ^ Bletchley's code-cracking Colossus
  2. ^ The Colossus Rebuild
  3. ^ a b Copeland 2006, p. 75
  4. ^ A Brief History of Computing. Jack Copeland, June 2000
  5. ^ Goldstine, Herman H. (1980-10-01). The Computer from Pascal to von Neumann. Princeton, NJ: Princeton University Press. p. 321. ISBN 0-691-02367-0. http://pup.princeton.edu/titles/597.html 
  6. ^ Randell 1980, p. 87
  7. ^ A Brief History of Computing”. alanturing.net. 2010年1月26日閲覧。
  8. ^ a b c d Copeland 2006, pp. 173–175
  9. ^ Horwood 1973
  10. ^ Jack Good; Donald Michie, and Geoffrey Timms (1945年). “General Report on Tunny”. 2012年4月7日閲覧。
  11. ^ General Report on Tunny”. AlanTuring.net. 2012年4月7日閲覧。
  12. ^ The Colossus Rebuild Project - by Tony Sale”. 2011年10月30日閲覧。
  13. ^ Cipher Challenge”. 2008年8月1日時点のオリジナルよりアーカイブ。2012年2月1日閲覧。
  14. ^ SZ42 Codebreaking Software”. 2012年4月7日閲覧。
  15. ^ Cracking the Lorenz Code (interview with Schüth)”. 2012年4月7日閲覧。
  16. ^ Ward, Mark (2007年11月16日). “Colossus loses code-cracking race”. BBC News. http://news.bbc.co.uk/1/hi/technology/7098005.stm 2010年1月2日閲覧。 
  17. ^ German Codebreaker receives Bletchley Park Honours”. 2012年4月7日閲覧。
  18. ^ Colossus cracks German code 60 years on - but it's not the first!”. 2012年4月7日閲覧。

参考文献 編集

  • W. W. Chandler, The Installation and Maintenance of Colossus (IEEE Annals of the History of Computing, Vol. 5 (No. 3), 1983, pp. 260–262)
  • Allen W. M. Coombs, The Making of Colossus (Annals of the History of Computing, Vol. 5 (No. 3), 1983, pp. 253–259)
  • Jack Copeland, Colossus: Its Origins and Originators (IEEE Annals of the History of Computing, 26(4), October–December 2004, pp. 38–45).
  • Jack Copeland, Colossus and the Dawning of the Computer Age, in Action This Day, 2001, ISBN 0-593-04982-9.
  • Copeland, B. Jack (2006), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford: Oxford University Press, ISBN 978-0-19-284055-4, http://www.colossus-computer.com/contents.htm 
  • I. J. Good, Early Work on Computers at Bletchley (IEEE Annals of the History of Computing, Vol. 1 (No. 1), 1979, pp. 38–48)
  • I. J. Good, Pioneering Work on Computers at Bletchley (in Nicholas Metropolis, J. Howlett, Gian-Carlo Rota, (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980)
  • T. H. Flowers, The Design of Colossus (Annals of the History of Computing, Vol. 5 (No. 3), 1983, pp. 239–252)
  • Horwood, D.C. (1973), A technical description of COLOSSUS I 
  • Brian Randell, Colossus: Godfather of the Computer, 1977 (reprinted in The Origins of Digital Computers: Selected Papers, Springer-Verlag, New York, 1982)
  • Randell, Brian (1980), “The Colossus”, in Metropolis, N., A History of Computing in the Twentieth Century, New York: Academic Press, pp. 47-92, http://www.cs.ncl.ac.uk/publications/books/papers/133.pdf 
  • Albert W. Small, The Special Fish Report (December, 1944)
  • Harvey G. Cragon, From Fish to Colossus: How the German Lorenz Cipher was Broken at Bletchley Park (Cragon Books, Dallas, 2003; ISBN 0-9743045-0-6) – Tunnyによる暗号解読についての詳細と Colossus についてのいくつかの詳細 (細かな間違いがある)
  • Ted Enever, Britain's Best Kept Secret: Ultra's Base at Bletchley Park (Sutton Publishing, Gloucestershire, 1999; ISBN 0-7509-2355-5) – ブレッチリーパークの歴史と観光案内
  • Tony Sale, The Colossus Computer 1943–1996: How It Helped to Break the German Lorenz Cipher in WWII (M.&M. Baldwin, Kidderminster, 2004; ISBN 0-947712-36-4) – 薄い (20ページ) 小冊子。下記の筆者によるサイトと同じ内容を含む
  • Michael Smith, Station X, 1998. ISBN 0-330-41929-3.
  • Gannon, Paul (2007), Colossus: Bletchley Park's Greatest Secret, Atlantic Books, ISBN 978-1-84354-331-2 
  • R. Rojas, U. Hashagen (eds.): The First Computers: History and Architectures. MIT Press 2000. ISBN 0-262-18197-5. – 初期のコンピュータの比較。Colossusとその復元についての章がある。

関連項目 編集

外部リンク 編集