EVP_KEM-RSA(7SSL)
π EVP_KEM-RSA β the RSA keytype's KEM era π
okay bestie, this is EVP_KEM-RSA(7SSL) from the OpenSSL manuals, and it's literally the glow-up story of how RSA does Key Encapsulation Mechanism stuff. sit with me, this one's short and cute. π
β¨ NAME β¨
EVP_KEM-RSA β the EVP_KEM RSA keytype and its algorithm support, no cap.
πΈ DESCRIPTION πΈ
so the RSA keytype and all its lil parameters get described over in EVP_PKEY-RSA(7). and if you wanna actually use the encapsulation/decapsulation machinery, go peek at EVP_PKEY_encapsulate(3) and EVP_PKEY_decapsulate(3) for more info. π¦
π RSA KEM parameters π
"operation"(OSSL_KEM_PARAM_OPERATION)<UTF8 string>β the operating mode, bestie. and rn, OpenSSL's RSA Key Encapsulation Mechanism only supports this one default operation:"RSASVE"β the encapsulate function just generates a secret out of random bytes and then encrypts that secret with the RSA public key (with no padding, okay, important). the decapsulate function then recovers the secret using the RSA private key. iconic behaviour. π
you can set this with EVP_PKEY_CTX_set_kem_op().
"fips-indicator"(OSSL_KEM_PARAM_FIPS_APPROVED_INDICATOR)<integer>β described inprovider-kem(7)."key-check"(OSSL_KEM_PARAM_FIPS_KEY_CHECK)<integer>β also described inprovider-kem(7).
π CONFORMING TO π
SP800-56Br2- Section 7.2.1.2 RSASVE Generate Operation (RSASVE.GENERATE).
- Section 7.2.1.3 RSASVE Recovery Operation (RSASVE.RECOVER).
like, it's giving standards-compliant. β
π«Ά SEE ALSO π«Ά
EVP_PKEY_CTX_set_kem_op(3), EVP_PKEY_encapsulate(3), EVP_PKEY_decapsulate(3) EVP_KEYMGMT(3), EVP_PKEY(3), provider-keymgmt(7)
π°οΈ HISTORY π°οΈ
this whole functionality was added in OpenSSL 3.0. πΌ
and the "operation" (operating mode) was a required parameter prior to OpenSSL 3.5. as of OpenSSL 3.5, "RSASVE" is the default operating mode, and no explicit value need be specified. so yeah, that glow-up happened. π
ngl if you're on anything older than 3.5, don't forget to set your "operation" or it's gonna be a whole thing. π
π COPYRIGHT π
Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
aaaand that's the whole thing, bestie, we ate. π this was page 4.0.3 of the OpenSSL manual, dated 2026-09-29, filed under EVP_KEM-RSA(7SSL) β love her, read her, slay. ππβ¨
π¦ where this page comes from
- ubuntu stonking: openssl 4.0.3-1ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms