- java.lang.Object
-
- javax.crypto.spec.GCMParameterSpec
-
- All Implemented Interfaces:
AlgorithmParameterSpec
public class GCMParameterSpec extends Object implements AlgorithmParameterSpec
Specifies the set of parameters required by aCipher
using the Galois/Counter Mode (GCM) mode.Simple block cipher modes (such as CBC) generally require only an initialization vector (such as
IvParameterSpec
), but GCM needs these parameters:IV
: Initialization Vector (IV)tLen
: length (in bits) of authentication tag T
In addition to the parameters described here, other GCM inputs/output (Additional Authenticated Data (AAD), Keys, block ciphers, plain/ciphertext and authentication tags) are handled in the
Cipher
class.Please see RFC 5116 for more information on the Authenticated Encryption with Associated Data (AEAD) algorithm, and NIST Special Publication 800-38D, "NIST Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC."
The GCM specification states that
tLen
may only have the values {128, 120, 112, 104, 96}, or {64, 32} for certain applications. Other values can be specified for this class, but not all CSP implementations will support them.- Since:
- 1.7
- See Also:
Cipher
-
-
Constructor Summary
Constructors Constructor Description GCMParameterSpec(int tLen, byte[] src)
Constructs a GCMParameterSpec using the specified authentication tag bit-length and IV buffer.GCMParameterSpec(int tLen, byte[] src, int offset, int len)
Constructs a GCMParameterSpec object using the specified authentication tag bit-length and a subset of the specified buffer as the IV.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
getIV()
Returns the Initialization Vector (IV).int
getTLen()
Returns the authentication tag length.
-
-
-
Constructor Detail
-
GCMParameterSpec
public GCMParameterSpec(int tLen, byte[] src)
Constructs a GCMParameterSpec using the specified authentication tag bit-length and IV buffer.- Parameters:
tLen
- the authentication tag length (in bits)src
- the IV source buffer. The contents of the buffer are copied to protect against subsequent modification.- Throws:
IllegalArgumentException
- iftLen
is negative, orsrc
is null.
-
GCMParameterSpec
public GCMParameterSpec(int tLen, byte[] src, int offset, int len)
Constructs a GCMParameterSpec object using the specified authentication tag bit-length and a subset of the specified buffer as the IV.- Parameters:
tLen
- the authentication tag length (in bits)src
- the IV source buffer. The contents of the buffer are copied to protect against subsequent modification.offset
- the offset insrc
where the IV startslen
- the number of IV bytes- Throws:
IllegalArgumentException
- iftLen
is negative,src
is null,len
oroffset
is negative, or the sum ofoffset
andlen
is greater than the length of thesrc
byte array.
-
-