Шрифт:
Интервал:
Закладка:
ENIAC мог выполнять сложные последовательности операций с циклами, ветвлениями и подпрограммами, однако, в отличие от современных компьютеров с хранимыми программами, ENIAC был набором различных арифметических устройств, программирование которых осуществлялось за счёт множества поворотных переключателей, гнёзд и сети соединительных кабелей[395]. Создание программы для решения новой задачи обычно занимало недели, из которых только ввод программы в машину мог растягиваться на несколько дней. За этим следовал период отладки, которая могла осуществляться в режиме пошагового выполнения программы[396].
Первоначальная команда программистов ENIAC состояла из шести девушек: Кей Макналти, Бетти Дженнингс, Бетти Снайдер, Марлин Уэскофф, Фрэн Билас и Рут Лихтерман. Они не только составляли и вводили программы, но и занимались поиском сбоев и были способны сузить область поисков до конкретной сгоревшей лампы[397].
Рис. 45. Девушки из команды программистов ENIAC
Хотя радиолампы перегорают не очень часто, из-за их огромного числа в конструкции ENIAC машина находилась в неработоспособном состоянии примерно половину времени. Особенно остро проблема стояла до 1948 г., пока не появились специальные высоконадёжные лампы. Инженерам удалось сократить количество отказов до более приемлемого уровня — одна лампа перегорала примерно раз в два дня. По словам Эккерта, на обнаружение проблемы уходило около 15 минут[398]. В 1954 г. самый продолжительный непрерывный период работы без сбоев составлял 116 часов — около пяти дней[399].
Хотя устройство современных компьютеров заметно отличается от устройства ENIAC и несмотря на то, что приоритет Мокли и Эккерта в деле создания первой ЭВМ был оспорен, значение этой машины для будущего вычислительной техники трудно переоценить. В отличие от машины Атанасова, ENIAC активно использовался для решения многих практических задач, и опыт его эксплуатации послужил важным фундаментом дальнейшего развития электронной вычислительной техники.
2.7.6 Взлом немецких военных шифров
История появления электронных машин не была бы полной без рассказа о Блетчли-парке — самоотверженная работа криптоаналитиков, занимавшихся раскрытием немецких шифров во время войны, была многократно воспета в искусстве и, во многом благодаря этому, обросла множеством забавных мифов. Например, собравший множество престижных наград фильм Мортена Тильдума «Игра в имитацию» показывает нам Алана Тьюринга, собственноручно создающего машину «Кристофер» (названную, разумеется, в честь Кристофера Моркома) для взлома кода шифровальной машины «Энигма» (от нем. Änigma — загадка). Я не удивлюсь, если среди зрителей этого фильма найдётся немало тех, кто решил, что речь идёт о той самой знаменитой машине Тьюринга. К сожалению, несмотря на сильную драматургию, фильм Тильдума имеет весьма слабое отношение к исторической действительности, особенно в части разработки вычислительных машин в Блетчли-парке.
История создания машин для криптоанализа немецких шифров берёт своё начало в Польше, где под руководством математика и криптографа Мариана Реевского были созданы первые механизмы, облегчающие расшифровку текстов, зашифрованных немецкой портативной шифровальной машиной «Энигма».
В 1932 г. Реевскому вместе с коллегами Генрихом Зыгальским и Ежи Ружицким удалось разгадать устройство «Энигмы», что позволило создать в 1934–1935 гг. первое из устройств для криптоанализа её кодов — циклометр. Однако 15 сентября 1938 г. немцы полностью изменили процедуру шифрования ключей сообщения, сделав циклометр бесполезным. Ответом польских криптоаналитиков стала новая машина Реевского — «Криптологическая бомба» (Bomba kryptologiczna), а также метод перфорированных листов Зыгальского[400].
Благодаря данным разведки криптоаналитики знали, что для шифрования сообщения оператор военной версии «Энигмы» должен был выбрать из кодовой книги так называемый дневной ключ, который состоял из настроек коммутационной панели (Steckerverbindungen), порядка установки роторов (Walzenlage), положений колец (Ringstellung) и начальных установок роторов (Kenngruppen). Однако оператор не должен был использовать дневной ключ для шифрования сообщений. Вместо этого он придумывал новый ключ из трёх букв (Spruchschlüssel) и в начале каждого сообщения дважды передавал его, шифруя символы при помощи дневного ключа. После этого настройки роторов менялись в соответствии с придуманным ключом и производилось шифрование самого сообщения[401].
25–26 июля 1939 г., за пять недель до начала Второй мировой войны, разработки польских учёных и копия шифровальной машины «Энигма» были переданы делегации французских и британских учёных. Встреча состоялась в Бюро шифров в Варшаве[402]. Британцы считали, что польские учёные встретились с большими трудностями дешифровки из-за увеличения числа роторов машины и именно поэтому обратились за помощью к английским коллегам, но Реевский позже отрицал это, заявив, что разработки были переданы в знак дружбы и солидарности между странами-союзниками в борьбе против нацистской Германии.
Впрочем, сам Реевский, по всей видимости, не участвовал в процессе принятия решения. Полковник Стефан Майер, который был намного выше Реевского в иерархии — он был начальником военной разведки, — писал: «Поскольку угроза войны возрастала, мы решили поделиться своими достижениями в отношении „Энигмы“ с французами и англичанами, несмотря на то что работа не была завершена, в надежде, что работа в трёх группах облегчит и ускорит окончательное решение проблемы „Энигмы“». Это звучит более реалистично[403].
Дальнейшая судьба польских криптографов напоминает вычурный шпионский роман, сюжет которого достоин отдельной книги. Мы же мысленно перенесёмся в Блетчли-парк, также известный как Station X, — особняк второй половины XIX в., расположенный около станции Блетчли в городе Милтон-Кинс в графстве Бакингемшир в центре Англии. В период Второй мировой войны в Блетчли-парке располагалось главное шифровальное подразделение Великобритании — Правительственная школа кодов и шифров (Government Code and Cypher School, GC&CS). Здесь и была спланирована операция «Ультра», нацеленная на дешифровку сообщений «Энигмы»[404].
Изучив реплику «Энигмы», Тьюринг и его коллега Гордон Уэлчман, работавшие в Блетчли-парке, заметили, что машина никогда не будет кодировать букву как саму себя. Опираясь на предположения о часто повторяющихся словах и словосочетаниях, которые немцы должны были бы использовать в сообщениях, Тьюринг разработал переборную схему, позволяющую ограничить количество рассматриваемых комбинаций роторов «Энигмы». Однако даже с учётом этого проверка всех вариантов была слишком медленной. Очевидным ответом было устройство, подобное «Бомбе» Реевского. Оригинальная «Бомба» основывалась