wustctf2021 Crypto RSA1_c = pow(bytes_to_long(flag),e,n)-程序员宅基地

技术标签: 密码学CTF  Crypt  

描述

from Crypto.Util.number import bytes_to_long, getPrime
from secret import flag
p, q = getPrime(1024), getPrime(1024)
n = p * q
e = 0x10001
s = pow(1314*p - 520*q, n - p - q, n)
c = pow(bytes_to_long(flag), e, n)
print(f'n = {n}')
print(f's = {s}')
print(f'c = {c}')
# n = 26305215103655644423271873654270896239286789695124090349749665534703077917412304839568833642664450313935099298310980853882272879981733372730292018544572625316902809164514982172181951319743072017697845536018391193871280565807620618786757590917994266113737303548654644579447152708491947981939693209377062932887079053535685222915049638973744785910187846488048054614595896905717548173503097932486976548606688284094985163387830871173351156872303901802063874643159872076045421856161697020709841563253543301088673347562874178275457662923268303751458373213379823091743254295392098852050657389100668196543581156089543387981749
# s = 4323761888398018609852335503896306767680254689118307249919076945474100280053222216117890335097280655812579700210142850972114032619375512508094444700268269861295454361479936323488734938967486887087065985770337167952405916865514342667568344884512919390473013721005783345127779614050256684329541419938215219111638334871769224566807758669615177139619330644265349270609231736366888506999373399354453570974856230273436956657673552797254044789898850371608837651642705304346761776584170067536342839950077554921714223414452726231759701672899981770205900654174771977192152231671555687060576625055995576371428030016472160229195
# c = 18524879875046454765780419291902161505187119049317257440202645362184543856980037891446139747396472606884190295519693050825702398302375035356073354030439092479076493350280491879942676232543272035009619776448668367631674751270025422471697604807309328948811730211796077194562605273068248003067084062604953180981092602825269082443194821795267533259542345280789423885313715011198756408238675212294964169231866750121782891392974982538883759460499654964916672646713561365268497621669918260512318121987464087203488943192447244656120553657904643768811055634526867642121977282747786019413676386087742587120310706285467632914627

今天刚刚学了欧拉定理,运用到这题,结果寄了,还是不会用,最后还是学长救的我,我的涵神!!

利用欧拉定理求1314*p - 520*q

 所以EXP,也是引用学长的wp

from gmpy2 import *
from libnum import *
from sympy import Symbol, solve
n = 26305215103655644423271873654270896239286789695124090349749665534703077917412304839568833642664450313935099298310980853882272879981733372730292018544572625316902809164514982172181951319743072017697845536018391193871280565807620618786757590917994266113737303548654644579447152708491947981939693209377062932887079053535685222915049638973744785910187846488048054614595896905717548173503097932486976548606688284094985163387830871173351156872303901802063874643159872076045421856161697020709841563253543301088673347562874178275457662923268303751458373213379823091743254295392098852050657389100668196543581156089543387981749
s = 4323761888398018609852335503896306767680254689118307249919076945474100280053222216117890335097280655812579700210142850972114032619375512508094444700268269861295454361479936323488734938967486887087065985770337167952405916865514342667568344884512919390473013721005783345127779614050256684329541419938215219111638334871769224566807758669615177139619330644265349270609231736366888506999373399354453570974856230273436956657673552797254044789898850371608837651642705304346761776584170067536342839950077554921714223414452726231759701672899981770205900654174771977192152231671555687060576625055995576371428030016472160229195
c = 18524879875046454765780419291902161505187119049317257440202645362184543856980037891446139747396472606884190295519693050825702398302375035356073354030439092479076493350280491879942676232543272035009619776448668367631674751270025422471697604807309328948811730211796077194562605273068248003067084062604953180981092602825269082443194821795267533259542345280789423885313715011198756408238675212294964169231866750121782891392974982538883759460499654964916672646713561365268497621669918260512318121987464087203488943192447244656120553657904643768811055634526867642121977282747786019413676386087742587120310706285467632914627
s = invert(s, n)
p = Symbol('p')
q = Symbol('q')
p, q = solve([p*q-n, 1314*p-520*q-s], [p, q])[1]
p = int(p)
q = int(q)
e = 0x10001
d = invert(e, (p-1)*(q-1))
print(n2s(int(pow(c, d, n))))

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a257131460266666/article/details/124518297

智能推荐

flask-login-程序员宅基地

文章浏览阅读170次。创建扩展对象实例from flask_login import LoginManagerlogin_manager = LoginManager()login_manager.login_view = 'auth.login'# 上面这一句是设置登录视图的名称,如果一个未登录用户请求一个只有登录用户才能访问的视图,# 则闪现一条错误消息,并重定向到这里设置的登录视图。# 如果未设置..._python flask please log in to access this page

html怎么控制top值为0,关于vue滚动scrollTop 赋值一直为0问题-程序员宅基地

文章浏览阅读428次。Vue中document.body.scrollTop的值总为零的解决办法最近在做vue的时候监听页面滚动发现document.body.scrollTop一直为0但是发现document.body.scrollTop一直是0。查资料发现是DTD的问题。页面指定了DTD,即指定了DOCTYPE时,使用document.documentElement。页面没有DTD,即没指定DOCTYPE时,使用d..._滚动给scrolltop赋值

