Add support for PQC - CRYSTALS
Add support for post quantum cryptography. ref https://csrc.nist.gov/projects/post-quantum-cryptography https://pq-crystals.org/ https://github.com/pq-crystals/kyber
- CRYSTALS-KYBER
- CRYSTALS-DILITHIUM
Is this done?
Around this, there is an interesting note on page 80 of https://csrc.nist.gov/files/pubs/fips/203/ipd/docs/fips-203-initial-public-comments-2023.pdf
NIST removed the step to hash system randomness; see page 2, lines 309 to 314.
If you dump the raw system randomness into the KEM then you have a vulnerability to a backdoored system randomness ala Dual EC DRBG. It's easily solved by having a hashing layer between the KEM and system randomness, ala threadrng in Rust.
Appears that's not a concern: https://github.com/simplex-chat/simplexmq/blob/538dcb6a4c53e115655dc07266c4ff386d45511d/protocol/pqdr.md?plain=1#L210