EVP_KEM-ML-KEM(7SSL)
π EVP_KEM-ML-KEM π
okay bestie so you're in the 7SSL corner of the OpenSSL man pages and the stars of THIS show are EVP_KEM-ML-KEM-512, EVP_KEM-ML-KEM-768, EVP_KEM-ML-KEM-1024, and honestly just EVP_KEM-ML-KEM as the whole fam. this is the EVP_KEM ML-KEM keytype and algorithm support page and yes she ate β¨
πΈ NAME πΈ
EVP_KEM-ML-KEM-512, EVP_KEM-ML-KEM-768, EVP_KEM-ML-KEM-1024, EVP_KEM-ML-KEM β the EVP_KEM ML-KEM keytype and algorithm support, periodt π
β¨ DESCRIPTION β¨
so the ML-KEM keytypes and parameters live over in EVP_PKEY-ML-KEM(7) β that's her home base, go say hi π«Ά. and if you wanna know the ~lore~ of basic KEM operations, EVP_PKEY_encapsulate(3) and EVP_PKEY_decapsulate(3) are the ones to read, ngl.
π§ ML-KEM KEM parameters π§
"ikme"(OSSL_KEM_PARAM_IKME)<octet string>β lowkey the OpenSSL ML-KEM encapsulation mechanism can only be tweaked by setting randomness while you're encapsulating. it's for testing, and it's per FIPS 203, section 6.2, algorithm 17. π¬
β οΈ bestie no. this parameter should not be used for anything other than testing. we do not play with this in prod. π
when this parameter is not set, encapsulation proceeds exactly as per FIPS 203, section 7.2. also important: this parameter is only settable. that's it, that's the vibe.
"fips-indicator"(OSSL_KEM_PARAM_FIPS_APPROVED_INDICATOR)<integer>β the OpenSSL FIPS provider returns1if the operation is FIPS approved, or0otherwise π. for more info go peek at "FIPS indicators" infips_module(7). and here's the tea: supplying the test-only"ikme"parameter causes this indicator to return0. so if you wanted that FIPS-approved crown π and you set"ikme", that's a no from the indicator fr fr.
this can be set when using EVP_PKEY_encapsulate_init().
π CONFORMING TO π
FIPS203 β she's compliant, your honor π
π¦ SEE ALSO π¦
β HISTORY β
this functionality was added in OpenSSL 3.5. like, that's when she was born π
π COPYRIGHT π
Copyright 2024-2026 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>.
and that's the whole page, bestie!! π this one's from OpenSSL version 4.0.3, dated 2026-09-29, and it goes by EVP_KEM-ML-KEM(7SSL). take care of her, she's iconic π«Άπ
β¨
π¦ 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