2022年HGAME中CRYPTO的Easy RSA

该博客介绍了如何在2022年的HGAME中使用EasyRSA库来解密CRYPTO的问题。文章通过遍历一系列元组,结合RSA加密原理,计算模逆并进行解密,最终还原出明文。解密过程涉及到数学计算和Python的加密库,如`libnum`和`Crypto.Util.number`。博客展示了具体的Python代码实现,并给出了解密后的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2022年HGAME中CRYPTO的Easy RSA

在这里插入图片描述

照例下载附件:
在这里插入图片描述
.
.
结合遍历列表中元祖,直接常规RSA解密即可

import libnum
from Crypto.Util.number import long_to_bytes
list1=[(12433, 149, 197, 104), (8147, 131, 167, 6633), (10687, 211, 197, 35594), (19681, 131, 211, 15710), (33577, 251, 211, 38798), (30241, 157, 251, 35973), (293, 211, 157, 31548), (26459, 179, 149, 4778), (27479, 149, 223, 32728), (9029, 223, 137, 20696), (4649, 149, 151, 13418), (11783, 223, 251, 14239), (13537, 179, 137, 11702), (3835, 167, 139, 20051), (30983, 149, 227, 23928), (17581, 157, 131, 5855), (35381, 223, 179, 37774), (2357, 151, 223, 1849), (22649, 211, 229, 7348), (1151, 179, 223, 17982), (8431, 251, 163, 30226), (38501, 193, 211, 30559), (14549, 211, 151, 21143), (24781, 239, 241, 45604), (8051, 179, 131, 7994), (863, 181, 131, 11493), (1117, 239, 157, 12579), (7561, 149, 199, 8960), (19813, 239, 229, 53463), (4943, 131, 157, 14606), (29077, 191, 181, 33446), (18583, 211, 163, 31800), (30643, 173, 191, 27293), (11617, 223, 251, 13448), (19051, 191, 151, 21676), (18367, 179, 157, 14139), (18861, 149, 191, 5139), (9581, 211, 193, 25595)]
flag=""
for i in list1:
	e=i[0]
	q=i[1]
	p=i[2]
	c=i[3]
	n=p*q
	d = libnum.invmod(e, (p - 1) * (q - 1)) 		#invmod(a, n) - 求a对于n的模逆,这里逆向加密过程中计算ψ(n)=(p-1)(q-1),对ψ(n)保密,也就是对应根据ed=1modψ(n),求出d
	m = pow(c, d, n)  						# pow(x, y[, z])--函数是计算 x 的 y 次方,如果 z 在存在,则再对结果进行取模,其结果等效于 pow(x,y) %z,对应前面解密算法中M=D(C)=C^d(mod n)
#print(m) #明文的十进制格式
	string = long_to_bytes(m)  				# m明文,用长字节划范围
	flag+=string.decode()
print(flag)

.
.
结果如下:
在这里插入图片描述
.
.
解毕!
敬礼!

### HGAME 2022 Week1 的网络流量分析 关于 HGAME 2022 Week1 中涉及的网络流量分析相关内容,虽然官方并未提供详细的流量包文件供下载[^1],但从参赛者的经验分享来看,Week1 阶段确实包含了 Web 和 Misc 类型的题目,这些题目可能涉及到基础的网络通信协议解析以及抓包分析技能[^2]。 在网络流量分析方面,通常会使用工具如 Wireshark 或 tcpdump 来捕获和分析 HTTP/HTTPS 请求、DNS 查询或其他类型的网络交互行为。如果比赛中存在需要通过流量分析解密 Flag 的场景,则可以推测其设计思路如下: #### 工具推荐 以下是常用的网络数据分析工具及其功能概述: - **Wireshark**: 图形化界面支持过滤特定协议(HTTP, DNS 等),并能追踪 TCP 流量。 - **tcpdump**: 命令行方式快速获取指定条件下的数据包日志。 #### 技术要点 对于潜在的流量分析挑战,以下几点可能是关键的技术方向: 1. 使用 `tshark` 提取 HTTP POST 请求中的负载字段,查找隐藏的信息片段。 ```bash tshark -r capture.pcapng -Y 'http.request.method == "POST"' -T fields -e data.text ``` 2. 如果加密机制被引入到流量中,尝试识别使用的算法并通过已知明文攻击恢复原始消息。 尽管目前没有具体提及 HGAME 2022 Week1 是否包含专门针对流量分析的任务,但基于 CTF 比赛的一般模式,上述方法论具有较高的适用价值。 ```python import re def extract_payloads(pcap_file_path): """模拟提取PCAP文件内的有效载荷""" with open(pcap_file_path, 'rb') as f: content = f.read() payloads = [] pattern = rb'(?<=Payload: ).*?(?=\n\n)' matches = re.findall(pattern, content) for match in matches: decoded_match = match.decode('utf-8', errors='ignore') payloads.append(decoded_match.strip()) return payloads ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐一 · 林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值