mupq / pqm4

Post-quantum crypto library for the ARM Cortex-M4
284 stars 72 forks source link

Add CROSS #309

Closed mkannwischer closed 10 months ago

mkannwischer commented 10 months ago

Resolves https://github.com/mupq/pqm4/issues/265

This add CROSS from https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-1/submission-pkg/CROSS-submission.zip / https://www.cross-crypto.com/CROSS_submission_package.zip.

All relatively straightforward. Just had to replace the calls to AES, SHA2, and SHA3. There is just 1 weirdness: If I do not initialize the signature prior to calling CROSS_sign (https://github.com/mupq/mupq/blob/ea21ef587b69dc2a8072993174f646f24fca4f87/crypto_sign/cross-sha3-r-sdp-1-small/ref/sign.c#L52), then testvectors are failing for some parameter sets (e.g., cross-sha3-r-sdpg-1-small). So it seems that some bytes of the signature are not written which seems to be a bug.