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