[柏鹭杯 2021]试试大数据分解?

news/2024/9/24 14:06:46/

题目:(NSSCTF | 在线CTF平台)

题目就是如此,我没看到有5个不同的文本,其中最后一个文本以pem后缀,所以我们先来了解一下什么是pem格式。

PEM 格式

PEM格式通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, and .key。内容为Base64编码的ASCII码文件,有类似"-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----"的头尾标记。服务器认证证书,中级认证证书和私钥都可以储存为PEM格式(认证证书其实就是公钥)。Apache和类似的服务器使用PEM格式证书。

解密脚本

from Cryptodome.PublicKey import RSA
from Cryptodome.Util.number import *
from gmpy2 import *
from base64 import b64decode
# 打开文件
key_file = open('C:/Users/liyunfei/Desktop/public.pem')
key = (key_file.read())
key_file.close()
# 获取n,e
r = RSA.import_key(key)
# print(r.n,r.e,sep='\n')# 使用http://factordb.com/,进行大数分解
q=948539437740472240970258995719507356652939947
p=1033916782753483187367063564275935620987269651
# 打开密文
def get_m(file_name):m_file=open(file_name,'rb')m = bytes_to_long(b64decode(m_file.read()))m_file.close()return mfileList = ['C:/Users/liyunfei/Desktop/flag.enc1','C:/Users/liyunfei/Desktop/flag.enc2','C:/Users/liyunfei/Desktop/flag.enc3','C:/Users/liyunfei/Desktop/flag.enc4']# 解密+字符串处理
phi=(p-1)*(q-1)
d=invert(r.e,phi)
flag=[]
for i in fileList:m = get_m(i)if i=='C:/Users/liyunfei/Desktop/flag.enc4':flag.append(long_to_bytes(pow(m,d,q*p))[-20:])else:flag.append(long_to_bytes(pow(m,d,q*p))[-22:])
nss=b''.join(flag)
# 进行16进制转换
# nss = ''
# for i in range(0,len(strs),2):
#     nss+=chr(int(strs[i:i+2],16))print(bytes.fromhex(nss.decode()))


http://www.ppmy.cn/news/1436638.html

相关文章

每日OJ题_其它背包问题④_力扣96. 不同的二叉搜索树(卡特兰数)

目录 力扣96. 不同的二叉搜索树 解析代码 力扣96. 不同的二叉搜索树 96. 不同的二叉搜索树 难度 中等 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1&#xff1…

C# GetField 方法应用实例

目录 关于 C# Type 类 GetField 方法应用 应用举例 心理CT设计题 类设计 DPCT类实现代码 小结 关于 C# Type 类 Type表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义,以及开放或封闭构造的泛型类型。调用 t…

Mongodb语法使用说明(含详细示例)

点击下载《Mongodb语法使用说明(含详细示例)》 1. 前言 MongoDB是一款高性能、开源、面向文档的NoSQL数据库,它使用类似JSON的BSON格式存储数据,提供了灵活的数据模型和强大的查询功能。本文将详细介绍MongoDB数据库的基本增删改…

华为交换机设置边缘端口(收到BPDU包后进入error-down状态)

与华为售后客服的对话 您正在和6658对话 您好! 网络中断、备件申请、售前咨询非在线客服服务范围,请拨打热线400-822-9999处理。 手机、WS路由器、无线网卡等个人产品,请拨打个人业务热线:400-830-8300 _ 欢迎访问华为企业业务【售后】 &…

文件上传服务器、文件展示等异步问题

问题: 文件上传模块:当文件已经上传完成,文件进度已经走完了,但是服务器响应还没有返回结果,出现了,获取不到上传后的文件路径,需要等待服务器返回结果后,才能获取文件路径并点击跳…

Linux - Docker 安装 Nacos

拉取 Nacos 镜像 使用以下命令从 Docker Hub 拉取最新版本的 Nacos 镜像: docker pull nacos/nacos-server启动 Nacos 容器 使用以下命令启动 Nacos 容器: docker run -d \--name nacos \--privileged \--cgroupns host \--env JVM_XMX256m \--env M…

LLaMA Factory多卡微调的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

SpringCloud系列(15)--Eureka自我保护

前言:在上一章节中我们说明了一些关于Eureka的服务发现功能,也用这个功能进行接口的实现,在本章节则介绍一些关于Eureka的自我保护 1、Eureka保护模式概述 保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。默认情况…