Размышления о думающих машинах. Тьюринг. Компьютерное исчисление - Коллектив авторов. Страница 10

Размышления о думающих машинах. Тьюринг. Компьютерное исчисление - _17.jpg

Стратегия Action in the North Atlantic, классическая игра-симулятор.

После окончания Первой мировой войны, 23 февраля 1918 года, немецкий инженер Артур Шербиус (1878-1929) запатентовал «Энигму», машину для шифрования сообщений. Фирма «Шербиус & Риттер», основанная изобретателем и его партнером, сразу же начала торговать устройством, однако позже права на его использование были проданы немецкому предприятию Chiffriermaschinen Aktien-Gesellschaft. В начале 1920-х годов «Энигма» была представлена публике в двух городах Европы, с тех пор начались продажи целого ряда моделей для гражданского использования. В своем названии они имели одну из букв: А, В, С, D. Изначально машина создавалась для шифрования информации о сделках, но пик ее использования пришелся на период войны. В Испании продавалась модель D, применявшаяся во время Гражданской войны. Самым важным клиентом производителей стала Германия. Для нее была разработана модель G; модель Funkschlussel, или М, стала использоваться на флоте, модель «Вермахт», или I, — в армии. Последняя разработка стала самой популярной, поэтому мы остановимся на пояснении принципа ее функционирования. В 1942 году свою модель стал использовать и немецкий подводный флот. Любопытно, что 40 % всех машин «Энигма» было изготовлено в годы Второй мировой войны. Для немцев эта машина стала жизненно необходимой, и Гитлер отдал приказ о включении ее в программу вооружения Третьего рейха.

ДЬЯВОЛЬСКАЯ МАШИНА. КАК РАБОТАЛА «ЭНИГМА»

Хотя с виду машина очень напоминала пишущую, внутри нее скрывался беспрецедентно сложный механизм. В основе его действия лежала комбинация механических и электрических компонентов. Механическая часть включала клавиатуру и систему дисков, или барабанов, называемых роторами. Контакты роторов соответствовали 26 буквам алфавита, от А до Z. Когда оператор нажимал на клавишу, начиналось вращение одного из роторов, затем следующего, потом, одного за другим, соседних — шаг за шагом справа налево. Такой ритм поворотов обепечивался за счет выемок в роторах и позволял, например, шифровать букву А даже в одном и том же тексте разными символами. Ротор был изготовлен так, что на каждой из двух сторон его диска располагались контакты, которые при соприкосновении с соседним ротором замыкали электрическую цепь.

Внутри каждого ротора находилось 26 проводов, соединявших все контакты на одной из его сторон с контактами на другой стороне. Если добавить к этому, что в каждом роторе было собственное переплетение проводов, соединявших контакты, получится поистине дьявольская машина. Обычно на «Энигме» было три или четыре ротора, которые при нажатии клавиши задействовали электрическую цепь, каждый раз разную. А поскольку роторы в каждый момент использовали разные электрические цепи, одной и той же букве всегда соответствовал новый символ.

Управление «Энигмой» требовало выполнения следующих операций. В первую очередь, перед шифрованием или дешифровкой сообщения оператор должен был перевести все роторы справа налево в определенное положение. Далее роторы вращались до достижения начального положения, обозначенного одной из 26 букв алфавита — это была единственная буква, видимая через специальное отверстие. Начальный порядок и положение роторов задавали код для шифрования и дешифровки сообщений. К этим двум характеристикам добавилась и третья — возможность изменить сеть проводов, соединяющих контакты между двумя сторонами ротора.

Оригинальная модель «Энигмы» была серьезно усовершенствована за годы войны. Например, если войсковая модель «Вермахт» и модель ВВС Германии включали пять роторов, то модель для флота была оснащена уже восемью роторами. Более того, после последнего ротора добавлялся элемент, названный рефлектором, для шифрования в обратном порядке. То есть результат последнего ротора вновь менялся путем возвращения роторов от последнего слева к первому справа. В этой машине процесс шифрования совпадал с процессом дешифровки, и ни одна буква не могла быть зашифрована самой собой.

Размышления о думающих машинах. Тьюринг. Компьютерное исчисление - _18.jpg

Немецкие солдаты во время Второй мировой войны передают сообщения с помощью «Энигмы·.

Размышления о думающих машинах. Тьюринг. Компьютерное исчисление - _19.jpg

Алан Тьюринг, фотография сделана в 1951 году.

Размышления о думающих машинах. Тьюринг. Компьютерное исчисление - _20.jpg

Разные модели «Энигмы·.

Очевидно, что эти особенности успешно использовали британские криптографы в Блетчли-парке, где был построен большой комплекс для дешифровки перехваченных немецких радиосообщений. Кроме рефлектора, расположенного слева от роторов, справа от них находилось колесико входа, или стартер, соединявший клавиатуру, с помощью которой вводилось сообщение, с лампами, подсвечивавшими соответствующие буквы в исходящем зашифрованном сообщении. На фронтальной части «Энигмы» имелась коммутационная панель, позволявшая превращать одну букву в другую, помимо шифрования с помощью роторов. Если учесть все устройства, участвовавшие в трансформации одной буквы (коммутационная панель, роторы и рефлектор), количество возможных конфигураций определялось количеством перестановок разных устройств и достигало невероятной цифры 10114. Это впечатляет, принимая во внимание, что человеческий мозг содержит 1011 нейронов, а количество атомов во Вселенной оценивается как 1080. Обладая такой чудовищной машиной, Германия чувствовала себя уверенно, и передача радиосообщений с военными приказами представлялась ей полностью безопасной. Однако обстоятельства сложились не в пользу неприступной «Энигмы», так как на захваченных немецких субмаринах были обнаружены несколько шифровальных машин и книг с кодами.

«БОМБЫ» ПРОТИВ «ЭНИГМЫ»

Польша, довольно сильно пострадавшая от нацистов, получила «Энигму» невероятным способом: машина была отправлена в Варшаву по почте из Германии. Благодаря этому группа математиков из кабинета криптографии бюро шифров (BS 4) Генштаба Польши под руководством Мариана Режевского (1905- 1980) смогла расшифровать сообщения, кодированные с помощью «Энигмы», а саму машину затем вернули отправителю. Поляки, а позже и представители других стран-союзниц обнаружили одну особенность шифровок: немцы в сообщениях в закодированном виде передавали начальное положение роторов, то есть указывали одну из 26 букв, которую можно было увидеть в специальном окошке. Например, если начальным положением ротора была буква В, в сообщении эта информация отображалась как ВВ. С 1932 года Режевский и его команда успешно расшифровывали перехваченные немецкие сообщения.

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

Но этот метод работал недолго. В 1938 году немцы добавили к машине еще три ротора, так что их общее количество достигло шести. Теперь полякам для успешной дешифровки сообщений требовалось около 60 «бомб». Экономических ресурсов для дальнейшей работы не хватало, и Польша приняла решение передать в 1939 году накопленные данные британской и французской разведкам. Британцы приняли вызов и создали GC&CCS (Правительственную школу кодирования и шифрования), расположенную в Блетчли-парке, рядом с Милтон- Кинс, городке вблизи Лондона. Группа польских криптографов отправилась во Францию, где они работали совместно с секретной французской службой до конца 1942 года, занимаясь дешифровкой немецких сообщений и переправляя данные в Блетчли-парк. После того как немцы захватили юг Франции, польские криптографы и сами через Испанию отправились в Соединенное Королевство. Польские историки считают, что британцы не оценили должным образом талант польских математиков.