gpt4 book ai didi

c++ - 在 C++ 中处理 block 密码的最佳方法? (加密++)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:37:44 25 4
gpt4 key购买 nike

我对 C++ 和 block 密码加密都很陌生,目前正在为 AES(16 字节种子/16 字节 block )编写解密函数。一切顺利,但我的总数据大小并不总是 block 大小的倍数。我想知道处理数据末尾剩余数据的最佳方法是什么。

我正在为 AES 库使用 Crypto++。

ProcessBlock() 函数采用输入和输出字符数组。我假设它期望它们至少与 block 大小一样大。

在分组密码中处理所有 16 字节 block ,然后还处理剩余数据的最佳方法是什么?

最佳答案

这不仅仅是填充 - 您需要一种操作模式。 Good Math, Bad Math 博客正在撰写关于它们是什么以及如何使用它们的优秀系列文章 here .另见 wikipedia entry .有一件事非常非常重要:永远不要使用 ECB(电子密码本)模式——在这种模式下,您可以独立加密每个 block 。这是一种显而易见的方法,但它提供的安全性极差。

不过,理想情况下,您甚至不必自己执行此操作。你的加密库应该提供它。如果没有,我建议换成别的东西。像 OpenSSL。

关于c++ - 在 C++ 中处理 block 密码的最佳方法? (加密++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/141399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com