【问题标题】:Symetric Encryption - Salt and IV对称加密 - Salt 和 IV
【发布时间】:2017-07-07 06:06:26
【问题描述】:

我一直在阅读对称加密,如果我想在我的加密中添加盐,那么我需要向希望解密内容的最终用户提供盐值,这是正确的吗?此外,如果我希望使用初始化向量(IV),我还需要将其提供给正在解密的最终用户是否正确?还是只有我在加密内容时才需要这些东西?

【问题讨论】:

  • 盐通常只在散列数据时使用,而不是加密它。例如,Wikipedia 的第一行声明a salt is random data that is used as an additional input to a one-way function that "hashes" a password or passphrase. 在对称加密中,salt 没有任何作用——它只是在任何人使用有效解密密钥解密后位于消息开头的额外数据。
  • 我想我误解了盐的用途。我在加密字符串或其他任何内容的情况下指的是盐。所以本质上它只是一个可以在加密之前附加到值的随机值,这听起来对吗?
  • 不,这听起来不对。在加密之前将随机字节附加到数据上没有任何效果。在关于盐的问题中添加更多信息,参考上下文是什么。同样只是散列密码,即使使用盐也不足以生成加密密钥,应该使用密钥派生函数,如 PBKDF2。

标签: encryption salt


【解决方案1】:

IV 不需要保密,并且通常预先添加到加密数据中,以使其在解密期间可用。 IV一般是算法块大小长度的随机字节序列。

问题中使用的盐未定义用于加密,您需要提供有关盐如何与问题中的加密相关的更多信息。有时在从密码导出加密密钥时会使用盐。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多