---
title: KEMOneTimePrivateKey
framework: cryptokit
role: symbol
role_heading: Protocol
path: cryptokit/kemonetimeprivatekey
---

# KEMOneTimePrivateKey

A one-time private key for a key encapsulation mechanism, which can only decapsulate once but it does so faster.

## Declaration

```swift
@preconcurrency protocol KEMOneTimePrivateKey : Sendable, ~Copyable
```

## Topics

### Associated Types

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

### Instance Properties

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

### Instance Methods

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

### Type Methods

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

## Relationships

### Inherits From

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

### Conforming Types

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