Post-quantum
crypto for V
Key encapsulation and signature in pure V
import veil.mlkem // alice: generate a key pair dk := mlkem.DecapsulationKey.generate(.ml_kem_768)! ek := dk.encapsulation_key() // bob: encapsulate a shared secret ss_bob, ct := ek.encapsulate()! // alice: decapsulate ss_alice := dk.decapsulate(ct)! assert ss_alice == ss_bob // true
import veil.mldsa // generate a signing key pair sk := mldsa.PrivateKey.generate(.ml_dsa_65)! pk := sk.public_key() // sign a message msg := 'hello, post-quantum world'.bytes() sig := sk.sign(msg)! // verify assert pk.verify(msg, sig)! // true