Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.crypto.hpke
Class KEM

    java.lang.Object
      org.bouncycastle.crypto.hpke.KEM

public abstract class KEM
extends java.lang.Object

Abstract base for HPKE Key Encapsulation Mechanisms per RFC 9180 §4.

Concrete subclass `DHKEM` implements the five DHKEM variants registered by RFC 9180 (P-256/P-384/P-521/X25519/X448). External implementations — e.g. post-quantum KEMs such as ML-KEM or the hybrid X25519+Kyber768 used by MLS — can be plugged in by subclassing this class and passing the instance to the constructor; the framework only requires: / — the basic KEM encapsulate / decapsulate pair returning . — a sender-supplied-ephemeral variant used by the OHTTP test vectors and any deterministic KAT. / — the authenticated variant used by / . / — fresh and deterministic key generation respectively. / / / — the KEM-specific wire encoding. — the byte-length of the output, used by the facade to allocate space.

Constructor Summary
`KEM()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### KEM

    public KEM()

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD