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
ConstructorsConstructorDescriptionGCMParameterSpec(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。每次调用此方法时都会创建一个新数组。
-