org.bouncycastle.crypto.engines
Class IESEngine
java.lang.Object
|
+--org.bouncycastle.crypto.engines.IESEngine
- Direct Known Subclasses:
- OldIESEngine
- public class IESEngine
- extends java.lang.Object
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.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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 encryptionkdf
- the key derivation function used for byte generationmac
- 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. It is strongly recommended that the cipher is not in ECB mode.
- Parameters:
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 message
init
public void init(boolean forEncryption,
CipherParameters privParam,
CipherParameters pubParam,
CipherParameters params)
- Initialise the encryptor.
- Parameters:
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.
init
public void init(AsymmetricKeyParameter publicKey,
CipherParameters params,
EphemeralKeyPairGenerator ephemeralKeyPairGenerator)
- Initialise the decryptor.
- Parameters:
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.
init
public void init(AsymmetricKeyParameter privateKey,
CipherParameters params,
KeyParser publicKeyParser)
- Initialise the encryptor.
- Parameters:
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.
getCipher
public BufferedBlockCipher getCipher()
getMac
public Mac getMac()
processBlock
public byte[] processBlock(byte[] in,
int inOff,
int inLen)
throws InvalidCipherTextException
getLengthTag
protected byte[] getLengthTag(byte[] p2)