结合Diffie-Hellman密钥交换和RSA加密

本文关键字:RSA 加密 密钥交换 Diffie-Hellman 结合 | 更新日期: 2023-09-27 18:15:37

我已经成功地使用DiffieHellman交换了密钥,现在我想使用这些密钥来加密我需要使用RSA加密通过网络发送的对象。

DiffieHellman给出了实际的密钥,所以:
问题# 1
是否有办法将实际的密钥直接导入到RSACryptoServiceProvider变量中?

似乎我只能找到基于导入XML的例子,但那些有额外的信息,我没有从DiffieHellman(如公钥,XML携带指数值,私钥XML携带p,Q,DP,DQ,逆…)(这些都不是DiffieHellman提供的)

问题# 2
将提供的DiffieHellman私钥/公钥组合到基于RSA的加密调用中,以便调用加密/解密将在两端的线路上工作,正确的方法是什么?

结合Diffie-Hellman密钥交换和RSA加密

Diffie-Hellman允许双方在一个不安全的通道上商定一个互密钥。这样的密钥通常用于使用对称算法(例如AES)加密/解密数据。

DH同意的密钥不能用作RSA密钥,因为RSA密钥具有特定的构造,需要质数,而不是由DH同意的密钥共享,即使是,RSA使用不同的公钥和私钥,而DH同意单个共享密钥。无论如何,您也不会使用RSA进行主数据加密,因为它比现代对称算法慢得多。

您可能将它们组合在一起的一种方法是,如果使用RSA对密钥交换进行签名以提供身份验证并防止中间人攻击,因为DH本身不提供身份验证。