Colossus (компьютер)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Colossus (с англ. — «Колосс») — секретный британский компьютер, спроектированный и построенный в 1943 году для расшифровки перехваченных немецких радиосообщений, зашифрованных с помощью системы Lorenz SZ. Компьютер состоял из 1500 электронных ламп (2500 в Colossus Mark II), что делало Colossus самым большим компьютером того времени (ближайший конкурент[какой?] имел всего 150 ламп). Создание и введение в строй в 1944 году позволило сократить время расшифровки перехваченных сообщений с нескольких недель до нескольких часов. Модернизация Colossus Mark II считается первым программируемым компьютером в истории ЭВМ[1].

К концу войны использовалось 10 «Колоссов»[2][3].

Причины создания[править | править код]

В 1940 британская служба радиоперехвата стала замечать радиосообщения необычного вида. Вместо обычного для радиообмена кода Морзе эти сообщения имели код Бодо, применявшийся в телетайпах. Перехваченную радиограмму немедленно передали в Правительственную школу кодов и шифров для детального анализа. Как выяснилось, новые сообщения отличались не только кодировкой, но и методом шифрования: он был значительно сложнее шифра «Энигмы», уже достаточно изученного британской разведкой. Новый шифр получил условное название «Танни» (tunny с англ. — «тунец»). Британские аналитики называли закодированный немецкий телетайпный трафик «Фиш» (fish с англ. — «рыба»), а его разновидности — названиями различных видов рыб[4][Прим. 1]. Для изучения нового шифра в Блетчли-парк создали отдельное подразделение, но, несмотря на это, анализ продвигался медленно.

В августе 1941 года один из немецких шифровальщиков совершил ошибку, передав один за другим два незначительно различающихся радиосообщения, зашифрованных с помощью одного и того же ключа. Обе радиограммы удалось перехватить[Прим. 2]. Это позволило англичанам не только расшифровать текст сообщения, но и получить довольно длинный отрывок шифрующей последовательности. Стало ясно, что новое немецкое устройство построено на обычном принципе шифрующих колес, но количество колес необычно велико: в отличие от «Энигмы», «Танни» имел не пять, а 12 колес[4].

Полученная информация позволила расшифровать некоторые сообщения «Танни» вручную, однако это требовало слишком много времени. Прорыв в работе произошел благодаря усилиям Уильяма Татта, молодого математика из Блетчли-парка. Татт предложил использовать для анализа методы статистики и построил статистическую модель «Танни». В результате ему удалось выяснить, что ключ шифра состоит из двух частей. Первой частью являлось правило, по которому устанавливались маленькие механические наконечники по ободу каждого колеса. Вторую часть ключа, названую колесовым шаблоном, вводил сам оператор для передачи нескольких сообщений (что также являлось ошибкой немецких шифровальщиков). Всего насчитывался 501 шаблон, длины которых различались и были взаимно просты.

Статистический анализ по методу Татта требовал большого объёма вычислений, для выполнения которых совместно с инженерами из Dollis Hill  (англ.) была построена специальная машина, получившая название Heath Robinson (по имени английского художника Уильяма Хита Робинсона, который получил известность, иллюстрируя книги Нормана Хантера о профессоре Брейнстоме — эксцентричном и забывчивом изобретателе бессмысленно сложных механизмов для до смешного простых действий). Машина имела скоростной ввод с перфолент и электронные логические схемы. Её назначением было вычисление положения дисков «Лоренца». Машина позволила расшифровывать сообщения «Танни», но работала недостаточно быстро и, кроме того, была недостаточно надежной.

Для ускорения расшифровки сообщений Томми Флауэрс совместно с отделением Макса Ньюмана в 1943 году спроектировали принципиально новую дешифровальную машину, которая получила название Colossus, и уже в начале 1944 года сравнительно быстрая автоматизированная расшифровка сообщений велась полным ходом[1].

Создание[править | править код]

На основе схем с электронными лампами был построен Colossus

