Маркант
Шрифт:
Во всем мире сейчас преобладает мнение, что все исходные коды криптографических алгоритмов, используемых в коммерческих целях, должны быть открытыми. Любой желающий может убедиться в отсутствии в них ошибок, закладок и «троянских коней», а также попытаться самостоятельно, не доверяя разработчикам, провести их криптографический анализ. Так завоевывается доверие потребителя к такой специфической и в прошлом засекреченной продукции, как криптографические алгоритмы. Инициаторами такого подхода были американцы. Они в конце 90-х сняли секретность со своих криптографических алгоритмов и их исходные коды стали общедоступными, например, во всемирно известном пакете 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.
Ракетой управляют по радиоканалу, к которому американцы имеют доступ. Они могут не просто читать все, что там передается, но и изменять в нем какие-то знаки по своему усмотрению с помощью более мощного сигнала. Они взяли и изменили 310 на 311. В этом случае ракета расшифрует его как 124 и полетит не в ту цель.
Рассуждения – очевиднейшие. Но, видимо, в 60-х годах прошлого века об этом никто не задумывался, ни разработчики, ни заказчики. Советские ракеты стали летать не туда, куда их посылали, а «криптографы схватились за головы». Появилось понятие имитостойкости, как стойкости к навязыванию ложной информации, и очевидная криптографическая аксиома: шифр гаммирования не является имитостойким.
Все оказалось предельно простым и понятным для тех, кто учился тогда на 4 факультете ВКШ КГБ СССР им. Ф.Э.Дзержинского. Но если простому, не посвященному в криптографию человеку сказать фразу: «Шифр гаммирования не является имитостойким», то реакция будет примерно такой же, какой она была у криминального авторитета Бори из фильма «День выборов» на предложение «объединить бренды». Портвейн с красителем от тархуна объединить с кандидатом Цаплиным – понятно, а объединить бренды – это уже что-то неизвестное и слишком наукообразное. Так же и здесь. Советские ракеты во Вьетнаме стали летать не туда – понятно, а шифр гаммирования не является имитостойким – это не для всех, не всякий заводской толкач сможет понять. Но я опять забегаю вперед.