Hi all,
The Cryptographic Algorithm Validation Program has finished work on ML-DSA external interface testing. Attached is a complete set of test vectors, and a set of intermediate values for ML-DSA SigGen. We will be working to publish this on CSRC and to the test platform, ACVTS soon. Also included is a file that steps through a series of runs on just the external interface with intermediate values. This covers every hash supported by NIST, with the OIDs. Lastly, this includes testing for what we’ve called the “external mu computation” option of ML-DSA. This allows mu to be computed in full externally to the module and provided to the internal signature interface. This is included in the test vector JSON files only, this should be easy to reconstruct using existing intermediate values for ML-DSA SigGen.
For those unfamiliar with the CAVP file formats, the prompt.json file contains properties describing a series of tests within a test group, labeled with a test group identifier, tgId. Individual inputs are provided as test cases, labeled with a test case identifier, tcId. The expectedResults.json contains the outputs associated with the prompt.json. In other words, tcId 1 from the prompt.json will produce the content in tcId 1 from the expectedResults.json. Both sets are combined in the internalProjection.json, also identified with a tcId.
Please let me know if you have any questions. I’ll be sure to upload a full set of files for CSRC. The files are a bit large, hopefully the forum lets these through.
I will be working on SLH-DSA to include testing for the external interfaces next week.
Thanks,
Chris Celi
CAVP Program Manager
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CO6PR09MB75916EB937659733BAD07DBEF02E2%40CO6PR09MB7591.namprd09.prod.outlook.com.
<ml-dsa-intermediate-values.zip><ML-DSA-SigGen.zip>
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/056A9F2B-ACAC-4D1B-8500-5D704ED48ED5%40icloud.com.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/8abc10f9-ce39-4614-8aef-80cfeb5da185n%40list.nist.gov.
Hello,
Non-deterministic tests don't work for me as well.
Additionally, small nit - looking at registration.json it seems
"preHash" capability it
should have exactly 2 options:
But some KATs set preHash to third value "none", i.e.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/8abc10f9-ce39-4614-8aef-80cfeb5da185n%40list.nist.gov.
2024年11月26日 22:28,Markku-Juhani O. Saarinen <mjos....@gmail.com> 写道:
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/8abc10f9-ce39-4614-8aef-80cfeb5da185n%40list.nist.gov.
The externalMu option has to do with line 6 and 7 of Algorithm 7 ML-DSA.Sign_internal from FIPS-204 - NIST intends to allow the message representation (i.e. mu) to be computed externally.Hence externalMu. Hope that helps Markku.
Thank you. Output was too large for my IDE. I will update this when we go to CSRC ideally next week.
All OIDs are defined, and you can find them in the external-interface-intermediate-values.txt file.
Thanks,
Chris
Correct. I set the hash security strength filter too low on ML-DSA-44. It should be correct for the others. Just ignore those test cases, and this will be fixed when we go to CSRC.
FIPS 204 does state that hash functions that provide less than lambda security strength for collision resistance and second pre-image resistance are not allowed to be used. This sets the lower bound for ML-DSA-44 at SHA2-256 or stronger.
Thanks,
Chris
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/55bf022c-5547-422e-94c3-e46d75acadefn%40list.nist.gov.
When externalMu is specified, you provide it to something running the internal interface because it is assumed that the external portion would be taken care of by the entity computing mu.
I will look at the non-deterministic aspect of the test vectors. I appreciate the active community here. It has passed all of our regression tests so I’m guessing it is something more around the construction of the JSON than the cryptography itself. I will likely not have something for you all this week given the holiday in the US.
Thanks,
Chris
From:
Markku-Juhani O. Saarinen <mjos....@gmail.com>
Date: Tuesday, November 26, 2024 at 9:28
AM
Thanks. This would mean preHash is not relevant, but we should be excluding the property entirely in that case.
Thanks,
Chris
From:
pqc-...@list.nist.gov <pqc-...@list.nist.gov> on behalf of Kris Kwiatkowski <kr...@amongbytes.com>
Date: Tuesday, November 26, 2024 at 9:42 AM
To: pqc-forum <pqc-...@list.nist.gov>
Subject: Re: [pqc-forum] External Interface Testing for ML-DSA
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/db56cc49-2733-496c-b5b0-68ba403ce6c3%40amongbytes.com.
On Nov 26, 2024, at 13:12, 'Celi, Christopher T. (Fed)' via pqc-forum <pqc-...@list.nist.gov> wrote:
I will look at the non-deterministic aspect of the test vectors.
I known so
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/41A23FB1-B27F-4CF7-8E61-26D764FCBC36%40oracle.com.