Generate + Encapsulate + Decapsulate
// Receiver:
dk, err := mlkem.GenerateKey768()
if err != nil { log.Fatal(err) }
pub := dk.EncapsulationKey().Bytes()
// Sender:
ek, _ := mlkem.NewEncapsulationKey768(pub)
ct, ss1 := ek.Encapsulate()
// Receiver recovers the shared secret:
ss2, _ := dk.Decapsulate(ct)
// ss1 == ss2