ACVP: test non-canonical ML-KEM keys. The existing ML-KEM ACVP fixture only covers valid encapsulation keys. Older NIST-generated invalid keys had unintended lengths, so they did not exercise rejection of non-canonical polynomial coefficients. Add a focused NIST demo fixture for ML-KEM-768 and ML-KEM-1024. Each parameter set includes a valid key and a correctly sized invalid key whose first coefficient is 3330, outside the canonical range 0 through 3328. The full response was accepted by the NIST demo server before trimming. Keep these cases separate from ML-KEM.bz2 so the regression stays explicit without replacing unrelated ML-KEM coverage. Change-Id: Ic31b4a843b53d8749a3cf3d6a6a56f777152a8de Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/101367 Reviewed-by: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: David Benjamin <davidben@google.com> SLSA-Policy-Verified: SLSA Policy Verification Service <devtools-gerritcodereview-exitgate@google.com>
diff --git a/util/fipstools/acvp/acvptool/test/expected/ML-KEM-encap-key-check.bz2 b/util/fipstools/acvp/acvptool/test/expected/ML-KEM-encap-key-check.bz2 new file mode 100644 index 0000000..5657e81 --- /dev/null +++ b/util/fipstools/acvp/acvptool/test/expected/ML-KEM-encap-key-check.bz2 Binary files differ
diff --git a/util/fipstools/acvp/acvptool/test/tests.json b/util/fipstools/acvp/acvptool/test/tests.json index b0fdd18..afc45cb 100644 --- a/util/fipstools/acvp/acvptool/test/tests.json +++ b/util/fipstools/acvp/acvptool/test/tests.json
@@ -28,6 +28,7 @@ {"Wrapper": "modulewrapper", "In": "vectors/ML-DSA.bz2", "Out": "expected/ML-DSA.bz2"}, {"Wrapper": "modulewrapper", "In": "vectors/ML-DSA-seed.bz2", "Out": "expected/ML-DSA-seed.bz2"}, {"Wrapper": "modulewrapper", "In": "vectors/ML-KEM.bz2", "Out": "expected/ML-KEM.bz2"}, +{"Wrapper": "modulewrapper", "In": "vectors/ML-KEM-encap-key-check.bz2", "Out": "expected/ML-KEM-encap-key-check.bz2"}, {"Wrapper": "modulewrapper", "In": "vectors/ML-KEM-seed.bz2", "Out": "expected/ML-KEM-seed.bz2"}, {"Wrapper": "modulewrapper", "In": "vectors/RSA.bz2", "Out": "expected/RSA.bz2"}, {"Wrapper": "modulewrapper", "In": "vectors/RSA-sigGen.bz2"},
diff --git a/util/fipstools/acvp/acvptool/test/vectors/ML-KEM-encap-key-check.bz2 b/util/fipstools/acvp/acvptool/test/vectors/ML-KEM-encap-key-check.bz2 new file mode 100644 index 0000000..2656190 --- /dev/null +++ b/util/fipstools/acvp/acvptool/test/vectors/ML-KEM-encap-key-check.bz2 Binary files differ