DH共享密钥交换工具 - 在线生成DH密钥对和共享密钥

DH共享密钥交换工具,用于在线根据质数长度生成DH密钥对,使用自己的DH私钥和第三方的DH公钥计算出DH共享密钥。

场景一:根据质数长度生成DH密钥对。
1.1、请输入DH密钥的质数长度。
请输入质数长度
1.2、请输入DH私钥的证书密码。
请输入证书密码
场景二:生成DH共享密钥。
2.1、请上传或输入自己的DH私钥:
2.2、请输入DH私钥的证书密码。
请输入证书密码
2.3、请上传或输入第三方的DH公钥:
  操作文档

一、DH共享密钥交换算法介绍

  • DH密钥交换算法是一种不可逆的非对称密钥协商算法,它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个共享密钥。这个共享密钥可以在后续的通讯中作为对称密钥(如AES算法)来加密通讯内容。
  • 常见的加密算法可以有效解决加密内容的传输安全,但是无法解决加密密钥的传输安全,而DH算法可以通过协商密钥来有效解决加密密钥的传输安全问题。


1.1、DH的速度与安全性

  • DH(Diffie-Hellman)使通信双方在不传送密钥的情况下通过交换一些数据,计算出共享的密钥。即使第三方(如黑客)截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。DH保证各方不在网络上直接传输密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥。
  • DH随着位数的上升,加密强度依次提高,而计算速度依次减慢。如攻击质数长度为512位,则需要在一周内使用数千个 CPU 内核来计算单个512位质数的数据。如要解决1024位质数的离散对数问题所需的算力将花费大约 1 亿美元。


二、DH共享密钥交换工具操作方式

本在线工具参考国际标准和行业惯例,列出DH共享密钥交换算法的两种主要使用场景。DH共享密钥交换并非用于数据的加密解密,它的主要使用场景为利用DH密钥对来计算生成共享密钥。


DH共享密钥交换工具使用须知:

  • 默认参数:均已设置推荐值,您也可以根据实际需求进行调整;
  • 证书密码:证书密钥一般指证书私钥的密码,一般为空;
  • 密钥格式:密钥格式默认选用PKCS#8;
  • 质数长度:质数也叫素数,推荐安全质数长度为1024位,一般介于1024-2048;
  • 基数数值:基数大小不会影响安全性,但是较小的基数会提升性能,一般默认G为2;
  • 关于结果:为防止乱码和保证传输结果,计算结果使用Base64编码的字符串。


2.1、场景一:根据质数长度生成DH密钥对

  • 首先,输入质数长度,一般推荐位数为1024,其中基数的数值默认为2,无须操作,然后,输入DH私钥的证书密码(一般为空,无须输入),最后,点击生成DH密钥对即可,您可以复制和下载DH密钥对到本地。


2.2、场景二:生成DH共享密钥

  • 首先,上传或输入自己的DH私钥,并输入DH私钥的证书密码,证书密钥一般为空即可,然后,上传或输入第三方的DH公钥,最后点击开始生成DH共享密钥。