2

我正在尝试在 Visual Studio 上使用带有 C++ 的 intel_aes_c 库来创建一种以 32 字节块大小进行加密的加密方法,但即使执行 #define BLOCK_SIZE (32) 也无济于事。

一般来说,我想问一下如何在英特尔 AES-NI 示例库中设置块大小。任何帮助或澄清以正确的方式指出我将不胜感激,谢谢!

4

1 回答 1

2

据我所知,纯文本的块大小无法使用 AES-NI 更改(如果要对其进行加密)。这是由英特尔指定的:

AES 算法通过在几轮中加密 128 位的固定块大小的纯文本来生成最终加密的密文。使用的轮数(10、12 或 14)取决于密钥长度(128b、192b 或 256b)。每轮对输入状态执行一系列步骤,然后将其输入下一轮。每一轮都使用使用密钥计划生成的子密钥进行加密。有关 AES 的更多详细信息,请参阅 1。 -链接

最后( 1 )提到的参考是指关于 AES的维基百科文章,其中指出:

AES 是 Rijndael 的变体,它具有128 位的固定块大小和 128、192 或 256 位的密钥大小。

于 2014-01-17T09:11:04.307 回答