Дэвид Кан

Взломщики кодов

Предисловие

Дешифрование является одним из наиболее важных способов добывания разведывательных данных в современном мире. Оно дает намного больше достоверной информации, чем традиционная агентурная разведка, оказывая значительное влияние на политику правительств. Тем не менее у дешифровальных спецслужб нет своего летописца.

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

Я сделал попытку написать серьезную историю криптоанализа, и в первую очередь – разъяснить обществу ту важную роль, которую дешифрование сыграло в жизни человечества. Для любознательных читателей эта книга может послужить надежным проводником в прошлое криптоанализа. А для историков она будет полезна тем, что обратит их внимание на скрытое влияние дешифрования на историю.

Начиная эту книгу, я, подобно другим, хорошо осведомленным криптологам-любителям, считал, будто знаю обо всем, что напечатано по криптоанализу. Но как же мало нам было известно! Ни мы, любители, ни даже профессионалы не имели представления о том, какое большое количество ценной информации содержится в научных журналах. Мы не обращались к дешифровальщикам с просьбой поделиться своими воспоминаниями. Мы не пытались воспользоваться огромным богатством архивов. Мы не пробовали изучать вопросы, которые в настоящее время представляются нам главными. Я думаю, что не ошибусь, если заявлю, что по сравнению с ранее опубликованными материалами в моем труде содержится от 85 до 90% совершенно нового.

И это далеко не все. Из-за необоснованной секретности недоступна большая часть документов, относящихся к недавнему прошлому. Чтобы рассказать о криптоаналитических разработках этого периода полностью, потребуется еще одна такая же книга. Даже, к примеру, в XVIII веке можно обнаружить массу неизученных рукописей.

В моей книге я старался придерживаться двух принципов. Первый – по возможности использовать первоисточники. Часто я не мог поступить иначе, так как по некоторым вопросам еще ничего не было опубликовано. Второй – при оценке роли криптоанализа, будь то на поле брани или на дипломатическом поприще, я пытался никогда не забывать об иных важных факторах, сыгравших свою роль. Если книга создает впечатление, что все события в истории зависели от тех, о ком написана эта книга, то это не история, а ее искажение. Такой подход особенно широко распространен в литературе о шпионах, но от него не застрахован и криптоанализ. Я считаю, что хотя и пытаюсь уравновесить рассказ об истории дешифрования упоминанием других факторов, тем самым я не уменьшаю интереса к книге. Просто мое повествование становится от этого достовернее и поэтому заслуживает более серьезного внимания.

У каждой профессии есть свой словарь. Словарь криптоаналитика достаточно сложен, поэтому небольшое по объему введение в общепринятую криптоаналитическую терминологию значительно облегчит понимание изложенного в этой книге. Определения в нем являются нестрогими и преследуют лишь цель пояснения того или иного термина. Исключения игнорируются, а множество редко употребляемых терминов и вовсе не определены – в процессе чтения книги их значение становится ясным из контекста.

Открытый текст – сообщение, подлежащее засекречиванию. В результате применения методов шифрования сообщение делают непонятным для посторонних, используя два основных способа преобразования открытого текста.

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

При замене знаки открытого текста замещаются другими знаками. Так, слово «секрет» может быть заменено на 19 5 3 18520.

Системы замены основаны на идее шифралфавита – перечня эквивалентов, используемых для преобразования открытого текста в шифрованный.

Иногда шифралфавит предусматривает несколько замен одного знака. Например, знак открытого текста «с» не всегда замещается числом 16, а может быть заменен одним из чисел 16, 21, 35, 74. Этот выбор называется гомофоном. Время от времени в шифралфавит включаются символы, которые ничего не означают. Такие символы зовут пустышками.

В том случае, когда используется только один шифралфавит, система замены называется одноалфавитной. Но когда применяются два или большее число шифралфавитов по какому-то заранее определенному правилу, система замены становится многоалфавитной.

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

В течение 450 лет, начиная примерно с 1400 г. и до 1850 г., в шифровальной практике доминировали системы, которые являлись наполовину кодом и наполовину шифром. В них обычно был отдельный шифралфавит, включавший гомофоны и кодоподобный перечень имен, слов и слогов. От этого перечня, первоначально состоявшего только из имен, и произошло название для таких систем – номенклатор.

Во многих шифрах используется ключ, который определяет порядок следования знаков в шифралфавите, или порядок перемешивания знаков в перестановке, или начальные установки в шифрмашинах. Когда слово, или фраза, или число служат ключом, они, естественно, называются ключевым словом, ключевой фразой или ключевым числом.

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

Окончательно обработанное и отосланное секретное сообщение называется криптограммой. Термин «шифртекст» обращает внимание на результат зашифрования, в то время как термин «криптограмма» подчеркивает сам факт передачи сообщения и является аналогом слова «телеграмма».

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

Успешный криптоанализ шифра или кода часто именуют его вскрытием или взломом.

Сообщения, посылаемые без предварительного зашифрования, называются незашифрованными или отправляемыми клером. Иногда говорят еще, что они передаются открытым текстом.

Наконец, криптология – это наука, охватывающая составление шифров (криптографию) и криптоанализ.

Первые 3000 лет

Почти четыре тысячи лет тому назад в древнеегипетском городе Менет-Хуфу на берегу Нила один опытный писец нарисовал иероглифы, рассказавшие историю жизни его господина. Сделав это, он стал родоначальником документально зафиксированной истории криптографии.