是用于加密消息的第一个块的内容,并将添加到加密文本中。 我有什么错吗? AES本身不会直接使用盐(或实际上是IV)。
当您使用基于Password的加密
(PBE)时,您可能将盐与AES结合使用的情况是。 在此方案中,将使用人类可使用的密码与盐结合使用来生成AES密钥。 使用盐,以便相同的密码并不总是生成相同的密钥;但是,由于收件人必须能够生成正确的密钥,因此必须将盐与加密数据一起传输。 如果您在某些块密码模式(例如CBC)中使用AES,则需要IV。 在这种情况下,它用于确保在同一密钥下使用相同的明文数据并不总是加密到同一密文。 同样,收件人需要静脉注射才能正确解密数据,因此必须将其与加密数据一起传输。我不太遵循你在说什么,但这是一个概述。 salts用于加密哈希湖中,以消除使用rainbow表
裂纹方法成功的可能性。 (彩虹表是密码的反向查找表) IV用于加密较大的文件,以避免相似的部分从加密到同一物件。
它们非常相似,但这是差异。盐通常在它们加密之前或之后(据我所知)添加。这意味着加密也在盐上进行。 iiv始终与加密结果相关。之后完成的原因是因为只有第一个块使用iv,其余的将上一个块用于此Xoring。
区别很重要,因为用密码的加密形式固定的盐很容易被打破,而IV旨在停止模式识别样式攻击与密码文件的字典攻击。
要添加到@Guvante答案中,IV专门用于CBC模式(密码块链式模式) 与EBC模式相比,它添加了更多的安全性(如果两个相同的块加密使用相同的密钥,则它们产生相同的密码),则IV修复了。
瓦解更像是一个哈希术语,用于与彩虹攻击作斗争,这并非使黑客入侵,但可以发现相同密码之间的模式不可行,因此相同的明文密码不会产生相同的哈希。 它们非常相似,但重要的是要了解每个人的使用和实施。
盐确保两个具有相同密码的发件人不会产生相同的密钥。 它可以安全地传输,不应将其视为秘密,尽管应该谨记不要将标识符嵌入您想要保留的盐中(就像一封简单的电子邮件中的简单哈希)。 应该小心保证发件人之间的盐至少是独特的。iv确保相同的发件人加密相同的明文不会导致相同的密文。 就像盐一样,静脉注射也可以安全地传播,不应被视为秘密。 应该谨慎保证在消息之间静脉注射是唯一的。