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

easy_RSA(攻防世界)

写在前面:

原题:传送门

题目如下:

附件打开

是一个文本文件:

在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17
求解出d

 

我们首先要知道什么事 RSA

在软件开发和网络安全领域,RSA公私钥的生成是实现非对称加密的重要步骤。RSA算法依赖于一对密钥,即公钥和私钥,用于加密和解密数据,以及进行数字签名和验证。公钥可以公开分享,而私钥必须保密。

求解RSA私钥d

已知RSA公钥生成参数:

  • p = 3487583947589437589237958723892346254777

  • q = 8767867843568934765983476584376578389

  • e = 65537

我们需要计算私钥 d,其公式为: d ≡ e⁻¹ (mod φ(n)),其中 φ(n) = (p-1) * (q-1)。

以下是Python代码实现:

import gmpy2

# 已知参数

p = 3487583947589437589237958723892346254777

q = 8767867843568934765983476584376578389

e = 65537

# 计算 φ(n)

phi = (p - 1) * (q - 1)

# 计算 d

d = gmpy2.invert(e, phi)

# 输出结果

print(f"flag{{{d}}}")

运行结果验证

将上述代码运行后,程序会输出私钥 d 的值,并按照题目要求的格式返回结果,例如: flag{d}

有童鞋可能要问了:“ d = gmpy2.invert(e, phi) ” 是什么东东?

d = gmpy2.invert(e, phi):

gmpy2.invert(e, phi) 函数是 gmpy2 库中的一个方法,用于计算模逆元。具体来说,它尝试找到一个整数 d 使得:

(e×d)≡1 (mod ϕ)(e×d)≡1 (mod ϕ)

为了成功计算 d,以下条件必须满足:

1、e 和 phi 必须互质(即最大公约数为 1)。如果 e 和 phi 不互质,则不存在这样的 d 满足上述同余方程,此时 gmpy2.invert 将返回 0,表示找不到模逆。
2、e 必须小于 phi。

注意事项

要用 gmpy2库中的invert函数需要确保安装了 gmpy2 库,可通过 pip install gmpy2 安装。

如下图:

像我这样就是下载好了

好了 有了求d的公式和数据了 我们就可以打开我们心爱的 pycharm 了

公式一代数据一改得到:

输出:

flag{125631357777427553}

所以结合题目意思 答案应该是 

cyberpeace{125631357777427553}

整理不易,头发掉了几根。觉得有收获的话,点个赞关注一下呗? 我保证,我的主页里还有更多让你头发比你掉得还多的好东西!

写在后面:

http://www.dtcms.com/a/585610.html

相关文章:

  • 「JAVA 入门」JDK概念及作用 | JDK 的下载及安装 | 自动和手动配置环境变量 | 编译Java文件 | 运行class文件
  • AIGC首帧图尾帧图生成视频案例教程
  • Go语言流程控制
  • wix建设网站商品图片网站开发
  • 【AI-agent】LangChain开发智能体工具流程
  • 测量为什么要建站本地广东中山网站建设
  • 数据结构与算法:树上倍增与LCA
  • P1997 faebdc 的烦恼+P7764 [COCI 2016/2017 #5] Poklon(莫队)
  • Nginx请求超时
  • 基于单片机的交流功率测量仪设计与实现
  • Zookeeper实现分布式锁
  • 好看的个人网站设计专做轮胎的网站
  • VGG论文精细解读
  • 抖音自动化-实现给特定用户发私信
  • 安徽省教育基本建设学会网站查看网站被百度收录
  • LeetCode算法学习之旋转数组
  • webrtc降噪-NoiseSuppressor类源码分析与算法原理
  • openEuler容器化实践:从Docker入门到生产部署
  • Spring Security实战代码详解
  • ES6 Promise:告别回调地狱的异步编程革命
  • 企业网站备案教程免费建设网站抽取佣金
  • seo网站诊断流程公司网站建设费用会计处理
  • 与Figma AI对话的对话框在哪里?
  • 【科研绘图系列】R语言绘制微生物箱线图(box plot)
  • 禅城区网站建设管理网站模板下载免费下载
  • 前端微服务化
  • Linux 软件安装 “命令密码本”:yum/apt/brew 一网打尽
  • 做网站框架显示不出来中国最大的软件公司
  • 轻量级云原生体验:在OpenEuler 25.09上快速部署单节点K3s
  • 程序员 给老婆做网站网站建设 海南