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

baigeiRSA

baigeiRSA

打开附件有两个:

 1.
 import libnum
 from Crypto.Util import number
 from secret import flag
 ​
 size = 128
 e = 65537
 p = number.getPrime(size)
 q = number.getPrime(size)
 n = p*q
 ​
 m = libnum.s2n(flag)
 c = pow(m, e, n)
 ​
 print('n = %d' % n)
 print('c = %d' % c)
 ​
 ​
 2.
 n = 88503001447845031603457048661635807319447136634748350130947825183012205093541
 c = 40876621398366534035989065383910105526025410999058860023908252093679681817257

这n、c、e、p、q合起来一看就知道是RSA算法

已知n=p*q,所以使用yafu工具分解出p、q值。

语句:.\yafu-x64.exe “factor(n)”

脚本

 import gmpy2
 import libnum
 q = 274539690398523616505159415195049044439
 p = 322368694010594584041053487661458382819
 n = 88503001447845031603457048661635807319447136634748350130947825183012205093541
 c = 40876621398366534035989065383910105526025410999058860023908252093679681817257
 e = 65537
 phi = (q-1)*(p-1)     #phi为n的欧拉函数
 ​
 d = int(gmpy2.invert(e,phi))  #d是私钥
 ​
 flag = pow(c,d,n)
 print(libnum.n2s(flag))
 -----------------------------------------------------------
 #b'HSCTF{@Zh3n_Ba1_G3i!@}'


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

相关文章:

  • 【WebLogic】Oracle发布WebLogic 14c最新版本-14.1.2.0
  • ONLYOFFICE 文档 8.3 已发布:PDF 图章、合并形状、更多格式支持等
  • 本地化部署deepseek r1,包含web部署
  • hot100(8)
  • PostgreSQL:字符串函数用法
  • C#项目引用VB.NET 类库项目,生成一个EXE,这是什么原理
  • Ubuntu22.04操作系统4090显卡电脑本地化部署DeepSeek
  • 【DeepSeek论文精读】3. DeepSeekMoE:迈向混合专家语言模型的终极专业化
  • Vue3中watch和watchEffect的使用场景和区别
  • python编程-集合内置函数和filter(),集合常见操作
  • Springboot实现TLS双向认证
  • 网络安全基础知识|渗透测试和攻防演练的区别|WAF应用防火墙介绍以及部署方式
  • Python 操作列表思维导图
  • 搜维尔科技:Movella数字化运动领域的领先创新者
  • 机器学习数学基础:18.向量组及其线性组合
  • 【Unity3D Tab键实现切换输入框功能】
  • Docker的进程和Cgroup概念
  • 周六调休!!
  • 虚拟DOM与Diff算法:Vue如何高效更新UI?
  • java面向对象的程序设计,封装、继承、多态
  • 4. 【.NET 8 实战--孢子记账--从单体到微服务--转向微服务】--什么是微服务--微服务设计原则与最佳实践
  • MySQL主从复制原理及工作过程
  • [数据结构] Set的使用与注意事项
  • OpenBMC:可编译的硬件平台定义在哪
  • 安恒网安面试题来啦!
  • 模型压缩技术(一):模型蒸馏,给大模型“瘦身”