Заводской толкач был и в группе Шеремета в 4 отделе СУ 8 ГУ КГБ СССР. Он сумел договориться с начальником 8 ГУ КГБ СССР генерал-лейтенантом Н.Н.Андреевым о снятии грифа секретности с алгоритма шифрования будущего портативного шифратора, а с заводом Ангстрем – о перепрограммировании бытового калькулятора «Электроника МК-85» в портативный шифратор «Электроника МК-85 С» и его серийном выпуске. Криптографом этот толкач не был, 4 факультет ВКШ КГБ не кончал, офицером не был, к работе 4 отдела по основным направлениям его не допускали.
Налаживание серийного выпуска «Электроники МК-85 С» в конце 80-х годов – это, безусловно, заслуга толкача. Всех деталей его деятельности в этом направлении я не знаю, но создание НПМГП «Анкорт» – одна из таких деталей.
Никто не предполагал тогда, когда разрабатывалась криптографическая архитектура шифратора «Электроника МК-85 С» (примерно 88 или 89 год), чем в конечном итоге так прославится этот шифратор. С одной стороны, гриф секретности с его алгоритма был снят, а с другой – широкого опубликования этого алгоритма, как, например, в последующем были опубликованы криптографические ГОСТЫ, не было. С одной стороны, неизвестный алгоритм – это дополнительный рубеж защиты, а с другой – при неизвестном алгоритме у законного пользователя всегда может возникнуть подозрение, что в нем есть какой-то потайной ход, с помощью которого разработчик может получать доступ к обрабатываемой конфиденциальной информации.
Во всем мире сейчас преобладает мнение, что все исходные коды криптографических алгоритмов, используемых в коммерческих целях, должны быть открытыми. Любой желающий может убедиться в отсутствии в них ошибок, закладок и «троянских коней», а также попытаться самостоятельно, не доверяя разработчикам, провести их криптографический анализ. Так завоевывается доверие потребителя к такой специфической и в прошлом засекреченной продукции, как криптографические алгоритмы. Инициаторами такого подхода были американцы. Они в конце 90-х сняли секретность со своих криптографических алгоритмов и их исходные коды стали общедоступными, например, во всемирно известном пакете OpenSSL. Миллионы программистов и простых пользователей, как мошкара в сибирской тайге, набросились на OpenSSL, выловили, помимо всего прочего, практически все ошибки, глюки, баги этого пакета, повысив тем самым доверие к нему.
С алгоритмом шифратора «Электроника МК-85 С» все не так однозначно, такого широкого распространения, как OpenSSL, этот шифратор не получил. И хотя родственником был японский Casio FX-700P, чисто аппаратная надежность шифратора была явно не японская. Большие объемы информации шифровать на нем было невозможно, весь ввод ручной, клавиатура и дисплей, отображающий ввод, – миниатюрные.
Рис. 8. Электроника МК-85 С
Сейчас «Электроника МК-85 С» представляет интерес разве что для различных музеев по истории криптографии. Вряд ли в эпоху умных устройств этот калькулятор пригодится кому-нибудь по своему основному назначению – как шифратор. Но для музеев по истории криптографии остается неясным ответ на один и тот же вопрос: каким образом этот шифратор сыграл такую важную роль в истории современной России, как защита Центрального Банка РФ от фальшивых чеченских авизо? И желательно с максимумом подробностей.
Я постараюсь дать ответ на этот вопрос со многими, но не всеми, известными мне подробностями. Сначала – некоторые детали криптографической архитектуры этого шифратора.
В основе криптографического алгоритма «Электроники МК-85 С» лежал алгоритм типа «Ангстрем -3М» (см. рис 3), в котором оба регистра сдвига были над Z/100, длина левого – 10, длина правого – 50. В левом регистре в качестве точек съема использовались все ячейки регистра. Подстановка π – фиксирована. Домашнее задание № 1 для взломщиков – определить подстановку π, имея на руках образец этого шифратора. Мне было бы интересно знать, насколько эта процедура трудоемка.
Ключом шифратора являлись 50 элементов из Z/100 или, проще говоря, 100 десятичных цифр. Ключ вводился в шифратор в виде 110 цифр, последние 10 – проверочные. Домашнее задание № 2 для взломщиков: насколько трудоемка процедура извлечения ключа из шифратора и процедура определения алгоритма вычисления проверочной части ключа.
Шифратор работал циклами по 50 тактов в каждом цикле. В конце каждого цикла заполнение левого регистра – 10 элементов из Z/100, по-простому – 20 цифр, использовались в качестве гаммы наложения на открытый текст.
В шифраторе «Электроника МК-85 С» был реализован шифр гаммирования по модулю 10. Для избежания перекрытий гаммы наложения использовался биологический случайный маркант длиной 10 цифр. Перед зашифрованием пользователь должен был 10 раз нажать кнопку «МРК», по результатам нажатия вырабатывались 10 случайных цифр. Домашнее задание № 3 для взломщиков – определить алгоритм выработки марканта.
Маркант записывался в шифровку в качестве первых 10 цифр. На основе марканта и ключа строились начальные заполнения обеих регистров сдвига. Домашнее задание № 4 для взломщиков: определить алгоритм построения начальных заполнений регистров.
Ну и наконец последнее, но чрезвычайно важное замечание об этом шифраторе. В нем было два режима ввода открытого текста: буквенно-цифровой и чисто цифровой. Буквенно-цифровой был основным. Предполагалось, что солдат, не заморачивая себе голову, вводит сообщение, которое нужно зашифровать. Нажимает «EXE» и сразу же получает на экране шифртекст в виде групп десятичных цифр. Зачем был нужен чисто цифровой режим – можно только гадать. По-видимому, с помощью переговорных таблиц солдат сначала кодирует сообщение, сокращая его длину, а затем перешифровывает его с помощью шифратора. В шифратор в этом случае вводился закодированный цифровой текст.
Отчего криптографы схватились за головы
1978 год. Большой Кисельный переулок, дом 11, 4 факультет ВКШ КГБ СССР. Лекция по СД-7 Е – теории шифрующих автоматов. Лекцию читает Борис Александрович Погорелов.
– И вот тогда криптографы схватились за головы…
Читатель заинтригован? То ли еще будет, когда он узнает, как эта фраза оказалась причастна к спасению России от фальшивых чеченских авизо. Так отчего же криптографы схватились за головы? И когда это было?
Борис Александрович тогда рассказывал нам, слушателям 4 курса, про такое понятие в криптографии, как имитостойкость. Про электронную подпись в те времена еще лекции на 4 факультете не читали, а про имитостойкость – уже учили уму-разуму будущих криптографов. Почему?
Практика – критерий истины. Помню еще чего-то из философии, ведь сдавал по ней кандидатский минимум. Так вот: электронная подпись в 1978 году в СССР до практики еще не доросла, а имитостойкость уже достигла половозрелого возраста. Во Вьетнаме, в конце 60-х.
Во второй половине 60-х годов прошлого века США воевали с Вьетнамом. Вьетнам был тогда разделен на северный и южный, северный Вьетнам был другом СССР, а южный – США, которые воевали с северным. Друг северного Вьетнама – СССР – поставлял туда вооружение, в частности ракеты «земля – воздух» для защиты от американских самолетов. Этими ракетами можно было управлять с земли, посылая им шифрованные команды. А шифровались эти команды с помощью шифров гаммирования.
Что такое шифр гаммирования в то время? Это простое сложение знаков открытого текста с гаммой наложения. Сложение позначное, безо всяких переносов. Пусть, например, мы пытаемся передать ракете команду под кодовым обозначением 123, гамма наложения 297, гаммирование – сложение по модулю 10. Тогда к ракете пойдет зашифрованное сообщение 310. Противник (американцы) уже изучил систему команд, поступающих на ракету и хочет, чтобы ракета вместо истинного сообщения 123 приняла ложное, например 124.