На момент начала проектирования Colossus’а в архиве команды Макса Ньюмана уже имелась автоматизированная оптомеханическая система Heath Robinson[en], которая позволяла частично вычислять ключ шифрования системы Lorenz SZ. Однако использовать имеющиеся наработки полноценно оказалось невозможным из-за ряда недостатков. Одна из серьёзных проблем Heath Robinson — сложность синхронизации двух перфолент входных данных, из-за которой машина часто давала сбои в процессе работы и имела низкую скорость считывания (до 1000 знаков в секунду).

Томми Флауэрс начал проектировать Colossus с «чистого листа». Несмотря на распространенное среди его коллег негативное отношение к электронным лампам, он решил перенести весь процесс моделирования работы шифра на ламповые схемы. Подверглись значительным изменениям по сравнению с Heath Robinson элементарные ламповые комбинации, такие как сложение по модулю 2, запоминающие регистры и пр.

Благодаря этому количество входных лент сократилось до одной, проблема синхронизации исчезла, а скорость считывания повысилась до 5000 знаков в секунду. К тому же, по сравнению с Heath Robinson, новая машина работала намного стабильнее. Полученная схема состояла из 1500 электронных ламп и позволяла расшифровывать сообщения за 2-3 часа.

Вскоре к команде Ньюмана и Флауэрса присоединился Алан Тьюринг[en]* (позже возглавивший проект после ухода Флауэрса), и уже летом 1944 года была представлена новая версия Colossus Mark II, состоящая уже из 2500 электронных ламп, и работающая в 5 раз быстрее своего предшественника. Отличительной особенностью Mark II являлась возможность программирования. Фактически Сolossus Mark II является первой машиной подобного класса, прообразом современных программируемых устройств[1][4][5].

Первым расшифрованным с помощью «Колосса» сообщением было известие о том, что Гитлер «проглотил» дезинформацию о несуществующей армии на юге Англии и поверил, что высадка союзников будет проходить не в Нормандии, а в Па-де-Кале[1]. Включённые однажды, компьютеры «Колосс» ни разу не выключались до окончания Второй мировой войны из-за особенностей работы электронных ламп[4]. Не выключались компьютеры потому, что на тот момент лампы часто перегорали и взрывались, если отключалась техника, в которой они использовались. Если она работала без отключений, то лампы практически не выходили из строя.

Работа машины[править | править код]

Генерация данных

Каждый горизонтальный ряд на ленте сообщения представляет собой символ, зашифрованный пятью полями, каждое из которых могло быть пробито или нет. Такую ленту Colossus читал со скоростью 5000 символов в секунду. Colossus обладал очень ограниченной памятью, потому лента сообщения читалась по кругу, чтобы обеспечить непрерывный цифровой поток данных. Даже сообщение длиной порядка 25 000 символов (около 4000 слов), которое могло занять 10 страниц печатного текста, Colossus читал за пять секунд. Каждую минуту такое сообщение было прочитано около 12 раз. Цифровой поток данных с ленты был разделен на пять отдельных каналов для параллельной обработки, что существенно ускорило скорость работы машины. Параллельно с этим Colossus генерировал пятиэлементный поток данных, используя симулятор ключа для шифра Лоренца.

Анализ данных

Colossus сравнивал два канальных элемента символа из сообщения с эквивалентными элементами из потока ключа, который продвигался на одну позицию каждый раз, когда сообщение с ленты начинало читаться заново. Каждый раз, когда Colossus находил соответствие, ключ считался правильным для этой позиции, и для него начислялось одно «очко». Через четыре или пять минут очки начинали складываться электронным счётчиком и на переднюю ламповую панель выводились единицы, десятки, сотни и тысячи.

Вывод данных

Когда счёт становился достаточно большим, печатающее устройство распечатывало соответствующие позиции дисков для ключа, который дал такой счёт. Эти стартовые позиции дисков потом использовались в машине Лоренца для расшифровки сообщения. Приблизительное время, которое занимал поиск необходимых стартовых позиций дисков, составляло около часа. Предыдущие методы расшифровки подобного сообщения занимали несколько дней.

Забвение[править | править код]

После окончания Второй мировой войны необходимость в компьютерах класса Colossus отпала из-за их узкой специфичной направленности. Высокий уровень секретности не позволял занести Colossus в открытые источники по истории вычислительной техники вплоть до октября 2000 года (официальное снятие секретности). Однако информация об их существовании начала просачиваться в общественность ещё с 1970 года.

