在ad-hoc网络的情况下,其性能是更好的数字签名(ECDSA)或基于哈希的签名

时间:2017-04-23 10:06:19

标签: hash ecdsa

我想知道性能明智,哪个更好地提供消息真实性,ECDSA签名或基于散列的签名,虽然我已经阅读了ECDSA与RSA的比较,但没有找到基于散列的签名。 ECDSA签名是否可以替换为基于哈希的签名,可以改善消息的真实性。

1 个答案:

答案 0 :(得分:1)

ECDSA 基于散列的签名,因为数据被散列,然后对散列(而不是整个数据)执行ECDSA

在数据验证方面,有三种主要方法:

  1. 直接哈希(例如SHA-2-256)

    • 验证最快的选项
    • 如果您只是防止线路损坏,这是一个有效的选择。
    • 否则,要求通过安全(来自篡改)通道发送散列/摘要值,因为篡改可以轻松地将摘要与篡改文档一起发送
    • 不提供原产地证明
  2. HMAC(例如HMACSHA256)

    • 要求发件人和收件人共享密钥
    • 钥匙被盗的发件人或收件人将双方置于危险之中
    • 密钥需要来自密钥协商算法(ECDH)或秘密传输(加密)
    • 证明该文件来自具有共享秘密的人。
  3. 数字签名(例如ECDSA,RSA签名)
    • 发件人是唯一拥有私钥的实体,接收者需要公钥(非秘密)
    • 公钥可以嵌入X.509证书中,以提供公钥与签名者的公证关联
    • 或者可以通过安全(来自篡改)频道原始传输公钥。
    • 提供有关文档来源的强有力保证,因为它们不应共享其私钥。
  4. 所有这三个选项都使用哈希算法来减少原始数据,其余的算法就是你用这些数据做什么的。没有真正标准的“安全”定义,你必须说“安全反对(某事)”。只要不共享私钥,ECDSA就会提供比HMAC更多的保证。但是,如果HMAC提供了足够的保证,它平均可能更快(专业硬件除外)。