- 博客(24)
- 收藏
- 关注
原创 DSA-针对随机数K的攻击
变量flag的值在题目中给出了(设为b)。在签名时随机数k的生成为传入的变量flag(b)经过SHA256后的哈希值加私钥x经过SHA256后的哈希值。因为变量flag的值题目给出了,所以它经过SHA256后的哈希值也就知道了(设为H),因此随机数k的高256位也就知道了。这里k也是拼接,因此k可以看作将H左移256位在加上一个h'(x经过SHA256的哈希值),因此k可以写成(2^256)*H+h'。h是256位的字节流,这里x是由h+h这样拼接起来的,其实h+h可以这样想,先将h左移256位,在加h。
2024-03-22 19:08:10
942
原创 BUU-RSA
题目从题目可以知道,加密flag的参数p,q被再次加密了。因此要将p,q解密出来在进行常规的RSA解密就可以了。参数P:给出了两个同余方程:参数q:这里的思路也是先使用二项式展开消除带p2*q2的项,然后在消元。完整代码。
2024-03-21 09:01:16
1110
原创 AMM算法
在这篇paper中推导了AMM算法,给出了如何在有限域中开2次,甚至n次方根问题的算法。本文先介绍AMM算法是如何在有限域中开2次方根的问题,然后在介绍在有限域中开n次方根。本文所涉及的模数均为素数。
2024-03-21 08:58:28
1034
原创 BUU--RSA
gen_p函数,首先获取了一个128位的素数,然后p列表的下一位是前一位的下一个素数,并且给出了index=9的素数。gen_q函数:获取了两个1024位的素数作为p,q,获取了一个53位的加密指数e,且gcd(e,phi)=1,题目输出了n,e*d。拿到index=9的素数后可以反推回去得到index=0的素数,再由index=0的素数重新生成素数列表,得到素数列表就得到了n和phi了,加密指数又知道,就可以获得解密指数取解密了,解密后在返回它的下一个素数就是题目生成的参数p了。flag被分为两部分。
2024-03-11 22:22:04
1008
原创 Base64隐写
运行结果后面的信息其实是由于编码时填充的0所导致的,不影响我们知道结果。但是对于整体来说不能以填充时全0就代表没有隐藏信息,因为它所隐藏的其实是二进制串。
2024-01-14 18:28:40
1288
1
原创 C语言实现AES128解密-法2
其实就是拿子密钥矩阵左乘常量矩阵。3.其他除了轮密钥列混淆函数外,法2所用的其他函数与法1均相同这里就不再赘述,具体见法1或者整体代码,特别注意一下轮次的值。4.整体代码5.测试结果输入:zhang123456789ab zhang123456789ab输出:Plaintext is: zhang123456789ab输入:python123456789a ba987654321zhang输出:Plaintext is: python123456789a6.总结文章
2023-09-27 12:33:00
2072
1
原创 【分别以桥接模式,NAT模式设置kali虚拟机】
分别以桥接模式,NAT模式设置kali虚拟机,并说明不同模式下物理机与kali虚拟机是否在同一个子网下。
2022-10-08 12:55:56
1551
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人