Security 使用加密消息的安全通信
我有一个关于如何在用户之间加密消息的问题。注意,我只会讨论密码理论,而不是依赖于平台的代码,比如C++和Windows加密。我说的是系统编程,而不是使用TLS、SSL等加密的web编程 此外,忽略证书和消息签名,因此只需将公钥视为已被验证为非欺诈性公钥,并将消息视为来自正确的用户。 我认为实现用户间快速安全加密通信的最佳方法是让两个用户都拥有会话密钥,因为对称加密比非对称加密快,并使用非对称加密(RSA)来安全传输会话密钥 我知道还有其他的密钥协商算法,比如Diffie-Hellmans,但让我们坚持使用RSA,这是我选择的 请告诉我,这可能是一种不安全(中间人攻击)或执行加密通信的效率极低的方式 理论步骤: i、 )参与方={服务器,客户端} ii.)服务器:生成会话密钥(RC4) iii.)客户端:生成私钥/公钥对(RSA) iv.)客户端:向服务器发送公钥 v、 )服务器:使用客户端的公钥加密会话密钥,然后发送加密的 客户端会话密钥 vi.)客户端:使用客户端的私钥解密会话密钥 vii.)双方现在持有快速加密通信的会话密钥 服务器(服务器的会话密钥)会话密钥的加密数据包(通信介质)客户端(服务器的会话密钥、客户端的公钥/私钥对)Security 使用加密消息的安全通信,security,encryption,rsa,public-key-encryption,private-key,Security,Encryption,Rsa,Public Key Encryption,Private Key,我有一个关于如何在用户之间加密消息的问题。注意,我只会讨论密码理论,而不是依赖于平台的代码,比如C++和Windows加密。我说的是系统编程,而不是使用TLS、SSL等加密的web编程 此外,忽略证书和消息签名,因此只需将公钥视为已被验证为非欺诈性公钥,并将消息视为来自正确的用户。 我认为实现用户间快速安全加密通信的最佳方法是让两个用户都拥有会话密钥,因为对称加密比非对称加密快,并使用非对称加密(RSA)来安全传输会话密钥 我知道还有其他的密钥协商算法,比如Diffie-Hellmans,但让我
谢谢 假设:
- 不可能篡改公钥。
- 我想你是说“忽略证书和消息签名”
- 密码系统未被破坏。
- 对称密码未被破坏(例如,RC4被破坏)
- 非对称密码没有被破解
- 单向散列函数没有被破坏
- 随机数发生器没有损坏
顺便说一句,RC4被很多人认为是不可靠的。我从RC4改为DES,我相信这是通过Windows加密API提供给我的最好(最安全)对称算法。我认为我使用的Windows密码库涵盖了大多数假设,比如不包括破译的密码和使用适当的散列,因此感谢您确认我的理论!DES也坏了,请小心:)此外,正如symcbean在其回答中提到的,实现加密通常是一个非常糟糕的主意。你可能想看看这个帖子:你是对的,哈哈,德斯很穷。我又换成了AES-256。你能从这个列表中告诉我哪种对称算法是最安全的吗@John Doe CALG_AES_256是此列表中最强的对称密码。谢谢!我很感激。