Module  java.base
软件包  javax.crypto.spec

Class GCMParameterSpec

  • All Implemented Interfaces:
    AlgorithmParameterSpec


    public class GCMParameterSpec
    extends Object
    implements AlgorithmParameterSpec
    指定使用伽罗瓦/计数器模式(GCM)模式的Cipher所需的一组参数。

    简单的块密码模式(如CBC)通常只需要一个初始化向量(如IvParameterSpec ),但GCM需要这些参数:

    • IV :初始化向量(IV)
    • tLen :认证标签T的长度(以比特为单位)

    除了这里描述的参数外,其他GCM输入/输出(附加认证数据(AAD),密钥,分组密码,简单/密文和认证标签)都在Cipher类中处理。

    请参见RFC 5116有关具有关联数据(AEAD)算法的认证加密的更多信息,以及NIST Special Publication 800-38D “NIST推荐用于块密码操作模式:伽罗瓦/计数器模式(GCM)和GMAC”。

    GCM规范规定,对于某些应用程序, tLen可能只有值{ tLen }或{ tLen }。 可以为此类指定其他值,但并不是所有的CSP实现都将支持它们。

    从以下版本开始:
    1.7
    另请参见:
    Cipher
    • 构造方法详细信息

      • GCMParameterSpec

        public GCMParameterSpec​(int tLen,
                                byte[] src)
        使用指定的认证标签位长度和IV缓冲区构造GCMParameterSpec。
        参数
        tLen - 认证标签长度(以位为单位)
        src - IV源缓冲区。 复制缓冲区的内容以防止后续修改。
        异常
        IllegalArgumentException - 如果 tLen为负数,或 src为空。
      • GCMParameterSpec

        public GCMParameterSpec​(int tLen,
                                byte[] src,
                                int offset,
                                int len)
        使用指定的身份验证标记位长度和指定缓冲区的子集作为IV构造一个GCMParameterSpec对象。
        参数
        tLen - 认证标签长度(以位为单位)
        src - IV源缓冲区。 复制缓冲区的内容以防止后续修改。
        offset - 在 src的偏移,其中IV开始
        len - IV字节数
        异常
        IllegalArgumentException - 如果 tLen为负,则 src为空, lenoffset为负,或者 offsetlen和大于 src字节数组的长度。
    • 方法详细信息

      • getTLen

        public int getTLen​()
        返回认证标签长度。
        结果
        认证标签长度(以位为单位)
      • getIV

        public byte[] getIV​()
        返回初始化向量(IV)。
        结果
        四。 每次调用此方法时都会创建一个新数组。