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
Method Summary |
private byte[] |
decryptBlock(byte[] in_enc,
int inOff,
int inLen,
byte[] z)
|
private byte[] |
encryptBlock(byte[] in,
int inOff,
int inLen,
byte[] z)
|
private byte[] |
generateKdfBytes(KDFParameters kParam,
int length)
|
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 |
agree
BasicAgreement agree
kdf
DerivationFunction kdf
mac
Mac mac
cipher
BufferedBlockCipher cipher
macBuf
byte[] macBuf
forEncryption
boolean forEncryption
privParam
CipherParameters privParam
pubParam
CipherParameters pubParam
param
IESParameters param
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.
- 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 param)
- Initialise the encryptor.
- Parameters:
forEncryption
- whether or not this is encryption/decryption.privParam
- our private key parameterspubParam
- the recipient's/sender's public key parametersparam
- encoding and derivation parameters.
decryptBlock
private byte[] decryptBlock(byte[] in_enc,
int inOff,
int inLen,
byte[] z)
throws InvalidCipherTextException
- Throws:
InvalidCipherTextException
encryptBlock
private byte[] encryptBlock(byte[] in,
int inOff,
int inLen,
byte[] z)
throws InvalidCipherTextException
- Throws:
InvalidCipherTextException
generateKdfBytes
private byte[] generateKdfBytes(KDFParameters kParam,
int length)
processBlock
public byte[] processBlock(byte[] in,
int inOff,
int inLen)
throws InvalidCipherTextException
- Throws:
InvalidCipherTextException