|
Bouncy Castle Cryptography 1.46 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.bouncycastle.crypto.modes.GCMBlockCipher
public class GCMBlockCipher
Implements the Galois/Counter mode (GCM) detailed in NIST Special Publication 800-38D.
Constructor Summary | |
---|---|
GCMBlockCipher(BlockCipher c)
|
|
GCMBlockCipher(BlockCipher c,
GCMMultiplier m)
|
Method Summary | |
---|---|
int |
doFinal(byte[] out,
int outOff)
Finish the operation either appending or verifying the MAC at the end of the data. |
java.lang.String |
getAlgorithmName()
Return the name of the algorithm. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public GCMBlockCipher(BlockCipher c)
public GCMBlockCipher(BlockCipher c, GCMMultiplier m)
Method Detail |
---|
public BlockCipher getUnderlyingCipher()
AEADBlockCipher
getUnderlyingCipher
in interface AEADBlockCipher
public java.lang.String getAlgorithmName()
AEADBlockCipher
getAlgorithmName
in interface AEADBlockCipher
public void init(boolean forEncryption, CipherParameters params) throws java.lang.IllegalArgumentException
AEADBlockCipher
init
in interface AEADBlockCipher
forEncryption
- true if we are setting up for encryption, false otherwise.params
- the necessary parameters for the underlying cipher to be initialised.
java.lang.IllegalArgumentException
- if the params argument is inappropriate.public byte[] getMac()
AEADBlockCipher
getMac
in interface AEADBlockCipher
public int getOutputSize(int len)
AEADBlockCipher
getOutputSize
in interface AEADBlockCipher
len
- the length of the input.
public int getUpdateOutputSize(int len)
AEADBlockCipher
getUpdateOutputSize
in interface AEADBlockCipher
len
- the length of the input.
public int processByte(byte in, byte[] out, int outOff) throws DataLengthException
AEADBlockCipher
processByte
in interface AEADBlockCipher
in
- 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
AEADBlockCipher
processBytes
in interface AEADBlockCipher
in
- 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 java.lang.IllegalStateException, InvalidCipherTextException
AEADBlockCipher
doFinal
in interface AEADBlockCipher
out
- space for any resulting output data.outOff
- offset into out to start copying the data at.
java.lang.IllegalStateException
- if the cipher is in an inappropriate state.
InvalidCipherTextException
- if the MAC fails to match.public void reset()
AEADBlockCipher
reset
in interface AEADBlockCipher
|
Bouncy Castle Cryptography 1.46 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |