---
title: KEM
framework: cryptokit
role: symbol
role_heading: Enumeration
path: cryptokit/kem
---

# KEM

A key encapsulation mechanism.

## Declaration

```swift
enum KEM
```

## Overview

Overview Use a key encapsulation mechanism (KEM) to protect a symmetric cryptographic key that you share with another party.

## Topics

### Defining encapsulation outputs

- [KEM.EncapsulationResult](cryptokit/kem/encapsulationresult.md)

### Handling errors

- [KEM.Errors](cryptokit/kem/errors.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Key encapsulation mechanisms (KEM)

- [MLKEM768](cryptokit/mlkem768.md)
- [MLKEM1024](cryptokit/mlkem1024.md)
- [XWingMLKEM768X25519](cryptokit/xwingmlkem768x25519.md)
