После изучения в НИР «Проба» математического аппарата для шифров на новой элементной базе естественно встал вопрос о построении простейшего примера такого шифра.
Здесь мне хотелось бы сказать несколько слов о том, кто тогда, на рубеже 80-х годов прошлого века, занимался в СССР криптографией и шифрами.
Специалистов-криптографов готовили только на 4 факультете ВКШ. Их отбирали и направляли на учебу 3 ведомства: КГБ, Министерство обороны и НИИ Автоматики. После окончания 4 факультета выпускники направлялись на службу в то ведомство, которое их набирало на учебу. Выпускники от КГБ и МО становились действующими офицерами, хотя военную форму в КГБ не носили, а выпускники от НИИ Автоматики – офицерами запаса, не получающими льгот и выплат, положенных действующим офицерам, хотя во время учебы на 4 факультете были военнослужащими и ходили в военной форме. В прошлом НИИ Автоматики – спецтюрьма № 16 МВД СССР, в 1948 году преобразована в спецтюрьму № 1 МГБ СССР, эта спецтюрьма известна по роману А.И.Соженицына «В круге первом».
Разработкой новых советских шифров должно было заниматься НИИ Автоматики, а Спецуправление 8 ГУ КГБ СССР – проводить их экспертизу. В реальной жизни разработка и экспертиза тесно переплетались и превращались в совместную работу криптографов, закончивших 4 факультет.
После окончания 4 факультета в 1979 году я попал на работу в 5 (Теоретический) отдел Спецуправления 8 ГУ КГБ СССР. Там тогда тоже интересовались шифрами на новой элементной базе, поддерживали тесные связи с НИИ Автоматики. В группе Валерия Владимировича Ященко, в которую я попал, вели следующий, если так можно выразиться, «анализ идеи» построения шифра на новой элементной базе с помощью неавтономного регулярного регистра сдвига над Z/256, которую принесли в 5 отдел Владимир Владимирович Седов и Борис Владимирович Березин из НИИ Автоматики.
Рис. 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 мгновений весны».
«Мюллер только что получил сообщение из центра дешифровки о событиях на конспиративной явке гестапо в Берне. Сравнивая эти два шифра, он сейчас сделал неожиданное, но чрезвычайно существенное открытие. От предчувствия удачи у него даже заболела голова. Шифр русской радистки совпадал с шифром связника из Берна.»
Смех душит меня от этой умилительной сцены. Генерал Мюллер не спит, а занимается тем, что должен был для него сделать молоденький лейтенант – первичным криптоанализом шифртекста.
А теперь взглянем на «шифр русской радистки» и сравним его с «шифром связника из Берна».
Точнее – посмотрим на все то, что в сериале выдается за шифры.
Рис. 5. Шифровка 1. Подлинник шифровки русской радистки.
Рис. 6. Шифровка 2.
Рис. 7. Шифровка 3.
Я не знаю, смотрел ли до меня кто-нибудь внимательно на эти «шифровки».
Не две, а три, все разные.
Все почему-то содержат ровно 15 групп из 5 цифр.
Все начинаются с одной и той же группы 51123, что заметил Мюллер.
В шифровках 2 и 3 первые группы второй строки очень похожи: 62345 и 63452. Этого Мюллер не заметил, а если бы первичный криптоанализ проводил не генерал, а молодой лейтенант, то уж он-то это сходство подметил бы.
И так далее.
Вывод можно сделать только один. В тех шифрсообщениях, которые в сериале «17 мгновений весны» преподносятся зрителю как шифровки, составленные русским агентом Штирлицем, нарушено самое фундаментальное правило криптографии: шифрсообщения не должны отличаться от набора случайных и равновероятных значений.
Если это правило нарушено, то шифровки такого агента могут выделяться при проведении первичного криптоанализа, что грозит агенту провалом.
Неужели Штирлиц, проработавший в разведке много лет, не понимал, что если все его шифровки начинаются с 51123, то это для него смертельно опасно? Просил ли он Центр сменить такой никудышный шифр?
Можно придумать множество способов шифрования, точнее даже не шифрования, а кодирования секретных сообщений. При кодировании, наряду с сокрытием содержимого сообщения, можно сокращать его длину, ставя в соответствие каким-то длинным и часто используемым фразам короткие кодовые значения. Но после кодирования необходимо перешифровать закодированный текст с помощью случайной и равновероятной гаммы наложения.
Забегая вперед и чтобы заинтриговать читателя могу сказать, что именно необходимость перешифровки закодированного текста спасла в 1992 году Россию от потока фальшивых чеченских авизо.
Просил ли Штирлиц Центр сменить свой квази-шифр на что-то более стойкое, я не знаю. Но современные Штирлицы просили и просили очень настойчиво. Люди, работавшие на Первое Главное управление КГБ СССР в капиталистических странах, в середине 80-х годов уже стали привыкать к западному научно-техническому прогрессу, к первым персональным компьютерам и даже к портативным персональным компьютерам, помещавшимся в портфель. И они никак не могли понять: почему в условиях такого стремительного прогресса они должны использовать такие допотопные шифры 30-летней давности? Неужели в СССР не могут сделать шифр для портативного компьютера?
1987 год. Я закончил аспирантуру 4 факультета, защитил кандидатскую диссертацию и в конечном счете попал в 4 отдел Спецуправления 8 ГУ КГБ СССР. 5 отдел, где я работал до аспирантуры, был теоретический, а 4 – практический. Можно даже сказать, что специфический, в чем именно заключалась его специфичность – оставляю эту тему для размышления читателю.
Диссертация, которую я защитил, была целиком посвящена шифрам на новой элементной базе. Идей для их построения – масса, как бы теперь реализовать что-нибудь на практике. На советской элементной базе того времени? Рута 110, за что ей спасибо, надолго отбила всякую охоту к подобным изысканиям. А на чем?
В 4 отделе я получил должность небольшого начальничка. За время учебы на 4 факультете, глядя на нашего начальника курса (см. КиС), у меня сложилось отвращение к административной работе, ко всем большим и малым начальничкам, считавшим эту работу важнее научной. А тут – сам стал начальничком. Но бонусом к должности начальничка были две неоценимые вещи: почти отдельный кабинет и чудо техники в то время – портативный персональный компьютер.
Образовалась гремучая смесь: молодому и полному идей кандидату наук дали истинно персональный, да еще и портативный компьютер и создали условия для работы, чтобы современные Штирлицы не пользовались больше всякими пещерными шифрами 30-летней давности.
Больше на эту тему говорить не буду. Перейдем к побочной продукции 4 отдела Спецуправления 8 ГУ КГБ СССР.
Побочной продукцией 4 отдела СУ 8 ГУ КГБ СССР были ручные шифры для Советской Армии. Такие огромные переговорные таблицы, тоже пещерная продукция, которой пользовались люди попроще, чем Штирлицы – солдаты Советской Армии.
В 1979 году началась война в Афганистане. Сотрудник 4 отдела СУ 8 ГУ КГБ СССР Вячеслав Шеремета побывал на ней в командировке и увидел своими глазами проблему: в боевых условиях солдаты часто игнорировали эти громоздкие переговорные таблицы и передавали по рации команды открытым текстом, что приводило к их перехвату противником и неоправданным потерям. Что-то надо было делать с этими таблицами…
Вот тут уже не обойтись без советской электроники. Точнее – западной, но освоенной заводом Ангстрем в Зеленограде.
Для точности приведу цитату из Википедии.
«В 1984 году Министерство электронной промышленности дало задание на проектирование аналога карманного персонального компьютера Casio FX-700P. Разработчики предложили использовать 16-битный процессор Н1806ВМ2, основанный на технологии КМОП аналог К1801ВМ2, процессора с системой команд популярной в СССР архитектуры PDP-11, и базовый матричный кристалл Н1515ХМ1. Несмотря на иную схемотехнику, в министерстве настояли на полном внешнем сходстве с прототипом Casio, хотя это вызвало затруднения, в частности, со схемой выключения. Переработанный для калькулятора процессор получил обозначение Т243-2, а на базовом матричном кристалле были созданы контроллер ОЗУ, ПЗУ и клавиатуры T241-2-015 и контроллер дисплея T241-2-014. Прототип на базе этих элементов серийно не выпускался, однако несколько экземпляров попали к потребителям. Для серийного образца на базе К1801ВМ2 была разработана оригинальная микросхема процессора, включившая в себя часть контролеров периферийных устройств и получившая обозначение Т36ВМ1-2, и переработанные варианты трассировки базового матричного кристалла периферийных микросхем.»
Признаюсь честно: для меня, как математика, многие термины из вышеприведенной цитаты остаются до сих пор непонятными. Взяли японский Casio FX-700P, что-то подкрутили, подвертели, подхимичили и получили советский программируемый калькулятор «Электроника МК-85».
«Электроника МК-85 – советский программируемый калькулятор (микрокомпьютер) на базе 16-битного процессора со встроенным интерпретатором языка Бейсик. Разрабатывался в НИИТТ, главный конструктор – Л. Минкин, заместитель ГК – Ю. Отрохов, разработчики – С. Ермаков, О. Семичастнов, Б. Кротков, А. Подоров, В. Гладков и др. Выпускался заводом «Ангстрем», г. Зеленоград с 1986 года по 2000 год, было произведено более 150 тыс. калькуляторов различных модификаций… МК-85 продавался в сети магазинов «Электроника» по цене 145 рублей, что на тот момент было значительно дешевле любой другой ЭВМ, оснащённой интерпретатором Бейсика…Предположительно, единственный в мире на момент появления микрокалькулятор, оснащённый 16-разрядным микропроцессором с системой команд PDP-11»
О проекте
О подписке