1. 程式人生 > 其它 >n=p*q*r

n=p*q*r

##ctf.show

#funnyrsa2

題目:

from secret import flag

e = 0x10001
p = getPrime(80)
q = getPrime(80)
r = getPrime(80)
n = p * q * r
m = libnum.s2n(flag)#字串轉數字字串
c = pow(m,e,n) print("n =", n) print("c =", c) # n = 897607935780955837078784515115186203180822213482989041398073067996023639 # c = 490571531583321382715358426750276448536961994273309958885670149895389968

1、分解n   http://factordb.com

p = 876391552113414716726089
q = 932470255754103340237147
r = 1098382268985762240184333

2、上指令碼

from Crypto.Util.number import *
import gmpy2
n = 897607935780955837078784515115186203180822213482989041398073067996023639
c = 490571531583321382715358426750276448536961994273309958885670149895389968
e 
= 0x10001 p = 876391552113414716726089 q = 932470255754103340237147 r = 1098382268985762240184333 phi = (p - 1) * (q - 1) * (r - 1) d = gmpy2.invert(e, phi) m = pow(c, d, n) print(long_to_bytes(m))#正整數轉化為byte型別

3、解得:

flag{what_that_fvck_r}