我有一些必须受密码保护的脱机文件。我的策略如下:
密码算法:AES,128位块,256位密钥(PBKDF2-SHA-256 带有随机盐的10000次迭代在其他地方明确存储)
整个文件分为页面大小为1024字节的页面
如需完整页面,请使用CBC
对于不完整的页面,
如果CBC至少有一个块,则使用CBC密文窃取
如果点击次数较少,请使用点击率
通过此设置,我们可以保持相同的文件大小
IV或nonce将基于盐和确定性。由于这不适用于网络通信,我认为我们不需要关注重放攻击吗?问题:这种混合会降低安全性吗?我们最好只在整个文件中使用CTR吗?
答案 0 :(得分:4)
你最好只使用CTR来存储整个文件。否则,您需要添加大量额外工作,支持多种模式(CBC,CTR和CTS)并确定使用哪种模式。目前尚不清楚这样做有什么价值,因为点击率非常适合加密大量数据。
您是否计划为每个页面重复使用相同的IV?您应该对页面的含义进行扩展,但我建议每页都使用唯一的IV。这些页面是否可以某种方式解决?您可能希望查看一些新的disk encryption modes以获得有关生成唯一IV的
的想法您还需要MAC数据。例如,在CTR中,如果有人翻转了一些密文,那么当你解密时它会翻转,你永远不会知道它被篡改了。您可以使用HMAC,或者如果您想简化整个方案,请使用AES GCM模式,该模式结合了CTR加密和GMAC的完整性
答案 1 :(得分:2)
您需要了解有关点击率模式的一些事项。在您了解它们之后,您可以愉快地在您的情况下应用流密码:
如果您不遵守前两条规则,攻击者将立即看到编辑的位置,攻击者将能够检索与纯文本直接相关的数据。
在可能的节点上:
总的来说: