我有一些必须受密码保护的脱机文件。我的策略如下:
密码算法:AES,128 位块,256 位密钥(PBKDF2-SHA-256 10000 次迭代,随机盐存储在其他地方)
整个文件分为页面大小为 1024 字节的页面
对于完整的页面,使用 CBC
对于不完整的页面,
如果 CBC 至少有一个块,则使用密文窃取
如果 CTR 少于一个块,则使用 CTR
通过这种设置,我们可以保持相同的文件大小
IV 或 nonce 将基于盐和确定性。由于这不是用于网络通信,我认为我们不需要担心重放攻击?
问题:这种混合会降低安全性吗?我们最好在整个文件中使用 CTR 吗?