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