- 博客(0)
- 问答 (4)
- 收藏
- 关注
C/C++实现DES算法的查表法-DES加密算法的快速查表实现(非指令集)
因为最开始的代码是一个int存储一bit数据,后面修改代码结构,使用一个char存储8比特数据时,偷了一下懒,用了先前的查找表直接生成了char数据,理论上对实验结果没有影响。
代码结构说明:
1.用visual studio2022社区版编译,直接点击.sln文件即可
2.头文件
2.1 头文件中Bit_Format_查找变参考-----即为一个int存储一个比特数据,
2.2 头文件des.h包含所有函数即用到的全局变量,其中查找表存储在uint64_t变量中(ip_char,e_char等)
3.源文件
3.1 Array.cpp/base_fun_quick.cpp即为DES基本算法所用到的S/P/E盒等矩阵数组,和int到char转换/各个部件的基础实现函数
3.2 D_E_Quick.cpp即为快速实现的加密模块,其中核心部分为轮函数for循环,加密速度提升也集中在这里,这里是直接调用了生成的查找表进行加密
3.3 Find_Table.cpp即为查找表的生成,数据存储在全局变量中用于3.2中的调用
3.4 sub_key.cpp就是子密钥生成函数,有详细注释不多说了
2023-02-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人