kingbase数据库安装教程(初步使用)(人大金仓)-程序员宅基地

文章浏览阅读2.1k次,点赞25次,收藏21次。人大金仓数据库管理系统KingbaseES(简称:金仓数据库或KingbaseES)是北京人大金仓信息技术股份有限公司自主研制开发的具有自主知识产权的通用关系型数据库管理系统。_kingbase

vue基础笔试题_vue笔试题-程序员宅基地

文章浏览阅读1.2w次,点赞20次,收藏156次。ctions 选项用来定义事件处理方法,用于处理 state 数据。actions 类似于 mutations,不同之处在于 actions 是异步执行的,事件处理函数可以接收 {commit} 对象,完成 mutation 提交,从而方便 devtools 调试工具跟踪状态的 state 变化。..............._vue笔试题

isis协议配置和详解-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏23次。isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等。同样的它也是基于链路状态算法,支持clnp网络,ip网络。与ospf不同的是,它是基于数据链路层报文传输,而ospf则是在ip层进行计算。它可以自动的发现远程网络,只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径。无类..._isis协议配置

Proxychains 手册_proxychains是什么-程序员宅基地

文章浏览阅读1.9k次。名称:Proxychains – 通过代理服务器进行连接语法:proxychains 描述:这个程序会强制所有使用特定tcp连接的客户端所引起的TCP连接走代理通道。它是一种跳板程序。这个软件和sockscap、premo、eborder异曲同工。2.0版支持SOCKS4、SOCKS5、HTTP类的代理。认证方法:socks-“user/pass”,http-“basic_proxychains是什么

随便推点

Oracle触发器原理、创建、修改、删除_用oracle创建一个instead of触发器,当在course表中删除数据,不允许在course-程序员宅基地

文章浏览阅读3.7k次,点赞2次,收藏7次。本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 创建系统事件触发器8.2.4 系统触发器事件属性8.2.5 使用触发器谓词8.2.6 重新编译触发器8.3删除和使用触发器8.4触发器和数据字典8.5数据库触发器的应用举例8.6 触发器的查看8...._用oracle创建一个instead of触发器,当在course表中删除数据,不允许在course表

计算机科学与技术网上书店,计算机科学与技术毕业论文:基于web的网上书店.doc...-程序员宅基地

文章浏览阅读188次。本科毕业论文(设计)题  目  基于web的网上书店学生姓名专业名称  计算机科学与技术指导教师目录1、引言52、系统概述62.1概述62.2 开发平台73.需求分析73.1总体需求描述73.2系统总体功能图73.3系统需要实现的功能83.4业务流程图94.详细设计114.1数据库详细设计114.2建立数据库124.3页面详细设计:185用户手册225.1普通用户:225.2管理员:24参考文献3..._计算机科学与技术毕业设计网上书店

素数求和_输入一个正整数n和n个正整数,统计其中素数的和。-程序员宅基地

文章浏览阅读1.6k次。Description输入一个正整数N和N个正整数,统计其中素数的和。Input输入一个正整数N(1≤N≤100)和N个正整数(≥3),用空格分隔。Output输出所有素数,用空格隔开;再输出这些素数和。Sample Input10 4 5 8 12 13 24 34 37 20 885 1 5 8 12 13Sample Output5 13 37 s=555 13 s=..._输入一个正整数n和n个正整数,统计其中素数的和。

Oracle DB 使用RMAN创建备份2_rman 备份 生成两个文件-程序员宅基地

文章浏览阅读2.5k次。归档备份:概念归档备份:概念 如果需要在指定时间内保留联机备份,RMAN 通常会假定用户可能需要在自执行该备份以来到现在之间的任意时间执行时间点恢复。为了满足这一要求,RMAN 会在此时段内保留归档日志。但是,可能仅需要在指定的时间(如两年)内保留特定备份(并使其保持一致和可恢复)。用户不打算恢复到自执行该备份以后的某一时间点,只是希望能够正好恢复到执行该备_rman 备份 生成两个文件

JS实用技巧之断点调试详解_js断点调试-程序员宅基地

文章浏览阅读9.3k次,点赞9次,收藏58次。引言调试能力是一个程序员的生存根本,可是很多初学者却忽视调试。今天我们就来讨究一下JS的调试技巧。本文章将会详细列举JS相关的各种实用调试技巧。如果您是JS的初学者,那么这篇文章将对您有很大的帮助。为什么要调试?程序就是函数堆砌起来的,程序的运行就是函数的执行过程。而通过JS调试,我们可以更为直观的追踪到在程序运行中,函数的执行顺序,以及各个参数的变化。这样我们就可以快速的定位到问题所在。1. 什么是JS调试?在程序运行中,我们总会遇到各种bug,而通过代码的追踪代码的运行顺序从而定位到问题的过_js断点调试

记录一次kafka内存溢出,消费慢_kafka消费导致内存泄露-程序员宅基地

文章浏览阅读1k次。记录一次kafka内存溢出,消费慢_kafka消费导致内存泄露

推荐文章

热门文章

相关标签