Example code files using CryptoSys PQC are available in the distribution.
They are installed by default in
C:\Program Files (x86)\CrSysPQC
and are reproduced below.
Alternatively use the Windows Start Key ⊞ > All > diCrPQC > Reference Files
C:\PROGRAM FILES (X86)\CRSYSPQC +---C +---Cpp +---DotNet +---PyNist \---X64
PyNist
sub-directory of the distribution or in this zip file PyNist.zip.
mldsa-keygen.py mldsa-sigGen.py mldsa-verify.py mlkem-encap-decap.py mlkem-keygen.py slhdsa-keygen.py slhdsa-sigGen.py slhdsa-verify.py mldsa-sigAssurance.py
mldsa-sigAssurance.py
carries out assurance tests for ML-DSA SigGen for correctness under both all rejection paths
and under a large number of rejection paths. These are provided in Table 1 and Table 2 of section 6.1.2 of
draft-celi-acvp-ml-dsa.html.
The NIST test vectors for the PQC algorithms are available at their
ACVP-Server GitHub site.
You want the file internalProjection.json
. Here are links to files we used (accessed 2025-04-29).
These can be downloaded as a convenient zip file ACVP-pqc-json.zip (46 MB) [NIST-licence].
"preHash"
flag is set.
Pass the ph
value to the SignPreHash/VerifyPreHash function instead of the message
along with the hashAlg
.
ACVP-pqc-json.zip
file above. Example extract:
"algorithm": "ML-DSA", "mode": "sigGen", "preHashes": { "107": { "tcId": 107, "messagelength": 7565, "hashAlg": "SHA2-224", "ph": "1e659ab398f8aa3db73ae099e2b4835d78f3ba4d514d678424e8287e" },
where ph = H(M)
where M is the message and H the prehash algorithm.
Each entry is keyed on the "tcId"
value in the NIST file internalProjection.json
.
See the code in test_DSA_json.cs
above.
To contact us or comment on this page, please send us a message.
This page last updated 8 July 2025
Comments