我需要为客户端-服务器通信实现安全性。我已经实现了以下混合密码系统
为了在混合密码系统中加密发给 Alice 的消息,Bob 执行以下操作:
- 获得 Alice 的公钥。
- 为数据封装方案生成一个新的对称密钥。
- 使用刚刚生成的对称密钥在数据封装方案下对消息进行加密。
- 在密钥封装方案下,使用 Alice 的公钥加密对称密钥。
- 将这两种加密都发送给 Alice。
为了解密这个混合密文,Alice 执行以下操作:
- 使用她的私钥解密包含在密钥封装段中的对称密钥。
- 使用此对称密钥来解密数据封装段中包含的消息。
我将 RSA 用于公钥密码系统,将 AES 用于对称密钥密码系统。一切正常,但我不确定如何处理 AES 初始化向量。目前,我正在连接 AES 密钥和初始化向量,用公钥对其进行加密并将其发送到服务器。
我只是想就这种方法获得一些意见。其他通信协议 SSL 等如何解决此问题。
谢谢。