public class IESEngine
extends java.lang.Object
| Constructor and Description | 
|---|
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. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
BufferedBlockCipher | 
getCipher()  | 
protected byte[] | 
getLengthTag(byte[] p2)  | 
Mac | 
getMac()  | 
void | 
init(AsymmetricKeyParameter publicKey,
    CipherParameters params,
    EphemeralKeyPairGenerator ephemeralKeyPairGenerator)
Initialise the decryptor. 
 | 
void | 
init(AsymmetricKeyParameter privateKey,
    CipherParameters params,
    KeyParser publicKeyParser)
Initialise the encryptor. 
 | 
void | 
init(boolean forEncryption,
    CipherParameters privParam,
    CipherParameters pubParam,
    CipherParameters params)
Initialise the encryptor. 
 | 
byte[] | 
processBlock(byte[] in,
            int inOff,
            int inLen)  | 
public IESEngine(BasicAgreement agree, DerivationFunction kdf, Mac mac)
agree - the key agreement used as the basis for the encryptionkdf - the key derivation function used for byte generationmac - the message authentication code generator for the messagepublic IESEngine(BasicAgreement agree, DerivationFunction kdf, Mac mac, BufferedBlockCipher cipher)
agree - the key agreement used as the basis for the encryptionkdf - the key derivation function used for byte generationmac - the message authentication code generator for the messagecipher - the cipher to used for encrypting the messagepublic void init(boolean forEncryption,
                 CipherParameters privParam,
                 CipherParameters pubParam,
                 CipherParameters params)
forEncryption - whether or not this is encryption/decryption.privParam - our private key parameterspubParam - the recipient's/sender's public key parametersparams - encoding and derivation parameters, may be wrapped to include an IV for an underlying block cipher.public void init(AsymmetricKeyParameter publicKey, CipherParameters params, EphemeralKeyPairGenerator ephemeralKeyPairGenerator)
publicKey - the recipient's/sender's public key parametersparams - encoding and derivation parameters, may be wrapped to include an IV for an underlying block cipher.ephemeralKeyPairGenerator - the ephemeral key pair generator to use.public void init(AsymmetricKeyParameter privateKey, CipherParameters params, KeyParser publicKeyParser)
privateKey - the recipient's private key.params - encoding and derivation parameters, may be wrapped to include an IV for an underlying block cipher.publicKeyParser - the parser for reading the ephemeral public key.public BufferedBlockCipher getCipher()
public Mac getMac()
public byte[] processBlock(byte[] in,
                           int inOff,
                           int inLen)
                    throws InvalidCipherTextException
InvalidCipherTextExceptionprotected byte[] getLengthTag(byte[] p2)