模块 java.base

类 GCMParameterSpec

java.lang.Object
javax.crypto.spec.GCMParameterSpec
所有已实现的接口:
AlgorithmParameterSpec

public class GCMParameterSpec extends Object implements AlgorithmParameterSpec
使用 Galois/Counter Mode (GCM) 模式指定 Cipher 所需的参数集。

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

  • IV:初始化向量(IV)
  • tLen:身份验证标签 T 的长度(以位为单位)

除了此处描述的参数外,其他 GCM 输入/输出(附加身份验证数据 (AAD)、密钥、块密码、明文/密文和身份验证标签)在 Cipher 类中处理。

请参阅 RFC 5116 以了解有关带关联数据的认证加密 (AEAD) 算法的更多信息,以及 NIST 特别出版物 800-38D “NIST 对分组密码操作模式的建议:Galois/Counter 模式 (GCM) 和 GMAC”。

GCM 规范指出,对于某些应用程序,tLen 可能仅具有值 {128、120、112、104、96} 或 {64、32}。可以为此类指定其他值,但并非所有 CSP 实现都支持它们。

自从:
1.7
参见:
  • 构造方法总结

    构造方法
    构造方法
    描述
    GCMParameterSpec(int tLen, byte[] src)
    使用指定的身份验证标记位长度和 IV 缓冲区构造 GCMParameterSpec。
    GCMParameterSpec(int tLen, byte[] src, int offset, int len)
    使用指定的身份验证标记位长度和指定缓冲区的子集作为 IV 构造一个 GCMParameterSpec 对象。
  • 方法总结

    修饰符和类型
    方法
    描述
    byte[]
    返回初始化向量 (IV)。
    int
    返回身份验证标记长度。

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造方法详细信息

    • 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 - IV 开始的 src 中的偏移量
      len - IV 字节数
      抛出:
      IllegalArgumentException - 如果 tLen 为负,src 为空,lenoffset 为负,或者 offsetlen 的总和大于 src 字节数组的长度。
  • 方法详情

    • getTLen

      public int getTLen()
      返回身份验证标记长度。
      返回:
      身份验证标记长度(以位为单位)
    • getIV

      public byte[] getIV()
      返回初始化向量 (IV)。
      返回:
      IV.每次调用此方法时创建一个新数组。