Note on the intermediate values for ML-KEM:
These test results were from an implementation of the 3 ML-KEMs in draft FIPS 203 with two specific changes:
In addition to the above, our implementation of Algorithm 13 uses a matrix variable "bHat" which is equal to the transpose of the matrix "aHat", i.e., bHat[j,i]=aHat[i,j]. This is done for convenience, and does not affect functionality.
Note on the intermediate values for ML-DSA:
We recognize that Table 2 of the draft FIPS 204 gives incorrect values for the sizes of the signature and private key. In addition, we note that the incorrect signature length is also reflected in the output description in Algorithm 2 and the input description
in Algorithm 3 (both in draft FIPS 204). The lengths of signatures and private keys in this Intermediate Values document are not consistent with these, but rather with what would be expected from following the steps of the pseudocode in draft FIPS 204.
--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 on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/SA1PR09MB86699A95198DEE116CE2EF6AE5A0A%40SA1PR09MB8669.namprd09.prod.outlook.com.
Hello Dustin,Thank you for producing these vectors, they are very useful and I was indeed in the process of producing similar ones myself.
Thanks for the questions and suggestions.
Yes, the random seeds provided are the same. This is just for convenience and not any practical purpose. The values are arbitrary.
The CAVP only included the “positive” cases for SigVer and Decapsulation. Obviously, these example test cases aren’t going to be the only thing the CAVP produces. They’re working on the test vector generation for our server which will be much more expansive but not provide intermediate values. These example cases should just be considered examples to help an implementation along, not a full proof that your implementation is correct.
Dustin