Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.crypto.engines
Class IESEngine

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

    public class IESEngine

extends java.lang.Object

support class for constructing intergrated encryption ciphers for doing basic message exchanges on top of key agreement ciphers

Constructor Summary
`IESEngine(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.
`IESEngine(BasicAgreement agree, DerivationFunction kdf, Mac mac, BufferedBlockCipher cipher)` set up for use in conjunction with a block cipher to handle the message.

Method Summary
`void` `init(boolean forEncryption, CipherParameters privParam, CipherParameters pubParam, CipherParameters param)` Initialise the encryptor.
`byte[]` `processBlock(byte[] in, int inOff, int inLen)`

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

Constructor Detail

### IESEngine

    public IESEngine(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

### IESEngine

    public IESEngine(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

### init

    public void init(boolean forEncryption,
                     CipherParameters privParam,
                     CipherParameters pubParam,
                     CipherParameters param)

  Initialise the encryptor.

  Parameters:
    `forEncryption` - whether or not this is encryption/decryption.
    `privParam` - our private key parameters
    `pubParam` - the recipient's/sender's public key parameters
    `param` - encoding and derivation parameters.

### processBlock

    public byte[] processBlock(byte[] in,
                               int inOff,
                               int inLen)
                        throws InvalidCipherTextException

  Throws:
    `InvalidCipherTextException`

Bouncy Castle Cryptography Library 1.45