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)