стойкость алгоритма RSA
Другим недостатком RSA является наличие так называемых нешифруемых блоков открытого сообщения, т.е. таких M, для которых выполняется равенство ME (mod N)=M. Например, M = 0, 1, N-1 всегда являются нешифруемыми блоками сообщения. Точное количество нешифруемых блоков сообщения при выбранных параметрах алгоритма равно
(1 + НОД (E-1, P-1)) Ч (1 + НОД (E-1, Q-1)).
Данная особенность налагает определённые требования на выбор параметров алгоритма. Для вычисления простых чисел большой размерности можно использовать различные алгоритмы. Например, малая теорема Ферма: если взять простое число N и все числа, меньшие N, т.е. i = 1..N-1, то iN-1 (mod N) = 1. Так, пусть N = 5. Тогда
при i = 4 ® 4 N-1 (mod N) = 4 4 (mod 5) = 256 (mod5) = 1;
при i = 3 ® 3 N-1 (mod N) = 3 4 (mod 5) = 81 (mod 5) = 1;
при i = 2 ® 2 N-1 (mod N) = 2 4 (mod 5) = 16 (mod 5) = 1;
при i = 1 ® 1 N-1 (mod N) = 1 4 (mod 5) = 1 (mod 5) = 1.
Поскольку одной из основных проблем помимо обеспечения надлежащей стойкости алгоритма RSAпутём выбора корректных параметров является низкая скорость проведения вычислений и операций зашифрования / расшифрования (RSA приблизительно в 1000 раз медленнее DES), то для длинных сообщений его использование оказывается неэффективным. Поэтому асимметричные алгоритмы используются в основном для решения задачи распределения сеансовых ключей по общедоступным каналам передачи данных. То есть симметричный ключ передаётся зашифрованным при помощи асимметричного алгоритма шифрования, и дальнейший обмен данными производится с использованием симметричных алгоритмов шифрования. Алгоритмы с открытым ключом (асимметричные) применяются также в процедурах генерации и проверки электронно-цифровой подписи.
предыдущая следующая тема