Рис. 2. Шифратор «Ангстрем – 3»
В этой идее самое привлекательное – простота ее реализации. В НИИ Автоматики, по-видимому, поддерживали связи с заводом «Ангстрем» в Зеленограде, который в то время являлся ведущим предприятием по выпуску советской электроники. В.В.Седов и Б.В.Березин заканчивали 4 факультет, знали о НИР «Проба» и пытались перейти от чисто абстрактных математических результатов к конкретным шифраторам. Изображенный выше неавтономный регулярный регистр сдвига над Z/256 получил название шифратор «Ангстрем – 3». Слово «Ангстрем», по-видимому, предполагало, что он будет реализован на элементной базе завода Ангстрем, а цифра 3 – что это была не первая такая попытка.
Я подробно описывал в КиС, как мне удалось взломать «Ангстрем – 3» при T = 16 и как к этому отнеслись мои новые начальники. «Ангстрем – 3» взламывался на спор, я этот спор выиграл и получил за это прибавку к жалованию. Дальше, естественно, встал вопрос: а как можно модифицировать «Ангстрем – 3» так, чтобы сделать его стойким и сохранить простоту реализации?
Первая и самая необходимая модернизация – переставить подстановку.
Рис. 3. Шифратор «Ангстрем – 3 М»
Почему использование подстановки π до, а не после операции сложения с функцией обратной связи более целесообразно? Давайте немного окунемся в математику и в проведенный в 5 отделе СУ 8 ГУ КГБ СССР «анализ идеи» шифратора «Ангстрем – 3». Я неспроста употребил здесь такой странный термин, как «анализ идеи». Сам шифратор может строиться по-разному, это может быть блочный шифр (простая замена большой степени), а может быть шифр гаммирования. Но анализ в любом случае проводится в следующих предположениях.
Ключом является входное слово (последовательность байт) x1,x2,…,xT, записанное в правом регистре;
Цикл работы состоит из T тактов, за каждый такт состояние левого регистра сдвигается на одну ячейку влево и в крайнюю правую ячейку добавляется функция обратной связи, зависящая от состояния и очередного байта ключа;
Подстановка π – известна;
Известны несколько начальных и соответствующих им конечных состояний левого регистра.
При таких предположениях ставится задача: определить неизвестный ключ, т.е. входное слово x1,x2,…,xT.
Обозначим состояния левого регистра.
– y1,y2,…,y8 начальное состояние;
– y9,y10,…,yT промежуточное состояние;
– yT+1,yT+2,…,yT+8 конечное состояние.
При T ≤ 8 промежуточное состояние отсутствует.
Для шифратора «Ангстрем – 3» при любом i ϵ {1,2,…,T} будет справедливо следующее соотношение:
y8+i = π(yi + y1+i + y7+i + xi) =>
π-1(y8+i) = yi + y1+i + y7+i + xi =>
π-1(y8+i) = ππ-1(yi) + ππ-1(y1+i) + ππ-1(y7+i)+ xi.
Заменив в этих соотношениях π-1(yi) на zi при всех i от 1 до T+8, получаем систему уравнений, в которую ключевые параметры xi входят линейно. Для криптографа это – катастрофа, как конкретно взламывается «Ангстрем -3» при T = 16 можно прочитать в КиС.
Если подстановку π переставить и использовать до, а не после операции сложения с функцией обратной связи, то такого линейного вхождения знаков ключа уже не будет.
Изучению шифраторов типа «Ангстрем – 3» в начале 80-х годов в 5 отделе СУ 8 ГУ КГБ СССР была посвящена НИР «Мотив». Закончилась она созданием заявки на изобретение.
Рис.4. Авторское свидетельство на шифратор «Ангстрем – 3».
17 мгновений весны
Сцена из культового советского сериала «17 мгновений весны».
«Мюллер только что получил сообщение из центра дешифровки о событиях на конспиративной явке гестапо в Берне. Сравнивая эти два шифра, он сейчас сделал неожиданное, но чрезвычайно существенное открытие. От предчувствия удачи у него даже заболела голова. Шифр русской радистки совпадал с шифром связника из Берна.»
Смех душит меня от этой умилительной сцены. Генерал Мюллер не спит, а занимается тем, что должен был для него сделать молоденький лейтенант – первичным криптоанализом шифртекста.
А теперь взглянем на «шифр русской радистки» и сравним его с «шифром связника из Берна».
Точнее – посмотрим на все то, что в сериале выдается за шифры.
Рис. 5. Шифровка 1. Подлинник шифровки русской радистки.
Рис. 6. Шифровка 2.
Рис. 7. Шифровка 3.
Я не знаю, смотрел ли до меня кто-нибудь внимательно на эти «шифровки».
Не две, а три, все разные.
Все почему-то содержат ровно 15 групп из 5 цифр.
Все начинаются с одной и той же группы 51123, что заметил Мюллер.
В шифровках 2 и 3 первые группы второй строки очень похожи: 62345 и 63452. Этого Мюллер не заметил, а если бы первичный криптоанализ проводил не генерал, а молодой лейтенант, то уж он-то это сходство подметил бы.
И так далее.
Вывод можно сделать только один. В тех шифрсообщениях, которые в сериале «17 мгновений весны» преподносятся зрителю как шифровки, составленные русским агентом Штирлицем, нарушено самое фундаментальное правило криптографии: шифрсообщения не должны отличаться от набора случайных и равновероятных значений.
Если это правило нарушено, то шифровки такого агента могут выделяться при проведении первичного криптоанализа, что грозит агенту провалом.
Неужели Штирлиц, проработавший в разведке много лет, не понимал, что если все его шифровки начинаются с 51123, то это для него смертельно опасно? Просил ли он Центр сменить такой никудышный шифр?
Можно придумать множество способов шифрования, точнее даже не шифрования, а кодирования секретных сообщений. При кодировании, наряду с сокрытием содержимого сообщения, можно сокращать его длину, ставя в соответствие каким-то длинным и часто используемым фразам короткие кодовые значения. Но после кодирования необходимо перешифровать закодированный текст с помощью случайной и равновероятной гаммы наложения.
Забегая вперед и чтобы заинтриговать читателя могу сказать, что именно необходимость перешифровки закодированного текста спасла в 1992 году Россию от потока фальшивых чеченских авизо.
Просил ли Штирлиц Центр сменить свой квази-шифр на что-то более стойкое, я не знаю. Но современные Штирлицы просили и просили очень настойчиво. Люди, работавшие на Первое Главное управление КГБ СССР в капиталистических странах, в середине 80-х годов уже стали привыкать к западному научно-техническому прогрессу, к первым персональным компьютерам и даже к портативным персональным компьютерам, помещавшимся в портфель. И они никак не могли понять: почему в условиях такого стремительного прогресса они должны использовать такие допотопные шифры 30-летней давности? Неужели в СССР не могут сделать шифр для портативного компьютера?