rsarsa

news2024/11/20 20:39:19

数学很酷!使用RSA算法对秘密消息进行解码,c,p,q,e是RSA算法的参数。

RSA算法还不太了解,经过这段时间的学习,得知

  • q和p是最开始选择的两个质数,主要是为了计算出钥匙n

  • e是在1到φ(n)之间选择的一个数字,与φ(n)互质

  • c则是密文,这道题的要求就是计算出解密的密钥(n,d)然后带入m = c^d % n,得出原文

解题步骤

数据这么老长,自己计算掉得把我送走,所以还是编写脚本来计算吧

经过查看wp,得知了一个新的Python库,gmpy2

  1. 首先我们计算出q和p两个质数的乘积n

  1. 再根据欧拉函数,求出φ(n)的值:也就是(p-1)(q-1)

  1. 根据e求φ(n)的模反元素d,也就是逆元ed ≡ 1 (mod φ(n))

  1. 通俗的说就是e乘以多少再向φ(n)取余等于1

  1. 求出d的值后与n进行组合就可以得到私钥的值,最终结果m = c^d % n

import gmpy2
e = 65537
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n = p*q
#密文
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
 
d =gmpy2.invert(e,(p-1)*(q-1)) #表示e对于(p-1)*(q-1)的值求逆元,ed ≡ 1 (mod φ(n))
print('d = ',d)
#求明文
m = pow(c,d,n)    #求幂取模运算
print('m = ',m)

最后解出的密文就是flag

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器编程:数据库连接池

引言: 数据库连接池和线程池的思想一样,是为了避免频繁创建和销毁数据库连接导致的性能开销。如果一个项目频繁的需要访问数据库,那么它就有可能需要频繁的创建/销毁数据库连接,那么我们可以采用数据库连接池的技术,在…

Docker中搭建RabbitMQ集群

Docker中搭建RabbitMQ集群 1、启动三个RabbitMQ容器2、为容器设置节点2.1、设置Erlang Cookie2.2、设置节点12.3、设置节点22.4、设置节点32.5、预览结果 3、配置镜像队列3.1、配置镜像的原因3.2、搭建步骤 1、启动三个RabbitMQ容器 服务器IP端口hostname管理界面地址192.168.…

IoC容器的设计(利用反射、注解和工厂模式实现)

1.实验要求 利用注解、反射和工厂模式设计一个简单的IoC容器该IoC容器包含3个注解和一个IoC容器类(AnnotationConfigApplicationContext),其定义如下: 注解: 注解含义Component标注BeanAutowired标注需要被注入的对…

如何写好一份企业直播主题策划?

写一份好的直播主题策划,需要考虑包括目标受众、目的、内容、形式、互动等,下面是写企业直播主题策划的一些关注点,希望能帮到您。 定位您直播的目标受众 明确你的直播主题适合的目标受众是谁,他们的兴趣、需求和期望是什么。了解…

OAuth2,jwt,springsecurity之间的区别和联系

OAuth 2.0、JWT (JSON Web Token) 和 Spring Security 是安全相关的概念和技术,它们有着不同的功能和用途。 OAuth 2.0(开放授权): OAuth 2.0 是一种授权框架,用于授权第三方应用程序访问用户资源,而无需共…

【OpenCV DNN】Flask 视频监控目标检测教程 10

欢迎关注『OpenCV DNN Youcans』系列,持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 10 3.10 OpenCV DNNFlask实时监控目标检测1、加载MobileNet SSD模型2、导入分类名称文件3、处理视频帧进行目标检测4、新建一个Flask项目5、Python 程序文件6、视频流的网…

linux系统addr ip以及ifconfig查询不到ip地址解决方法,没有ens33

先看使用情况 网上一堆垃圾博文解决方案都是你抄我我抄你,一点用没有,都说使用 vi /etc/sysconfig/network-scripts/ifcfg-ens33 来更改配置ONBOOT为yes,改个屁,给你们看看我目前的配置,劳资本身就是yes,还…

Elasticsearch 基本使用(二)简单查询 嵌套查询

