Перейти к содержимому
ecdsa.com

RSA-OAEP

Шифрование RSA с оптимальным асимметричным дополнением (Optimal Asymmetric Encryption Padding, RFC 8017, § 7.1); в JWE оно применяется как RSA-OAEP (SHA-1) и RSA-OAEP-256 (SHA-256) для обёртывания ключей содержимого и заменяет уязвимое к атакам шифрование PKCS #1 v1.5.
Другие написанияRSAES-OAEPRSA-OAEP-256OAEP

Перед возведением в степень OAEP хеширует и маскирует сообщение с помощью случайного seed, что даёт стойкость к атакам с выбранным шифртекстом в модели случайного оракула; 2048-битным ключом с SHA-256 можно зашифровать не более 190 байт — этого хватает для любого симметричного ключа. В JWE RSA-OAEP использует SHA-1 и для хеша, и для MGF1, что для OAEP по-прежнему считается безопасным, а RSA-OAEP-256 использует SHA-256; RSA1_5 (PKCS #1 v1.5) применять не следует из-за атак на оракул дополнения (padding oracle).

За пределами JWE он встречается в транспорте ключей CMS, WebCrypto (RSA-OAEP), конвертном шифровании (envelope encryption) облачных KMS и в TPM. Библиотеки по умолчанию используют разные хеши (OpenSSL и многие API — SHA-1, а WebCrypto требует указать хеш явно), поэтому несовпадение параметров OAEP — частая причина ошибок расшифрования. Реализации не должны раскрывать, почему расшифрование не удалось, иначе становится применима атака Мангера.

Стандарты и ссылки

Все термины