From b35a6a153f4164a56174e4795d4384867349e9aa Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sun, 14 Jun 2026 20:32:12 +1000 Subject: [PATCH] don't build ML-KEM/ML-DSA code with #include #include @@ -425,3 +427,4 @@ sha3_512(uint8_t digest[64], const uint8_t *data, size_t len) Eurydice_mut_borrow_slice_u8 output = { digest, 64 }; libcrux_sha3_portable_sha512(output, input); } +#endif /* defined(USE_MLDSA) || defined(USE_MLKEM768X25519) */ diff --git a/regress/unittests/crypto/test_mldsa.c b/regress/unittests/crypto/test_mldsa.c index c21179130..d845c49d4 100644 --- a/regress/unittests/crypto/test_mldsa.c +++ b/regress/unittests/crypto/test_mldsa.c @@ -7,6 +7,8 @@ #include "includes.h" +#ifdef USE_MLDSA + #include #include #include @@ -143,3 +145,4 @@ mldsa_tests(void) free_kats(kats, nkats); TEST_DONE(); } +#endif /* USE_MLDSA */ diff --git a/regress/unittests/crypto/test_mldsa_eddsa.c b/regress/unittests/crypto/test_mldsa_eddsa.c index 655e421b8..0a8a38089 100644 --- a/regress/unittests/crypto/test_mldsa_eddsa.c +++ b/regress/unittests/crypto/test_mldsa_eddsa.c @@ -7,6 +7,8 @@ #include "includes.h" +#ifdef USE_MLDSA + #include #include #include @@ -192,3 +194,4 @@ mldsa_eddsa_tests(void) sshbuf_free(b_s); sshbuf_free(b_sWithContext); } +#endif /* USE_MLDSA */ diff --git a/regress/unittests/crypto/test_mlkem.c b/regress/unittests/crypto/test_mlkem.c index 148469892..5d1b421f7 100644 --- a/regress/unittests/crypto/test_mlkem.c +++ b/regress/unittests/crypto/test_mlkem.c @@ -7,6 +7,8 @@ #include "includes.h" +#ifdef USE_MLKEM768X25519 + #include #include #include @@ -167,3 +169,4 @@ mlkem_tests(void) } TEST_DONE(); } +#endif /* USE_MLKEM768X25519 */ diff --git a/regress/unittests/crypto/tests.c b/regress/unittests/crypto/tests.c index 9061e332e..9caff06c1 100644 --- a/regress/unittests/crypto/tests.c +++ b/regress/unittests/crypto/tests.c @@ -103,10 +103,16 @@ get_json_string(struct sshbuf *content, const char *key, int consume) void tests(void) { +#ifdef USE_MLDSA mldsa_tests(); +#endif +#ifdef USE_MLKEM768X25519 mlkem_tests(); +#endif ed25519_tests(); +#ifdef USE_MLDSA mldsa_eddsa_tests(); +#endif } void diff --git a/ssh-mldsa-eddsa.c b/ssh-mldsa-eddsa.c index 17588a23e..89c35c7d1 100644 --- a/ssh-mldsa-eddsa.c +++ b/ssh-mldsa-eddsa.c @@ -19,6 +19,8 @@ #include "includes.h" +#ifdef USE_MLDSA + #include #include #include @@ -501,3 +503,4 @@ const struct sshkey_impl sshkey_mldsa44_ed25519_cert_impl = { /* .keybits = */ 256, /* .funcs = */ &sshkey_mldsa44_ed25519_funcs, }; +#endif /* USE_MLDSA */ diff --git a/sshkey.c b/sshkey.c index b91bb43bb..00572792f 100644 --- a/sshkey.c +++ b/sshkey.c @@ -90,8 +90,10 @@ extern const struct sshkey_impl sshkey_ed25519_impl; extern const struct sshkey_impl sshkey_ed25519_cert_impl; extern const struct sshkey_impl sshkey_ed25519_sk_impl; extern const struct sshkey_impl sshkey_ed25519_sk_cert_impl; +#ifdef USE_MLDSA extern const struct sshkey_impl sshkey_mldsa44_ed25519_impl; extern const struct sshkey_impl sshkey_mldsa44_ed25519_cert_impl; +#endif /* USE_MLDSA */ #ifdef WITH_OPENSSL # ifdef OPENSSL_HAS_ECC # ifdef ENABLE_SK @@ -124,8 +126,10 @@ const struct sshkey_impl * const keyimpls[] = { &sshkey_ed25519_sk_impl, &sshkey_ed25519_sk_cert_impl, #endif +#ifdef USE_MLDSA &sshkey_mldsa44_ed25519_impl, &sshkey_mldsa44_ed25519_cert_impl, +#endif /* USE_MLDSA */ #ifdef WITH_OPENSSL # ifdef OPENSSL_HAS_ECC &sshkey_ecdsa_nistp256_impl,