编辑:我用我的问题解决了已知的纯文本攻击和选择的纯文本攻击
我对理解IV的正确使用有点疑问。
仅当我对每条消息使用不同的IV时,AES才可以安全地抵抗已知明文攻击。对吧?
我需要知道使用的IV来解密消息。还可以吗?
无法防止已知明文攻击的AES是一种弱加密。对吧?
这意味着我必须将每个IV与加密的数据一起存储(例如,在额外的DB列中)。听起来很多开销。
这个问题有解决方案吗?
答案 0 :(得分:0)
对于128位消息,96位IV(按照NIST的建议用于GCM模式下的AES)可能看起来开销很大。但是通常,要加密的纯文本消息要大得多。与固定大小的96位IV相比要大得多。
另一方面,几乎每种安全的加密或哈希机制都需要IV,nonce,salt等形式的某种随机性。不仅仅是AES。
这是开销,但这是安全性的折衷。
通常,IV会在密文之后添加或添加。解密逻辑知道在密文中的哪里可以找到它。
开销无处不在。例如在RDBMS表中,当我们创建索引时,就空间和写入处理时间而言,这是一项开销。但这是快速查询性能的折衷方案。