SummerMVP
2020-04-16 17:32:30
原
c++语言实现AES加密算法代码分享
项目描述
AES的实现
1. 只要求实现块长为 128 位、密钥长为 128 位的 AES,分别实现 ECB、CBC、CFB、OFB 这四种操作 模式。每种操作模式都有一组对应的测试数据,以便检查程序的正确性。其中,CFB 操作模式为 8 位 CFB 操作模式,OFB 操作模式为 8 位 OFB 操作模式。
2. 要求以命令行的形式,指定明文文件、密钥文件、初始化向量文件的位置和名称、加密的操作模式以 及加密完成后密文文件的位置和名称。加密时先分别从指定的明文文件、密钥文件和初始化向量文件中 读取有关信息,然后按指定的操作模式进行加密,最后将密文(用 16 进制表示)写入指定的密文文件。
命令行的具体格式如下: e2aes -p plainfile -k keyfile [-v vifile] -m mode -c cipherfile 参数: -p plainfile 指定明文文件的位置和名称 -k keyfile 指定密钥文件的位置和名称 -v vifile 指定初始化向量文件的位置和名称 -m mode 指定加密的操作模式 -c cipherfile 指定密文文件的位置和名称。
3. 分别实现对每种操作模式下加密及解密速度的测试,要求在程序中生成 5MB 的随机测试数据(不要 求使用随机数发生器),连续加密、解密 20 次,记录并报告每种模式的加密和解密的总时间(毫秒)和 速度(MByte/秒)。
4. 用 C 和/或 C++语言完成程序。
运行环境
VS2012
项目技术(必填)
C++,AES算法
是否原创(转载必填原文地址)
原创
项目截图(必填)
运行截图(必填)
注意事项(可选)
c++语言实现
猜你喜欢
请下载代码后再发表评论
相关代码
最近下载
ds9009 LV8
8月22日
danielchan2518 LV1
3月12日
2682784178 LV2
2023年12月7日
Ancauy LV1
2023年12月6日
Seaskye LV14
2023年11月10日
qinyongrong LV1
2023年8月28日
12312312411241231223 LV1
2023年6月25日
chmcore LV1
2023年4月13日
niniubi LV8
2022年12月10日
Stephen1111 LV1
2022年12月7日
最近浏览
柳咪华沙 LV7
9月16日
ds9009 LV8
7月22日
1024006053
4月26日
暂无贡献等级
danielchan2518 LV1
3月12日
2682784178 LV2
2023年12月7日
Ancauy LV1
2023年12月6日
kyyandyy LV2
2023年11月27日
Seaskye LV14
2023年11月10日
林哥哥123
2023年10月7日
暂无贡献等级
罗清晨 LV13
2023年9月1日