Описание тега 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.