1

我正在使用 OpenSSL 在 C 中实现解密混合网络。

我已经使用 EVP_SealInit、EVP_SealUpdate 和 EVP_SealFinal 加密了数据。然后我想通过 TCP 将这些数据传输到一个开放端口(第一个“混合”)。

EVP_SealInit 等是加密要通过 TCP 发送的消息字符串的最佳方式吗?

如果是这种情况,我如何通过此连接传输 IV?我的意思是:我可以想到几种方法,但我想如果我只是将它与消息一起传输,我想我看不出有 IV 的意义。是否可以将 IV 设置为某个值,例如全零?我该怎么做呢?

如果有帮助,我很乐意发布代码。

4

1 回答 1

1

您需要一些可以称为协议的东西。就其术语而言,您将知道何时发送数据、何时发送 IV 等。

如果您的会话密钥每次都是随机的(EVP_Seal ... 提供),IV 也可以为零。

于 2012-10-16T05:21:11.457 回答