我在 WCF 项目中实现 AES GCM 加密。在阅读和搜索后,我找到了这个例子(第一堂课,AESGCM),它看起来写得很好,更新得很好。
据我了解,nonce 将尽可能独特是非常重要的,并且希望确保我理解这个类的工作方式。
当我过去在 CBC 模式下使用 IV 时,有必要将其保存以供将来解密,但在随附的示例中,我看到 IV(随机数)没有保存。
我的问题是密文的随机数部分是否使用以下方法提取:
cipherReader.ReadBytes(NonceBitSize / 8)
还是我遗漏了什么,应该保存 IV/nonce?
另外 - GCM 不需要使用盐吗?