A key encapsulation mechanism is a method for securely exchanging keys over an insecure channel.
$\mathcal{PK}$: Public key space (Set)
$\mathcal{SK}$: Secret key space (Set)
$\mathcal{C}$: Ciphertext space (Set)
$\mathcal{K}$: Key space (Set)
$ KeyGen : \rightarrow \mathcal{PK} \times \mathcal{SK} $
Generates a public and secret key pair.
$ Enc : \mathcal{PK} \rightarrow \mathcal{C} \times \mathcal{K} $
Encapsulates a fresh key using a public key.
$ Dec : \mathcal{SK} \times \mathcal{C} \rightarrow \mathcal{K} $
Decapulates the fresh key from a ciphertext using a secret key.