HDCTF2023Normalrsa(revenge) 2024.4.4
1 | from Crypto.Util.number import * |
简单的看一眼,发现P,Q都是低指数加密,简单的爆破一下开出来就可以得到p,q了
1 | def modroot(c,e,n): |
BJDCTF2020EasyRSA 2024.4.7
1 | p = getPrime(1024) |
看题目后,发现主要需要解决的是z与p,q的关系,发现是p的正切求导的倒数减去q反切求导的倒数,所以可以发现数学关系
1 | pq1=gmpy2.iroot(z+2*n,2)[0] |
鹤城杯2021BabyRSA 2024.4.8
1 | p = getPrime(1024) |
题目条件给出了p的高300位,以及q的低256位,首先可以从如下关系中得到p的低256位
1 | mi=2**265 |
2024.4.9
今天做的题相对简单,只有简单的古典加密,基础的欧拉函数,以及可以直接分解n的一幕,简单的维纳攻击,不写了。
红明谷CTF2022easy_ya 2024.4.10
1 | from flag import flag |
根据题目已知
1 | from Crypto.Util.number import * |
LitCTF2023Euler 2024.4.10
1 | from secret import flag |
根据题目 c = pow(m,n-p-q+3,n)
1 | def modroot(c,e,n): |