node.js加密是否使用固定标记大小和GCM模式?

时间:2015-11-28 20:27:52

标签: node.js encryption aes-gcm

我正在node.js中以GCM模式实现密码方案。

我必须将GCM标签附加/前置到密文以检查完整性。但是,我不确定标签会有多大!

crypto++ wiki上,我读到大小可能会有所不同,而且它实际上是GCM模式的一个参数。引用维基,强调我的:

  

双方必须提供和使用的参数是:

     
      
  • 密钥和密钥大小
  •   
  • iv和iv size
  •   
  • 标签尺寸
  •   

但是,在node documentation中,标签大小没有任何内容。只是标签存在。引自文档:

  

cipher.getAuthTag()

     

对于经过身份验证的加密模式(目前支持:GCM),这个   方法返回一个表示身份验证标记的Buffer   已根据给定数据计算。应该叫之后   使用最终方法完成加密!

我是否应该期望标签大小不同,只是将标签大小与密文一起保存?或者我可以假设标签大小始终小于128位并在左侧用零填充它?

1 个答案:

答案 0 :(得分:1)

node.js和browserify-crypto都使用128位标记。

我还没有找到实际的代码,但通过查看测试就很明显了。

Node.js tests herecrypto-browserify tests here