2024蓝桥杯CTF writeUP--Theorem

密码方向的签到题,根据题目已知n、e和c,并且p和q是相邻的素数,可以考虑分解。

通过prevprime函数分解n,然后

RSA解密即可:

from Crypto.Util.number import long_to_bytes
import gmpy2
import libnum

from sympy import prevprime

e = 65537
n = 94581028682900113123648734937784634645486813867065294159875516514520556881461611966096883566806571691879115766917833117123695776131443081658364855087575006641022211136751071900710589699171982563753011439999297865781908255529833932820965169382130385236359802696280004495552191520878864368741633686036192501791
c = 36423517465893675519815622861961872192784685202298519340922692662559402449554596309518386263035128551037586034375613936036935256444185038640625700728791201299960866688949056632874866621825012134973285965672502404517179243752689740766636653543223559495428281042737266438408338914031484466542505299050233075829

# 分解n
p = prevprime(gmpy2.iroot(n,2)[0])
q = n // p

# 求d
d = gmpy2.invert(e,(p-1) * (q-1))

print(long_to_bytes(pow(c,d,n)))

非预期解,n可以直接用yafu进行分解

E:\CTF实例\Reverse\RSA\yafu-1.34>yafu-x64.exe "factor(94581028682900113123648734937784634645486813867065294159875516514520556881461611966096883566806571691879115766917833117123695776131443081658364855087575006641022211136751071900710589699171982563753011439999297865781908255529833932820965169382130385236359802696280004495552191520878864368741633686036192501791)"


fac: factoring 94581028682900113123648734937784634645486813867065294159875516514520556881461611966096883566806571691879115766917833117123695776131443081658364855087575006641022211136751071900710589699171982563753011439999297865781908255529833932820965169382130385236359802696280004495552191520878864368741633686036192501791
fac: using pretesting plan: normal
fac: no tune info: using qs/gnfs crossover of 95 digits
div: primes less than 10000
fmt: 1000000 iterations
Total factoring time = 0.5512 seconds


***factors found***

P154 = 9725277820345294029015692786209306694836079927617586357442724339468673996231042839233529246844794558371350733017150605931603344334330882328076640690156923
P154 = 9725277820345294029015692786209306694836079927617586357442724339468673996231042839233529246844794558371350733017150605931603344334330882328076640690156717

ans = 1

相关推荐

  1. 2024/3/23

    2024-05-09 10:00:06       19 阅读
  2. 2024/3/24

    2024-05-09 10:00:06       18 阅读
  3. Acwing2024日期问题

    2024-05-09 10:00:06       13 阅读
  4. Acwing2024区间合并

    2024-05-09 10:00:06       13 阅读
  5. Acwing2024贡献法

    2024-05-09 10:00:06       13 阅读
  6. Acwing2024DFS

    2024-05-09 10:00:06       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-09 10:00:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-09 10:00:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-09 10:00:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-09 10:00:06       20 阅读

热门阅读

  1. 网络攻防准备

    2024-05-09 10:00:06       11 阅读
  2. Django和Python版本兼容表

    2024-05-09 10:00:06       9 阅读
  3. Django model 联合约束和联合索引

    2024-05-09 10:00:06       9 阅读
  4. vue3中的reactive和ref

    2024-05-09 10:00:06       9 阅读
  5. pytorch(3d、4d张量转换)

    2024-05-09 10:00:06       8 阅读
  6. React-hooks相关知识点总结

    2024-05-09 10:00:06       13 阅读
  7. livox雷达斜装修改

    2024-05-09 10:00:06       9 阅读
  8. MongoDB聚合运算符:$toDecimal

    2024-05-09 10:00:06       12 阅读