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

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

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

Причины создания

править

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

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

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

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

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

Создание

править
 
Схемы «Колосса» были построены на электронных лампах

На момент начала проектирования в архиве команды Макса Ньюмана уже имелась автоматизированная оптомеханическая машина Heath Robinson, которая позволяла частично вычислять ключ шифрования «Лоренца», однако из-за ряда недостатков полноценно использовать имеющиеся наработки было невозможно. Одной из серьёзных проблем Heath Robinson была сложность синхронизации двух перфолент входных данных, из-за которой машина часто давала сбои в процессе работы и имела низкую скорость считывания (до 1000 знаков в секунду).

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

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

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

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

Работа машины

править
Генерация данных

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

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

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

Вывод данных

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

Забвение

править

После окончания Второй мировой войны необходимость в компьютерах класса «Колосс» отпала из-за их узкоспециализированной направленности. Высокий уровень секретности не позволял занести «Колоссы» в открытые источники по истории вычислительной техники вплоть до официального рассекречивания в октябре 2000 года. Тем не менее, информация об их существовании начала просачиваться в СМИ ещё в 1970-е годы.

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

Возрождение

править

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

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

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

Примечания

править
Комментарии
  1. Перехваченное сообщение передавалось из Афин в Берлин. Немецкие спецслужбы серьёзно недооценивали возможности британского радиоперехвата: успехи в дальнем радиоприеме позволяли англичанам записывать даже переговоры на восточном фронте.
Источники
  1. 1 2 3 4 5 Tony Sale[англ.] «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[англ.]. 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 года.

Ссылки

править