AesGcmParams - 表示使用 AES-GCM 算法的参数

AesGcmParamsWeb Crypto API 的字典,表示当使用 AES-GCM 算法时,应作为 algorithm 参数传递给 SubtleCrypto.encrypt()SubtleCrypto.decrypt()SubtleCrypto.wrapKey()SubtleCrypto.unwrapKey() 的对象。

有关如何为此参数提供适当值的详细信息,请参阅 AES-GCM 规范:NIST SP800-38D,特别是关于输入数据的 5.2.1.1 节。

属性

name

一个 DOMString。它应该设置为 AES-GCM

iv

一个 BufferSource,表示初始化向量。对于使用给定密钥执行的每个加密操作,此名称必须唯一。换句话说,不要重复使用具有相同密钥的 IV。AES-GCM 规范建议 IV 的长度应为 96 位,并且通常包含来自随机数发生器的位。规范的 8.2 节简述了构建 IV 的方法。请注意,IV 不必是秘密的,而只需是唯一的即可:例如,可以将其与加密消息一起以明文方式传输。

additionalData 可选

一个 BufferSource。它包含不会加密但会与加密数据一起进行身份验证的其他数据。如果此处给出 additionalData ,则必须在调用 decrypt())时提供相同的数据:如果将数据提供给 decrypt() 调用与原始数据不匹配,解密将引发异常。这为您提供了一种无需加密即可对关联数据进行身份验证的方法。

additionalData 的位长必须 ≤ 264-1

additionalData 属性是可选的,可以在不影响加密操作安全性的情况下将其省略。

tagLength 可选

一个 Number。这确定了在加密操作中生成并用于相应解密中的身份验证的身份验证标签的位大小。

根据 Web 加密规范,该值必须为以下值之一:32、64、96、104、112、120 或 128。AES-GCM 规范建议将其设置为 96、104、112、120 或 128,尽管 32 位或 64 位在某些应用中是可以接受的:该规范的附录 C 在此处提供了额外的指导。

tagLength 是可选的,如果未指定,则默认为 128。

实例

请参阅 SubtleCrypto.encrypt()SubtleCrypto.decrypt() 的实例。

规范

规范 状态 备注
Web Cryptography API
SubtleCrypto.AesGcmParams 的定义
推荐 -

浏览器兼容性

如果浏览器的 SubtleCrypto.encrypt()SubtleCrypto.decrypt()SubtleCrypto.wrapKey()SubtleCrypto.unwrapKey() 方法支持 "AES-GCM" 算法,则支持该类型。

相关链接