0

我会更好地解释我的问题。

我有一个连接到 Python 服务器的 C# 客户端,该客户端应该在建立连接时向服务器发送(仅一次)一些数据,这些数据不应该被篡改。

我对密码学一无所知,但我读过一些算法,如 RSA,其中公钥用于加密数据,私钥用于解密。

我想做的是创建一对密钥并将公钥发送给客户端,用这个密钥加密数据并将加密的数据发送到服务器,我认为使用这种方式数据不能被解密也被篡改后,每个连接的客户端都会有一对不同的密钥。这可能吗?我一直在搜索,但我并不真正了解 RSA 的工作原理。关于如何做到这一点的任何想法?

4

1 回答 1

2

一个非常简单的答案:不要尝试创建自己的协议,而是使用 SSL(或更确切地说是 TLS)。特别是如果您不确定如何实现这一点。您可以使用自己的自签名(因此是免费的)证书。

于 2012-09-05T16:56:53.677 回答