繁体   English   中英

验证p2p节点

[英]Verify p2p node

大家好,我一直在为某些程序设计p2p命名空间。 我创建了一个系统来加密/解密与类一起发送/接收的数据包。 我使用的是基本的公共私钥系统:1)使用对称加密来加密数据2)使用RSA加密对称密钥。 然后在解密时执行相反的操作。

但是我在想,您将如何验证数据包是否来自它所说的地方。 我打算使用一个基本的证书系统(您先使用RSA私钥进行加密,然后使用公钥对其进行解密),但是我不知道如何使用C#来做到这一点。 我正在使用RSACryptoServiceProvider类。

有人知道怎么做吗? 谢谢,马克斯

安全发送数据包的标准协议是SSL / TLS。 TLSDTLS的RFC(以及针对最近漏洞的修复程序 )是解决之道。 对于那些学习和寻找想法的人,也应该将它们视为资源。

听起来您正在寻找MAC AEAD密码是一组非常高效的同时执行加密和MACing的密码原语,例如,请参阅CCMGCM块密码模式。

我不相信.NET支持任何AEAD密码。 您还可以使用.NET支持的速度较慢但完全合适的HMAC算法,也可以使用确实支持AEAD密码的bouncycastle C#库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM