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

news2024/9/22 17:33:37

题目:(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 m


fileList = ['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.coloradmin.cn/o/1616758.html

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

相关文章

如何在window系统中安装Mysql

先简单来说说MySQL是什么? MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 MySQL 由瑞典 MySQL AB 公司开发,目前属于…

关于主流电商数据采集技术:电商API数据采集接口|

引言 随着时代的进步,电商数据采集技术正以前所未有的速度和规模发展,它已经深刻地改变了我们的生活和工作方式。在这个激动人心的时刻,我司也积极跟随时代的步伐,不断探索创新,努力实现与AI技术的融合,以提…

Python自动化系列3

常用数据类型:列表、元祖、字典、集合 1、列表(list):[] 1.1、元素可以是任意的数据类型:int float bool str list … list1 [20,3.14,True,“七木”,“荷花鱼”,[1,2,3,4]] #空列表 1.2、收值:素引取值…

【linux】mobaterm如何kill pycharm进程

【linux】mobaterm如何kill pycharm进程 【先赞后看养成习惯】求点赞关注收藏😀 使用云服务器时,pycharm在打开状态下,不小心关了mobaxterm,然后再输入pycharm.sh就会打不开pycharm,显示已经打开报错:Com…

Python 全栈体系【四阶】(三十三)

第五章 深度学习 六、PaddlePaddle 图像分类 1. 概述 1.1 什么是图像分类 图像分类就是将不同的图像划分到不同类别,实现最小分类误差、最高精度。手写体识别就是一个经典的图像分类问题,它将输入图像分为 0~9 某个数字中,实际就是将输入图…

《Vid2Seq》论文笔记

原文链接 [2302.14115] Vid2Seq: Large-Scale Pretraining of a Visual Language Model for Dense Video Captioning (arxiv.org) 原文笔记 What: 《Vid2Seq: Large-Scale Pretraining of a Visual Language Model for Dense Video Captioning》 作者提出一种多…

idea连接远程服务器并同步代码

idea连接远程服务器并同步代码 打开我们的idea。 tool -> deployment -> configuration 新建连接 -> sftp host输入你的远程服务器ip,输入用户名、密码、测试连接 连接成功 选择服务器根目录 web链接(无需要不用) 点击mappin…

【MySQL 数据宝典】【磁盘结构】- 006 bin log 二进制日志的基本模式和参数设置

一、基本概念 binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是不会记录SELECT和SHOW这类操作。 1.1 特点 binlog在MySQL的Server层实现(引擎共用)binlo…

clickhouse数据去重函数介绍(count distinct)

非精确去重函数:uniq、uniqHLL12、uniqCombined 精确去重函数:uniqExact、groupBitmap 测试数据量:2000w 结论: 1.整形值精确去重场景,groupBitmap 比 uniqExact至少快 2x 2.groupBitmap仅支持无符号整形值去重&#x…

JavaAgent的agent与attach

文章目录 简介agent与attachagentattach如何attachpom.xml 简介 javaagent是什么? 从名字agent也可以看出,是一种代理。 javaagent用来做什么? 本质上是对class的一种增强,用来实现一些通用功能,例如链路追踪等。 …

日语里「直す」和「治す」的区别,柯桥日语考级培训

「直す(なおす)」 「直す(なおす)」是指纠正错误或人的性格,将坏掉的东西恢复原状。 例如:以「テレビを直す」为例,就是把坏掉的电视恢复到原来的正常状态。 「直す」可以加在动词后面,表现出主动改善的意愿。 例如:「写真を撮…

产品推荐 | 基于XILINX VERSAL的XW-NVME-X16-2SAS智能FPGA加速卡

01 产品概述 XW-NVME-X16-2SAS智能存储加速卡基于XILINX VERSAL ACAP MPSOC,EP侧提供1路PCIe GEN4 x16接口,RP侧最大可支持2路PCIe GEN4 x8,或4路PCIe GEN4 x 4,板载DDR4-3200MHz缓存,具有低延迟、高性能、低能耗、低…

智慧灯杆sip广播可视对讲解决方案

智慧灯杆sip广播可视对讲解决方案 智能路灯以城市公共设施的全面高效利用为出发点,根据路况加载智能照明、新能源汽车充电桩、城市广播、视频监控、WIFI热点、LED/LCD信息发布、环境监测、微型基站、停车场管理、井盖等。监控和USB手机充电灯功能,不仅能…

图像哈希:QDFT篇

这个领域的背景 相关性质 QDFT和IQDFT的公式: F ( u , v ) 1 M ∑ x 0 M − 1 ∑ y 0 M − 1 e − 2 μ π ( u x M v y M ) f ( x , y ) f ( x , y ) 1 M ∑ u 0 M − 1 ∑ v 0 M − 1 e − 2 μ π ( u x M v y M ) f ( u , v ) 注:如果是 …

05_Qt资源文件添加

Qt资源文件添加 Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。如果你的程序需要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中,就…

10.Godot Input与自定义单例的使用

单例 单例是一个可以在任何一个脚本中对其进行直接访问的对象,分为内置单例与自定义单例。每个单例都是独一无二的对象。内置单例不是节点,主要成员是各类 Server,开发者可以使用它们直接控制游戏程序的图形与音效等内容。此外,还…

Keil中编译无error(有warning),但程序无法运行的一种情况

问题 void Run_Led(void) {HAL_GPIO_TogglePin(RUN_LED_GPIO_Port, RUN_LED_Pin);Delay_ms(500); }void StartDefaultTask(void *argument) {/* USER CODE BEGIN StartDefaultTask */char c;/* Infinite loop */for(;;){while(1) { Run_Led;}...}非常简单的一个程序&#xf…

直播回顾 | 长安链可验证数据库技术架构和代码解读

3月29日长安链可验证数据库技术架构和代码解读中,北京大学博士后研究员高健博带开发者一起了解了长安链可验证数据库的应用背景、设计实现方式和功能代码结构。 数据存证以及通过智能合约进行数据共享是目前联盟链最直接、最广泛的应用场景。在很多存证场景中&…

服务器如何开启远程连接?

服务器开启远程连接是网络管理中一项重要的功能。通过远程连接,用户可以在任何地方远程访问服务器,从而进行管理、维护和监控等操作。远程连接的开启可以为工作提供便利性和效率,但同时也带来了安全风险。确保远程连接的安全性和可靠性是至关…

html接入腾讯地图

1.申请key key申请地址&#xff1a;https://lbs.qq.com/dev/console/application/mine 官方文档 https://lbs.qq.com/webApi/javascriptGL/glGuide/glBasic 2.html接入示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"U…