From: Eric Biggers <ebiggers@kernel.org>
To: linux-crypto@vger.kernel.org, David Howells <dhowells@redhat.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
Eric Biggers <ebiggers@kernel.org>,
Luis Chamberlain <mcgrof@kernel.org>,
Petr Pavlu <petr.pavlu@suse.com>,
Daniel Gomez <da.gomez@kernel.org>,
Sami Tolvanen <samitolvanen@google.com>,
"Jason A . Donenfeld" <Jason@zx2c4.com>,
Ard Biesheuvel <ardb@kernel.org>,
Stephan Mueller <smueller@chronox.de>,
Lukas Wunner <lukas@wunner.de>,
Ignat Korchagin <ignat@cloudflare.com>,
keyrings@vger.kernel.org, linux-modules@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 2/4] lib/crypto: tests: Add KUnit tests for ML-DSA
Date: Wed, 19 Nov 2025 16:36:51 -0800 [thread overview]
Message-ID: <20251120003653.335863-3-ebiggers@kernel.org> (raw)
In-Reply-To: <20251120003653.335863-1-ebiggers@kernel.org>
From: David Howells <dhowells@redhat.com>
Add a KUnit test suite for ML-DSA, including:
- The ML-DSA-44 "Pure rejection tests" from Stephan Mueller's Leancrypto
- An ML-DSA-44 benchmark
Later patches will add test cases for ML-DSA-65 and ML-DSA-87.
(This needs some work. For one, there are no negative tests yet.)
Signed-off-by: David Howells <dhowells@redhat.com>
Co-developed-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
---
lib/crypto/tests/Kconfig | 10 +
lib/crypto/tests/Makefile | 1 +
lib/crypto/tests/mldsa_kunit.c | 92 ++++
.../tests/mldsa_pure_rejection_vectors_44.h | 489 ++++++++++++++++++
4 files changed, 592 insertions(+)
create mode 100644 lib/crypto/tests/mldsa_kunit.c
create mode 100644 lib/crypto/tests/mldsa_pure_rejection_vectors_44.h
diff --git a/lib/crypto/tests/Kconfig b/lib/crypto/tests/Kconfig
index 61d435c450bb..214c23d994e6 100644
--- a/lib/crypto/tests/Kconfig
+++ b/lib/crypto/tests/Kconfig
@@ -36,10 +36,20 @@ config CRYPTO_LIB_MD5_KUNIT_TEST
select CRYPTO_LIB_MD5
help
KUnit tests for the MD5 cryptographic hash function and its
corresponding HMAC.
+config CRYPTO_LIB_MLDSA_KUNIT_TEST
+ tristate "KUnit tests for ML-DSA" if !KUNIT_ALL_TESTS
+ depends on KUNIT
+ default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
+ select CRYPTO_LIB_BENCHMARK_VISIBLE
+ select CRYPTO_LIB_MLDSA
+ help
+ KUnit tests for ML-DSA (Module-Lattice-Based Digital Signature
+ Algorithm).
+
config CRYPTO_LIB_POLY1305_KUNIT_TEST
tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS
depends on KUNIT
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
select CRYPTO_LIB_BENCHMARK_VISIBLE
diff --git a/lib/crypto/tests/Makefile b/lib/crypto/tests/Makefile
index 5109a0651925..3dde0b40b2c5 100644
--- a/lib/crypto/tests/Makefile
+++ b/lib/crypto/tests/Makefile
@@ -2,10 +2,11 @@
obj-$(CONFIG_CRYPTO_LIB_BLAKE2B_KUNIT_TEST) += blake2b_kunit.o
obj-$(CONFIG_CRYPTO_LIB_BLAKE2S_KUNIT_TEST) += blake2s_kunit.o
obj-$(CONFIG_CRYPTO_LIB_CURVE25519_KUNIT_TEST) += curve25519_kunit.o
obj-$(CONFIG_CRYPTO_LIB_MD5_KUNIT_TEST) += md5_kunit.o
+obj-$(CONFIG_CRYPTO_LIB_MLDSA_KUNIT_TEST) += mldsa_kunit.o
obj-$(CONFIG_CRYPTO_LIB_POLY1305_KUNIT_TEST) += poly1305_kunit.o
obj-$(CONFIG_CRYPTO_LIB_POLYVAL_KUNIT_TEST) += polyval_kunit.o
obj-$(CONFIG_CRYPTO_LIB_SHA1_KUNIT_TEST) += sha1_kunit.o
obj-$(CONFIG_CRYPTO_LIB_SHA256_KUNIT_TEST) += sha224_kunit.o sha256_kunit.o
obj-$(CONFIG_CRYPTO_LIB_SHA512_KUNIT_TEST) += sha384_kunit.o sha512_kunit.o
diff --git a/lib/crypto/tests/mldsa_kunit.c b/lib/crypto/tests/mldsa_kunit.c
new file mode 100644
index 000000000000..836555bd0096
--- /dev/null
+++ b/lib/crypto/tests/mldsa_kunit.c
@@ -0,0 +1,92 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Copyright (C) 2025 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
+ */
+
+#include <crypto/mldsa.h>
+#include <kunit/test.h>
+
+struct mldsa_testvector {
+ u16 pk_len;
+ u16 msg_len;
+ u16 sig_len;
+ const char *what;
+ const char *algo;
+ const u8 *pk;
+ const u8 *sig;
+ const u8 *msg;
+};
+
+/*
+ * Use rejection test vector which will cover all rejection code paths
+ * as generated with the mldsa_edge_case_tester.
+ */
+static const struct mldsa_testvector mldsa_44_testvectors[] = {
+#include "mldsa_pure_rejection_vectors_44.h"
+};
+
+static void do_mldsa_and_assert_success(struct kunit *test, enum mldsa_alg alg,
+ const struct mldsa_testvector *tv)
+{
+ int err = mldsa_verify(alg, tv->sig, tv->sig_len, tv->msg, tv->msg_len,
+ tv->pk, tv->pk_len);
+ KUNIT_ASSERT_EQ(test, err, 0);
+}
+
+static void test_mldsa(struct kunit *test, enum mldsa_alg alg,
+ const struct mldsa_testvector *tvs, size_t num_tvs)
+{
+ for (size_t i = 0; i < num_tvs; i++)
+ do_mldsa_and_assert_success(test, alg, &tvs[i]);
+}
+
+static void test_mldsa44(struct kunit *test)
+{
+ test_mldsa(test, MLDSA44, mldsa_44_testvectors,
+ ARRAY_SIZE(mldsa_44_testvectors));
+}
+
+static void benchmark_mldsa(struct kunit *test, enum mldsa_alg alg,
+ const struct mldsa_testvector *tv)
+{
+ const int warmup_niter = 200;
+ const int benchmark_niter = 200;
+ u64 t0, t1;
+
+ if (!IS_ENABLED(CONFIG_CRYPTO_LIB_BENCHMARK))
+ kunit_skip(test, "not enabled");
+
+ /* Warm-up */
+ for (int i = 0; i < warmup_niter; i++)
+ do_mldsa_and_assert_success(test, alg, tv);
+
+ t0 = ktime_get_ns();
+ for (int i = 0; i < benchmark_niter; i++)
+ do_mldsa_and_assert_success(test, alg, tv);
+ t1 = ktime_get_ns();
+ kunit_info(test, "%llu ops/s",
+ div64_u64((u64)benchmark_niter * NSEC_PER_SEC,
+ t1 - t0 ?: 1));
+}
+
+static void benchmark_mldsa44(struct kunit *test)
+{
+ benchmark_mldsa(test, MLDSA44, &mldsa_44_testvectors[0]);
+}
+
+static struct kunit_case mldsa_kunit_cases[] = {
+ KUNIT_CASE(test_mldsa44),
+ KUNIT_CASE(benchmark_mldsa44),
+ {},
+};
+
+static struct kunit_suite mldsa_kunit_suite = {
+ .name = "mldsa",
+ .test_cases = mldsa_kunit_cases,
+};
+kunit_test_suite(mldsa_kunit_suite);
+
+MODULE_AUTHOR("David Howells <dhowells@redhat.com>");
+MODULE_DESCRIPTION("ML-DSA tests");
+MODULE_LICENSE("Dual BSD/GPL");
diff --git a/lib/crypto/tests/mldsa_pure_rejection_vectors_44.h b/lib/crypto/tests/mldsa_pure_rejection_vectors_44.h
new file mode 100644
index 000000000000..124dc97c22e5
--- /dev/null
+++ b/lib/crypto/tests/mldsa_pure_rejection_vectors_44.h
@@ -0,0 +1,489 @@
+/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
+ {
+ .what = "pure rejection vector",
+ .algo = "ml-dsa44",
+ .pk_len = MLDSA44_PUBLIC_KEY_SIZE,
+ .pk = (const u8[MLDSA44_PUBLIC_KEY_SIZE]){
+ 0x8f, 0x61, 0x67, 0xa9, 0x7c, 0x61, 0xc2, 0xf2,
+ 0x87, 0xe2, 0x28, 0xf8, 0x44, 0x80, 0x6f, 0xb0,
+ 0x10, 0xc1, 0x14, 0xf6, 0x88, 0x42, 0x76, 0xbe,
+ 0x05, 0xd2, 0x56, 0xa0, 0xb7, 0x46, 0xcf, 0xc5,
+ 0x76, 0x0a, 0x52, 0xfe, 0xa3, 0x3c, 0x05, 0x6e,
+ 0xd5, 0xd3, 0xbd, 0x80, 0x03, 0x29, 0x25, 0x96,
+ 0xdf, 0xa9, 0x5b, 0x12, 0x42, 0x89, 0x6e, 0x03,
+ 0x2c, 0x42, 0x64, 0xee, 0xc7, 0xf7, 0x55, 0xfe,
+ 0xfd, 0x15, 0x74, 0xee, 0x2d, 0xb3, 0xbf, 0xf2,
+ 0x24, 0xe7, 0x35, 0x45, 0x77, 0x67, 0x44, 0xd2,
+ 0x0c, 0x43, 0xfc, 0x7b, 0x47, 0x56, 0xad, 0xc5,
+ 0xe7, 0x37, 0x49, 0x21, 0x12, 0x57, 0x7f, 0xca,
+ 0x7f, 0x5d, 0xac, 0x62, 0x5b, 0x8d, 0xbf, 0xdb,
+ 0x64, 0xac, 0x12, 0x1d, 0x7f, 0x7a, 0x2f, 0xa0,
+ 0x2c, 0xfe, 0x95, 0x4b, 0x78, 0xdb, 0xf0, 0x98,
+ 0x97, 0x70, 0x62, 0xfc, 0x64, 0x4a, 0x1b, 0xbc,
+ 0x30, 0x1b, 0x51, 0x13, 0x47, 0x6e, 0x83, 0xd2,
+ 0xa2, 0xcf, 0x39, 0xba, 0xd3, 0x00, 0x62, 0x7c,
+ 0x5b, 0xe6, 0x14, 0x55, 0xd5, 0xfc, 0xbf, 0x15,
+ 0x65, 0xd7, 0x1f, 0xbb, 0xf6, 0x2b, 0x46, 0x38,
+ 0x1e, 0xf3, 0x8f, 0x0d, 0x57, 0x8a, 0x41, 0xfb,
+ 0x47, 0x19, 0xe1, 0x79, 0xca, 0x98, 0x1a, 0x73,
+ 0x4d, 0x8a, 0xc0, 0xa1, 0xa7, 0x4a, 0x28, 0x4a,
+ 0x92, 0x6c, 0x77, 0x4f, 0x18, 0xe1, 0xce, 0x11,
+ 0x14, 0xd5, 0xf6, 0xc0, 0xa8, 0x1e, 0x26, 0x25,
+ 0xe4, 0x30, 0xb2, 0x6f, 0x89, 0x6e, 0xc6, 0x44,
+ 0x1a, 0xd3, 0xca, 0xe1, 0x05, 0x0d, 0x61, 0x80,
+ 0xd7, 0xbc, 0x56, 0x0a, 0x57, 0x9f, 0x16, 0x40,
+ 0x84, 0x1e, 0xc0, 0x5e, 0xcd, 0xb6, 0xc8, 0x5d,
+ 0x87, 0xd6, 0xee, 0xcb, 0x21, 0x2f, 0x22, 0x9a,
+ 0x7e, 0xea, 0x2e, 0xf5, 0x87, 0xf0, 0x44, 0x10,
+ 0x3d, 0x42, 0x6d, 0x3f, 0x4f, 0xa0, 0x21, 0x8e,
+ 0x40, 0x75, 0x3b, 0xaa, 0xd4, 0xd9, 0x37, 0x0a,
+ 0x35, 0x5b, 0xba, 0xbd, 0x11, 0x17, 0x7b, 0x7e,
+ 0xfc, 0xb1, 0x1c, 0x5c, 0x71, 0xce, 0xde, 0xa5,
+ 0xec, 0xd6, 0x8b, 0x50, 0x64, 0x02, 0xca, 0x84,
+ 0x26, 0xfe, 0x03, 0x9e, 0xaf, 0x13, 0x05, 0x1c,
+ 0x85, 0x32, 0x92, 0x85, 0x84, 0x83, 0xb6, 0x76,
+ 0x27, 0xa7, 0xd8, 0x0c, 0xa4, 0xb5, 0x65, 0x7a,
+ 0xbf, 0x2e, 0x64, 0xce, 0x82, 0x0d, 0x27, 0xd3,
+ 0x2c, 0x9d, 0xb5, 0xa5, 0x51, 0xe3, 0xab, 0xbd,
+ 0xe2, 0xe0, 0x64, 0x71, 0x0f, 0x99, 0x09, 0x6a,
+ 0x40, 0x9d, 0x8c, 0x6d, 0x63, 0x70, 0x42, 0xe2,
+ 0xa8, 0x5c, 0x71, 0xd2, 0x88, 0x10, 0xbc, 0x3b,
+ 0x9d, 0xc8, 0x3a, 0x8a, 0xf3, 0x81, 0x0a, 0x0e,
+ 0xd8, 0xf6, 0x13, 0x90, 0xc2, 0xda, 0x4c, 0x4f,
+ 0x6f, 0x1f, 0x61, 0x0d, 0x46, 0xac, 0x5c, 0x4a,
+ 0xcc, 0x23, 0xfb, 0xf2, 0xf8, 0x9f, 0x48, 0x1f,
+ 0xaf, 0x24, 0xb4, 0xc7, 0xcb, 0x6f, 0x80, 0x74,
+ 0xa3, 0xdb, 0xa8, 0x61, 0x12, 0x60, 0x08, 0x56,
+ 0x85, 0x47, 0x05, 0x32, 0x93, 0x43, 0x9b, 0xa6,
+ 0xf6, 0x56, 0x3b, 0xab, 0x93, 0x28, 0x19, 0xda,
+ 0xad, 0xb5, 0xaa, 0x2e, 0x83, 0x3d, 0x37, 0x0e,
+ 0x83, 0xf2, 0xfe, 0xdd, 0xe8, 0xd9, 0x53, 0x36,
+ 0x3b, 0x5d, 0x8e, 0x24, 0xa9, 0x3a, 0x8f, 0x85,
+ 0x4b, 0x50, 0xf7, 0x61, 0x0f, 0x20, 0x92, 0x09,
+ 0x1f, 0xe4, 0x24, 0x98, 0x9f, 0xa4, 0x52, 0x12,
+ 0x2a, 0xae, 0x6f, 0xd6, 0x0d, 0xb5, 0x22, 0x72,
+ 0x83, 0xfb, 0x4f, 0xef, 0xa6, 0x55, 0x9a, 0x14,
+ 0xab, 0x82, 0x89, 0x1f, 0xf2, 0x0b, 0x14, 0x76,
+ 0xb7, 0xf7, 0x14, 0xdd, 0xd6, 0xc1, 0xe8, 0xb2,
+ 0x99, 0x23, 0x28, 0xe8, 0xa4, 0x69, 0x18, 0xf6,
+ 0x3e, 0xb1, 0xff, 0xde, 0xf2, 0x2c, 0x7c, 0x73,
+ 0x93, 0x32, 0x52, 0x06, 0xeb, 0x59, 0xb2, 0x8f,
+ 0x2f, 0x1d, 0x6a, 0x85, 0x74, 0xd3, 0xe5, 0xa1,
+ 0x95, 0xe4, 0x96, 0x1e, 0x75, 0x16, 0xe4, 0x5c,
+ 0x40, 0xf0, 0x20, 0xb1, 0x10, 0xe7, 0x2a, 0x70,
+ 0x41, 0xac, 0x49, 0x40, 0x55, 0xef, 0xd1, 0x58,
+ 0x24, 0x6a, 0xa6, 0x20, 0xdc, 0x23, 0xdc, 0x66,
+ 0x45, 0x4f, 0x6a, 0x52, 0x3c, 0x61, 0xc8, 0xfb,
+ 0x28, 0x1e, 0x8c, 0x3f, 0xfc, 0xc7, 0x73, 0x2f,
+ 0xf1, 0xe2, 0x31, 0xee, 0xa0, 0x5f, 0x12, 0x3f,
+ 0x94, 0xe5, 0x26, 0xc0, 0x62, 0xcc, 0x67, 0x8f,
+ 0x5d, 0xfd, 0x3d, 0x8f, 0x16, 0xae, 0x4e, 0x04,
+ 0x54, 0x5b, 0x02, 0x66, 0x00, 0x70, 0xe5, 0xcc,
+ 0xb9, 0x51, 0x8c, 0x1a, 0x5d, 0xf0, 0xfe, 0x7d,
+ 0x1b, 0x2f, 0x0a, 0x48, 0x94, 0xda, 0x4b, 0xb3,
+ 0x05, 0x75, 0x3b, 0x25, 0xda, 0xf2, 0x12, 0x47,
+ 0xe2, 0xd7, 0xbb, 0xe7, 0x05, 0xa2, 0x4e, 0xaf,
+ 0x2f, 0x29, 0x6c, 0xbd, 0x80, 0x82, 0xdf, 0xbb,
+ 0x4b, 0x9d, 0x29, 0x9b, 0xef, 0xff, 0x17, 0x2a,
+ 0xa7, 0x2f, 0x4a, 0x2e, 0xbf, 0x29, 0x38, 0xcb,
+ 0x94, 0x9c, 0x10, 0x87, 0x69, 0x57, 0x7d, 0xd7,
+ 0xcf, 0xc1, 0x57, 0x0f, 0xc2, 0x9c, 0x3b, 0x1e,
+ 0xbc, 0x55, 0x08, 0xb1, 0x50, 0xb0, 0x28, 0x79,
+ 0x1d, 0xd9, 0x2f, 0xa5, 0x12, 0xcc, 0xa7, 0x5b,
+ 0xcb, 0x67, 0x57, 0x13, 0x4a, 0xb3, 0xd5, 0x34,
+ 0xea, 0xd9, 0x6b, 0x15, 0x17, 0x1f, 0xe7, 0x52,
+ 0x2a, 0x11, 0xdf, 0xab, 0x3a, 0x8d, 0x1b, 0xaa,
+ 0xfa, 0x54, 0xf0, 0x20, 0x94, 0x40, 0x2d, 0x3e,
+ 0xf2, 0xa2, 0x8b, 0xbb, 0x86, 0xce, 0x29, 0x87,
+ 0xb1, 0xfa, 0x27, 0xf2, 0x5a, 0x79, 0xc2, 0xf8,
+ 0xe9, 0xf2, 0x7c, 0x5a, 0xcd, 0x45, 0x8e, 0x8b,
+ 0xba, 0xad, 0x13, 0x52, 0x79, 0xd5, 0x0f, 0x59,
+ 0xfb, 0x07, 0x15, 0x1f, 0xb3, 0xe6, 0xc8, 0x66,
+ 0xf7, 0x37, 0x19, 0xd8, 0x33, 0xdd, 0xc1, 0xb3,
+ 0x96, 0x4b, 0x28, 0x43, 0xf8, 0x5e, 0xc7, 0xe8,
+ 0x81, 0x6e, 0xd0, 0xb2, 0x5a, 0x3d, 0xf1, 0x68,
+ 0x8f, 0xf0, 0xf5, 0x1a, 0x6d, 0xc3, 0xaa, 0x5b,
+ 0x72, 0x27, 0xbd, 0xd6, 0x7c, 0x9b, 0xbf, 0x89,
+ 0x6a, 0x09, 0xf0, 0x48, 0xf0, 0x8c, 0x27, 0x69,
+ 0x28, 0xf3, 0x5f, 0x53, 0xe3, 0x4d, 0x60, 0x4a,
+ 0xb8, 0xc5, 0xf9, 0x85, 0x07, 0x3e, 0xfb, 0xd7,
+ 0x21, 0x69, 0xd5, 0xec, 0x18, 0x68, 0xb6, 0x55,
+ 0x15, 0xac, 0x2e, 0x0f, 0x5c, 0x2e, 0x9e, 0x12,
+ 0x10, 0x5e, 0xc6, 0xb3, 0xcd, 0xe6, 0x3a, 0x2f,
+ 0x43, 0xf6, 0x75, 0x31, 0x3c, 0x90, 0x34, 0x1c,
+ 0x3d, 0x45, 0xaa, 0x8e, 0x08, 0xcf, 0x58, 0x67,
+ 0x34, 0xd4, 0x24, 0xb8, 0x20, 0x69, 0xfe, 0xf0,
+ 0x33, 0xe9, 0x3e, 0xbd, 0xe5, 0x18, 0x9f, 0x66,
+ 0xc9, 0x0d, 0x6f, 0x47, 0x99, 0xf7, 0x0c, 0xdd,
+ 0xad, 0x8c, 0x6b, 0x80, 0xed, 0x19, 0x61, 0x8a,
+ 0xba, 0x62, 0x2f, 0xcc, 0x0e, 0x47, 0xe0, 0xc6,
+ 0x1f, 0x2f, 0x44, 0x40, 0x17, 0xb6, 0x89, 0xc6,
+ 0xf5, 0xc2, 0x97, 0x89, 0x38, 0x6c, 0x8e, 0x2c,
+ 0x46, 0x0b, 0x6e, 0x01, 0x47, 0xd3, 0x2f, 0x58,
+ 0xf8, 0xc7, 0x3b, 0x49, 0xb2, 0x35, 0x9f, 0x67,
+ 0xc9, 0x6c, 0xde, 0x30, 0x3b, 0x50, 0x19, 0x65,
+ 0xbb, 0x73, 0xa1, 0x47, 0x01, 0x6a, 0x3d, 0xe3,
+ 0x85, 0x4d, 0xd0, 0x72, 0x0d, 0xbc, 0x81, 0x52,
+ 0xe8, 0x1a, 0x8b, 0x85, 0x4c, 0x6f, 0x0e, 0xfc,
+ 0x59, 0x84, 0x7a, 0xf2, 0x28, 0x3e, 0x02, 0xcb,
+ 0xe2, 0x4a, 0xbf, 0xac, 0x22, 0x34, 0x86, 0xe4,
+ 0x7d, 0x6b, 0xa3, 0x52, 0xac, 0xff, 0xe5, 0xbe,
+ 0x0c, 0x8d, 0xf5, 0xd8, 0xfd, 0x5a, 0x3d, 0xad,
+ 0x0d, 0xc0, 0x02, 0xd0, 0x58, 0x8e, 0x7c, 0x50,
+ 0x7c, 0x09, 0xc0, 0xdb, 0xd7, 0xdf, 0xe0, 0xb2,
+ 0x6f, 0xb2, 0x79, 0x0d, 0xc1, 0xa0, 0xb1, 0x7e,
+ 0xe3, 0x0d, 0xfc, 0x93, 0x43, 0x8c, 0x86, 0x68,
+ 0xa6, 0x51, 0x93, 0x42, 0xb7, 0xcd, 0x13, 0x56,
+ 0x6e, 0xdc, 0x63, 0x51, 0x23, 0xcf, 0x29, 0xc5,
+ 0x5a, 0x66, 0x43, 0x80, 0xfe, 0x28, 0x15, 0x71,
+ 0x52, 0x87, 0xe2, 0x18, 0x10, 0xad, 0x94, 0x47,
+ 0x2f, 0xe3, 0x5d, 0x7a, 0x02, 0x6d, 0x31, 0x58,
+ 0xae, 0x2f, 0x96, 0x53, 0x1b, 0x6c, 0x0e, 0x25,
+ 0xea, 0x41, 0xd3, 0x29, 0x27, 0x22, 0x24, 0x8d,
+ 0x1d, 0x8e, 0xd1, 0x33, 0x76, 0x67, 0x7d, 0x9d,
+ 0xd9, 0xa7, 0x3e, 0x61, 0xd0, 0xad, 0x93, 0xb9,
+ 0xdf, 0x87, 0x3a, 0x7b, 0x89, 0xc7, 0x1d, 0x91,
+ 0xec, 0x43, 0xa4, 0xdc, 0x02, 0x88, 0x2e, 0xaa,
+ 0xb2, 0x58, 0xa5, 0xd3, 0x68, 0x9c, 0x9f, 0x60,
+ 0x12, 0xc8, 0x7e, 0x7d, 0x40, 0x80, 0xfd, 0xb4,
+ 0xbf, 0x56, 0xf4, 0x01, 0x39, 0x3d, 0xa0, 0x34,
+ 0x48, 0x79, 0x75, 0xe2, 0x0f, 0x60, 0x09, 0x42,
+ 0x11, 0x6f, 0xa5, 0x31, 0x46, 0xb7, 0x03, 0xc8,
+ 0x61, 0x53, 0x39, 0x1e, 0xf4, 0x99, 0x36, 0x7d,
+ 0xc0, 0x87, 0xda, 0x63, 0x71, 0x9b, 0x29, 0x7b,
+ 0x4e, 0x6f, 0x09, 0xa2, 0x2c, 0xa5, 0xc2, 0xb9,
+ 0xe7, 0xe0, 0x56, 0x8b, 0x1d, 0xbb, 0xcc, 0x34,
+ 0x8c, 0xbc, 0xb6, 0x0a, 0xc9, 0xfa, 0x4a, 0x31,
+ 0x63, 0x0d, 0x30, 0xff, 0x59, 0x3d, 0x8c, 0x4d,
+ 0x74, 0x28, 0xf4, 0xe9, 0x97, 0x43, 0x05, 0x3a,
+ 0x33, 0x51, 0x51, 0xe4, 0x0e, 0x33, 0xae, 0x2c,
+ 0xda, 0x28, 0x83, 0x93, 0x4e, 0xfe, 0x37, 0x1d,
+ 0x6c, 0x25, 0x1e, 0x24, 0xbc, 0x3a, 0x5c, 0x68,
+ 0xac, 0x54, 0x3a, 0x47, 0x74, 0x35, 0xff, 0x37,
+ 0x80, 0x12, 0x30, 0xd7, 0x31, 0x2a, 0x49, 0x51,
+ 0x2d, 0x4f, 0xd2, 0x9c, 0xca, 0x55, 0x87, 0xd0,
+ 0x41, 0x86, 0xc7, 0xf2, 0xda, 0xf8, 0x4b, 0x08,
+ 0x23, 0xb3, 0x00, 0xb7, 0xb6, 0x4f, 0x2e, 0xaf,
+ 0xb8, 0x8e, 0xb1, 0x44, 0xe1, 0xed, 0x67, 0xf8,
+ 0x80, 0xa7, 0x04, 0xa0, 0x66, 0xe6, 0xb5, 0x69,
+ 0xca, 0x95, 0x71, 0xc8, 0x0d, 0x3d, 0xf6, 0x77,
+ 0xfd, 0x2c, 0x95, 0xed, 0xe5, 0x22, 0x43, 0xd9,
+ },
+ .msg_len = 64,
+ .msg = (const u8[64]){
+ 0x6d, 0xb3, 0x8e, 0x80, 0xaf, 0x5f, 0x19, 0xd9,
+ 0xb0, 0xcf, 0xad, 0x58, 0xc7, 0x27, 0xae, 0x12,
+ 0x4e, 0x7d, 0xa3, 0x1a, 0xe3, 0x85, 0xc6, 0xaa,
+ 0xf6, 0xa1, 0x9a, 0xb1, 0xe9, 0xe0, 0xfe, 0x89,
+ 0x1e, 0xc5, 0x6f, 0x10, 0x18, 0x24, 0xab, 0xa8,
+ 0x6d, 0x03, 0xd0, 0x3d, 0xc3, 0xff, 0x67, 0xe7,
+ 0x3a, 0x95, 0x94, 0xc8, 0x49, 0x51, 0x8f, 0xa0,
+ 0x65, 0xcb, 0x20, 0x29, 0x2a, 0x6d, 0xf7, 0xf2,
+ },
+ .sig_len = MLDSA44_SIGNATURE_SIZE,
+ .sig = (const u8[MLDSA44_SIGNATURE_SIZE]){
+ 0x5e, 0x05, 0x37, 0xe2, 0xc1, 0x20, 0xce, 0x7b,
+ 0x8a, 0xdf, 0xf2, 0x22, 0x61, 0x17, 0x58, 0xaa,
+ 0x3c, 0xe4, 0x82, 0x9c, 0x0e, 0xb6, 0x1f, 0xb4,
+ 0x98, 0x0f, 0xba, 0x8e, 0x51, 0x15, 0x67, 0x76,
+ 0x0b, 0x98, 0x63, 0xda, 0x17, 0xd3, 0xbb, 0xbe,
+ 0x16, 0x29, 0x71, 0xab, 0xba, 0x99, 0xed, 0x3f,
+ 0xd4, 0xc2, 0x16, 0x71, 0xb6, 0x21, 0x87, 0x48,
+ 0xaa, 0xb5, 0x39, 0x5e, 0xfb, 0x5d, 0x68, 0x3b,
+ 0xd3, 0x60, 0xf4, 0x5b, 0x85, 0x2a, 0x5b, 0xb5,
+ 0xce, 0x6e, 0xf3, 0x39, 0xc3, 0xbe, 0x96, 0xa7,
+ 0x61, 0xc9, 0xbf, 0xdf, 0x33, 0x1d, 0xec, 0xb9,
+ 0x2b, 0x7a, 0x05, 0xce, 0x1e, 0xd9, 0x46, 0x70,
+ 0xca, 0x54, 0xbf, 0xdc, 0x46, 0x9e, 0x2f, 0x29,
+ 0x18, 0x57, 0x96, 0x84, 0xac, 0xe9, 0xd7, 0x74,
+ 0xeb, 0x8e, 0x6b, 0xec, 0x46, 0x9a, 0x2a, 0xfa,
+ 0xde, 0x80, 0x09, 0x53, 0xd9, 0xeb, 0x9d, 0xf7,
+ 0xaa, 0xe2, 0xe5, 0xdc, 0xc3, 0xd9, 0x70, 0xe5,
+ 0x8b, 0xa8, 0xba, 0x2b, 0x41, 0x72, 0x92, 0x25,
+ 0xaf, 0xd9, 0xb4, 0x5a, 0x53, 0xb7, 0xcc, 0x1d,
+ 0x69, 0xf1, 0x53, 0x5b, 0x52, 0x38, 0xbc, 0x47,
+ 0x24, 0x8c, 0x1d, 0x28, 0x5d, 0x5c, 0x1c, 0xc9,
+ 0x9d, 0xea, 0x1c, 0xb1, 0xb3, 0x49, 0x68, 0xd5,
+ 0xad, 0xdc, 0x47, 0x58, 0x6d, 0x38, 0x33, 0xe7,
+ 0x9b, 0xaa, 0x89, 0xb1, 0x96, 0x0b, 0xcb, 0xc4,
+ 0x24, 0x73, 0xf2, 0xe7, 0xb6, 0xca, 0x74, 0x55,
+ 0x1b, 0xb5, 0xb7, 0x9e, 0x2e, 0xe3, 0x3a, 0x32,
+ 0x5d, 0x1d, 0x6e, 0x15, 0xe6, 0xb8, 0xfb, 0xce,
+ 0x57, 0x81, 0x15, 0xb5, 0xcf, 0x67, 0x2b, 0x55,
+ 0x4c, 0x85, 0x6f, 0x28, 0xa6, 0xbb, 0xb4, 0x28,
+ 0x76, 0x91, 0xa4, 0x29, 0xa1, 0x50, 0x7c, 0xed,
+ 0x9a, 0xfc, 0xe4, 0xbc, 0xd7, 0x28, 0x62, 0x28,
+ 0x61, 0x4d, 0x8d, 0x8c, 0x5a, 0x5e, 0x4d, 0x1d,
+ 0x5e, 0x73, 0xcc, 0x0b, 0x9d, 0x56, 0x73, 0xc7,
+ 0xf2, 0x26, 0xf7, 0x7e, 0x61, 0xa4, 0x86, 0xf5,
+ 0x1c, 0xd1, 0x00, 0xd0, 0x31, 0xc5, 0x03, 0x17,
+ 0x1c, 0xec, 0x04, 0xe5, 0xc7, 0x13, 0xb6, 0x81,
+ 0x78, 0x3d, 0x27, 0x87, 0x36, 0xf3, 0x2a, 0x59,
+ 0x96, 0xeb, 0x44, 0xfd, 0xb9, 0x95, 0xb7, 0x76,
+ 0xb1, 0x08, 0xc4, 0x98, 0xb1, 0x08, 0x36, 0x2a,
+ 0x63, 0x72, 0x4f, 0xef, 0x47, 0xfc, 0x84, 0x09,
+ 0x18, 0x60, 0xb7, 0x8a, 0xff, 0xae, 0x32, 0x3c,
+ 0x79, 0xdf, 0xd6, 0x24, 0xbe, 0x9c, 0x38, 0x68,
+ 0x92, 0xde, 0x81, 0x80, 0x22, 0x06, 0xf2, 0xe4,
+ 0xde, 0x75, 0x4e, 0xd6, 0x36, 0x93, 0x44, 0xd1,
+ 0xa4, 0x2e, 0x2e, 0x05, 0x87, 0xbd, 0xf7, 0xc5,
+ 0xc8, 0x1c, 0x7b, 0x00, 0xe8, 0x11, 0x7f, 0xc2,
+ 0x39, 0x4b, 0x7b, 0x97, 0x11, 0x92, 0x6c, 0xff,
+ 0x89, 0x7f, 0x26, 0x89, 0x4f, 0x38, 0xfd, 0xdd,
+ 0x08, 0xa7, 0xce, 0x6f, 0xe8, 0x57, 0x9b, 0x46,
+ 0xe5, 0xdb, 0x72, 0x03, 0x1e, 0x7d, 0xb0, 0x77,
+ 0xb9, 0xcc, 0xdb, 0x6c, 0xa7, 0xd8, 0x30, 0x34,
+ 0xad, 0xa7, 0xe4, 0x63, 0xf0, 0x19, 0x0e, 0x5d,
+ 0x3b, 0xe0, 0xff, 0x40, 0x1c, 0xa5, 0xb3, 0xb9,
+ 0x87, 0x6e, 0x2c, 0xf3, 0x5f, 0xcd, 0x54, 0x2a,
+ 0xc0, 0x6e, 0x2b, 0xd9, 0x2d, 0xcc, 0xd5, 0x68,
+ 0x95, 0x4a, 0x4a, 0x84, 0x60, 0x54, 0xee, 0xa0,
+ 0x21, 0x9e, 0x8d, 0x20, 0xcb, 0xe8, 0xc5, 0x5a,
+ 0xba, 0xe2, 0xaa, 0x6e, 0x1c, 0xb1, 0xdf, 0x18,
+ 0x9f, 0x94, 0xc7, 0x77, 0x5a, 0x2c, 0x0e, 0x05,
+ 0xaa, 0x2a, 0x54, 0x58, 0x6c, 0xb3, 0x2e, 0x2f,
+ 0xa4, 0x6e, 0x98, 0xbb, 0x6f, 0x41, 0x6d, 0xbd,
+ 0x71, 0x95, 0xe4, 0xbc, 0x13, 0x37, 0x99, 0x0d,
+ 0xac, 0x27, 0x69, 0xb9, 0x0b, 0x14, 0x5f, 0x6e,
+ 0xd2, 0x2b, 0xe2, 0x0c, 0xc6, 0xbc, 0x10, 0x11,
+ 0x47, 0xb7, 0x37, 0x2c, 0x0e, 0x88, 0xcd, 0xbb,
+ 0xf7, 0x28, 0xd6, 0x4a, 0x9d, 0xff, 0x3c, 0x2f,
+ 0x7d, 0x2b, 0xe8, 0xe8, 0x9e, 0xae, 0x7b, 0xe6,
+ 0x2a, 0xb3, 0x4e, 0x20, 0xcc, 0xf1, 0x81, 0x8e,
+ 0xed, 0x6d, 0xe2, 0x99, 0xf5, 0xb5, 0x1a, 0x30,
+ 0x95, 0x52, 0x34, 0xf5, 0x3f, 0xc3, 0x31, 0xd6,
+ 0xbe, 0xa2, 0xc8, 0xdc, 0xe4, 0x1c, 0xf6, 0x0f,
+ 0x4d, 0x0b, 0x89, 0x8e, 0x66, 0x93, 0x88, 0xb8,
+ 0xad, 0xbc, 0xdc, 0x96, 0x01, 0x9f, 0x16, 0x70,
+ 0xf5, 0x4f, 0xa4, 0x0e, 0x0f, 0xc3, 0xf6, 0x9c,
+ 0xe1, 0xa1, 0xe3, 0xec, 0x9d, 0x09, 0xcd, 0x90,
+ 0x52, 0x26, 0x09, 0xd9, 0x9c, 0xde, 0xbd, 0xdf,
+ 0xbb, 0xf4, 0x50, 0xd1, 0x89, 0x68, 0xf6, 0x86,
+ 0x53, 0x33, 0x5a, 0xf6, 0x54, 0xb5, 0x7c, 0xe1,
+ 0xd7, 0x8d, 0xb8, 0x58, 0xf5, 0xda, 0x14, 0xc8,
+ 0x35, 0x1c, 0xcf, 0x44, 0x62, 0xbc, 0xd7, 0xe3,
+ 0xd8, 0x32, 0xcf, 0x16, 0xf5, 0x2f, 0x55, 0x23,
+ 0xc0, 0x1b, 0xc4, 0xe3, 0x28, 0xc8, 0xc8, 0x97,
+ 0x70, 0x8b, 0x06, 0x98, 0xfb, 0xf6, 0x33, 0x6b,
+ 0x86, 0x1c, 0xdb, 0x2a, 0x3c, 0x08, 0x08, 0x57,
+ 0xd3, 0x4a, 0xf8, 0x22, 0x26, 0x78, 0x65, 0x5f,
+ 0xa6, 0xf8, 0x9f, 0x22, 0x76, 0x62, 0xb0, 0x08,
+ 0x68, 0x70, 0xea, 0x72, 0x57, 0x6b, 0xe7, 0xf7,
+ 0xc6, 0x12, 0x9a, 0x49, 0x50, 0xa9, 0xa5, 0x6c,
+ 0xe7, 0xda, 0xb4, 0xbf, 0xb6, 0xbf, 0x4f, 0xdf,
+ 0x9e, 0x9b, 0xb4, 0xb3, 0x8d, 0x1a, 0x12, 0x16,
+ 0x68, 0xd2, 0x63, 0xae, 0x92, 0x77, 0x1f, 0x03,
+ 0xa5, 0xed, 0x58, 0x3b, 0xe9, 0x0b, 0xfe, 0xfc,
+ 0xae, 0x53, 0x0b, 0x5f, 0x13, 0xf2, 0xd2, 0xe2,
+ 0x0b, 0xec, 0x75, 0x85, 0x68, 0x0c, 0x57, 0xde,
+ 0x1b, 0x6d, 0x78, 0x0b, 0x19, 0x66, 0xa8, 0xf5,
+ 0x45, 0x72, 0x2b, 0x01, 0x06, 0xf6, 0xd1, 0x47,
+ 0x21, 0x24, 0x07, 0xf7, 0x71, 0x03, 0xbc, 0xb0,
+ 0x7c, 0x5b, 0x5c, 0x24, 0xff, 0x74, 0x47, 0x62,
+ 0x81, 0xc3, 0x0b, 0x31, 0x76, 0x90, 0x5b, 0xef,
+ 0x95, 0xa8, 0xa7, 0x02, 0xa1, 0xbf, 0xe1, 0xf4,
+ 0x16, 0x06, 0x8a, 0x97, 0x39, 0x35, 0xcf, 0xf3,
+ 0xa7, 0x4a, 0x43, 0xba, 0x05, 0x95, 0x7d, 0x73,
+ 0x76, 0x7a, 0x53, 0xef, 0xf8, 0x4e, 0xcb, 0x04,
+ 0x70, 0x4c, 0xee, 0xff, 0x82, 0xbd, 0xcd, 0xc1,
+ 0xbe, 0x3d, 0x83, 0x71, 0x03, 0xf0, 0xc0, 0x2b,
+ 0x98, 0xf9, 0x60, 0x54, 0x02, 0x7d, 0xa6, 0x41,
+ 0xcc, 0xa3, 0xd7, 0x8d, 0xfd, 0xce, 0x28, 0xae,
+ 0x0f, 0x48, 0x17, 0x2a, 0xaf, 0xe9, 0xb9, 0x4a,
+ 0x8a, 0x22, 0xd2, 0x4d, 0xd3, 0x1b, 0xa3, 0x39,
+ 0x88, 0x8a, 0x8f, 0x5b, 0x44, 0x97, 0xb9, 0x04,
+ 0x1b, 0x58, 0x67, 0x74, 0x2f, 0x07, 0x7a, 0x52,
+ 0xa9, 0x9d, 0xa4, 0x41, 0x28, 0xf2, 0x35, 0xca,
+ 0x68, 0x4e, 0x4a, 0x3a, 0x66, 0xb9, 0x88, 0x2e,
+ 0x65, 0x1d, 0x47, 0x04, 0xed, 0xdb, 0xe1, 0x40,
+ 0x12, 0x06, 0x13, 0x62, 0x28, 0x3d, 0x0b, 0x35,
+ 0x06, 0xc6, 0x2b, 0xb3, 0x71, 0x3c, 0xfa, 0x77,
+ 0xec, 0x47, 0x93, 0x78, 0x36, 0x25, 0x19, 0xd7,
+ 0x70, 0x30, 0x8a, 0x4c, 0x94, 0xdc, 0x3e, 0xeb,
+ 0x61, 0x25, 0xbc, 0xa0, 0x27, 0xd9, 0x17, 0xa5,
+ 0x19, 0x4f, 0xf4, 0x93, 0x32, 0x56, 0x9a, 0x0b,
+ 0x77, 0xb4, 0x55, 0x1b, 0x8f, 0x9e, 0x69, 0x5b,
+ 0xe2, 0x6d, 0x70, 0x15, 0x79, 0x5c, 0xf6, 0xb6,
+ 0x04, 0xa2, 0x01, 0x37, 0x74, 0x20, 0xb8, 0x62,
+ 0xf6, 0x37, 0x3c, 0xab, 0xca, 0x71, 0xa5, 0x8a,
+ 0x56, 0x5d, 0x6a, 0x4a, 0x61, 0x2e, 0xb8, 0x62,
+ 0x7d, 0x47, 0x34, 0x7d, 0xcd, 0x4d, 0x70, 0x23,
+ 0xf5, 0xaa, 0xd1, 0xa5, 0xf0, 0x4c, 0x38, 0xc3,
+ 0x98, 0x79, 0x4c, 0x0b, 0x6b, 0xcc, 0xe7, 0xd7,
+ 0x09, 0xae, 0x23, 0x9b, 0x2f, 0xde, 0x70, 0xc6,
+ 0xad, 0x0f, 0x66, 0xb5, 0x78, 0x6b, 0x0b, 0xb0,
+ 0x2e, 0x94, 0xf2, 0xa8, 0x8b, 0x74, 0xf0, 0x03,
+ 0x47, 0xd8, 0xec, 0xe8, 0x1f, 0xa3, 0x7b, 0x38,
+ 0x9e, 0x0e, 0xc0, 0x47, 0xd2, 0x0f, 0x8e, 0x7f,
+ 0xb1, 0x83, 0xd3, 0x86, 0x79, 0x3c, 0xa1, 0xae,
+ 0xc4, 0xaf, 0xae, 0x9d, 0x83, 0xc0, 0xd1, 0x2b,
+ 0x2b, 0xda, 0x50, 0x8c, 0xea, 0x41, 0x97, 0x9b,
+ 0x0f, 0x15, 0xc2, 0xe2, 0x8f, 0x39, 0x0b, 0x92,
+ 0xdd, 0xde, 0x52, 0x62, 0x74, 0xdc, 0xda, 0x11,
+ 0x87, 0x4d, 0xa9, 0x4a, 0xc5, 0x2f, 0xae, 0xaf,
+ 0xc1, 0xc3, 0x05, 0xfa, 0x38, 0xcc, 0x5c, 0xb1,
+ 0x9f, 0xe0, 0x82, 0x90, 0xb3, 0xd5, 0xdc, 0xf4,
+ 0x55, 0xdb, 0xea, 0x94, 0x06, 0x7c, 0x2c, 0x82,
+ 0x78, 0xeb, 0xa5, 0x01, 0xf0, 0x3d, 0x4b, 0x87,
+ 0xdd, 0xd5, 0x91, 0x4f, 0xf3, 0xa7, 0xdf, 0xa1,
+ 0xd8, 0x31, 0xde, 0x05, 0x99, 0x67, 0x3d, 0xa4,
+ 0x6b, 0x19, 0xa3, 0xe8, 0x55, 0xb7, 0xf5, 0xc3,
+ 0x63, 0x5e, 0xd4, 0x38, 0xf9, 0x24, 0x64, 0x7d,
+ 0x17, 0xc1, 0x07, 0xbe, 0x39, 0x54, 0x1b, 0x44,
+ 0xe5, 0xc6, 0x3c, 0x02, 0xb1, 0x6f, 0xff, 0x8c,
+ 0xcb, 0x79, 0xe2, 0xec, 0x4d, 0x01, 0xfa, 0x7f,
+ 0x88, 0x1d, 0xc3, 0x4c, 0x6a, 0xfb, 0x0b, 0xc6,
+ 0x57, 0xc3, 0xd8, 0x24, 0x47, 0x41, 0xbd, 0x27,
+ 0xc4, 0xd4, 0x49, 0xfb, 0x52, 0xe6, 0x77, 0x5f,
+ 0x0a, 0xdf, 0xea, 0xd5, 0xd3, 0x22, 0xc3, 0x53,
+ 0x16, 0xf3, 0x1b, 0x7b, 0x09, 0xd7, 0x10, 0x0e,
+ 0x23, 0xae, 0x16, 0x8a, 0x93, 0xcb, 0xc9, 0xb7,
+ 0xb8, 0xff, 0xd2, 0x50, 0x1f, 0x25, 0xa7, 0x71,
+ 0x8f, 0x3f, 0xc0, 0xe1, 0x37, 0x10, 0x0b, 0x43,
+ 0x6e, 0x2b, 0x16, 0x59, 0x8f, 0x77, 0x77, 0x6b,
+ 0x77, 0xce, 0x76, 0x6b, 0x37, 0x81, 0xaf, 0x83,
+ 0x42, 0x92, 0x93, 0xe5, 0x39, 0xca, 0xd2, 0x20,
+ 0x2e, 0xcf, 0x24, 0x26, 0x4c, 0x51, 0x1c, 0x58,
+ 0xc5, 0x8d, 0x05, 0x11, 0xdf, 0xae, 0x51, 0x38,
+ 0xde, 0xab, 0x4e, 0x04, 0xc8, 0x24, 0x24, 0x0d,
+ 0xd5, 0x9c, 0x5b, 0x2b, 0xe6, 0x0d, 0x83, 0x95,
+ 0xcd, 0x1c, 0x89, 0xa1, 0xaf, 0x67, 0x47, 0xfb,
+ 0x08, 0x02, 0xf8, 0x8b, 0x63, 0x05, 0x73, 0x20,
+ 0x64, 0xd7, 0x52, 0x15, 0xa4, 0x5d, 0x63, 0x73,
+ 0x73, 0x12, 0x0b, 0xdd, 0xfe, 0x9f, 0xb7, 0xe8,
+ 0xa8, 0x94, 0x3a, 0x86, 0xff, 0xcf, 0x7d, 0x24,
+ 0xbd, 0xb9, 0xea, 0x68, 0x23, 0xf4, 0x07, 0xc3,
+ 0xfe, 0x63, 0xd0, 0xab, 0x65, 0x8a, 0xf0, 0x6d,
+ 0x81, 0x8c, 0xc8, 0x0e, 0xc6, 0x6b, 0xdd, 0x2e,
+ 0x65, 0x9b, 0x17, 0xcf, 0x82, 0x69, 0x46, 0xba,
+ 0x62, 0x5d, 0x31, 0x33, 0x60, 0x18, 0x94, 0xa5,
+ 0x77, 0x24, 0xc6, 0x45, 0xe5, 0xb3, 0xd5, 0x12,
+ 0x10, 0xc9, 0x22, 0x98, 0xf9, 0xca, 0x20, 0x89,
+ 0x79, 0x04, 0x08, 0xf5, 0x1c, 0xf8, 0x50, 0x8c,
+ 0x25, 0xaa, 0x90, 0x90, 0x44, 0xbc, 0xfb, 0x5d,
+ 0x3f, 0xf8, 0x38, 0x64, 0xca, 0x8d, 0xff, 0x17,
+ 0xce, 0x70, 0x51, 0x90, 0x75, 0x6b, 0x7d, 0x64,
+ 0x43, 0x56, 0xcd, 0xf8, 0x85, 0x93, 0x65, 0x09,
+ 0x81, 0x30, 0x76, 0x79, 0xcc, 0xdf, 0x9c, 0x6d,
+ 0xff, 0x89, 0x38, 0x60, 0xbf, 0x07, 0xcb, 0x2f,
+ 0xc9, 0x87, 0xd7, 0xac, 0x74, 0x19, 0x57, 0x90,
+ 0x5e, 0x69, 0x61, 0xf6, 0xca, 0xea, 0x45, 0x6b,
+ 0xe2, 0xfe, 0x2c, 0xff, 0x1b, 0x23, 0x15, 0x52,
+ 0xdd, 0x57, 0xfe, 0x1d, 0x10, 0xea, 0x0f, 0xce,
+ 0x98, 0xe7, 0x47, 0x27, 0xec, 0x36, 0xe5, 0x68,
+ 0x17, 0xcf, 0xdc, 0xb9, 0xef, 0x6a, 0xbc, 0xec,
+ 0x78, 0x08, 0x64, 0x06, 0xe1, 0x1c, 0xc6, 0x87,
+ 0xd6, 0x0a, 0xb1, 0x81, 0xc6, 0xb6, 0xf8, 0x8b,
+ 0xe3, 0x19, 0x8c, 0xce, 0x46, 0x40, 0xc5, 0xc2,
+ 0xae, 0x50, 0x26, 0x4a, 0x90, 0x91, 0x8d, 0xfe,
+ 0x6b, 0x7d, 0x0a, 0x54, 0x4a, 0x4b, 0x48, 0x74,
+ 0x4a, 0x37, 0x21, 0x7f, 0xdd, 0x87, 0xa3, 0x1e,
+ 0xac, 0xcd, 0xf5, 0x9e, 0x75, 0xa2, 0x52, 0x63,
+ 0x76, 0xca, 0x9e, 0x02, 0xeb, 0xe6, 0xa6, 0x73,
+ 0xad, 0xea, 0xe8, 0x3e, 0x6f, 0x44, 0xed, 0xe8,
+ 0x01, 0x29, 0x19, 0x6a, 0x20, 0x35, 0xa7, 0xf0,
+ 0xf1, 0xaf, 0xc0, 0x3b, 0xb1, 0xd5, 0xe4, 0xfb,
+ 0xf7, 0xd7, 0x2f, 0x33, 0x6c, 0x73, 0xfd, 0xe5,
+ 0x5c, 0x63, 0xf6, 0x1c, 0x06, 0x13, 0xaf, 0xc1,
+ 0x80, 0x55, 0x07, 0xae, 0x8c, 0x13, 0x74, 0xf6,
+ 0xe0, 0x54, 0x15, 0xd8, 0xe0, 0xa5, 0x03, 0xcf,
+ 0x22, 0xbe, 0x18, 0xef, 0x26, 0xad, 0x9c, 0x9d,
+ 0x51, 0xb1, 0x3b, 0x37, 0x03, 0xbf, 0xf0, 0xc5,
+ 0xcb, 0x6c, 0x5d, 0x30, 0xa9, 0x5a, 0x10, 0x90,
+ 0xfa, 0xb4, 0xd4, 0x0e, 0x6b, 0x4a, 0x0a, 0x6c,
+ 0x9d, 0x2e, 0x69, 0xe8, 0xec, 0x69, 0xe2, 0x50,
+ 0xab, 0x2f, 0xdc, 0xff, 0xaf, 0xac, 0x65, 0xe7,
+ 0xf0, 0xc1, 0x6f, 0x7c, 0x2d, 0xa1, 0xeb, 0x97,
+ 0x90, 0x7c, 0x1e, 0xa8, 0x53, 0x1b, 0x87, 0xc5,
+ 0xa9, 0xa1, 0xcf, 0x86, 0x7e, 0x11, 0xf8, 0xd6,
+ 0x14, 0xda, 0x19, 0x81, 0x19, 0xb4, 0x45, 0x1c,
+ 0x7c, 0xb9, 0x96, 0xa2, 0xac, 0x79, 0x24, 0x94,
+ 0x7c, 0xb2, 0x1e, 0x83, 0xea, 0xc4, 0xb9, 0xd2,
+ 0x0d, 0x4c, 0x55, 0x3d, 0x15, 0x7b, 0x65, 0xd8,
+ 0xff, 0x03, 0x5d, 0xed, 0x3c, 0x94, 0x76, 0x19,
+ 0x40, 0x3b, 0xcc, 0x45, 0xbe, 0x91, 0x19, 0x8c,
+ 0x75, 0xe5, 0xd2, 0xbe, 0x67, 0x40, 0xb1, 0x67,
+ 0x8e, 0x2a, 0x34, 0xd5, 0x99, 0xee, 0xd9, 0x4f,
+ 0x89, 0x7c, 0xf0, 0xd6, 0x93, 0x59, 0x4b, 0x3a,
+ 0x8d, 0xe6, 0xbd, 0xde, 0xce, 0xef, 0x8b, 0x3c,
+ 0xe3, 0xf7, 0x06, 0x33, 0x27, 0x8d, 0xd9, 0x22,
+ 0x1a, 0x65, 0x40, 0xfc, 0x69, 0x1b, 0x7d, 0xf0,
+ 0xed, 0xe4, 0xe0, 0x7f, 0x6d, 0x23, 0xed, 0x11,
+ 0xd1, 0x07, 0xb0, 0x2f, 0x8a, 0xbf, 0x51, 0x37,
+ 0x22, 0x04, 0xed, 0x93, 0xea, 0x1d, 0x0b, 0x30,
+ 0x15, 0x89, 0x22, 0x7a, 0x45, 0x56, 0x99, 0xc6,
+ 0xac, 0xd6, 0xce, 0x61, 0xea, 0xb2, 0x59, 0xe8,
+ 0xb5, 0xfc, 0x87, 0xa7, 0xfe, 0x09, 0xa2, 0x0d,
+ 0x5e, 0xbe, 0xb9, 0xd4, 0x9a, 0x1b, 0x60, 0xda,
+ 0xb9, 0x32, 0xf1, 0x30, 0x3e, 0xb2, 0x45, 0x6d,
+ 0x55, 0x0c, 0x2c, 0x4b, 0x9a, 0xc0, 0xbb, 0x8e,
+ 0xac, 0x9c, 0x95, 0x5f, 0x08, 0x88, 0xa0, 0x53,
+ 0x05, 0x75, 0x8d, 0x9e, 0x9d, 0x3f, 0x0f, 0xdd,
+ 0x50, 0x0d, 0xf8, 0x11, 0xbd, 0xf9, 0xfb, 0x22,
+ 0x5c, 0x7b, 0x9e, 0x7c, 0x8e, 0x2f, 0x0e, 0xdb,
+ 0xb8, 0x1d, 0x0c, 0x5e, 0x82, 0xf3, 0x8e, 0xec,
+ 0x32, 0x1c, 0x59, 0x73, 0xa5, 0xf3, 0x5b, 0x47,
+ 0x00, 0x64, 0x89, 0x68, 0x3b, 0xaf, 0xe8, 0xe2,
+ 0x9b, 0xa6, 0xac, 0x2c, 0xf9, 0x2b, 0x92, 0xf3,
+ 0xf0, 0x5b, 0xcc, 0x75, 0x22, 0xd5, 0xf4, 0x2b,
+ 0x06, 0x96, 0xc8, 0x50, 0xee, 0xac, 0x62, 0x16,
+ 0x45, 0x9e, 0xbc, 0xcc, 0x8f, 0x5a, 0x66, 0xc6,
+ 0x30, 0x7c, 0xe0, 0x22, 0xcc, 0xb9, 0xda, 0x0b,
+ 0x0a, 0xbd, 0x2a, 0x2e, 0x46, 0x7d, 0xb6, 0x86,
+ 0x70, 0xa3, 0x16, 0x49, 0x85, 0x28, 0x7b, 0xe9,
+ 0x00, 0x6b, 0xfa, 0x06, 0xb0, 0xeb, 0xbd, 0x67,
+ 0x28, 0x6f, 0x27, 0xd7, 0x9c, 0x7f, 0xda, 0xec,
+ 0xf4, 0x7e, 0x55, 0xe1, 0x0c, 0x29, 0x61, 0x7a,
+ 0xf5, 0xb6, 0xb8, 0xa5, 0xef, 0x36, 0x6a, 0xad,
+ 0x59, 0x22, 0xbd, 0x3d, 0xad, 0x86, 0xe7, 0x4c,
+ 0x69, 0x26, 0x0f, 0xbf, 0x67, 0xad, 0x65, 0x32,
+ 0xbd, 0x21, 0xd6, 0x59, 0x6b, 0xe3, 0xda, 0xc1,
+ 0x6f, 0x82, 0x41, 0x2c, 0xaa, 0xe4, 0x8c, 0xfc,
+ 0x7c, 0x61, 0x28, 0x51, 0x52, 0x3d, 0xf1, 0x84,
+ 0xb5, 0x0b, 0xfd, 0x1f, 0x2a, 0x06, 0x2e, 0x30,
+ 0xed, 0x63, 0x43, 0xc9, 0x83, 0x97, 0xb1, 0xd4,
+ 0x80, 0x6f, 0x2c, 0x50, 0xec, 0x20, 0x95, 0x42,
+ 0xa0, 0x34, 0x94, 0x1a, 0xa9, 0x5e, 0x5b, 0x59,
+ 0xe3, 0x39, 0xac, 0xbd, 0x2f, 0x77, 0x36, 0x59,
+ 0x9c, 0xc3, 0x3c, 0x66, 0x87, 0xf5, 0x81, 0x4b,
+ 0xb0, 0x10, 0x4a, 0xe6, 0x46, 0xe7, 0xce, 0x93,
+ 0x7b, 0x24, 0x6b, 0x2e, 0xc1, 0xe5, 0xaf, 0x4b,
+ 0x71, 0x22, 0xad, 0x88, 0xda, 0x55, 0xcb, 0xe0,
+ 0x73, 0xd1, 0x65, 0x7d, 0xa5, 0x7f, 0x36, 0xbc,
+ 0x42, 0xc2, 0x78, 0x9f, 0x88, 0xe8, 0xdb, 0xff,
+ 0x8a, 0x5a, 0x80, 0x34, 0x3a, 0x23, 0x4c, 0x8a,
+ 0x81, 0xff, 0xbd, 0xb7, 0x88, 0xd0, 0x73, 0x07,
+ 0x8a, 0x4e, 0xa7, 0x4a, 0x61, 0x0f, 0x1f, 0x1c,
+ 0xe7, 0x34, 0x37, 0x1c, 0x53, 0x90, 0x3b, 0xa4,
+ 0x32, 0x6c, 0x6d, 0xe8, 0x00, 0xde, 0xe0, 0x0c,
+ 0x5e, 0x06, 0xef, 0xb8, 0x48, 0x2e, 0xb3, 0xda,
+ 0xac, 0x92, 0x4d, 0x0d, 0x95, 0x75, 0x44, 0x01,
+ 0x6f, 0x97, 0xc3, 0x29, 0x76, 0x33, 0x36, 0x9a,
+ 0xae, 0xfb, 0x1b, 0x43, 0xe5, 0xb1, 0x54, 0x3a,
+ 0x9c, 0x76, 0x7f, 0x76, 0x83, 0xc9, 0x9c, 0xd6,
+ 0x56, 0x59, 0x83, 0xa9, 0xde, 0xd7, 0xb0, 0xf3,
+ 0x34, 0x11, 0x31, 0x06, 0x8e, 0xe9, 0xd4, 0x79,
+ 0xd5, 0x3d, 0x31, 0x6b, 0x59, 0xe9, 0x54, 0x69,
+ 0x12, 0xfd, 0x44, 0x59, 0x4e, 0x1b, 0x3b, 0xb4,
+ 0x12, 0xe9, 0xfb, 0xb0, 0xb4, 0x84, 0xb9, 0x7d,
+ 0xea, 0x4f, 0xd1, 0x5f, 0xd0, 0x3e, 0xce, 0xef,
+ 0x5c, 0xf7, 0xea, 0x55, 0xa0, 0x8f, 0xa8, 0xa7,
+ 0x98, 0xe7, 0xa1, 0x6b, 0x3f, 0xba, 0x5a, 0x32,
+ 0x4b, 0xfa, 0x31, 0xb6, 0x63, 0x86, 0x19, 0x00,
+ 0xa2, 0x6d, 0x7d, 0x15, 0x56, 0x05, 0x68, 0xa3,
+ 0xe0, 0xf3, 0xd4, 0x82, 0xcf, 0xeb, 0xd4, 0x1c,
+ 0xd0, 0xb6, 0x14, 0x5e, 0x9e, 0x6b, 0xed, 0x7a,
+ 0x02, 0x1a, 0xcd, 0x09, 0xdc, 0x26, 0x98, 0x50,
+ 0x11, 0x34, 0x39, 0x50, 0x5a, 0x70, 0x79, 0x85,
+ 0xca, 0xd2, 0xf2, 0x0c, 0x0d, 0x12, 0x1f, 0x2e,
+ 0x41, 0x46, 0x51, 0x72, 0x75, 0x78, 0x8c, 0xa4,
+ 0xaf, 0xba, 0xca, 0xd3, 0xdf, 0xea, 0xf8, 0x09,
+ 0x0b, 0x36, 0x45, 0x4f, 0x77, 0x83, 0xae, 0xbc,
+ 0xc5, 0xce, 0xe1, 0xf6, 0x1d, 0x1e, 0x38, 0x56,
+ 0x9c, 0x9f, 0xb1, 0xbd, 0xda, 0xe7, 0xf0, 0xf4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0b, 0x1f, 0x2c, 0x38,
+ },
+ },
--
2.51.2
next prev parent reply other threads:[~2025-11-20 0:39 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-20 0:36 [PATCH 0/4] lib/crypto: ML-DSA verification support Eric Biggers
2025-11-20 0:36 ` [PATCH 1/4] lib/crypto: Add " Eric Biggers
2025-11-20 8:14 ` David Howells
2025-11-21 2:15 ` Eric Biggers
2025-11-20 9:10 ` David Howells
2025-11-21 0:09 ` Eric Biggers
2025-11-20 13:55 ` David Howells
2025-11-21 0:50 ` Eric Biggers
2025-11-21 12:41 ` David Howells
2025-11-21 17:14 ` Eric Biggers
2025-11-21 17:41 ` David Howells
2025-11-25 4:29 ` Eric Biggers
2025-11-21 21:39 ` David Howells
2025-11-21 22:23 ` Eric Biggers
2025-11-21 22:29 ` Lukas Wunner
2025-11-21 22:48 ` Eric Biggers
2025-11-29 20:00 ` Becker, Hanno
2025-11-30 0:19 ` Eric Biggers
2025-11-30 1:05 ` Jason A. Donenfeld
2025-11-30 7:15 ` Becker, Hanno
2025-11-30 19:06 ` Eric Biggers
2025-11-20 0:36 ` Eric Biggers [this message]
2025-11-20 2:29 ` [PATCH 2/4] lib/crypto: tests: Add KUnit tests for ML-DSA Elliott, Robert (Servers)
2025-11-20 0:36 ` [PATCH 3/4] lib/crypto: tests: Add ML-DSA-65 test cases Eric Biggers
2025-11-20 0:36 ` [PATCH 4/4] lib/crypto: tests: Add ML-DSA-87 " Eric Biggers
2025-11-20 8:11 ` [PATCH 0/4] lib/crypto: ML-DSA verification support David Howells
2025-11-21 6:16 ` Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251120003653.335863-3-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=Jason@zx2c4.com \
--cc=ardb@kernel.org \
--cc=da.gomez@kernel.org \
--cc=dhowells@redhat.com \
--cc=herbert@gondor.apana.org.au \
--cc=ignat@cloudflare.com \
--cc=keyrings@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mcgrof@kernel.org \
--cc=petr.pavlu@suse.com \
--cc=samitolvanen@google.com \
--cc=smueller@chronox.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.