DH 与RSA的区别(东华大学)

网友投稿 371 2022-10-10


DH 与RSA的区别(东华大学)

有一朋友这样问到“dh是密钥协商交换用的,为什么只有在服务器上有dh.pem文件,而客户端里没有,我就不明白了,客户端与服务器都有rsa公私钥了,可以传输对称密钥了,为什么还需要dh算出对称密钥呢?”

我们先一下,Open×××的man帮助是如何说dh选项的。--dh fileFile containing Diffie Hellman parameters in .pem format (required for --tls-server only).

Set file=none to disable Diffie Hellman key exchange (and use ECDH only). Note that this requires peers to be using an SSL library that supports ECDH TLS cipher suites(e.g. OpenSSL 1.0.1+, or mbed TLS 2.0+).

Use openssl dhparam -out dh2048.pem 2048 to generate 2048-bit DH parameters. Diffie Hellman parameters may be considered public.

1、使用阶段不同:DH用于TLS握手期间,RSA是用于数据通信阶段。

2、如果没有这个选项,启动Open×××服务器会出错 Options error: You must define DH file (--dh)

那么什么是Diffie-Hellman参数文件?迪菲·赫尔曼密钥交换(Diffie–Hellman key exchange,简称「D–H」) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。这个DH参数不是安全敏感的,所以只要在Open×××服务器有一份就可以了,而且即使被第三方拿到了,也无所谓。

如果想深入一些,可以这样来理解:

1、RSA和DH都基于非对称算法。

2、RSA: 常用的示例是Alice向Bob发送消息,并使用Bob的公钥加密消息。向Bob发送消息。鲍勃用他的私钥解密。验证签名以确保Alice发送签名。该消息将成为对称加密密钥。这是用于保护连接的内容。

3、DH Diffie Hellman交换依赖于生成秘密值的两个单独实体。通过一些数学算法,他们都能够产生共同的密钥值。这是一个对称密钥。

4、使用RSA,可以进行加密和签名的密钥对。使用DH,只执行加密,没有签名机制。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Python3的漏洞检测工具 ( Python3 插件式框架 )
下一篇:RabbitMQ交换机与Springboot整合的简单实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~