我正在考虑使用AES Crypt参考实现加密一些小文件(每个数百 kb) 。查看源代码,似乎加密密钥是从 IV 和密码中派生的,方法是将两者连接到一个缓冲区中,然后重复散列。所以 IV 充当哈希的“盐”。反复,我的意思是8192次。
我知道这样做的好处是增加了生成密钥所需的时间,从而使执行暴力攻击以发现密码的成本更高。我也明白,缺点是为真实用户做合法的加密和解密任务需要更长的时间。此外,随着时间的推移,用户和攻击者都购买了更快的机器,好处和缺点将趋于零。
所以我的问题是,鉴于当前的计算机能力,并假设一个没有专用集群的积极攻击者,8192 次迭代是否不足、过度杀伤或“恰到好处”?另外,在我对这个密钥生成的分析中遗漏了任何东西:选择如此多的迭代是否有其他原因使其成为一个不错的选择?