我正在使用带有256位密钥的cbc模式的AES创建加密方案。在我了解CBC模式和初始值之前,我计划为每个加密行为和存储盐创建32位盐。密码/输入的密钥将用这个盐填充,最多32位。
即。如果输入的密码/密钥是“树”,而不是用28 0填充它,它将用这个盐的前28个字符填充。
然而,这是在我了解iv之前,在某些地方也被称为盐。现在出现的问题是,这种早期的腌制方法原则上是否与IV有关。这将假设盐和iv将与密文一起存储,因此理论上的暴力攻击不会被阻止。
存储此密钥并使用它而非使用它是一个需要付出一些努力的步骤,所以值得一提的是,我认为它是否是一个实际上无用的措施。根据当前的知识,并不是可以使用任何用于AES的强力解密表,甚至16位盐也很难创建md5表。
谢谢, 利亚
答案 0 :(得分:0)
如果您正在谈论AES-CBC,那么它是初始化矢量(IV),而不是Salt。通常的做法是将清除IV作为加入消息的第一个块。 IV不需要保密。然而,它应该随每条消息而改变 - 一个常数IV意味着你的第一个块有效地在ECB模式下加密,这是不正确的安全。