本资源包含使用C++编写的DES加密算法的四种工作模式(ECB、CBC、OFB和CFB)的完整实现,适用于学习与研究。
SummerMVP的gravatar头像 SummerMVP于2020年4月18日15:25:44发布的项目描述如下:
该项目旨在实现C++版本的DES算法,具体包括四种操作模式:ECB、CBC、CFB和OFB。对于每种操作模式都准备了一组测试数据以验证程序正确性。其中,CFB模式为8位CFB,而OFB则采用8位OFB。
项目要求通过命令行指定明文文件、密钥文件及初始化向量的位置与名称,并选择加密的操作模式以及输出的密文文件位置和名称。具体格式如下:
e1des -p plainfile -k keyfile [-v vifile] -m mode -c cipherfile
参数说明:
- `-p plainfile`:指定明文文件的位置及名称。
- `-k keyfile`:指定密钥文件的位置及名称。
- `-v vifile`(可选):若使用CBC或CFB模式,则需提供初始化向量文件的路径和名字。
- `-m mode`:选择加密的操作模式,如ECB、CBC等。
- `-c cipherfile`:输出加密后密文的位置及名称。
项目还要求测试每种操作模式下的加解密速度。为此将生成5MB大小的随机数据,并进行20次连续的加密和解密操作,记录并报告总耗时(以毫秒为单位)以及每种模式下处理速率(MByte/秒)。
实现语言:C++或C
运行环境:Visual Studio 2012