RSA加密

news/2024/11/18 17:23:43/文章来源:https://www.cnblogs.com/butt3rf1y/p/18387253

题目来源[BUUCTF]REVERSE——rsa

打开文件夹有两个文件

打开 pub.key 文件

复制到解密网站

对应 RSA 密钥指数 E=65537,这一串模数可以转化为十进制后可以分离出 p、q


p=285960468890451637935629440372639283459,q=304008741604601924494328155975272418463
所以已知 E、p、q,也就已知 N、L,解密脚本

import gmpy2
import rsa
E = 65537
N = 86934482296048119190666062003494800588905656017203025617216654058378322103517
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
pq = (p-1)*(q-1)
d = gmpy2.invert(E,pq)
key = rsa.PrivateKey(N, E, int(d), p, q)
with open("F:\\CTF question\\BUUCTF\\Reverse\\output\\flag.enc", "rb+") as f:f = f.read()         # 读取 flag.enc 内容并用 RSA 算法解密
print(rsa.decrypt(f, key))

RSA 加密算法
加密:

密文 = 明文的E次方 mod N
公钥为 E、N 组合(E,N)

解密:

明文 = 密文的D次方 mod N
私钥为 D、N 组合 (D,N)

密钥对生成:

N: 两个质数 p、q 相乘							N = p*q
L: p-1、q-1 的最小公倍数							L = lcm(p-1,q-1)
E: 满足:1<E<L, E和L最大公约数为 1			                        1<E<L,gcd(E,L) = 1
D: 由 E 计算出							        1<D<L,E*D mod L = 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/789314.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JMeter手机app录制

在移动应用的性能测试中,如何准确、全面地捕捉用户操作并生成可复用的测试脚本,始终是测试工程师面临的一大挑战。而JMeter,作为一款功能强大的开源性能测试工具,不仅在Web测试中表现优异,在手机App的录制方面同样拥有独到的优势。 那么,如何利用JMeter来进行手机App的录…

form-data与x-www-form-urlcoded区别

引言 很多同学在使用 postman 工具时,经常搞不清楚 form-data 与 x-www-form-urlcoded 的区别,如下:multipart/form-data 和 application/x-www-form-urlencoded 是两种常用的 HTTP 请求内容类型(Content-Type),它们用于在 HTTP请求中发送数据,但是它们之间存在一些区别…

创建结算清单时提示冲突解决方案

一、报错界面 二、原因分析【我的冲突列表】下没有这个冲突 原来组织间结算单独表单显示。 依次点击【供应链】→【组织间结算】→【基础资料】→【组织间结算冲突操作列表】,如下图所示 三、解决方式

最优化与计数

动态规划:可以认为由状态,转移两个过程构成 树上优化技巧 P1272 重建道路 设,dp[i][j]为包含i的大小为j的连通块的最小操作次数,枚举i的每个子树一个个合并上去。 考虑两个点i,j只会在lca处有计算时间贡献,所以是\(O(n^2)\)的 LOJ160. 树形背包 先跑dfs序,设dp[i][w]为从第…

轻松搞定工厂数据分析:一款报表工具就够了

在当今快速发展的工业环境中,工厂管理者越来越依赖数据分析来优化生产流程、提升效率、降低成本。然而,传统的数据分析工具通常较为复杂,操作困难且价格高昂,这让许多工厂望而却步。不过,最近我发现了一款非常实用的报表工具,能够帮助工厂管理者轻松完成综合数据分析,并…

Redis组件介绍(二)

今天我们继续学习 Redis。写在前面 今天我们继续学习 Redis。 Redis 常用数据类型 在 Redis 中,每个存储的键值对中,键是 String 类型,值可以是不同的数据类型。Redis 的索引是含头含尾的。 String 内存模型常用指令设置值SET key value: 设置一个 key/value。 MSET key1 va…

财务报表分析指南:如何掌握核心指标?

一、概述 财务报表中有大量信息,如果我们在分析时缺乏明确的方向或忽视了重点,就很容易在繁杂的数据中迷失方向。本文将深入探讨财务报表中的几个重要指标,帮助大家更有针对性地理解这些内容,包括如何分析资产负债率、解读净资产收益率,以及计算销售复合增长率。二、关键指…

阿里巴巴对于不同职级的定义和要求

作为国内最知名的互联网大厂,阿里巴巴集团的职级体系经常成为其他互联网企业的用人参考标准,今天从我个人的角度带大家了解一下阿里的职级体系1、P1-P3 是低端职能以及外包的岗位,P4、P5 是专员,一般硕士学历校招进入阿里巴巴职级都是P5,学历极其突出的或者搞技术科研的除…

WPF-Prism Region使用

Region:区域,我的理解,就是窗体上的一部分地方,不是整个窗体。所以区域里都是用户控件UserControl,就是为了解决在窗体上显示一个自定义的公用的控件的。共两种用法:1、原始的方法(不借助prism的依赖注入),用IRegionManager接口,来完成区域的注册和设置。注册代码如下…

需求分析的 5 个步骤,可解决 80% 产品问题

本文将详细介绍拆解需求的五个步骤及一个实际案例分析,帮助读者掌握如何从不同角度切入,精确捕捉并满足用户需求。 一、拆解需求的5个步骤&通用分析角度 1. 谁在用 最基础也是最重要的一步——用户分层。因为同一个功能,不同的用户群体的需求是有差异的。 比如,首次话…

深度学习-pytorch-nerual network价格预测-004

# 1.导入相关模块 import torch from torch.utils.data import TensorDataset from torch.utils.data import DataLoader import torch.nn as nn import torch.optim as optim from sklearn.datasets import make_regression from sklearn.model_selection import train_test_s…

财务知识-会计术语

财务知识-会计术语