Thread (6 messages) 6 messages, 3 authors, 2026-01-20

Re: NIST FIPS test vector failures

From: Eric Biggers <ebiggers@kernel.org>
Date: 2026-01-19 18:51:55
Also in: lkml

On Mon, Jan 19, 2026 at 04:48:31PM +0000, David Howells wrote:
Hi Eric,

I'm trying out autogenerating X.509 and PKCS#7 tests from the NIST FIPS test
vectors here:

https://github.com/usnistgov/ACVP-Server/tree/master/gen-val/json-files/ML-DSA-sigVer-FIPS204

Unfortunately, all of them seem to fail, but I'm not sure why.  As far as I
can tell, test case (tcId) 174, for example, should pass, but does not.
Attached is a patch that adds that test case to the kunit test for ML-DSA for
you to try, skipping the X509/PKCS7 stuff and going direct to verification.
Could you have a look see if I've done anything obviously incorrect?
Have you checked which algorithm test case 174 is meant to test?  It's
in the following test group:

    {
      "tgId": 12,
      "testType": "AFT",
      "parameterSet": "ML-DSA-87",
      "signatureInterface": "internal",
      "externalMu": false,
      "tests": [

Given the "signatureInterface": "internal", it seems it's meant to test
ML-DSA.Verify_internal().  Currently, the kernel ML-DSA code only
supports the "external" interface, i.e. ML-DSA.Verify().  So that test
case isn't applicable to it.

- Eric
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help