AES GCM IV/nonce usage
本文关键字:nonce usage IV GCM AES | 更新日期: 2023-09-27 17:56:08
我正在WCF项目中实现AES GCM加密。在阅读和搜索之后,我找到了这个例子(第一类,AESGCM),它似乎写得很好,更新得很好。
据我了解,随机数尽可能独特非常重要,并希望确保我了解此类的工作方式。
当我过去在 CBC 模式下使用 IV 时,有必要保存它以备将来解密,但在随附的示例中,我看到 IV(随机数)未保存。
我的问题是密文的随机数部分是否使用以下方法提取:
cipherReader.ReadBytes(NonceBitSize / 8)
还是我错过了什么,IV/nonce应该被保存?
另外 - GCM 不需要使用盐吗?
在链接的代码段中,随机数附加到密文前面。因此,它是可以恢复的。丢失随机数意味着丢失数据。
在评论中,我看到了一个危险的想法:不以加密安全的方式生成随机数。这不是一个好主意,因为这样可能会发生随机数碰撞。它不必要地削弱了安全。