我真的很陌生,因此我按照一些教程进行了讲解,并使用C ++编写了一个示例,使用公用密钥和专用密钥对客户端(服务器)之间的数据包进行加密/解密。
结果令人鼓舞,并且运行良好,但是我很困惑,真的很困惑,而且我不会犯错误(特别是在商业环境中)。
现在,请告诉我如何使用加密/解密:
我需要了解并知道哪种方法是正确的,这就是我的理解(请不要笑):
**
**
所以我的问题如下:
非常感谢
密码术很复杂,在使用它们之前,您应该完全理解这些协议,尤其是在商业环境中。因此,Ofer Arial是正确的,需要进一步阅读。
但是您问的一件好事,因为您的示例实际上是错误的。这里是更正的版本:
我使用A和B代替服务器和客户端,因为这适用于任何类型的连接:服务器-客户端,客户端-客户端,服务器-服务器。
概述显示服务器和客户端都有自己的密钥对。通常,发送方始终使用接收方的公钥进行加密,而接收方使用自己的私钥进行解密。
您的版本有什么问题?嗯,每个拥有公钥的人都可以读取发送给客户端的流量,因此加密是没有意义的。
除加密外,连接还需要进行身份验证,因此每一方都知道(加密的)消息实际上来自正确的人。因此,密钥对也用于身份验证:
使用相同的密钥对同时进行加密和身份验证:
现在,A和B如何获取公共密钥,又如何确保获得正确的公共密钥?您要么亲自见面并相互交还,要么使用受信任方的证书。
这只是一个简短的答案,但正如已经说过的,有必要进一步阅读。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句