ECIESKEMExtractor (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.kems

## Class ECIESKEMExtractor

- java.lang.Object
- - org.bouncycastle.crypto.kems.ECIESKEMExtractor

- All Implemented Interfaces:
    EncapsulatedSecretExtractor

      public class ECIESKEMExtractor
      extends java.lang.Object
      implements EncapsulatedSecretExtractor

  The ECIES Key Encapsulation Mechanism (ECIES-KEM) from ISO 18033-2.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ECIESKEMExtractor(ECPrivateKeyParameters decKey, int keyLen, DerivationFunction kdf)` Set up the ECIES-KEM.
    `ECIESKEMExtractor(ECPrivateKeyParameters decKey, int keyLen, DerivationFunction kdf, boolean cofactorMode, boolean oldCofactorMode, boolean singleHashMode)` Set up the ECIES-KEM.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `extractSecret(byte[] encapsulation)` Extract the secret based on the recipient private key.
    `int` | `getEncapsulationLength()` Return the length in bytes of the encapsulation.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ECIESKEMExtractor

          public ECIESKEMExtractor(ECPrivateKeyParameters decKey,
                                   int keyLen,
                                   DerivationFunction kdf)

      Set up the ECIES-KEM.
      Parameters:
        `decKey` - the decryption key.
        `keyLen` - length in bytes of key to generate.
        `kdf` - the key derivation function to be used.

    - #### ECIESKEMExtractor

          public ECIESKEMExtractor(ECPrivateKeyParameters decKey,
                                   int keyLen,
                                   DerivationFunction kdf,
                                   boolean cofactorMode,
                                   boolean oldCofactorMode,
                                   boolean singleHashMode)

      Set up the ECIES-KEM.
      Parameters:
        `decKey` - the decryption key.
        `keyLen` - length in bytes of key to generate.
        `kdf` - the key derivation function to be used.
        `cofactorMode` - if true use the new cofactor ECDH.
        `oldCofactorMode` - if true use the old cofactor ECDH.
        `singleHashMode` - if true use single hash mode.

  - ### Method Detail

    - #### extractSecret

          public byte[] extractSecret(byte[] encapsulation)

      Description copied from interface: `EncapsulatedSecretExtractor`
      Extract the secret based on the recipient private key.
      Specified by:
        `extractSecret` in interface `EncapsulatedSecretExtractor`
      Parameters:
        `encapsulation` - the encapsulated secret.

    - #### getEncapsulationLength

          public int getEncapsulationLength()

      Description copied from interface: `EncapsulatedSecretExtractor`
      Return the length in bytes of the encapsulation.
      Specified by:
        `getEncapsulationLength` in interface `EncapsulatedSecretExtractor`
      Returns:
        length in bytes of an encapsulation for this parameter set.