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}

 

posted @   Jjyyyyy  阅读(220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示