查询数据 简单查询按id查询单条记录查询所有数据设置排序filter 过滤查询数组内的值查询 嵌套查询查询一个外层字段 内的嵌套字段查询多个字段,其中有嵌套字段 简单查询 按id查询单条记录 GET bank/_doc/1查询所有数据 默认只查询10条记录 GET bank/_search {&q…

Linux任务调度、磁盘分区、挂载

一、任务调度介绍 任务调度是指系统在某个时间执行的特定的命令或程序 任务调度分为两类: 1.系统工作:有些重要的工作必须周而复始的执行,比如病毒扫描 2,个别用户工作:个别用户可能希望执行某些程序,比如…

canvas自定义绘制顺序解决遮挡问题

canvas自定义绘制顺序解决遮挡问题 1. 问题场景2. 解决思路3. 实现代码 1. 问题场景 使用canvas绘制进行要素叠加时,往往会出现不是按照先画的在下面,后画的在最上面这样的顺序进行叠加显示。原因就是由于图片大小不同导致绘制或加载的时间不一样&#…

合宙Air724UG Cat.1模块硬件设计指南--LCD专用SPI接口

概述 Air724UG支持一路LCD专用SPI接口,用于驱动SPI LCD屏幕,不能作为通用SPI使用 特性: 最大支持320240分辨率,30帧 内置图像处理单元GOUDA 支持格式: YUV4 : 2 : 0 ;YUV4 : 2 : 2;RGB565; ARGB8888 目前只支持4线8bi…

MySQL - 第8节 - MySQL复合查询

1.基本查询回顾 准备测试表: • 下面给出三张表,分别是员工表(emp)、部门表(dept)和工资等级表(salgrade)。 • 后续所要进行的查询操作都将以这三张表作为数据源,包括基…

【论文笔记】BEIT:BERT PRE-TRAINING OF IMAGE TRANSFORMERS

GitHub 1.介绍 1.1 挑战 视觉转换器的输入单元,即图像补丁,没有预先存在的词汇。预测遮罩面片的原始像素往往会在预训练短程依赖性和高频细节上浪费建模能力 1.2 回顾一下Bert的基本架构和流程 输入编码:通过tokenizer将输入的文本中的每…

gmpy2

简介 gmpy2是一个Python扩展模块,是对GMP的封装,它的前身是gmpy。 GMP(即GNU高精度算术运算库),它是一个开源的高精度运算库,其中不但有普通的整数、实数、浮点数的高精度运算,还有随机数生成&a…

【promptulate专栏】使用ChatGPT和XMind快速构建思维导图

本文节选自笔者博客:https://www.blog.zeeland.cn/archives/ao302950h3j 💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。📝 CSDN主页:Zeeland🔥📣 我的博客&#…

Go语言基础:标识符、关键字、变量、常量、iota

一、标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 二、关键字 关键字是指编程语言中预先定义好的具有特殊含义的标识符…

ThreadPoolExecutor的应用和源码分析

前面描述的线程池的创建方式大都是Executors类中创建出来,基于ThreadPoolExecutor去new出来实现的。 我们为什么要自定义线程池 在线程池ThreadPoolExecutor中提供了7个参数,都作为非常核心的属性,在线程池去执行任务的时候,每个…

【Docker】容器化和虚拟化基础

Docker发展史 Jail(监狱)时代 1979 年 贝尔实验室发明 chroot chroot的设计原理是:把一个进程的文件系统隔离起来。 ​ chroot 系统调用可以将进程及其子进程的根目录更改为文件系统中的新位置。隔离以后,该进程无法访问到外面的文件,因此这…

管理类联考——逻辑——知识篇——论证推理——二、加强——haimian

考点分析 加强 年度 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023题量213325356 主要问法 以下哪项如果为真,最能加强上述结论的说服力?以下哪项如果为真,最能支持题干的论证? 解题思路 阅读问题,确定是否为加强题型&…

进程参数编程

问题 execve(...) 的参数分别是什么?有什么意义? 第一个参数是程序路径,第二个参数是进程参数,第三个参数是环境变量 再论 execve(...) main 函数 (默认进程入口) int main(int argc, char* argv[]) argc - 命令行参数个数argv…