org.bouncycastle.crypto.engines

Class IESEngine

public class IESEngine extends 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
voidinit(boolean forEncryption, CipherParameters privParam, CipherParameters pubParam, CipherParameters param)
Initialise the encryptor.
byte[]processBlock(byte[] in, int inOff, int inLen)

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)