[HDCTF 2023]Normal_Rsa(revenge)(素数分解)

题目:(注释为分析)

from Crypto.Util.number import *
#from shin import flag


m=bytes_to_long(b'HDCTF{******}')
e=65537
p=getPrime(256)
q=getPrime(512)
r=getPrime(512)
n=p*q*r## phi=(p-1)*(q-1)*(r-1)
P=pow(p,2,n)## P=p**2  p=iroof(P,2)
Q=pow(q,2,n)## Q=q**2  q=iroof(Q,2)
c=pow(m,e,n)## 求d,d = gmpy2.invert(e, phi)
print(f"P = {P}")
print(f"Q = {Q}")
print(f"n = {n}")
print(f"c = {c}")
'''
P = 8760210374362848654680470219309962250697808334943036049450523139299289451311563307524647192830909610600414977679146980314602124963105772780782771611415961
Q = 112922164039059900199889201785103245191294292153751065719557417134111270255457254419542226991791126571932603494783040069250074265447784962930254787907978286600866688977261723388531394128477338117384319760669476853506179783674957791710109694089037373611516089267817074863685247440204926676748540110584172821401
n = 12260605124589736699896772236316146708681543140877060257859757789407603137409427771651536724218984023652680193208019939451539427781667333168267801603484921516526297136507792965087544395912271944257535087877112172195116066600141520444466165090654943192437314974202605817650874838887065260835145310202223862370942385079960284761150198033810408432423049423155161537072427702512211122538749
c = 7072137651389218220368861685871400051412849006784353415843217734634414633151439071501997728907026771187082554241548140511778339825678295970901188560688120351732774013575439738988314665372544333857252548895896968938603508567509519521067106462947341820462381584577074292318137318996958312889307024181925808817792124688476198837079551204388055776209441429996815747449815546163371300963785
'''

从题目我们看到p,q的位数远小于n的位数,那么直接开方即可得到p,q

代码如下:

import gmpy2
from Cryptodome.Util.number import *
P = 8760210374362848654680470219309962250697808334943036049450523139299289451311563307524647192830909610600414977679146980314602124963105772780782771611415961
Q = 112922164039059900199889201785103245191294292153751065719557417134111270255457254419542226991791126571932603494783040069250074265447784962930254787907978286600866688977261723388531394128477338117384319760669476853506179783674957791710109694089037373611516089267817074863685247440204926676748540110584172821401
n = 12260605124589736699896772236316146708681543140877060257859757789407603137409427771651536724218984023652680193208019939451539427781667333168267801603484921516526297136507792965087544395912271944257535087877112172195116066600141520444466165090654943192437314974202605817650874838887065260835145310202223862370942385079960284761150198033810408432423049423155161537072427702512211122538749
c = 7072137651389218220368861685871400051412849006784353415843217734634414633151439071501997728907026771187082554241548140511778339825678295970901188560688120351732774013575439738988314665372544333857252548895896968938603508567509519521067106462947341820462381584577074292318137318996958312889307024181925808817792124688476198837079551204388055776209441429996815747449815546163371300963785

e=0x10001
p=gmpy2.iroot(P,2)[0]
q=gmpy2.iroot(Q,2)[0]
r=n//q//p
phi=(p-1)*(q-1)*(r-1)
d = gmpy2.invert(e, phi)
m = pow(c,d,n)
print(long_to_bytes(m))

相关推荐

  1. [HDCTF 2023]Normal_Rsa(revenge)(素数分解

    2024-04-10 19:46:02       14 阅读
  2. <span style='color:red;'>HNCTF</span>-PWN

    HNCTF-PWN

    2024-04-10 19:46:02      10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 19:46:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 19:46:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 19:46:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 19:46:02       20 阅读

热门阅读

  1. 详解Vue3中如何使用动态组件

    2024-04-10 19:46:02       10 阅读
  2. vue中this.$nextTick的作用

    2024-04-10 19:46:02       12 阅读
  3. QT4和QT5区别

    2024-04-10 19:46:02       11 阅读
  4. 第十一章-Broker-消息存储(二)

    2024-04-10 19:46:02       13 阅读
  5. nginx基础知识

    2024-04-10 19:46:02       11 阅读
  6. 取消请求实战

    2024-04-10 19:46:02       18 阅读
  7. golang主要优缺点

    2024-04-10 19:46:02       18 阅读
  8. 函数参数的类型

    2024-04-10 19:46:02       18 阅读
  9. flutter ios 运行报错

    2024-04-10 19:46:02       21 阅读