---
title: KEMPrivateKey
framework: cryptokit
role: symbol
role_heading: Protocol
path: cryptokit/kemprivatekey
---

# KEMPrivateKey

The private key for a key encapsulation mechanism.

## Declaration

```swift
@preconcurrency protocol KEMPrivateKey : Sendable
```

## Topics

### Associated Types

- [PublicKey](cryptokit/kemprivatekey/publickey-swift.associatedtype.md)

### Instance Properties

- [publicKey](cryptokit/kemprivatekey/publickey-swift.property.md)

### Instance Methods

- [decapsulate(_:)](cryptokit/kemprivatekey/decapsulate(_:).md)

### Type Methods

- [generate()](cryptokit/kemprivatekey/generate().md)

## Relationships

### Inherits From

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

### Inherited By

- [HPKEKEMPrivateKey](cryptokit/hpkekemprivatekey.md)
- [HPKEKEMPrivateKeyGeneration](cryptokit/hpkekemprivatekeygeneration.md)

### Conforming Types

- [MLKEM1024.PrivateKey](cryptokit/mlkem1024/privatekey.md)
- [MLKEM768.PrivateKey](cryptokit/mlkem768/privatekey.md)
- [SecureEnclave.MLKEM1024.PrivateKey](cryptokit/secureenclave/mlkem1024/privatekey.md)
- [SecureEnclave.MLKEM768.PrivateKey](cryptokit/secureenclave/mlkem768/privatekey.md)
- [XWingMLKEM768X25519.PrivateKey](cryptokit/xwingmlkem768x25519/privatekey.md)

## See Also

### KEM keys

- [KEMPublicKey](cryptokit/kempublickey.md)
