RSA - это общий алгоритм с открытым ключом, который можно использовать для шифрования и подписи. Это основной компонент большинства протоколов безопасности, используемых в Интернете, включая набор протоколов SSL/TLS. Если у вас возникли вопросы о IBM Rational Software Architect, используйте тег рациональный-rsa.

RSA - это алгоритм криптографии с открытым ключом. Он используется во многих интернет - протоколов, которые используют криптографию, включая SSL/ TLS основанное протоколы ( HTTPS, и т.д.), IPSec, DNSSEC, и многое другое. Название RSA происходит от его изобретателей: Ривеста, Шамира и Адлемана.

RSA Security, Inc. - это также название охранной фирмы. Помимо прочего, RSA публикует серию стандартов, связанных с криптографией с открытым ключом, известных как PKCS. Стандарт pkcs#1 определяет RSA.

RSA можно использовать как для шифрования, так и для подписи. Это асимметричный алгоритм. Открытый ключ состоит из двух чисел: модуля n, который представляет собой большое целое число и определяет размер ключа (общие размеры ключа - 1024 бит, 2048 бит и 4096 бит), и публичный показатель степени e, который может быть любым нечетным целым числом от 3 и n, но часто это 3 или 65537. Закрытый ключ состоит из n и закрытого показателя степени d, который обычно почти равен n. Закрытый ключ может содержать другие поля для ускорения вычислений.

Необработанная операция RSA - это математически простая операция: возведение в степень по модулю n. Показатель - это частный показатель для шифрования и подписи, а публичный показатель - для расшифровки и проверки. Шифровать или подписывать можно только числа до n. Поэтому вместо шифрования всего сообщения для RSA обычно создается сеансовый ключ (симметричный ключ, например, ключ aes) и этот ключ шифруется с помощью RSA. Вместо подписи сообщения с помощью RSA обычно создается криптографический дайджест сообщения ( md5, sha-1, sha-2,…) и подписывается этот дайджест.

Операция raw RSA небезопасна. RSA требует схемы заполнения. Общая схема заполнения включает OAEP для шифрования и PSS для подписи, а также другие алгоритмы, определенные pkcs#1.

Для IBM Rational Software Architect используйте рациональный-rsa.