AES-128-GCM是否验证节点V6上的IV?

时间:2017-08-01 18:43:51

标签: javascript node.js security encryption cryptography

鉴于此代码:

const bufIV = Buffer.alloc(16);
const cipher = crypto.createCipheriv(CIPHER, mykey, crypto.randomFillSync(bufIV));
let encrypted = cipher.update(doc, 'utf8', ENCODING);
encrypted += cipher.final(ENCODING);

IV也会通过身份验证吗? this article的结尾似乎表明它必须存在,但我真的不明白这是如何运作的。

  

使用良好的IV并不意味着您的加密是安全的。您还必须验证您的密文。当你这样做时,不要忘记验证IV。

1 个答案:

答案 0 :(得分:1)

是的,AES-GCM将自动验证IV,验证标签的计算中包含IV的验证。

现在是坏消息:因为您需要使用setAuthTag 在NodeJS中显式设置收到的身份验证标记,所以将在您向我们展示的代码中进行验证。