2018年2016级华中科技大学计算机学院密码学课程设计
文件名:SPN_inital
程序说明:
- 功能1 SPN加密
输入明文,获得密文
- 功能2 SPN解密
直接将功能1获得的密文进行解密得到相应的明文
- 功能3、4 线性攻击、差分攻击
不进行24位密钥穷举,只获得8位子密钥
文件名:spn3.0
程序说明:
- 功能1 SPN加密
输入明文,获得密文
- 功能2 线性攻击
首先输出8位子密钥,输出分析时间
然后进行穷举,得到32位子密钥,输出所用时间
- 功能3 差分攻击
首先输出8位子密钥,输出分析时间
然后进行穷举,得到32位子密钥,输出所用时间
###增强SPN算法的实现
文件名:SPN_plus
程序说明:
输入2个16位16进制数,用空格隔开即可。
输出为32位16进制密文以及32位16进制明文,中间空行隔开。
#随机性检测 文件夹中的plaintext.txt为明文文件,ciphertext为密文文件 因为在mac下实现的课设,测试程序是在windows下实现的,所以借用的同学电脑进行的测试。
-- 文件名:rsa_final
程序说明:
输出:
公钥 e n
私钥 d p q
明文 m
加密密文 c
不同解密方式下的明文结果
-- 文件名:rainbow
程序中生成的彩虹表文件名为rainbow.txt
其路径为/Users/hustguo/Desktop/U201614848_郭倜维_密码学课设/rainbow.txt
源程序中主函数内部包括两个测试程序
其一是生成彩虹表之后的手动输入测试程序
其二是在彩虹表后的自动测试程序