我正在node.js中以GCM模式实现密码方案。
我必须将GCM标签附加/前置到密文以检查完整性。但是,我不确定标签会有多大!
在crypto++ wiki上,我读到大小可能会有所不同,而且它实际上是GCM模式的一个参数。引用维基,强调我的:
双方必须提供和使用的参数是:
- 密钥和密钥大小
- iv和iv size
- 标签尺寸
但是,在node documentation中,标签大小没有任何内容。只是标签存在。引自文档:
cipher.getAuthTag()
对于经过身份验证的加密模式(目前支持:GCM),这个 方法返回一个表示身份验证标记的Buffer 已根据给定数据计算。应该叫之后 使用最终方法完成加密!
我是否应该期望标签大小不同,只是将标签大小与密文一起保存?或者我可以假设标签大小始终小于128位并在左侧用零填充它?
答案 0 :(得分:1)
node.js和browserify-crypto都使用128位标记。
我还没有找到实际的代码,但通过查看测试就很明显了。