AES ECB模式加解密
使用cryptopp完成AES的ECB模式进行加解密。
分组密码有五种工作体制:1. 电码本模式(Electronic Codebook Book (ECB));2.密码分组链接模式(Cipher Block Chaining (CBC));3.计算器模式(Counter (CTR));4.密码反馈模式(Cipher FeedBack (CFB));5.输出反馈模式(Output FeedBack (OFB))。
AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个。(8比特 == 1字节)
在CBC、CFB、OFB、CTR模式下除了密钥外,还需要一个初始化向IV。(ECB模式不用IV)
程序 aes_ecb.cpp
// g++ -g3 -ggdb -O0 -Wall -Wextra -Wno-unused -o aes_ecb aes_ecb.cpp /usr/local/lib/libcryptopp.a -I/usr/local/include/cryptopp/
#include "osrng.h"
using CryptoPP::AutoSeededRandomPool;
#include <iostream>
using std::cin;
using std::cout;
using std::cerr;
using std::endl;
#incl