SF *_*per 0 c# encryption cryptography encryption-asymmetric public-key-encryption
我已经使用 DiffieHellman 成功交换了密钥,现在想要使用这些密钥来加密我需要使用 RSA 加密通过线路发送的对象。
DiffieHellman 为我提供了实际密钥:
问题 #1
有没有办法将实际密钥直接导入到 RSACryptoServiceProvider 变量中?
看来我只能找到基于 XML 导入的示例,但这些示例具有我无法从 DiffieHellman 获得的额外信息(例如对于公钥,XML 带有指数值,对于私钥,XMLS 带有 P、Q、DP、DQ) ,逆......DiffieHellman 都没有提供)
问题#2
将提供的 DiffieHellman 私钥/公钥组合到基于 RSA 的加密调用中的正确方法是什么,以便调用加密/解密可以在两端的线路上进行?
Diffie-Hellman 允许两方通过不安全的通道商定共同密钥。这样的密钥通常用于使用对称算法(例如 AES)加密/解密数据。
DH 同意的密钥不能用作 RSA 密钥,因为 RSA 密钥具有特定的结构,需要与 DH 同意的密钥不共享的素数,即使是,RSA 使用不同的公钥和私钥,而 DH 同意单个共享密钥。无论如何,您也不会使用 RSA 进行主要数据加密,因为它比现代对称算法慢得多。
组合它们的一种方法是使用 RSA 对密钥交换进行签名以提供身份验证并防止中间人攻击,因为 DH 本身不提供身份验证。
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |