[英]Verify p2p node
大家好,我一直在為某些程序設計p2p命名空間。 我創建了一個系統來加密/解密與類一起發送/接收的數據包。 我使用的是基本的公共私鑰系統:1)使用對稱加密來加密數據2)使用RSA加密對稱密鑰。 然后在解密時執行相反的操作。
但是我在想,您將如何驗證數據包是否來自它所說的地方。 我打算使用一個基本的證書系統(您先使用RSA私鑰進行加密,然后使用公鑰對其進行解密),但是我不知道如何使用C#來做到這一點。 我正在使用RSACryptoServiceProvider類。
有人知道怎么做嗎? 謝謝,馬克斯
安全發送數據包的標准協議是SSL / TLS。 TLS和DTLS的RFC(以及針對最近漏洞的修復程序 )是解決之道。 對於那些學習和尋找想法的人,也應該將它們視為資源。
聽起來您正在尋找MAC 。 AEAD密碼是一組非常高效的同時執行加密和MACing的密碼原語,例如,請參閱CCM和GCM塊密碼模式。
我不相信.NET支持任何AEAD密碼。 您還可以使用.NET支持的速度較慢但完全合適的HMAC算法,也可以使用確實支持AEAD密碼的bouncycastle C#庫 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.