代码之家  ›  专栏  ›  技术社区  ›  jhleath

最有效的公钥加密方法

  •  3
  • jhleath  · 技术社区  · 15 年前

    现在,我也在读关于Diffie-Hellman密钥交换类的文章。这个 似乎 为了更安全,您可以验证发送者并使用密钥保护消息,因为每个“会话”都需要计算的“共享密钥”。

    所以,我的问题是,使用Diffie-Hellman而不是更标准的公钥加密形式有什么主要的缺点(除了设置要求)吗?

    7 回复  |  直到 15 年前
        1
  •  3
  •   igorw    15 年前

    对称密码和非对称密码是两个完全不同的东西。你不能直接比较它们。

    非对称密码处理另一个问题,即密钥共享和签名。通过能够拥有一个公钥,可以通过一个不能修改的通道分发该密钥。其他人能读懂钥匙;只要他们不能改变它就没有问题。

    如果其他人可以更改消息(通常在任何地方都是这样),那么它就变得更复杂了。然后你需要使用数字签名。基本上有一个签署公钥(证书也是公钥)的中央机构。每个人都预装了证书颁发机构的公钥(通常与操作系统捆绑在一起),因此可以通过使用颁发机构的公钥检查签名来验证证书的真实性。这被称为PKI(公钥基础设施),它被广泛使用。最突出的例子是SSL。

    好好读一读。

        2
  •  5
  •   Kris    15 年前

    Diffie-Hellman密钥协议提供了一种建立公共密钥的方法,而这实际上是不可能由 被动的 对手,即只听通信的人。

    但是,基本D-H容易受到 man-in-the-middle 攻击。换句话说,您可以建立一个共享密钥,但是 积极的 你不认识的对手

    这就是公钥密码学的地位所在。当你有一个 真正的

    确保一个给定的公钥真的属于某人是一个单独的问题,例如通过 Public Key Infrastructure .

        3
  •  3
  •   Miro A.    15 年前

    对称加密比PKI快几个数量级/计算密集度更低。此外,密钥大小也存在差异。由于加密/解密不仅必须发生在服务器端(CPU功率和RAM没有问题),在客户端,您的移动设备可能会受到更大的限制。

        4
  •  2
  •   caf    15 年前

    正如Krystian所说,Diffie-Hellman让你建立一个安全的连接,但不让你验证

    但是,DH可以与RSA之类的公钥算法结合使用。这允许您验证另一方的身份(使用RSA签名),Diffie-Hellman密钥交换为该方带来一个名为 前向安全性 . 这意味着,如果你和我今天谈话,明年有人偷了你的RSA私钥,他们仍然不能回去解密今天的对话。普通RSA密钥交换不具有此属性。

        5
  •  0
  •   Jens Schauder    15 年前

    我可能错了,但维基百科上描述的算法在我看来就像一个脉冲密钥加密。

    双方选择一个秘密(私钥)并共享另一个与私钥(这是公钥)相关的密钥。

    只是为了提供一个稍微完整的画面: 在现实的算法中,公钥加密是用来交换一个秘密,然后用一个对称的算法来加密主通信,这比PK加密快得多

        6
  •  0
  •   riwalk    15 年前

    这在RSA中是不可能的,因为只有创建公钥的人才能解密消息,因此您可以完全有信心地说,正确的人正在阅读消息。

    Diffie Hellman对于与某人进行安全的双向通信非常有用,只要你不太关心此人是谁。

        7
  •  0
  •   Aaron    15 年前