openssl AES 加密在输出中添加了相当于块大小的字节

发布于 2024-11-09 13:05:45 字数 404 浏览 5 评论 0原文

我正在尝试在控制台上使用 openssl 进行加密,以匹配 AES 的另一个实现生成的输出。所有细节都已知。我在 128 位 CBC 模式下使用 AES。奇怪的是,无论文件大小如何,输出都会大 16 个字节。我认为 openssl 正在附加某种填充。

在其他实现的方向上,这并不是什么大问题,因为我可以删除最后 16 个字节,但相反的是,因为我无法发明 openssl 可能会检查有效性的字节。

我如何告诉 openssl 不要这样做?

命令行:

openssl enc -aes-128-cbc -K <pre-shared key in hex> -in rawfile.bin -out encfile.enc -iv <pre-shared IV in hex>

I'm trying to encrypt with openssl on the console to match output generated by another implementation of AES. All details are known. I'm using AES in 128-bit CBC mode. Weirdly enough, irrespective of the file size, the output will be 16 bytes larger. I think openssl is appending some kind of padding.

In the direction to the other implementation it's not that much of a problem as I can drop the last 16 bytes, but the other way around is as I can't invent the bytes that openssl will probably check for validity.

How do I tell openssl not to do that?

Commandline:

openssl enc -aes-128-cbc -K <pre-shared key in hex> -in rawfile.bin -out encfile.enc -iv <pre-shared IV in hex>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

↙厌世 2024-11-16 13:05:45

openssl enc 有一个 -nopad 选项。我没有使用过它,但听起来很相关。

-nopad
    disable standard block padding

openssl enc has a -nopad option. I've not used it, but it sounds relevant.

-nopad
    disable standard block padding
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文