Class GCMParameterSpec
- 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 and 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 and 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 starts -
len
- 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.
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.