java.lang.Object
javax.crypto.spec.GCMParameterSpec
- 所有实现的接口:
-
AlgorithmParameterSpec
指定了使用Galois/Counter Mode (GCM)模式的
Cipher
所需的参数集。
简单的块密码模式(如CBC)通常只需要一个初始化向量(如IvParameterSpec
),但GCM需要以下参数:
IV
: 初始化向量 (IV)tLen
: 认证标签 T 的长度(以位为单位)
除了这里描述的参数外,其他GCM输入/输出(附加认证数据 (AAD)、密钥、块密码、明文/密文和认证标签)在 Cipher
类中处理。
请参阅 RFC 5116 以获取有关带有关联数据的认证加密算法(AEAD)的更多信息,以及 NIST Special Publication 800-38D,“NIST Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC.”
GCM规范规定tLen
只能具有值{128, 120, 112, 104, 96},或者对于某些应用程序为{64, 32}。可以为此类指定其他值,但并非所有CSP实现都将支持它们。
- 自从:
- 1.7
- 参见:
-
Constructor Summary
ConstructorDescriptionGCMParameterSpec
(int tLen, byte[] src) 使用指定的认证标签位长度和IV缓冲区构造一个GCMParameterSpec。GCMParameterSpec
(int tLen, byte[] src, int offset, int len) 使用指定的认证标签位长度和指定缓冲区的子集作为IV构造一个GCMParameterSpec对象。 -
Method Summary
-
Constructor Details
-
GCMParameterSpec
public GCMParameterSpec(int tLen, byte[] src) 使用指定的认证标签位长度和IV缓冲区构造一个GCMParameterSpec。- 参数:
-
tLen
- 认证标签长度(以位为单位) -
src
- IV源缓冲区。缓冲区的内容将被复制以防止后续修改。 - 抛出:
-
IllegalArgumentException
- 如果tLen
为负数,或src
为null。
-
GCMParameterSpec
public GCMParameterSpec(int tLen, byte[] src, int offset, int len) 使用指定的认证标签位长度和指定缓冲区的子集作为IV构造一个GCMParameterSpec对象。- 参数:
-
tLen
- 认证标签长度(以位为单位) -
src
- IV源缓冲区。缓冲区的内容将被复制以防止后续修改。 -
offset
- IV在src
中的偏移量 -
len
- IV字节数 - 抛出:
-
IllegalArgumentException
- 如果tLen
为负数,src
为null,len
或offset
为负数,或offset
和len
的总和大于src
字节数组的长度。
-
-
Method Details
-
getTLen
public int getTLen()返回认证标签长度。- 返回:
- 认证标签长度(以位为单位)
-
getIV
public byte[] getIV()返回初始化向量(IV)。- 返回:
- IV。每次调用此方法时都会创建一个新数组。
-