我正在 node.js 中以 GCM 模式实施密码方案。
我必须将 GCM 标记附加/添加到密文以检查完整性。但是,我不确定标签会有多大!
在crypto++ wiki上,我读到大小可能会有所不同,它实际上是 GCM 模式的参数。引用维基,强调我的:
双方必须提供和使用的参数有:
- 密钥和密钥大小
- iv 和 iv 大小
- 标签尺寸
但是,在节点文档中,没有关于标签大小的内容。只是标签存在。从文档中引用:
cipher.getAuthTag()
对于经过身份验证的加密模式(当前支持:GCM),此方法返回一个 Buffer,表示已根据给定数据计算的身份验证标签。应该在使用 final 方法完成加密后调用!
我是否应该期望标签大小会有所不同并将标签大小与密文一起保存?或者我可以假设标签大小总是小于 128 位并在左边用零填充?