Кто построил машину колосс
Колосс британский: Секретный предок компьютеров
Рыбная ловля в волнах эфира
История британского «Колоссуса» началась в первые месяцы 1940 года, когда спецгруппа английской полиции, прослушивавшая радиоэфир для поиска германских шпионов на территории острова, случайно отловила шифрованную немецкую радиопередачу необычного вида. Материал радиоперехвата был отправлен криптоаналитикам службы GC&CS (Government Code and Cypher School — «Правительственная школа кодов и шифров») в Блечли-Парк, где им чрезвычайно заинтересовались, поскольку он был передан не привычным в ту пору кодом Морзе, характерным и для криптограмм «Энигмы», а телеграфным кодом Бодо. Новая криптосистема противника получила у английских криптографов условное наименование «Рыба» (FISH). Рыбными терминами — «лещ», «макрель», «селедка» — будут названы и перехватываемые линии связи.
Специально под криптосистему FISH в Блечли-Парк было создано отдельное подразделение. Первые полтора года криптоанализ продвигался чрезвычайно тяжело, но 30 августа 1941 года один из германских шифровальщиков совершил чудовищную ошибку. В ответ на просьбу повторить сообщение он еще раз передал длинную (около 4000 знаков) шифртелеграмму на том же ключе, да еще по лени слегка сократил исходный текст. В руках англичан оказались обе радиопередачи, что позволило им не только полностью дешифровать этот комплект и прочесть текст телеграммы, но и получить очень важную информацию — длинную шифрующую последовательность, генерируемую шифратором. Кроме того, было известно, что в начале каждой шифртелеграммы немцы дают специфическую последовательность из 12 знаков, поэтому предположили: криптосхема неизвестного шифратора построена на основе 12 шифрующих колес. На основе шифрколес с шестернями движения разного периода были устроены практически все известные в ту пору шифраторы, включая и немецкие. Вскрытая по комплекту шифрпоследовательность давала надежду на полное восстановление логики работы аппарата FISH.
Успех сопутствовал одному из молодых криптографов-математиков GC&CS, Биллу Туту, аккуратно расписавшему пять дорожек вскрытой шифрпоследовательности на больших разлинованных листах бумаги — в те времена все подсчеты и поиск повторений криптоаналитикам приходилось делать исключительно вручную. В одной из дорожек, то есть в череде «точек» и «крестов» (нули и единицы тогда еще не использовали), Тут сумел выявить характерные признаки двух шифрующих колес. Развив этот успех, англичане за несколько месяцев сумели взломать шифрсистему, установить общую схему устройства шифратора (см. врезку «Рыба по имени Lorenz SZ») и убедиться, что в принципе переписку такого типа можно вскрывать и читать. Правда, путем чрезвычайно трудоемких вычислений, требовавших до нескольких недель ручного труда на обработку одной телеграммы.
Для того чтобы дешифровать сообщение, аналитикам нужно было решить две главные задачи. Во-первых, «вскрыть колеса», то есть установить точное расположение рабочих и нерабочих штифтов на каждом из 12 шифрующих дисков. Конкретные комбинации штифтов устанавливались в FISH на определенный интервал дат, в течение которого не изменялись и использовались для шифрования всех сообщений, проходящих по данной линии связи. Вторая за-дача — найти начальное положение («установки») дисков, использованное для конкретной телеграммы. Каждое секретное сообщение зашифровывалось немцами при новых установках, поэтому эта задача решалась лишь после того, как были вычислены штифтовые комбинации на всех дисках.
Плюс автоматизация рыбного хозяйства
В Блечли-Парк очень хорошо понимали, что вскрывать такой шифр вручную совершенно неэффективно, ибо за недели кропотливых вычислений утрачивается оперативная ценность столь тяжело добытой информации. Поэтому для автоматизации работ было создано специальное подразделение, получившее шутливое название «Ньюменарий» в честь возглавившего его известного английского математика Макса Ньюмена. Именно здесь чуть позже и родится новаторская идея о большом электронном компьютере, однако появится он далеко не сразу.
Первым проектом по автоматизации дешифрования была оптомеханическая специализированная машина-компаратор (сравнивающее устройство) Heath Robinson, названная по имени популярного в довоенных комиксах персонажа-изобретателя странных механизмов. «Робинсон» использовали, но не слишком успешно, для решения задачи о начальных установках колес. Главная проблема была в точной синхронизации двух перфолент, одна из которых содержала германское шифрованное сообщение, а на второй были набиты циклически повторяющиеся последовательности битов, порождаемые штифтовыми комбинациями вскрытых дисков шифратора. Оптомеханический считыватель позволял обрабатывать пару перфолент с довольно высокой скоростью — свыше 1000 знаков в секунду — однако перфоленточная бумага растягивалась, приводя к сбоям синхронизации и ошибкам в вычислениях. Компьютер Colossus полностью решил эту проблему, поскольку в нем работа дисков шифратора воспроизводилась чисто электронными методами, с помощью ламповых схем. Так что на вводе в устройство осталась лишь одна перфолента с шифртекстом телеграммы, которая теперь считывалась намного быстрее, со скоростью 5000 знаков (или 12 метров) в секунду, а подсчеты при этом стали значительно надежнее.
Colossus (компьютер)
Colossus — секретный британский компьютер, спроектированный и построенный в 1943 году, для расшифровки перехваченных немецких радиосообщений, зашифрованных с помощью системы Lorenz SZ. Компьютер состоял из 1500 электронных ламп (2500 в Colossus Mark II), что делало Colossus самым большим компьютером того времени (ближайший конкурент имел всего 150 ламп). Создание и введение в строй в 1944 году позволило сократить время расшифровки перехваченных сообщений с нескольких недель до нескольких часов. Модернизация Colossus Mark II считается первым программируемым компьютером в истории ЭВМ. [1]
Содержание
Причины создания
Начало созданию компьютера Colossus положило перехваченное английской полицией в 1940 году радиосообщение необычного вида. Вместо ранее использовавшегося кода Морзе немецкие шифровальщики применили код Бодо, что говорило о создании новой шифровальной машинки (коей оказалась Lorenz SZ). Перехваченную радиограмму немедленно передали в Правительственную школу кодов и шифров для детального анализа. Для повышения продуктивности изучения нового шифра в Блетчли-парк создали отдельное подразделение, но, несмотря на это, криптоанализ протекал чрезвычайно медленно.
Значительных успехов в установлении принципа работы шифровальной машинки добился Билл Татт (англ.), молодой криптограф-математик из Блетчли-парка. Удалось выяснить, что ключ шифра состоит из двух частей. Первой частью являлось правило, по которому устанавливались маленькие механические наконечники по ободу каждого колеса. Вторую часть ключа, названую колесовым шаблоном, вводил сам оператор для передачи нескольких сообщений (что, также, являлось ошибкой немецких шифровальщиков). Всего насчитывался 501 шаблон, длины которых отличались и были взаимно просты.
Вскоре, совместно с инженерами из Dollis Hill (англ.), удалось построить шифровальную машину, действующую по логике немецкого шифра, а также выработать методику расшифровки сообщений, путем перебора всевозможных известных настроек/ключей, что занимало немало времени. Иначе говоря, англичане могли читать любое шифрованное немецкое сообщение, но с опозданием на 6-8 недель с момента радиоперехвата.
Для ускорения расшифровки сообщений Томми Флауэрс (англ.) совместно с отделением Макса Ньюмана (англ.) в 1943 году спроектировали принципиально новую дешифровальную машину, которая получила название Colossus, и уже в начале 1944 года сравнительно быстрая автоматизированная расшифровка сообщений велась полным ходом. [1]
Создание
Томми Флауэрс начал проектировать Colossus с «чистого листа». Несмотря на распространенное среди его коллег негативное отношение к электронным лампам, он решил перенести весь процесс моделирования работы шифра на ламповые схемы. Подверглись значительным изменениям, по сравнению с Heath Robinson, элементарные ламповые комбинации, такие как сложение по модулю 2, запоминающие регистры и пр.
Благодаря этому, количество входных лент сократилось до одной, проблема синхронизации исчезла, а скорость считывания повысилась до 5000 знаков в секунду. К тому же, по сравнению с Heath Robinson, новая машина работала намного стабильнее. Полученная схема состояла из 1500 электронных ламп и позволяла расшифровывать сообщения за 2-3 часа.
Вскоре, к команде Ньюмана и Флауэрса присоединился Аллен Кумбс (англ.) (позже возглавивший проект после ухода Флауэрса), и уже летом 1944 года была представлена новая версия Colossus Mark II, состоящая уже из 2500 электронных ламп, и, работающая в 5 раз быстрее своего предшественника. Отличительной особенностью Mark II являлась возможность программирования. Фактически, Сolossus Mark II является первой машиной подобного класса, прообразом современных программируемых устройств. [1] [2] [3]
Работа машины
Генерация данных: Каждый горизонтальный ряд на ленте сообщения представляет собой символ, зашифрованный пятью полями, каждое из которых могло быть пробито или нет. Такую ленту Colossus читал со скоростью 5000 символов в секунду. Colossus обладал очень ограниченной памятью, потому лента сообщения читалась по кругу, чтобы обеспечить непрерывный цифровой поток данных. Даже сообщение длиной порядка 25000 символов (около 4000 слов), которое могло занять 10 страниц печатного текста, Colossus читал за пять секунд. Каждую минуту такое сообщение было прочитано около 12 раз. Цифровой поток данных с ленты был разделен на пять отдельных каналов для параллельной обработки, что существенно ускорило скорость работы машины. Параллельно с этим Colossus генерировал пятиэлементный поток данных, используя симулятор ключа для шифра Лоренца.
Анализ данных: Colossus сравнивал два канальных элемента символа из сообщения с эквивалентными элементами из потока ключа, который продвигался на одну позицию каждый раз, когда сообщение с ленты начинало читаться заново. Каждый раз, когда Colossus находил соответствие, ключ считался правильным для этой позиции, и для него начислялось одно «очко». Через четыре или пять минут очки начинали складываться электронным счетчиком и на переднюю ламповую панель выводились единицы, десятки, сотни и тысячи.
Вывод данных: Когда счет становился достаточно большим, печатающее устройство распечатывало соответствующие позиции дисков для ключа, который дал такой счет. Эти стартовые позиции дисков потом использовались в машине Лоренца для расшифровки сообщения. Приблизительное время, которое занимал поиск необходимых стартовых позиций дисков, составляло около часа. Предыдущие методы расшифровки подобного сообщения занимали несколько дней.
Забвение
После окончания Второй Мировой войны необходимость в компьютерах класса Colossus отпала из-за их узкой специфичной направленности. Высокий уровень секретности не позволял занести Colossus в большинство анналов истории вычислительной техники вплоть до октября 2000 года (официальное снятия секретности). Однако, информация об их существовании начала просачиваться в общественность еще с 1970 года.
Уинстон Черчилль лично подписал указ о разрушении машин, однако, некоторые компьютеры Colossus Mark II продолжали действовать для тренировочных или вспомогательных задач до конца 1950-х. В 1959-1960 гг разрушили оставшиеся экземпляры. В то же время были уничтожены все чертежи и схемы, используемые для построения Colossus. [2] [4]
Возрождение
В 1994 группа инженеров во главе с Тони Сейлом (англ.) приступила к восстановлению рабочего экземпляра Colossus Mark II, используя немногочисленные фотографии, а также записи и рассказы участников оригинального проекта. Восстановление проходило в блоке F Блетчли-парка, в комнате, где стоял самый первый Colossus. Первое видео с работающим Colossus было записано уже в 1997 году, однако, полностью восстановить компьютер удалось только к 2008 году. [1]
По словам Тони Сейла, восстановленный Colossus дешифрирует сообщения примерно с такой же скоростью, как ноутбук с процессором Pentium 2 с соответствующим ПО, несмотря на более чем полувековую разницу в поколениях. Colossus работает так быстро из-за его узкой направленности в решении только задач дешифровки определенных шифров.
Благодаря восстановлению Colossus в 2007 году открылся Национальный музей компьютеров (англ.), который также находится в Блетчли-парке. [5]
История электронных компьютеров, часть 2: Колосс
Танни
Летом 1941 года в Блетчли уже вовсю велись работы по взлому знаменитой шифровальной машины Энигма, использовавшейся немецкими армией и флотом. Если вы смотрели фильм про британских взломщиков шифров, то там рассказывали про Энигму, но мы не будем тут о ней распространяться — поскольку вскоре после вторжения в Советский союз в Блетчли обнаружили передачу сообщений с новым типом шифрования.
Криптоаналитики довольно скоро разгадали общую природу использованной для передачи сообщений машины, которую они прозвали «Танни».
В отличие от Энигмы, сообщения которой нужно было расшифровывать вручную, Танни напрямую подключалась к телетайпу. Телетайп преобразовывал каждый введённый оператором символ в поток точек и крестиков (похожий на точки и тире азбуки Морзе) в стандартном коде Бодо с пятью символами на букву. Это был незашифрованный текст. Танни одновременно использовала двенадцать колёсиков для создания собственного параллельного потока точек и крестиков: ключа. Затем она добавляла ключ к сообщению, выдавая зашифрованный текст, передаваемый по воздуху. Сложение производилось в двоичной арифметике, где точки соответствовали нулям, а крестики — единичкам:
0 + 0 = 0
0 + 1 = 1
1 + 1 = 0
Другая Танни на стороне получателя с теми же настройками выдавала тот же ключ и добавляла его к зашифрованному сообщению, чтобы выдать изначальное, которое печаталось на бумаге телетайпом получателя. Допустим, у нас есть сообщение: «точка плюс точка точка плюс». В цифрах это будет 01001. Добавим случайный ключ: 11010. 1 + 0 = 1, 1 + 1 = 0, 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, так что мы получим зашифрованный текст 10011. Вновь добавляя ключ, можно восстановить изначальное сообщение. Проверим: 1 + 1 = 0, 1 + 0 = 1, 0 + 0 = 0, 1 + 1 = 0, 0 + 1 = 1, получаем 01001.
Разбор работы Танни облегчался тем фактом, что в ранние месяцы её использования отправители передавали настройки колёс, которые надо использовать перед отправкой сообщения. Позже немцы выпустили кодовые книги с предварительно заданными настройками колёс, и отправителю нужно было только отправить код, по которому получатель мог найти нужную настройку колеса в книжке. В итоге они стали менять кодовые книги ежедневно, из-за чего Блетчли приходилось взламывать настройки кодовых колёс каждое утро.
Интересно, что криптоаналитики разгадали функцию Танни на основе расположения отправляющих и принимающих станций. Она соединяла нервные центры высшего немецкого командования с армией и командирами армейских групп на различных европейских военных фронтах, от оккупированной Франции до русских степей. Это была соблазнительная задача: взлом Танни обещал прямой доступ к намерениям и возможностям врага на высшем уровне.
Затем, благодаря сочетанию ошибок немецких операторов, хитрости и упорной решительности, молодой математик Уильям Тат продвинулся гораздо дальше простых выводов о работе Танни. Не видев саму машину, он полностью определил её внутреннюю структуру. Он логически вывел возможные позиции каждого колеса (у каждого из которых было своё простое число), и то, как именно расположение колёс генерировало ключ. Вооружившись этой информацией, в Блетчли построили копии Танни, которые можно было использовать для расшифровки сообщений — сразу после правильной настройки колёс.
12 колёс ключа машины, использующей шифр Лоренца, известной, как Танни
Хит Робинсон
К концу 1942 года Тат продолжал атаковать Танни, разработав для этого специальную стратегию. Она была основана на концепции дельты: сумма по модулю 2 одного сигнала в сообщении (точки или крестика, 0 или 1) со следующим. Он понял, что из-за прерывистого движения колёс Танни существовала связь между дельтой зашифрованного текста и дельтой текста ключа: они должны были меняться совместно. Так что если сравнить шифрованный текст с ключевым текстом, созданным на разных настройках колёс, можно вычислить дельту для каждого и подсчитать количество совпадений. Сильно превышающее 50% количество совпадений должно отметить потенциального кандидата на реальный ключ сообщения. В теории идея была хорошей, но её невозможно было воплотить на практике, поскольку это требовало сделать 2400 проходов для каждого сообщения, чтобы проверить все возможные настройки.
Тат принёс эту задачу другому математику, Максу Ньюману, руководившему отделом в Блетчли, который все называли «ньюманией». Ньюман, на первый взгляд, был маловероятной кандидатурой на руководство чувствительной британской разведывательной организацией, поскольку его отец был родом из Германии. Однако казалось маловероятным, что он будет шпионить в пользу Гитлера, поскольку его семья была еврейской. Он так сильно был обеспокоен прогрессом доминирования Гитлера в Европе, что перевёз свою семью в безопасное место, в Нью-Йорк, вскоре после коллапса Франции в 1940-м, и какое-то время сам думал о переезде в Принстон.
Макс Ньюман
Так получилось, что у Ньюмана была идея о работе над расчётами, требовавшимися методу Тата — посредством создания машины. В Блетчли уже привыкли использовать машины для криптоанализа. Именно так была взломана Энигма. Но Ньюман задумал определённое электронное устройство для работы над шифром Танни. До войны он преподавал в Кембридже (одним из его студентов был Алан Тьюринг), и знал об электронных счётчиках, построенных Уинном-Уильямсом для подсчёта частиц в Кавендише. Идея была в следующем: если синхронизировать две замкнутые в петлю плёнки, прокручивающиеся с большой скоростью, на одной из которых будет ключ, а на другой — зашифрованное сообщение, и считать каждый элемент обработчиком, который подсчитывает дельты, то электронный счётчик мог бы суммировать результаты. Прочитав итоговый счёт в конце каждого пробега можно было решать, потенциальный ли этот ключ, или нет.
Случилось так, что группа инженеров с подходящим опытом как раз существовала. Среди них был и сам Уинн-Уиьлямс. Тьюринг завербовал Уинна-Уильямса из радарной лаборатории в Мэлверне, чтобы тот помог создать новый ротор для машины, расшифровывающей Энигму, использующий электронику для подсчёта поворотов. Ему с этим и другим проектом, относившемся к Энигме, помогали три инженера из Почтовой исследовательской станции в Доллис-Хилл: Уильям Чандлер, Сидни Бродхерст и Томми Флауэрс (напомню, что Британская почта была высокотехнологичной организацией, и отвечала не только за бумажную почту, но и за телеграфию и телефонию). Оба проекта провалились и мужчины остались без дела. Ньюман собрал их. Он назначил Флауэрса ведущим команды, создававшей «комбинирующее устройство», которое должно было подсчитывать дельты и передавать результат на счётчик, над которым работал Уинн-Уильямс.
Ньюман занял инженеров постройкой машин, а Женский отдел королевского флота — управлением его машинами для обработки сообщений. Правительство доверяло высокие руководящие посты только мужчинам, а женщины хорошо справлялись, работая операционистками в Блетчли — они занимались как транскрипцией сообщений, так и декодирующими настройками. У них очень органично получилось перейти от канцелярской работы к заботе о машинах, автоматизировавших их работу. Свою подопечную машину они легкомысленно назвали «Хитом Робинсоном», британским эквивалентом Руба Голдберга [оба были иллюстраторами-карикатуристами, изображавшими чрезвычайно сложные, громоздкие и запутанные устройства, выполнявшие очень простые функции / прим. перев.].
Машина «Старый Робинсон», очень похожая на своего предшественника, машину «Хит Робинсон»
И действительно, «Хит Робинсон», в теории достаточно надёжный, на практике страдал от серьёзных проблем. Основной была необходимость идеальной синхронизации двух плёнок — шифрованного текста и текста ключа. Любое растяжение или соскальзывание любой из плёнок приводило в негодность весь проход. Чтобы минимизировать риск ошибок, машина обрабатывала не более 2000 символов в секунду, хотя ремни могли работать и быстрее. Флауэрс, нехотя соглашавшийся с работой проекта «Хит Робинсон», считал, что есть способ лучше: машина, почти полностью построенная из электронных компонентов.
Колосс
Томас Флауэрс работал инженером в исследовательском отделении британской почты с 1930, где он изначально трудился над исследованием неправильных и несостоявшихся соединений в новых автоматических телефонных станциях. Это привело его к размышлениям на тему того, как создать улучшенную версию телефонной системы, и к 1935 году он стал проповедовать замену электромеханических компонентов системы, таких, как реле, на электронные. Эта цель определила всю его дальнейшую карьеру.
Томми Флауэрс, в районе 1940
Большая часть инженеров критиковала электронные компоненты за их капризность и ненадёжность при использовании в больших масштабах, но Флауэрс показал, что если использовать их беспрерывно и на мощностях гораздо ниже расчётных, электронные лампы на самом деле демонстрируют поразительно долгое время службы. Он доказал свои идеи, заменив все терминалы, устанавливавшие тональный сигнал связи на коммутаторе, обслуживавшем 1000 линий, лампами; всего их там было 3-4 тысячи. Эта инсталляция была запущена в реальную работу в 1939-м. В тот же период он экспериментировал над заменой релейных регистров, хранящих телефонные номера, электронными реле.
Флауэрс считал, что «Хит Робинсон», для создания которого его наняли, обладал серьёзными недостатками, и что он сможет гораздо лучше решить эту задачу, используя больше ламп и меньше механических частей. В феврале 1943 года он принёс альтернативную схему машины Ньюману. Флауэрс хитроумно избавился от плёнки с ключом, устранив проблему синхронизации. Его машина должна была генерировать текст ключа на лету. Она должна была симулировать Танни электронным образом, проходя через все настройки колёс и сравнивая каждое из них с зашифрованным текстом, записывая вероятные совпадения. Он рассчитывал, что такой подход потребует использования около 1500 электронных ламп.
Ньюман и остальное руководство Блетчли скептически отнеслись к этому предложению. Как большинство современников Флауэрса, они сомневались, можно ли заставить электронику работать на таких масштабах. Кроме того, даже если её можно заставить работать, они сомневались, что такую машину можно будет построить вовремя, чтобы она пригодилась в войне.
Начальник Флауэрса в Доллис-Хилл всё же дал ему добро на сбор команды для создания этого электронного монстра — Флауэрс, возможно, не совсем искренне описал ему, насколько его идея понравилась в Блетчли (Если верить Эндрю Ходжесу, Флауэрс сказал своему боссу, Гордону Рэдли, что проект был критической для Блетчли работой, а Рэдли уже слышал от Черчилля, что работа Блетчли была абсолютно приоритетной). Кроме Флауэрса, в разработке системы большую роль сыграли Сидни Броадхерст и Уильям Чандлер, а вся затея заняла работой почти 50 человек, половину ресурсов Доллис-Хилл. Команда вдохновлялась прецедентами, использовавшимися в телефонии: счётчиками, ветвящейся логикой, оборудованием для роутинга и перевода сигналов, и аппаратурой для периодических измерений состояния оборудования. Броатхерст был мастером таких электромеханических схем, а Флауэрс и Чандлер были экспертами в электронике, понимавшими, как перенести концепции из мира реле в мир клапанов. К началу 1944 команда представила работающую модель в Блетчли. Гигантская машина получила наименование «Колосс», и быстро доказала, что может затмить «Хита Робинсона», надёжным образом обрабатывая по 5000 символов в секунду.
Ньюман и остальное руководство в Блетчли быстро поняли, что ошиблись, отказав Флауэрсу. В феврале 1944-го они заказали ещё 12 «Колоссов», которые должны были встать в строй к 1 июня — на эту дату планировалось вторжение во Францию, хотя, конечно, Флауэрсу это было неизвестно. Флауэрс прямо сказал, что это невозможно, но приложив героические усилия, его команде удалось поставить вторую машину к 31 мая, в которую новый член команды, Алан Кумбс, вносил множество усовершенствований.
Переработанная схема, известная, как Mark II, продолжила успех первой машины. Кроме системы подачи плёнки, она состояла из 2400 ламп, 12 поворотных выключателей, 800 реле и электрической пишущей машинки.
Colossus Mark II
Она была настраиваемой и достаточно гибкой для того, чтобы выполнять различные задачи. После установки каждая из женских команд настроили своего «Колосса» для решения определённых проблем. Коммутационная панель, похожая на панель для работы телефонного оператора, была нужна для настройки электронных колец, симулировавших колёса Танни. Набор переключателей позволял операторам настраивать любое количество функциональных аппаратов, обрабатывавших два потока данных: внешнюю плёнку и внутренний сигнал, генерировавшийся кольцами. Комбинируя набор из разных логических элементов, «Колосс» мог заниматься расчётами произвольных булевых функций на основе данных, то есть, таких функций, которые выдавали бы 0 или 1. Каждая единица увеличивала счётчик «Колосса». Отдельный управляющий аппарат делал ветвящиеся решения на основе состояния счётчика — например, остановиться, и распечатать вывод, если значение счётчика превысило 1000.
Панель переключателей для настройки «Колосса»
Не стоит, однако, считать, что «Колосс» был программируемым компьютером общего назначения в современном смысле. Он мог логически комбинировать два потока данных — один на плёнке, и один, сгенерированный кольцевыми счётчиками — и подсчитывать количество встреченных единичек, и всё. Большая часть «программирования» «Колосса» проходила на бумаге, и операторы выполняли дерево решений, подготовленное аналитиками: допустим, «если вывод системы меньше X, настроить конфигурацию B и выполнить Y, а иначе выполнить Z».
Блок-схема высокого уровня для «Колосса»
Тем не менее, «Колосс» был вполне в состоянии решать поставленную перед ним задачу. В отличие от компьютера Атанасова-Берри, «Колосс» был чрезвычайно быстрым — он мог обрабатывать 25000 символов в секунду, каждый из которых мог потребовать выполнения нескольких булевых операций. Mark II пятикратно увеличил скорость по сравнению с Mark I, одновременно считывая и обрабатывая пять различных участков плёнки. В нём отказались связывать всю систему с медленными электромеханическими устройствами ввода-вывода, использовав фотоэлементы (взятые с противовоздушных радиовзрывателей) для чтения входящих плёнок и реестр для буферизации вывода на пишущую машинку. Лидер команды, восстанавливавшей «Колосса» в 1990-х, показал, что в своём деле он всё ещё легко мог обогнать по производительности компьютер на базе процессора Pentium 1995 года.
Эта мощная машина для обработки текста стала центром проекта по взлому кода Танни. До конца войны было построено ещё десять Mark II, панели для которых штамповали по одной штуке в месяц работники почтовой фабрики в Бирмингеме, не имевшие понятия, что именно они производят, а затем их собирали в Блетчли. Один раздражённый чиновник из Министерства снабжения, получив очередной запрос на тысячу особых клапанов, поинтересовался, не «стреляют ли работники почты ими в немцев». Таким индустриальным способом, а не ручной сборкой индивидуального проекта, следующий компьютер будет производится не ранее 1950-х. По инструкции Флауэрса для предохранения клапанов каждый «Колосс» работал днём и ночью до самого конца войны. Они стояли, тихо светясь в темноте, разогревая влажную британскую зиму и терпеливо ожидая инструкций, пока не пришёл тот день, когда в них больше не было нужды.
Завеса молчания
С другой стороны, технологические достижения, которые представил «Колосс», были неоспоримы. Но мир ещё не скоро это узнает. Черчилль приказал, чтобы всех существовавших на момент окончания игры «Колоссов» разобрали, и отправили секрет их устройства вместе с ними на свалку. Две машины каким-то образом пережили этот смертный приговор, и оставались в строю британской разведки до 1960-х. Но и тогда британское правительство не приподняло завесу молчания по поводу работы в Блетчли. Только в 1970-х его существование стало достоянием общественности.
Решение навсегда запретить всякое обсуждение проводимых в Блетчли-парк работ можно было назвать чрезмерной осторожностью британского правительства. Но для Флауэрса это было личной трагедией. Лишённый всех заслуг и престижа изобретателя «Колосса», он страдал от неудовлетворённости и разочарования, когда его постоянные попытки заменить реле электроникой в британской телефонной системе постоянно блокировались. Если бы он мог продемонстрировать своё достижение на примере «Колосса», у него было бы влияние, необходимое для реализации его мечты. Но к тому времени, когда его достижения стали известны, Флауэрс уже давно ушёл на пенсию и не мог ни на что повлиять.
Несколько разбросанных по миру энтузиастов электронных вычислений страдали от похожих проблем, связанных с секретностью, окружавшей «Колосса», и недостатка доказательств жизнеспособности этого подхода. Электромеханические вычисления могли оставаться главными ещё какое-то время. Но существовал ещё один проект, который проложит путь к приходу на главенствующую позицию электронных вычислений. Хотя это также был результат секретных военных разработок, его не стали утаивать после войны, а наоборот, открыли миру с величайшим апломбом, под именем ENIAC.