picoCTF2019-rsa-pop-qui Writeup
目录
题目
- Class, take your seats! It’s PRIME-time for a quiz… nc 2019shell1.picoctf.com 30962
开始没整明白怎么回事(我的垃圾英语,,,)查了几个题解:
参考题解1
参考题解2
RSA算法
后来逐渐明白了,就是rsa加密的那几个参数来回搞,不需要破解,解不出来直接选“N”就可以了 - RSA参数:
- p,q为两个质数
- n = p*q
- r = (p-1)*(q-1)
- ed ≡ 1 (mod n)
第一题:已知p,q 求 n
- 直接相乘
- n = p*q = 4636878989
第二题:已知p,n 求 q
- 直接除
- q = n/p = 93089
第三题:已知n,e 求 p,q
- 这个相当于知道公钥,求原来的p,q,做不到(需要对 n 进行大整数的素因子分解,很难解,这是RSA加密的基础)
- 直接选“N”
第四题:已知p,q 求 r
- totient():欧拉函数
- r = (p-1)*(q-1) = 836623060
第五题:已知e,n 和 明文 求 密文
- e,n就是公钥,可以用来对明文加密
import gmpy2
import rsa
n = 29129463609326322559521123136222078780585451208149138547799121083622333250646678767769126248182207478527881025116332742616201890576280859777513414460842754045651093593251726785499360828237897586278068419875517543013545369871704159718105354690802726645710699029936754265654381929650494383622583174075805797766685192325859982797796060391271817578087472948205626257717479858369754502615173773514087437504532994142632207906501079835037052797306690