public class EAXBlockCipher extends Object implements AEADBlockCipher
| Constructor and Description |
|---|
EAXBlockCipher(BlockCipher cipher)
Constructor that accepts an instance of a block cipher engine.
|
| Modifier and Type | Method and Description |
|---|---|
int |
doFinal(byte[] out,
int outOff)
Finish the operation either appending or verifying the MAC at the end of the data.
|
String |
getAlgorithmName()
Return the name of the algorithm.
|
int |
getBlockSize() |
byte[] |
getMac()
Return the value of the MAC associated with the last stream processed.
|
int |
getOutputSize(int len)
return the size of the output buffer required for a processBytes plus a
doFinal with an input of len bytes.
|
BlockCipher |
getUnderlyingCipher()
return the cipher this object wraps.
|
int |
getUpdateOutputSize(int len)
return the size of the output buffer required for a processBytes
an input of len bytes.
|
void |
init(boolean forEncryption,
CipherParameters params)
initialise the underlying cipher.
|
int |
processByte(byte in,
byte[] out,
int outOff)
encrypt/decrypt a single byte.
|
int |
processBytes(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
process a block of bytes from in putting the result into out.
|
void |
reset()
Reset the cipher.
|
public EAXBlockCipher(BlockCipher cipher)
cipher - the engine to usepublic String getAlgorithmName()
AEADBlockCiphergetAlgorithmName in interface AEADBlockCipherpublic BlockCipher getUnderlyingCipher()
AEADBlockCiphergetUnderlyingCipher in interface AEADBlockCipherpublic int getBlockSize()
public void init(boolean forEncryption,
CipherParameters params)
throws IllegalArgumentException
AEADBlockCipherinit in interface AEADBlockCipherforEncryption - true if we are setting up for encryption, false otherwise.params - the necessary parameters for the underlying cipher to be initialised.IllegalArgumentException - if the params argument is inappropriate.public void reset()
AEADBlockCipherreset in interface AEADBlockCipherpublic int processByte(byte in,
byte[] out,
int outOff)
throws DataLengthException
AEADBlockCipherprocessByte in interface AEADBlockCipherin - the byte to be processed.out - the output buffer the processed byte goes into.outOff - the offset into the output byte array the processed data starts at.DataLengthException - if the output buffer is too small.public int processBytes(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
throws DataLengthException
AEADBlockCipherprocessBytes in interface AEADBlockCipherin - the input byte array.inOff - the offset into the in array where the data to be processed starts.len - the number of bytes to be processed.out - the output buffer the processed bytes go into.outOff - the offset into the output byte array the processed data starts at.DataLengthException - if the output buffer is too small.public int doFinal(byte[] out,
int outOff)
throws IllegalStateException,
InvalidCipherTextException
AEADBlockCipherdoFinal in interface AEADBlockCipherout - space for any resulting output data.outOff - offset into out to start copying the data at.IllegalStateException - if the cipher is in an inappropriate state.InvalidCipherTextException - if the MAC fails to match.public byte[] getMac()
AEADBlockCiphergetMac in interface AEADBlockCipherpublic int getUpdateOutputSize(int len)
AEADBlockCiphergetUpdateOutputSize in interface AEADBlockCipherlen - the length of the input.public int getOutputSize(int len)
AEADBlockCiphergetOutputSize in interface AEADBlockCipherlen - the length of the input.Copyright © 2015. All rights reserved.