【问题标题】:Hashing the plaintext to ensure integrity?散列明文以确保完整性?
【发布时间】:2013-10-17 03:11:23
【问题描述】:

在密码学中,我听说可以使用散列消息来检查消息是否被修改来实现完整性。但是那个哈希是怎么发送给对方的呢?还可以更改消息和哈希值,以便其他方会看到消息没有被修改!

【问题讨论】:

  • 你的问题太笼统了。看来您正在关注密钥分配。也许来自维基百科的信息会回答你的问题。 en.wikipedia.org/wiki/Key_distribution
  • 如果您有共享密钥,则可以使用经过身份验证的加密,其中包括某种形式的 MAC 以确保消息未被修改。

标签: cryptography integrity


【解决方案1】:

为了获得完整性或机密性,您总是需要一些未被篡改的共享数据。此共享数据通常是共享密钥或发送者的公钥。

使用共享密钥,您将使用HMAC,即hmac(message, key)

如果接收者拥有发送者的公钥,那么发送者可以使用他们的私钥对消息进行签名(许多可能的方法,DSA、RSA 等),接收者可以使用公钥来确定消息是否来自发件人。

【讨论】:

    【解决方案2】:

    单独的哈希并不能证明消息没有被篡改,您还应该使用您的私钥对哈希进行签名,然后收件人可以使用您的公钥对其进行验证。或者,如果你们都拥有共享密钥,则可以使用 HMAC 对其进行签名。这不能伪造,因为没有其他人拥有您的私钥/秘密密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 2015-03-10
      • 1970-01-01
      相关资源
      最近更新 更多