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

Crypto(8) BUUCTF-bbbbbbrsa1

题目描述:

from base64 import b64encode as b32encode
from gmpy2 import invert,gcd,iroot
from Crypto.Util.number import *
from binascii import a2b_hex,b2a_hex
import randomflag = "******************************"nbit = 128p = getPrime(nbit)
q = getPrime(nbit)
n = p*qprint p
print nphi = (p-1)*(q-1)e = random.randint(50000,70000)while True:if gcd(e,phi) == 1:break;else:e -= 1;c = pow(int(b2a_hex(flag),16),e,n)print b32encode(str(c))[::-1]# 2373740699529364991763589324200093466206785561836101840381622237225512234632p = 177077389675257695042507998165006460849
n = 37421829509887796274897162249367329400988647145613325367337968063341372726061
c = ==gMzYDNzIjMxUTNyIzNzIjMyYTM4MDM0gTMwEjNzgTM2UTN4cjNwIjN2QzM5ADMwIDNyMTO4UzM2cTM5kDN2MTOyUTO5YDM0czM3MjM

不难看出c被base64加密了,倒着输出然后解密

得到c:

c=2373740699529364991763589324200093466206785561836101840381622237225512234632

本道题是RSA题目,且几乎所有的条件都知道,就只有e需要在50000和70000之间爆破

直接枚举爆破就可以了

from Crypto.Util.number import *
import gmpy2
p = 177077389675257695042507998165006460849
n = 37421829509887796274897162249367329400988647145613325367337968063341372726061
q=n//p
# c="==gMzYDNzIjMxUTNyIzNzIjMyYTM4MDM0gTMwEjNzgTM2UTN4cjNwIjN2QzM5ADMwIDNyMTO4UzM2cTM5kDN2MTOyUTO5YDM0czM3MjM"
# print(c[::-1])
#c=MjM3Mzc0MDY5OTUyOTM2NDk5MTc2MzU4OTMyNDIwMDA5MzQ2NjIwNjc4NTU2MTgzNjEwMTg0MDM4MTYyMjIzNzIyNTUxMjIzNDYzMg==
c=2373740699529364991763589324200093466206785561836101840381622237225512234632
phi=(p-1)*(q-1)
for e in range(50000,70000):if gmpy2.gcd(e,phi) == 1:d = gmpy2.invert(e ,phi)m = pow(c,d,n)if 'flag' in str(long_to_bytes(m)):print(str(long_to_bytes(m))[2:])

 

http://www.lryc.cn/news/220703.html

相关文章:

  • 软件测试之随机测试详解
  • 【广州华锐互动】3D全景虚拟旅游在文旅行业的应用场景
  • 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉 计算机竞赛
  • 深入了解Jedis:Java操作Redis的常见类型数据存储
  • angular+ionic+npm项目运行
  • 【数据库】数据库模式 Schema
  • RPC 原理详解
  • 新版Helix QAC 100%覆盖MISRA C++:2023
  • maven 项目添加 git-hook 脚本,约束提交内容格式
  • 18、Flink的SQL 支持的操作和语法
  • 泛微OA_lang2sql 任意文件上传漏洞复现
  • Rust编程基础核心之所有权(上)
  • 优化改进YOLOv5算法之添加DCNv3模块,有效提升目标检测效果
  • VSCode 连接不上 debian 的问题
  • 【ElasticSearch系列-06】Es集群架构的搭建以及集群的核心概念
  • 软考高级系统架构设计师系列案例考点专题六:面向服务架构设计
  • 【入门Flink】- 07Flink DataStream API【万字篇】
  • AI:55-基于深度学习的人流量检测
  • node版本管理工具nvm
  • stable-diffusion-webui安装Wav2Lip
  • Nacos-2.2.2源码修改集成高斯数据库GaussDB,postresql
  • Linux 内核中根据文件inode号获取其对应的struct inode
  • Pycharm-community-2021版安装和配置
  • 飞书开发学习笔记(一)-应用创建和测试
  • 【Mybatis小白从0到90%精讲】12:Mybatis删除 delete, 推荐使用主键删除!
  • RocketMQ批量发送消息❓
  • 一键同步chromedriver版本
  • Zephyr-7B-β :类GPT的高速推理LLM
  • 【笔试题】位运算
  • RT-Thread 10. 使用keil4编译GD32F450