无法使用英特尔AES-NI样本库以32字节块大小加密/解密

时间:2014-01-17 07:51:44

标签: c++ encryption aes intel aes-ni

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

一般来说,我想问一下如何在英特尔AES-NI样本库中设置块大小。非常感谢您以正确方式指出我的任何帮助或澄清,谢谢!

1 个答案:

答案 0 :(得分:2)

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

  

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

最后(1)中提到的参考文献涉及关于AES的a wikipedia article,其中指出:

  

AES是Rijndael的一种变体,固定块大小为128位,   密钥大小为128,192或256位。