On Tue, Oct 14, 2025 at 10:44:19PM -0000, D. J. Bernstein wrote:

> I'm not saying that it's impossible to argue for other options. For
> example, I've laid out a case for higher security margins on the
> post-quantum side, meaning X25519MLKEM1024, and I've explained how it's
> possible to make a case for higher security margins also on the
> pre-quantum side, meaning X448MLKEM1024.

FWIW, OpenSSL 3.5 and later contains an implementation of a TLS-style
X448MLKEM1024 KEM, but it is not enabled at the TLS layer, the only
barrier being lack of a codepoint.  It would also be trivial[1] to add
X25519MLKEM1024, if that were registered.

-- 
    Viktor.  🇺🇦 Слава Україні!

[1] Most the patch for this is below.  Still missing TLS code points
and "capabilities" table entries.

--- a/providers/defltprov.c
+++ b/providers/defltprov.c
@@ -625,2 +625,4 @@ static const OSSL_ALGORITHM deflt_keymgmt[] = {
       PROV_DESCS_X448MLKEM1024 },
+    { PROV_NAMES_X25519MLKEM1024, "provider=default", 
ossl_mlx_x25519_1024_kem_kmgmt_functions,
+      PROV_DESCS_X25519MLKEM1024 },
 # endif
--- a/providers/fips/fipsprov.c
+++ b/providers/fips/fipsprov.c
@@ -659,2 +659,4 @@ static const OSSL_ALGORITHM fips_keymgmt[] = {
       PROV_DESCS_X448MLKEM1024 },
+    { PROV_NAMES_X25519MLKEM1024, FIPS_DEFAULT_PROPERTIES, 
ossl_mlx_x25519_1024_kem_kmgmt_functions,
+      PROV_DESCS_X25519MLKEM1024 },
 # endif
--- a/providers/implementations/include/prov/implementations.h
+++ b/providers/implementations/include/prov/implementations.h
@@ -351,2 +351,3 @@ extern const OSSL_DISPATCH 
ossl_mlx_x25519_kem_kmgmt_functions[];
 extern const OSSL_DISPATCH ossl_mlx_x448_kem_kmgmt_functions[];
+extern const OSSL_DISPATCH ossl_mlx_x25519_1024_kem_kmgmt_functions[];
 #  endif
--- a/providers/implementations/include/prov/names.h
+++ b/providers/implementations/include/prov/names.h
@@ -424,2 +424,4 @@
 #define PROV_DESCS_X448MLKEM1024 "X448+ML-KEM-1024 TLS hybrid implementation"
+#define PROV_NAMES_X25519MLKEM1024 "X25519MLKEM1024"
+#define PROV_DESCS_X25519MLKEM1024 "X25519+ML-KEM-1024 TLS hybrid 
implementation"
 #define PROV_NAMES_SecP256r1MLKEM768 "SecP256r1MLKEM768"
--- a/providers/implementations/keymgmt/mlx_kmgmt.c.in
+++ b/providers/implementations/keymgmt/mlx_kmgmt.c.in
@@ -54,2 +54,3 @@ static const ECDH_VINFO hybrid_vtable[] = {
     { "X448",   NULL, 56, 56, 56, 0, EVP_PKEY_ML_KEM_1024 },
+    { "X25519", NULL, 32, 32, 32, 0, EVP_PKEY_ML_KEM_1024 },
 #endif
@@ -821,2 +822,3 @@ DECLARE_DISPATCH(x25519, 2);
 DECLARE_DISPATCH(x448, 3);
+DECLARE_DISPATCH(x25519_1024, 4);
 #endif

_______________________________________________
TLS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to