From: Dimitri John Ledkov Date: Wed, 15 Apr 2026 23:57:15 +0000 (+0100) Subject: fips: mark X448MLKEM1024 as non-approved X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fda518293a30b4e748668202375cec23e2e9fe7d;p=thirdparty%2Fopenssl.git fips: mark X448MLKEM1024 as non-approved The [FIPS 140-3I.G.](https://csrc.nist.gov/csrc/media/Projects/cryptographic-module-validation-program/documents/fips%20140-3/FIPS%20140-3%20IG.pdf) Section D.S Key Encapsulation Mechanisms have been substantially update on April 9, 2026. It now explicitely lists that hybrid mechanisms must be fixed combinations with both portions being in boundary, and the intent should be to use them with an approved combiner such as HKDF as part of a protocol. With the combinations from the https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem explicitely mentioned that they can reach appoved or allowed claims. Note that consensus for TLS group for X448MLKEM1024 failed to reach on the [pqc forum](https://mailarchive.ietf.org/arch/browse/tls/?gbt=1&index=YIHJrbWVPdXIr8q57nsEUUmuaIo) and is not part of the https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem. And there are no other protocols defined that use this hybrid with an approved combiner. Also on https://test.openquantumsafe.org/ there is x448_mlkem768 but no X448MLKEM1024. To avoid any confusion, it is best to mark this hybrid as non-approved going forward. It is likely also worthfile to deprecate X448MLKEM1024 altogether. Fixes: https://github.com/openssl/openssl/pull/26220 Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale MergeDate: Mon Apr 20 10:08:09 2026 (Merged from https://github.com/openssl/openssl/pull/30856) --- diff --git a/providers/fips/fipsprov.c b/providers/fips/fipsprov.c index e16c9135923..fe8507f1799 100644 --- a/providers/fips/fipsprov.c +++ b/providers/fips/fipsprov.c @@ -587,7 +587,7 @@ static const OSSL_ALGORITHM fips_asym_kem[] = { { PROV_NAMES_ML_KEM_1024, FIPS_DEFAULT_PROPERTIES, ossl_ml_kem_asym_kem_functions }, #if !defined(OPENSSL_NO_ECX) { PROV_NAMES_X25519MLKEM768, FIPS_DEFAULT_PROPERTIES, ossl_mlx_kem_asym_kem_functions }, - { PROV_NAMES_X448MLKEM1024, FIPS_DEFAULT_PROPERTIES, ossl_mlx_kem_asym_kem_functions }, + { PROV_NAMES_X448MLKEM1024, FIPS_UNAPPROVED_PROPERTIES, ossl_mlx_kem_asym_kem_functions }, #endif #if !defined(OPENSSL_NO_EC) { PROV_NAMES_SecP256r1MLKEM768, FIPS_DEFAULT_PROPERTIES, ossl_mlx_kem_asym_kem_functions },