【问题标题】:Does HMAC encrypts the original Plaintext message?HMAC 是否加密原始明文消息?
【发布时间】:2021-01-01 07:57:12
【问题描述】:

所以我的问题是 3 个的组合:

  1. HMAC 散列是否还会散列消息以及发送给收件人的密钥?还是只对密钥进行哈希处理,将消息保留为明文?
  2. 如果只对密钥进行散列处理(不对消息进行散列处理),如果未经授权的人(攻击者)能够访问该明文并易于理解,这是否会使消息容易受到攻击?
  3. 如果将两者(消息 + 密钥)连接起来形成哈希,那么 HMAC 与“SALTING”方法有何不同?

【问题讨论】:

  • 这个问题更适合security.stackexchange.com,但在问之前应该重写。虽然我已尽力在下面回答,但您的要求并不清楚。例如,问题 1 没有意义。你不能散列“只是 HMAC”。此外,“只有密钥被散列”也没有意义(散列密钥不是 HMAC)。我怀疑你对 HMAC 的工作原理有一些误解,所以你应该从研究它开始。你可以从这里开始:security.stackexchange.com/questions/20129/…
  • 感谢您对文章的推荐。我实际上对 HMAC 的工作方式感到困惑。我会看文章的。再次感谢。

标签: encryption hash cryptography hmac hash-function


【解决方案1】:

HMAC 对消息进行身份验证。它不加密它。如果要加密消息,请先对其进行加密,然后再应用 HMAC。 (这通常称为“先加密后 MAC”结构。)

身份验证的目的是证明消息未被更改。加密的目的是防止其他方读取消息。这些通常会一起出现,但它们并非必须如此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 2022-09-27
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多