当前位置: 首页 > article >正文

[HNCTF 2022 Week1]baby_rsa

源代码:

from Crypto.Util.number import bytes_to_long, getPrime
from gmpy2 import *
from secret import flag
m = bytes_to_long(flag)
p = getPrime(128)
q = getPrime(128)
n = p * q
e = 65537
c = pow(m,e,n)
print(n,c)
# 62193160459999883112594854240161159254035770172137079047232757011759606702281
# 17331436837911040930486942133359735652484926528331507431552667656734821231501

攻击代码:

from Crypto.Util.number import *
n=62193160459999883112594854240161159254035770172137079047232757011759606702281
c=17331436837911040930486942133359735652484926528331507431552667656734821231501
p= 234560843346150602519484260867514743467
q=n//p
d=inverse(65537,(p-1)*(q-1))
m=pow(c,d,n)
print(long_to_bytes(m))
# b'NSSCTF{Welc0m3_t0_7h3_RSA_w0r1d}'

得到flag:

NSSCTF{Welc0m3_t0_7h3_RSA_w0r1d}


http://www.kler.cn/a/443739.html

相关文章:

  • 解释下什么是面向对象?面向对象和面向过程的区别?
  • 全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(switch语句)
  • 问题解决:发现Excel中的部分内容有问题。是否让我们尽量尝试恢复? 如果您信任此工作簿的源,请单击“是”。
  • vscode添加全局宏定义
  • dockerfile文档编写(3):构建失败后清理缓存(删除容器和镜像相关命令)
  • 【Spring】Spring框架之-AOP
  • 计算机网络之王道考研读书笔记-2
  • linux_x64 下的一般汇编函数与syscall调用约定
  • 使用copilot轻松将电子邮件转为高效会议
  • 【WRF-Urban】输入空间分布人为热排放数据的WRF运行全过程总结
  • Android13 系统签名应用编译调试说明
  • 使用国内镜像网站在线下载安装Qt(解决官网慢的问题)——Qt
  • koa实现图片上传接口(本地生成)
  • 单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
  • Webpack学习笔记(2)
  • 智慧公交指挥中枢,数据可视化 BI 驾驶舱
  • 【操作系统】数据集合集!
  • 数电课设·简易数字钟(Quartus Ⅱ)
  • 【游戏中orika完成一个Entity的复制及其Entity异步落地的实现】 1.ctrl+shift+a是飞书下的截图 2.落地实现
  • 多个图片转换为PDF文件
  • 时空AI赋能低空智能科技创新
  • IAR中如何而将定义的数组放在指定的位置
  • 【硬件IIC】stm32单片机利用硬件IIC驱动OLED屏幕
  • C05S09-Keepalive服务架设
  • pytest 小技巧:非测试方法如何使用 pytest fixture
  • 笔记--(Shell脚本04)、循环语句与函数