Crypto++入门(1)-AES块加密

本文介绍了如何使用Crypto++库进行AES块加密。尽管Crypto++ User Guide中关于AES的示例不直接,但作者提供了一个直接使用AES加密128位块的例子。需要注意,AES是Rijndael的typedef,实际加密解密通过AESEncryption和AESDecryption类完成。这些类可通过SetKey或构造函数设置密钥,并在不需要加密模式时,将ProcessAndXorBlock中的XorBlock设为0以避免Xor操作。
摘要由CSDN通过智能技术生成

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>
using namespace CryptoPP;

int main()
{

        //AES中使用的固定参数是以类AES中定义的enum数据类型出现的,而不是成员函数或变量

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值