cloudflare / circl

CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
http://blog.cloudflare.com/introducing-circl
Other
1.3k stars 144 forks source link

Add ML-DSA (FIPS204) #480

Closed bwesterb closed 1 month ago

bwesterb commented 8 months ago

Note There are no complete test vectors for FIPS 204 yet. I propose we'll wait for that before we merge this. (The ACVP test vectors only test ML-DSA.Sign_internal.)

Adds ML-DSA aka FIPS 204.

Tests against reference implementation and ACVP test vectors.

Keeps old Dilithium around in case it's used, but removes the AES modes.

Hooks Dilithium and ML-DSA into the generic signatures API. Removes the old Dilithium mode API.

Adds support for the ML-DSA randomised variant, but only via the package API — not generic signature API.

Does not add support for the HashML-DSA variants.

bwesterb commented 1 month ago

Q: is this compliant with ACVP test files?

Forgot to add tests. Done now. Should be good to merge (and squash.)

bwesterb commented 1 month ago

Rebased.