SSL,基于编码消息获得解码消息长度的上限

时间:2011-09-25 13:14:00

标签: cryptography ssl

简单地说,当给出长度为n的编码消息时,无论如何我可以提前绑定解码消息的长度(用于内存分配)?

我认为添加到密码位长度的消息长度应该足够了,但显然不是......

提前致谢

2 个答案:

答案 0 :(得分:1)

不,因为SSL支持压缩。

另外,我不确定你编码的是什么,但通常你不知道编码信息的长度是多少。您不能假设您刚刚交付SSL引擎的任何数据块都是整个编码消息 - 它可能只是其中的一部分。

答案 1 :(得分:1)

理论上,密文最多是(IV +明文+填充),其中IV和填充最多为一个块。在实践中,事情可能会有所不同:明文可以压缩并在解压缩时自动扩展。或者,正如大卫所说,密文可以分成几个块,每个块都是单独发送的。

最好使用一些灵活的容器来接收消息,然后在需要时调整大小到适当的固定大小容器。这种方式也更容易避免缓冲区溢出。