自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (5)
  • 收藏
  • 关注

原创 ctf web WriteUp1

年纪大了,方法总结的东西不写下来一会儿就忘了web2(bugku) & 佛说 – 白给(asuri)网址链接:http://120.24.86.145:8002/web2/47.102.107.100:39002直接按F12,隐藏在Elements里Asuri另外一题白给2,按F12,Console里点击链接跳转就能看到flag了佛说 – 白给 3网址链接:http:...

2019-10-14 20:52:36 490

实现数字签名算法(DSA),Hash算法的实现C语言

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型的数拼起来。

2020-04-15

利用C\C++实现RSA算法的加、解密运算

1)利用扩展的Euclid计算 a mod n 的乘法逆元; 2)Miller-Rabin素性测试算法对一个给定的大数进行测试; 3)实现 的运算,并计算 4)利用Euler定理手工计算 ,并与3)计算的结果对比; 5)实现RSA算法。并对"I LOVE NANJING UNIVERSITY OF AERONAUTICS AND ASTRONAUTICS"加解密。说明:为了方便实现,分组可以小一点,比如两个字母一组。

2020-04-15

利用C\C++实现AES算法的加、解密运算

(1)分组长度128比特,16字节。 (2)定义位操作LOAD32H(x, y) 将uint8_t y[4] 转换成 uint32_t x,STORE32H(x, y) 将uint32_t x 转换成 uint8_t y[4],BYTE(x, n) 从uint32_t x中提取从低位开始的第n个字节,MIX(x) 密钥扩展中的SubWord(RotWord(temp),字节替换然后循环左移1位,ROF32(x, n) uint32_t x循环左移n位,ROR32(x, n) uint32_t x循环右移n位。 (3)密钥扩展:接受16字(128位)初始密钥,相当于 4个32位字,所以Nb=4,Nr=10(10轮),密钥扩展过程产生4*(10+1)= 44个字,最初的4个字为原始密钥。

2020-04-15

简单的线性反馈移位寄存器(LFSR)C语言实现

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,解密结束。

2020-04-15

密码学课设单表仿射C语言实现

实验内容 1)用C\C++语言实现单表仿射(Affine)加/解密算法; 2)用C\C++语言实现统计26个英文字母出现频率的程序; 3)利用单表仿射加/解密程序对一段较长的英文文章进行加密,再对明文和密文中字母出现的频率进行统计并作对比,观察有什么规律。

2020-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除