除了实现华科,密码学原理书上的线性攻击之外,其余的6个子密钥通过穷举法攻击成功。
2021-09-18 10:50:56 3KB 华科 密码学课设 spn 线性攻击
1
2020年华中科技大学oj系统的密码学课设 包括spn ,线性分析,差分分析,spn加强,pkcs7,彩虹表,rsa等 可过99%的数据点,有注释供参考
2021-09-18 09:21:55 62.03MB 密码学课设 华科oj
1
1)利用C\C++语言实现给定的LFSR; 2)通过不同初始状态生成相应的序列,并观察它们的周期有什么特点; 3)利用生成的序列对文本进行加/解密(按对应位作模2加运算)。 步骤: (1)生成序列:使用#include库构造序列,使用bint.to_string()将输入的01串转成字符串,用str暂存。将bint[3]和bint[0]异或,赋值给bint[4]也就是a5,循环左移,将bint转成字符串后s1[4]就是生成的a1,将 a1添加到s2后面。当str与现在的bint相同,即周期结束,跳出循环,s2就是生成的完整序列。 (2)加密过程:生成31位序列后,读取待加密文本的每一个字符,和0XFF相与得到8位01串,依次与31位序列按位异或,结果得到8位01串,得到密文,写入ciphertext.txt。 (3)解密过程:每次读入ciphertext.txt中的8个01字符,将其再依次与31位序列按位异或,得到加密前的01串,根据这个01字符串,先转成bitset类型,再转成char型,将每个字母写入解密文件deciphertext.txt,解密结束。
2021-08-30 21:32:35 3KB 密码学 密码学课设 密码学实验
1
安全邮件系统,邮件加密传输,附带,最新版activation.jar包,最新版javax.mail.jar,以及bcprov-jdk15on-1.60.jar
2021-05-25 11:42:17 4.09MB 课设 java
1
1)利用C\C++语言实现DSA算法。 2)DSA中的Hash函数采用SHA算法。 (1)消息填充:因为我们存储的时候是以字节为单位存储的,所以消息的长度(单位:位)一定是 8 的倍数。而我们填充的时候也一定是 8 位、8 位地来填充。也即不可能只填充一个二进制位,至少是 8 个二进制位(一个字节)。因此最少填充 1 个字节,最多填充 64 个字节(64*8=512)。 在SHA1中,为了HASH小于2^64长度的输入消息,先对消息m的长度进行处理,判断补0后是512位的多少倍。 (2)大整数:因为涉及到几百位的大整数运算,如这里规定p是512位,先封装一个大整数类BigNumber,BigNumber的成员变量有sign, length, uint32_t number[MAXLENGTH], MAXLENGTH规定为128,也就是说这个BigNumber最多可以由128个uint32_t型的数拼起来。
2021-05-19 20:53:57 611KB DSA 密码学 密码学课设 密码学实验
1
华中科技大学密码学课设彩虹表,可以通过onlineJudge测试满分。
2021-04-22 22:00:10 5KB HUST 密码学 华中科技大学
1
华中科技大学密码学课设pkcs7,OnlineJudge测试满分。
2021-04-22 22:00:10 3KB HUST 密码学 pkcs7 课设
1
HUST华中科技大学密码学课设spn增强.cpp,可以通过OnlineJudge。
2021-04-22 22:00:09 4KB HUST 密码学 spn增强
1
华中科技大学密码学课设modsquare.cpp,可以通过OnlineJudge。
2021-04-22 22:00:08 765B HUST 密码学 密码学课设 模重复平方
1
基于C语言编写的一个DES文件加密解密系统,可以实现对文件内容进行加密解密,用于密码学课程设计,包含完整可运行代码,以及课设报告。
2019-12-21 21:28:16 1.28MB DES、密码学
1