Class GCMBlockCipherBC
java.lang.Object
com.itextpdf.bouncycastle.crypto.modes.GCMBlockCipherBC
- All Implemented Interfaces:
-
IGCMBlockCipher
This class provides the functionality of a cryptographic cipher of aes-gcm for encryption and decryption via wrapping the corresponding
GCMBlockCipher class from bouncy-castle.
-
Constructor Summary
ConstructorsConstructorDescriptionGCMBlockCipherBC(org.bouncycastle.crypto.modes.GCMBlockCipher cipher) Creates new wrapper forGCMBlockCipheraes-gcm block cipher class. -
Method Summary
Modifier and TypeMethodDescriptionvoiddoFinal(byte[] plainText, int i) Finishes a multiple-part encryption or decryption operation, depending on how this cipher was initialized.booleanorg.bouncycastle.crypto.modes.GCMBlockCipherGets actual org.bouncycastle object being wrapped.intgetOutputSize(int len) Returns the length in bytes that an output buffer would need to be in order to hold the result of the next doFinal operation, given the input length (in bytes).intgetUpdateOutputSize(int len) Returns the length in bytes that an output buffer would need to be in order to hold the result of the next update operation, given the input length (in bytes).inthashCode()voidinit(boolean forEncryption, byte[] key, int macSizeBits, byte[] iv) Initialize this cipher with a key and a set of algorithm parameters.voidprocessBytes(byte[] input, int inputOffset, int len, byte[] output, int outOffset) Perform a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part.toString()
-
Constructor Details
-
GCMBlockCipherBC
public GCMBlockCipherBC(org.bouncycastle.crypto.modes.GCMBlockCipher cipher) Creates new wrapper forGCMBlockCipheraes-gcm block cipher class.- Parameters:
-
cipher- bouncy-castle class to wrap
-
-
Method Details
-
getCipher
public org.bouncycastle.crypto.modes.GCMBlockCipher getCipher()Gets actual org.bouncycastle object being wrapped.- Returns:
-
wrapped
GCMBlockCipher
-
init
public void init(boolean forEncryption, byte[] key, int macSizeBits, byte[] iv) Initialize this cipher with a key and a set of algorithm parameters.- Specified by:
-
initin interfaceIGCMBlockCipher - Parameters:
-
forEncryption- true to use encrypt mode, false to use decrypt mode -
key- the encryption key -
macSizeBits- MAC size, MAC sizes from 32 bits to 128 bits (must be a multiple of 8) -
iv- the IV source buffer
-
getUpdateOutputSize
public int getUpdateOutputSize(int len) Returns the length in bytes that an output buffer would need to be in order to hold the result of the next update operation, given the input length (in bytes).- Specified by:
-
getUpdateOutputSizein interfaceIGCMBlockCipher - Parameters:
-
len- input length (in bytes) - Returns:
- output length in bytes
-
processBytes
public void processBytes(byte[] input, int inputOffset, int len, byte[] output, int outOffset) Perform a multiple-part encryption or decryption operation (depending on how this cipher was initialized), processing another data part.- Specified by:
-
processBytesin interfaceIGCMBlockCipher - Parameters:
-
input- the input buffer -
inputOffset- the offset in input where the input starts -
len- the input length -
output- the buffer for the result -
outOffset- the offset in output where the result is stored
-
getOutputSize
public int getOutputSize(int len) Returns the length in bytes that an output buffer would need to be in order to hold the result of the next doFinal operation, given the input length (in bytes).- Specified by:
-
getOutputSizein interfaceIGCMBlockCipher - Parameters:
-
len- input length (in bytes) - Returns:
- output length in bytes
-
doFinal
public void doFinal(byte[] plainText, int i) Finishes a multiple-part encryption or decryption operation, depending on how this cipher was initialized. Input data that may have been buffered during a previous update operation is processed, also the authentication tag is appended in the case of encryption, or verified in the case of decryption.- Specified by:
-
doFinalin interfaceIGCMBlockCipher - Parameters:
-
plainText- the buffer for the result -
i- the offset in output where the result is stored
-
equals
-
hashCode
public int hashCode() -
toString
-