CRYSTALS project (source code)

= CRYSTALS project
{c}

The <CRYSTALS project> developed the lattice-based designs <CRYSTALS-Kyber> and <CRYSTALS-Dilithium>. They solve different tasks: Kyber is a <key encapsulation mechanism>, while Dilithium provides <digital signatures>. Their compact representations use structured <polynomial> arithmetic and explicit <computational hardness assumptions>. Kyber's construction uses <module learning with errors>; Dilithium combines a <Fiat-Shamir transform> with response rejection. <ML-KEM> and <ML-DSA> are the corresponding standardized descendants, so a project submission and a final standard should be distinguished when choosing precise encodings or parameters.<Kyber documentation by CRYSTALS project>[Introduction and Scientific Background]{ref}<Dilithium documentation by CRYSTALS project>[Introduction and Scientific Background]{ref}