Crypto++首页上提供了Crypto++ User Guide这个入门指南的链接,这本指南属于一定要看的资料,不过可惜的是这也是找到的唯一一本指南了:(。User Guide上面的有一些例子,其中对AES用法的说明不太直接,而AES之类对称加密算法又比较常用,所以我这里写了一个AES的例子。
例子是直接用AES加密一个块,AES的数据块大小为128位,密钥长度可选择128位、192位或256位。直接用AES加密一个块很少用,因为我们平常都是加密任意长度的数据,需要选择CFB等加密模式。但是直接的块加密是对称加密的基础。
| #include <iostream> using namespace std; #include <cryptopp/aes.h> int main() //AES中使用的固定参数是以类AES中定义的enum数据类型出现的,而不是成员函数或变量 cout << "AES Parameters: " << endl; |

本文介绍了如何使用Crypto++库进行AES块加密。尽管Crypto++ User Guide中关于AES的示例不直接,但作者提供了一个直接使用AES加密128位块的例子。需要注意,AES是Rijndael的typedef,实际加密解密通过AESEncryption和AESDecryption类完成。这些类可通过SetKey或构造函数设置密钥,并在不需要加密模式时,将ProcessAndXorBlock中的XorBlock设为0以避免Xor操作。
-AES块加密&spm=1001.2101.3001.5002&articleId=117601&d=1&t=3&u=2286212d144a4b689ea3103d67124abd)
681

被折叠的 条评论
为什么被折叠?



