С каким юмором нам рассказывали на СД–7А про шифрованные телеграммы, отправляемые в некоторые ближневосточные страны. Почти каждая из них начиналась с перечисления многочисленных и всем известных регалий адресата, по которым вычислялось такое количество гаммы, которое иногда позволяло вскрывать шифр и читать телеграмму быстрее, чем она доходила до адресата. Конечно же, это свидетельствовало также о слабости их шифров, нормальный стойкий шифр должен обеспечивать безопасность даже в таких случаях, но в криптографии есть правила хорошего тона, одно из которых справедливо гласит: не предавай огласке сведения из шифртелеграмм, не давай возможности противнику вычислить кусок гаммы наложения, это облегчает ему задачу вскрытия долговременных ключей шифрсистемы.
– Вот шифртелеграмма, которую я получил накануне!
Это уже 1989 год, съезд народных депутатов. Генерал, стоя на трибуне, показывает прямо в телекамеру содержание шифртелеграммы, тот самый открытый текст, по которому легко вычисляется гамма наложения. И не в какой-нибудь ближневосточной стране, а в СССР. Мораль отсюда следует простая: советский военный шифр должен быть еще и стойким к проявлениям военного идиотизма.
На лекциях по основам криптографии нас последовательно подводили к мысли, что только строгий математический подход, основанный на результатах Шеннона, способен обеспечить гарантированную стойкость шифра. Всякие простые или чуть усложненные замены, коды, не обеспечивающие равновероятности шифртекста, перестановки знаков открытого текста без последующей перешифровки – это все ненадежно, нестойко, рассчитано на слабого противника. Хочешь быть спокойным за свои шифры – используй в них только то, что дает надежную гарантию стойкости при любом уровне подготовки криптоаналитиков-оппонентов. А уровень подготовки криптографов в США, по определению, не ниже, а даже может быть и выше, чем в СССР. Американцы давно следят за нашими линиями связи, знают общий характер переписки, умеют выделять служебные символы, используют протяжку вероятного слова, знают статистику языка и может быть еще многое другое. Хочешь иметь стойкий шифр — доверяй только строгим математическим оценкам!
Дисковые шифраторы – вот, пожалуй, первая попытка построить удобные шифры гарантированной стойкости. Для них можно выписать уравнения шифрования и более-менее точно подсчитать количество различных вариантов параметров, которые нужно будет опробовать для вскрытия ключа к такому шифру.
Дисковые шифраторы были изобретены очень давно, еще до второй мировой войны. Они предназначены для шифрования телеграфных сообщений, состоящих из обычных букв латинского алфавита. Идея их построения очень простая. Каждой из 26 латинских букв ставится в соответствие один контакт на входе. При нажатии на клавишу, соответствующую этой букве, на данный контакт поступает электрический импульс, который начинает свое движение по цепочке дисков. Каждый диск представляет из себя колесо, на котором есть входные и выходные контакты, связанные между собой проводами-перепайками так, что одному контакту на входе соответствует строго один контакт на выходе. В математике такую конструкцию принято еще называть подстановкой. В результате после прохождения всей цепочки дисков на выходе появляется электрический импульс только на одном контакте. Буква, соответствующая этому контакту, является буквой шифртекста.
Диски в процессе шифрования вращаются друг относительно друга и тем самым обеспечивается отсутствие простой замены: одна и та же буква, зашифрованная в разные моменты времени, с большой вероятностью даст различные буквы в шифртексте.
Историю возникновения дисковых шифраторов, а также их подробное описание и характеристики нам рассказывали на СД–7Б. Сейчас все это можно прочитать в упоминавшейся уже ранее книге Дэвида Кана «Взломщики кодов». Здесь же мне хотелось бы упомянуть об одном весьма интересном эпизоде из лекций по СД–7Б, который я потом неоднократно вспоминал в своей дальнейшей работе.