Криптосистемы RSA реализуются как аппаратным, так и программным путем.
Теперь разработчикам криптоалгоритмов с открытым ключом на базе RSA приходится избегать применения чисел длиной менее 200 десятичных разрядов. Самые последние публикации предлагают применять для этого числа длиной не менее 250-300 десятичных разрядов.
Один из наиболее быстрых алгоритмов, известных в настоящее время, алгоритм NFS (Number Field Sieve) может выполнить факторизацию большого числа N (с числом десятичных разрядов больше 120) за число шагов, оцениваемых величиной
CAB
3 1 2
Безопасность и быстродействие криптосистемы RSA
Безопасность алгоритма RSA базируется на трудности решения задачи факторизации (разложение на множители) больших чисел.
Криптостойкость алгоритма RSA определяется тем, что после формирования секретного ключа КВ2 и открытого ключа КВ1 "стираются" значения простых чисел Р и Q, и тогда исключительно трудно определить секретный ключ КВ2 по открытому ключу КВ1, поскольку для этого необходимо решить задачу нахождения делителей Р и Q модуля N.
Разложение величины N на простые множители Р и Q позволяет вычислить функцию и затем определить секретное значение КВ2, используя уравнение
Другой способ криптоанализа алгоритма RSA – вычисление или подбор значения функции
Если установлено значение , то сомножители Р и Q вычисляются из системы
Зная , можно определить х, у; потом можно определить числа Р и Q из следующих соотношений:
Однако эта атака не проще задачи факторизации модуля N.
Задача факторизации является трудно разрешимой задачей для больших значений модуля N.
Сначала авторы алгоритма RSA предлагали для вычисления модуля N выбирать простые числа Р и Q случайным образом, по 50 десятичных разрядов каждое. Считалось, что такие большие числа N очень трудно разложить на простые множители. Один из авторов алгоритма RSA, Р. Райвест, полагал, что разложение на простые множители числа из почти 130 десятичных цифр, приведенного в их публикации, потребует более 40 квадриллионов лет машинного времени. Однако этот прогноз не оправдался из-за сравнительно быстрого прогресса компьютеров и их вычислительной мощности, а также улучшения алгоритмов факторизации.
В 1994 г. было факторизовано число со 129 десятичными цифрами. Это удалось осуществить математикам А. Ленстра и М. Ма-насси посредством организации распределенных вычислений на 1600 компьютерах, объединенных сетью, в течение восьми месяцев. По мнению А. Ленстра и М. Манасси, их работа компрометирует криптосистемы RSA и создает большую угрозу их дальнейшим применениям.
В сделана попытка расчета оценок безопасных длин ключей асимметричных криптосистем на ближайшие 20 лет исходя из прогноза развития компьютеров и их вычислительной мощности, а также возможного совершенствования алгоритмов факторизации. Эти оценки (табл.4.1) даны для трех групп пользователей (индивидуальных пользователей, корпораций и государственных организаций), в соответствии с различием требований к их информационной безопасности. Конечно, данные оценки следует рассматривать как сугубо приблизительные, как возможную тенденцию изменений безопасных длин ключей асимметричных криптосистем со временем.
Таблица. Оценки длин ключей для асимметричных криптосистем, бит
Год | Отдельные пользователи | Корпорации | Государственные организации |
Для аппаратной реализации операций зашифрования и расшифрования RSA разработаны специальные процессоры. Эти процессоры, реализованные на сверхбольших интегральных схемах (СБИС), позволяют выполнять операции RSA, связанные с возведением больших чисел в колоссально большую степень по модулю N, за относительно короткое время.
И все же аппаратная реализация RSA примерно в 1000 раз медленнееаппаратной реализации симметричного криптоалгоритма DES.
Одна из самых быстрых аппаратных реализаций RSA с модулем N=512 бит на сверхбольшой интегральной схеме имеет быстродействие 64 Кбит/с. Лучшими из серийно выпускаемых СБИС являются процессоры фирмы CYLINK, выполняющие 1024-битовое шифрование RSA.