Package org.bouncycastle.crypto

## Interface KeyEncapsulation

- All Known Implementing Classes:
    `ECIESKeyEncapsulation`, `RSAKeyEncapsulation`

      public interface KeyEncapsulation

  The basic interface for key encapsulation mechanisms.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CipherParameters` | `decrypt​(byte[] in, int inOff, int inLen, int keyLen)` | Decapsulate an encapsulated session key.
    `CipherParameters` | `encrypt​(byte[] out, int outOff, int keyLen)` | Encapsulate a randomly generated session key.
    `void` | `init​(CipherParameters param)` | Initialise the key encapsulation mechanism.

- - ### Method Detail

    - #### init

          void init​(CipherParameters param)

      Initialise the key encapsulation mechanism.

    - #### encrypt

          CipherParameters encrypt​(byte[] out,
                                   int outOff,
                                   int keyLen)

      Encapsulate a randomly generated session key.

    - #### decrypt

          CipherParameters decrypt​(byte[] in,
                                   int inOff,
                                   int inLen,
                                   int keyLen)

      Decapsulate an encapsulated session key.