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

org.bouncycastle.crypto.engines

## Class OldIESEngine

- java.lang.Object
- - org.bouncycastle.crypto.engines.IESEngine
  - - org.bouncycastle.crypto.engines.OldIESEngine

-     public class OldIESEngine
      extends IESEngine

  Support class for constructing integrated encryption ciphers for doing basic message exchanges on top of key agreement ciphers. Follows the description given in IEEE Std 1363a.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `OldIESEngine(BasicAgreement agree, DerivationFunction kdf, Mac mac)` set up for use with stream mode, where the key derivation function is used to provide a stream of bytes to xor with the message.
    `OldIESEngine(BasicAgreement agree, DerivationFunction kdf, Mac mac, BufferedBlockCipher cipher)` set up for use in conjunction with a block cipher to handle the message.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected byte[]` | `getLengthTag(byte[] p2)`

    - ### Methods inherited from class org.bouncycastle.crypto.engines.IESEngine

      `getCipher, getMac, init, init, init, processBlock`

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

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

- - ### Constructor Detail

    - #### OldIESEngine

          public OldIESEngine(BasicAgreement agree,
                              DerivationFunction kdf,
                              Mac mac)

      set up for use with stream mode, where the key derivation function is used to provide a stream of bytes to xor with the message.
      Parameters:
        `agree` - the key agreement used as the basis for the encryption
        `kdf` - the key derivation function used for byte generation
        `mac` - the message authentication code generator for the message

    - #### OldIESEngine

          public OldIESEngine(BasicAgreement agree,
                              DerivationFunction kdf,
                              Mac mac,
                              BufferedBlockCipher cipher)

      set up for use in conjunction with a block cipher to handle the message.
      Parameters:
        `agree` - the key agreement used as the basis for the encryption
        `kdf` - the key derivation function used for byte generation
        `mac` - the message authentication code generator for the message
        `cipher` - the cipher to used for encrypting the message

  - ### Method Detail

    - #### getLengthTag

          protected byte[] getLengthTag(byte[] p2)

      Overrides:
        `getLengthTag` in class `IESEngine`