Литмир - Электронная Библиотека

расшифрования необходим только секретный ключ получателя. Используется также и для

цифровой подписи.

Система Диффи-Хеллмана основана на сложности логарифмирования в конечных полях

больших чисел. В 1985 году американцы Нил Коблиц и Виктор Миллер предложили похожую

систему, основанную на эллиптических кривых (EC – Elliptic Curve) над конечными полями. В ней

вместо операций возведения в степень больших чисел в конечных полях используются операции

скалярного умножения точки на эллиптической кривой на большое целое число. Как для

зашифрования, так и для расшифрования в обоих системах необходима пара ключей. Для

зашифрования – секретный отправителя и открытый получателя, для расшифрования – секретный

получателя и открытый отправителя. Цифровая подпись в обоих системах осуществляется по

алгоритму Эль-Гамаля.

Это вкратце. Но и невооруженным взглядом видно, что с точки зрения практического

применения RSA удобнее, поскольку для шифрования нужен только один ключ: открытый

получателя для зашифрования и свой секретный для расшифрования полученного

зашифрованного сообщения. Да и цифровая подпись попроще, не нужен специальный алгоритм

Эль-Гамаля, реализация цифровой подписи осуществляется с помощью тех же операций, что и

шифрование. Есть и еще один нюанс, показывающий преимущество реализации RSA по

сравнению с реализацией ЕС.

Когда я в первый раз прочитал требования американского национального института

стандартов и технологий (NIST) к реализации алгоритмов хеширования (о них – позже), то обратил

внимание на жестко заданное требование к последовательности действий, которые должна

совершать программа, реализующая алгоритм. Это инициализация (Init), обновление (Update) и

завершение (Final). Все! Никакой предварительной подготовки (Precomputing). И вот тут-то опять

появляются достоинства RSA: там никакой Precomputing и не требуется. А в ЕС для увеличения

скорости не обойтись без Precomputing. Дело в том, что операции с точками эллиптической

кривой требуют трудоемких операций с векторами и Precomputing заключается в составлении

таблицы умножения этих векторов. Это проделывается один раз перед началом сеанса работы, но

затем вместо сравнительно медленного умножения векторов в программной реализации

используются быстрые процедуры обращения к таблице умножения. Конечно же, Precomputing можно включить в Init, сделать индикатор заполнения таблицы умножения и проводить

Precomputing только тогда, когда этот индикатор еще не установлен. Но, во-первых, это лишняя

оперативная память, которая потребуется для реализации таблицы умножения, а во-вторых –

усложнение самой реализации. Если, например, речь идет о реализации алгоритма на

скромненьком чипе смарт-карты, то лишняя память, требуемая под Precomputing, может

оказаться решающим аргументом в споре RSA и ЕС.

Это простые и понятные аргументы, по которым становится ясно, почему RSA стал

общепризнанным мировым стандартом. Но не в России. В России асимметричным стандартом

стал EC. Почему? Ведь как RSA, так и EC – американские идеи.

В 80-х годах, когда я работал в Теоретическом отделе Спецуправления 8 ГУ КГБ СССР, там

анализировались обе схемы: как RSA, так и Диффи-Хеллмана. И вроде как нашли, что Диффи-

Хеллман более безопасный алгоритм. Его и анализировали побольше. Но речь тогда, почти 40 лет

назад, шла об абстрактном криптоанализе, да и применять асимметричную криптографию

планировали в основном в военных целях. А тут американцы начали снимать секретность со своей

криптографии,стали появляться общедоступные криптографические стандарты и

криптографические чиновники в России решили не отставать от Америки. Введем свои

криптографические стандарты!

Первым в 1989 году появился стандарт для симметричного шифрования. С ним вроде все

понятно: переделанная американская схема DES, анализировался долго, создан в ответ на

появление американского стандарта симметричного шифрования. А как быть с асимметричным

стандартом? Чем руководствоваться при его выборе?

И получилось так, что при выборе асимметричного стандарта в России в начале 90-х

руководствовались чем угодно, но только не простотой реализации. ЕС, как видоизмененный

Диффи-Хеллман, был выбран потому, что его больше анализировали и признали более

безопасным, чем RSA, с точки зрения возможности взлома. Возможно также, что свою роль

сыграли результаты взлома RSA с относительно небольшой длиной ключа (426 бит) с помощью

метода квадратичного решета. Так или иначе, но общепризнанные скорость и простота

реализации RSA при выборе российского асимметричного стандарта были проигнорированы.

Чиновники, на всякий случай, решили перестраховаться.

Отлили в гранит. Сделали ЕС национальным криптографическим стандартом России. А

национальный стандарт должен быть один и только один! Почему? А вы что, хотите чтобы

чиновники с несколькими стандартами возились? Дали один стандарт – и будьте довольны, вон

при Сталине не то, что криптографический стандарт, даже само слово «криптография»

произносить нельзя было. Попробуй возрази криптографическим чиновникам!

Но во всем мире пошли по другому пути. Множество специалистов пристально изучили

RSA со всех сторон. Были найдены оптимальные соотношения между скоростью и безопасностью

при использовании RSA. Защита от обычного взлома RSA обеспечивается при длине ключа 1024

бит и, следовательно, в большинстве практических случаев этой длины достаточно для

использования в «бытовых» криптографических целях. При длине 2048 бит безопасность

значительно возрастает, а скорость, соответственно, уменьшается. Этой длины достаточно для

важных использований RSA в коммерческой и гражданской криптографии. При длине ключа 4096

бит RSA становится настолько безопасным, что его можно использовать даже в Удостоверяющих

Центрах, сертификаты которых действуют десятки лет.

Алгоритм RSA органически встроен в большинство современных операционных систем, без него никак нельзя использовать те возможности, которыми они обладают.

Но в России чиновники встали с колен. Нам Америка не указ! Раз во всех ваших

операционных системах нет российских криптографических стандартов, то мы (чиновники) дадим

указание их переделать. Но не российские стандарты, а ваши операционные системы. Или же

пускай всякие Microsoft да Apple сами встраивают наши криптографические стандарты в свою

продукцию.

Но почему-то ни Microsoft, ни Apple ни многие другие зарубежные IT-гиганты не спешат

встраивать российские криптографические стандарты в свои операционные системы. Не спешат

дружить со Стекляшкой, колебаться вместе с ее генеральной линией. Например, сегодня

Стекляшка сертифицирует криптографический интерфейс CSP, а завтра ни с того ни с сего вдруг

объявляет, что сертифицировать можно только «законченные криптографические продукты». Что

это такое – толком никто не знает, четких определений нет, одни интуитивные понятия

чиновников, но CSP, на взгляд чиновников, таковым не является.

Да и всяких других чудес от чиновников можно ожидать в любой момент. IT-россияне к

этому привыкли, монополию Стекляшки на российскую криптографию отменить нельзя: считается

аксиомой. Некоторые из IT-нероссиян согласились с этой аксиомой, но все-таки далеко не все.

Вместо принципа «дружить со Стекляшкой» используют принцип держаться от криптографической России подальше.

3
{"b":"661300","o":1}