Skip to content

lzyq0912/cryptography

This branch is 1 commit behind Freedom-Guo/Cryptography-Course-Design:master.

Repository files navigation

cryptography

2018年2016级华中科技大学计算机学院密码学课程设计

SPN

基础SPN算法的实现与密码分析

文件名: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

-- 文件名:rsa_final

程序说明:

输出:

公钥 e n

私钥 d p q

明文 m

加密密文 c

不同解密方式下的明文结果

彩虹表

-- 文件名:rainbow

程序中生成的彩虹表文件名为rainbow.txt

其路径为/Users/hustguo/Desktop/U201614848_郭倜维_密码学课设/rainbow.txt

源程序中主函数内部包括两个测试程序

其一是生成彩虹表之后的手动输入测试程序

其二是在彩虹表后的自动测试程序

About

密码学课程设计

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%