SWPUCTF 2021 新生赛
新生赛,题目难度中等
crypto1
Problem: [SWPUCTF 2021 新生赛]crypto1
思路
共模攻击,简单爆破一下 \(e_1\) 和 \(e_2\) 如果 \(e_1\) 与 \(e_2\) 互素有: \[ s*e_1+t*e_2=1 \]
如果不互素,设 \(gcd(e_1,e_2) = g\) ,则: \[ s*e_1+t*e_2=g \] 根据扩展欧几里德算法,可以求出 \(s\) 和 \(t\) 和 \(g\),再根据共模攻击求出 \(m\) \[ \begin{aligned} c_1 ^ s *c_2 ^ t &= m ^ {s*e_1}*m ^ {t*e_2} \\ &= m ^ {s*e_1+t*e_2} \\ &=m ^ g \end{aligned} \] 最后再对 \(m\) 开 \(g\) 次方跟即可
exp
1 | for e1 in range(1,3087): |
crypto2
Problem: [SWPUCTF 2021 新生赛]crypto2
思路
共模攻击 如果 \(e_1\) 与 \(e_2\) 互素有: \[ s*e_1+t*e_2=1 \] 根据扩展欧几里德算法,可以求出 \(s\) 和 \(t\),再根据共模攻击求出 \(m\) \[ \begin{aligned} c_1 ^ s *c_2 ^ t &= m ^ {s*e_1}*m ^ {t*e_2} \\ &= m ^ {s*e_1+t*e_2} \\ &=m \end{aligned} \]
exp
1 | from Crypto.Util.number import * |
crypto3
Problem: [SWPUCTF 2021 新生赛]crypto3
思路
exp
crypto4
思路
exp
crypto5
思路
exp
crypto6
思路
exp
crypto7
思路
exp
crypto8
思路
exp
crypto9
思路
exp
crypto10
思路
exp
ez_rsa
思路
exp
pigpig
思路
exp
ez_caesar
思路
exp
思路
exp
SWPUCTF 2021 新生赛