многих институтах) криптографические динозавры сравнивают разработку криптографических
программ без лицензии ФСБ с производством наркотиков.
И вот я опять в Москве, ищу работу по специальности. Меня тут помнят, многие прочли
мою первую книжку «Криптография и Свобода», отношение нормальное. Но! «Мы дружим со
Стекляшкой» - вот основная заповедь практически всех компаний, связанных с разработкой
криптографической продукции. Тут поясню: «Стекляшка» - простонародное название здания
бывшего Спецуправления 8 ГУ КГБ СССР, получившего такое прозвище из-за своей конструкции в
форме стеклянной раскрытой книги. Там теперь главная чиновничья обитель российской
криптографии.
А что на практике означает «дружить со Стекляшкой»? Тут сразу же встает в свой огромный
чиновничий рост такое понятие, как «российские криптографические алгоритмы», ибо «дружить
со Стекляшкой» можно тогда и только тогда, когда ты используешь их и только их. А что такое
российские криптографические алгоритмы?
Глава 1.1. Российские криптографические алгоритмы
Неискушенный в криптографии читатель наверняка подумал, что российские
криптографические алгоритмы - это такие алгоритмы, которые придумали в России. Не совсем так.
Российские криптографические алгоритмы – это такие алгоритмы, которые оформлены в качестве
национальных российских стандартов. А что и почему оформлено в качестве национальных
стандартов: алгоритм, который придумали в России или зарубежный алгоритм – в этом мы сейчас
попытаемся разобраться. Придумать криптографический алгоритм – это задача специалиста-
криптографа, а оформить какой-то алгоритм в качестве национального стандарта – это по части
чиновника. И с некоторых пор я стал сомневаться, что в России создание каких-то новых
оригинальных криптографических алгоритмов, принимаемых затем в качестве национальных
стандартов, вообще возможно.
Итак, попробуем разобраться с российскими криптографическими стандартами и с таким
почти мистическим вопросом: почему тот или иной алгоритм стал национальным стандартом?
Начнем с самого болезненного вопроса: почему общепризнанный мировой криптографический
стандарт RSA не стал национальным стандартом в России?
Криптография, как один из специфических разделов математики, - наука точная, за это я ее
и люблю. В отличии от политики, которая часто колеблется как синусоида в зависимости от чьей-
то генеральной линии. Но чиновники от криптографии в России умудрились создать свою
собственную «криптографическую политику». И одним из основных постулатов этой политики стал
принцип «анти RSA». Не признаем алгоритм RSA и все тут!
Тут я должен извиниться перед неискушенным в криптографии читателем: сейчас
придется залезть в дебри. Появятся специфические термины: асимметричный алгоритм, открытые
и секретные ключи, простое число, эллиптическая кривая и т.п. Чтобы не превращать книжку в
учебное пособие, я предполагаю, что тот, кому надо, уже хорошо знаком с этими понятиями. Не
возражаю, если обычный читатель просто пропустит эти дебри или прочтет их «по диагонали». Ну
а если заинтересуетесь – то полагаю что Вы, уважаемый читатель, знакомы с Википедией и легко
сможете найти в ней объяснения разным непонятным терминам.
Пара общих слов про асимметричные алгоритмы. На мой взгляд, это – основа
современной криптографии. Асимметричные алгоритмы – это криптографическая система с
открытым распределением ключей, их можно использовать как для шифрования, так и для
цифровой подписи.
В настоящее время есть два основных и общепризнанных принципа построения системы с
открытым распределением ключей: Диффи-Хеллмана и RSA. Все попытки придумать что-то еще
уже лет 40 не приводят к успеху. Обе эти системы придумали американцы, оригинальных
российских принципов построения систем с открытым распределением ключей нет.
Система RSA (аббревиатура по фамилиям ее создателей: Rivest, Shamir, Adleman) основана
на сложности решения задачи разложения большого числа на простые множители. Для
зашифрования с помощью RSA достаточно знать только открытый ключ получателя, для
расшифрования необходим только секретный ключ получателя. Используется также и для
цифровой подписи.
Система Диффи-Хеллмана основана на сложности логарифмирования в конечных полях
больших чисел. В 1985 году американцы Нил Коблиц и Виктор Миллер предложили похожую
систему, основанную на эллиптических кривых (EC – Elliptic Curve) над конечными полями. В ней
вместо операций возведения в степень больших чисел в конечных полях используются операции
скалярного умножения точки на эллиптической кривой на большое целое число. Как для
зашифрования, так и для расшифрования в обоих системах необходима пара ключей. Для
зашифрования – секретный отправителя и открытый получателя, для расшифрования – секретный
получателя и открытый отправителя. Цифровая подпись в обоих системах осуществляется по
алгоритму Эль-Гамаля.
Это вкратце. Но и невооруженным взглядом видно, что с точки зрения практического
применения RSA удобнее, поскольку для шифрования нужен только один ключ: открытый