首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预计算AES输出长度

预计算AES输出长度
EN

Stack Overflow用户
提问于 2014-03-05 19:21:21
回答 1查看 319关注 0票数 2

我正在构建一个在TCP上运行的文件传输协议。我在发送之前对数据进行加密。在实际加密之前,有可能计算密文的大小吗?

我希望将文件大小发送给客户端,以便他知道数据流何时结束,同时在输出时立即将密文推到流中。

为了加密,我使用了RijndaelManaged .NET类。

例如,大小为634字节的文件正在加密到660字节。

使用我找到的公式,块大小为16:

(inputSize / blockSize + 1) * blockSize

我得到650个字节。为什么会有这种差异?

输入-输出大小对的示例(以字节为单位):

输入:905296输出:905332

输入:82320输出:82356

输入:308输出:340

EN

回答 1

Stack Overflow用户

发布于 2014-03-05 19:29:47

你发现的公式不完全正确。

考虑到欧洲央行或CBC (这类学生中唯一的选择):

计算(Bytecount / Blocksize)和省略十进制部分

然后加1作为填充,然后用Blocksize进行乘法。

634/16 = 39.625 => 40

40 * 16 = 640

另外的10个bytes...probably是一个头或类似的东西。

众所周知,MS在任何地方都会添加自己的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22207176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档