Уинстон Черчилль лично подписал указ о разрушении машин, однако некоторые компьютеры Colossus Mark II продолжали действовать для тренировочных или вспомогательных задач до конца 1950-х годов. В 1959—1960 годы разрушили оставшиеся экземпляры. В то же время были уничтожены все чертежи и схемы, использовавшиеся для построения Colossus’а[4][6].

Возрождение[править | править код]

В 1994 группа инженеров во главе с Тони Сейлом  (англ.) приступила к восстановлению рабочего экземпляра Colossus Mark II, используя немногочисленные фотографии, а также записи и рассказы участников оригинального проекта. Восстановление проходило в блоке F Блетчли-парка, в комнате, где стоял самый первый Colossus. Первое видео с работающим Colossus’ом было записано уже в 1997 году, однако полностью восстановить компьютер удалось только к 2008 году[1].

По словам Тони Сейла, восстановленный Colossus дешифрирует сообщения примерно с такой же скоростью, как ноутбук с процессором Pentium II с соответствующим программным обеспечением, несмотря на более чем полувековую разницу в поколениях. Colossus работает так быстро из-за его узкой направленности в решении только задач дешифровки определённых шифров.

Благодаря восстановлению «Колосса» в 2007 году в Блетчли-парке открылся Национальный музей компьютеров  (англ.)[7]. В том же году музей проводил состязание Cipher Challenge по дешифрованию посланного из немецкого музея Heinz Nixdorf MuseumsForum  (англ.) в Падерборне сообщения, которое было закодировано машиной Lorenz SZ42, использовавшейся германским командованием во время Второй мировой войны. Восстановленный «Колосс» декодировал сообщение за 3 часа 15 минут. Победителем Cipher Challenge стал немецкий специалист Йоахим Шют (Joachim Schueth), справившийся с задачей за 46 секунд, который заметил: «Это было нечестно, потому что я использовал современный компьютер, в то время как „Колосс“ был создан более 60 лет назад… Мой ноутбук [с процессором 1,4 ГГц] обрабатывал шифровку со скоростью 1,2 миллиона символов в секунду, то есть в 240 раз быстрее, чем „Колосс“. Масштабируя частоту процессора по этому фактору, получим эквивалентную частоту для „Колосса“: 5,8 МГц. Это потрясающая скорость для компьютера, созданного в 1944 году. Даже спустя 40 лет многие компьютеры ещё не достигли такой скорости»[8].

Примечания[править | править код]

Комментарии
  1. Немцы называли новую систему Lorenz.
  2. Перехваченное сообщение передавалось из Афин в Берлин. Немецкие спецслужбы серьёзно недооценивали возможности британского радиоперехвата: успехи в дальнем радиоприеме позволяли англичанам записывать даже переговоры на восточном фронте.
Источники
  1. 1 2 3 4 5 Tony Sale[en] «Lecture given at the IEEE 18th February 1999» Архивная копия от 16 мая 2012 на Wayback Machine
  2. Jo Twist. Return of Colossus marks D-Day (англ.). BBC News (1 июня 2004). Дата обращения: 7 февраля 2015. Архивировано 3 января 2015 года.
  3. Bletchley Park (англ.). School of Mathematical and Computer Sciences. Heriot-Watt University. Дата обращения: 7 февраля 2015. Архивировано 12 января 2014 года.
  4. 1 2 3 4 5 Киви Берд. Колосс британский: Секретный предок компьютеров. Популярная механика (30 мая 2006). Дата обращения: 18 января 2022. Архивировано 18 января 2022 года.
  5. Allen W. M. Coombs[en]. Annals of the History of Computing, Volume 5, Number 3, July 1983. «The Making of Colossus» Архивная копия от 5 августа 2012 на Wayback Machine
  6. История персональных компьютеров Архивная копия от 23 мая 2013 на Wayback Machine: Британский «Колос»
  7. The national museum of computing (англ.). Дата обращения: 5 сентября 2017. Архивировано 11 декабря 2019 года.
  8. German Codebreaker receives Bletchley Park Honours (англ.). Bletchley Park (27 января 2008). Архивировано из оригинала 1 февраля 2008 года.

Ссылки[править | править код]