news 2026/3/8 17:18:18

[网鼎杯 2020 青龙组]you_raise_me_up

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[网鼎杯 2020 青龙组]you_raise_me_up

打开文件后发现给了n,m,c的值

n = 2**512 m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075 c = 6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499

并暗示存在一个flag,使得c≡me(mod)

那么目标就很明确了

求出e,从而还原flag

初步观察加密类型

我们注意到模数不是常见的两个大素数乘积(如 RSA)

进一步检查m和c的奇偶性

两者都 ≡ 3(mod4),说明它们都是奇数但非1mod 4

模 2**k乘法群的结构

对于 k≥3 ,模 2**k的乘法群 (Z/2**kZ)× 是一个阶为 2**k−1的阿贝尔群,且同构于:

(Z/2Z)×(Z/**2k−2Z)

更关键的是:所有 ≡ 1 (mod 4) 的奇数构成一个循环子群,由 5 生成,阶为 2**k−2 。

而 ≡ 3 (mod 4) 的数不在该循环子群中,但满足:

x≡3(mod4)⇒−x≡1(mod4)

因此,我们可以将问题“转化”到由 5 生成的循环子群中

>>> m % 4 3 >>> c % 4 3

推算演练

设:

  • m≡3(mod4)⇒−m≡1(mod4)
  • c≡3(mod4)⇒−c≡1(mod4)

于是存在整数 b,db,d

使得:

5b≡−m(mod2**512)

5d≡−c(mod2**512)

原方程 c≡me(mod2**512)可改写为

(−c)≡(−m)**e(mod2**512)

由于e必须是奇数(否则 (−m)**e≡−me!≡-c,因为左边 ≡ 1 mod 4,右边 ≡ 3 mod 4 会矛盾)

所以有:

(−c)≡(−1)**e⋅m**e=−m**e⇒−c≡−m**e⇒c≡m**e

成立当且仅当 e为奇数。

于是有:

5**d≡(−c)≡(−m)**e≡(5**b)**e=5**(be)(mod2**512)

由于 5 的阶是 2**510

故:

b⋅e≡d(mod2**510)

现在问题转化为:已知b,d,求e

求解离散对数 log⁡5(x)mod2**512

我们需要一个函数,输入 x≡1(mod4)x≡1(mod4) ,输出t使得 5**t≡x(mod2**512)

这可以通过Hensel 引理式的提升算法实现:

  1. 先在模 8 下确定初始值(5^0=1, 5^1=5 mod 8)。
  2. 逐步从 2**323 提升到 2**512,每次根据当前误差修正指数。

具体实现如下:

def discrete_log(x, k=512): if x % 4 != 1: raise ValueError("x must be 1 mod 4") # 初始化 b based on x mod 8 b = 0 if x % 8 == 1 else 1 for i in range(4, k + 1): power = 1 << i current = pow(5, b, power) diff = (current - x) % power if diff % (1 << (i - 1)) != 0: raise Exception("Not divisible!") t = (diff // (1 << (i - 1))) & 1 b += t * (1 << (i - 3)) return b

求解线性同余方程

得到 b=log⁡5(−m) , d=log⁡5(−c)后,解:

b⋅e≡d(mod2**510)

由于b可能是偶数,需先提取因子2**v:

  • 设 b=2**v⋅b′,其中b′为奇数
  • 若 d!≡0(mod2**v) ,则无解
  • 否则令 d′=d/2**v,模数变为 M=2**(510−v)
  • 解: e≡d′⋅(b′)**(−1)(modM)

由于b′是奇数,在模 2**M下一定有逆元。

完整脚本如下

from Crypto.Util.number import long_to_bytes def discrete_log(x, k=512): if x % 4 != 1: raise ValueError("x must be 1 mod 4") b = 0 if (x % 8) == 1 else 1 for i in range(4, k + 1): mod = 1 << i cur = pow(5, b, mod) diff = (cur - x) % mod if diff % (1 << (i - 1)) != 0: raise ValueError("No solution") t = (diff // (1 << (i - 1))) & 1 b += t * (1 << (i - 3)) return b n = 2**512 m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075 c = 6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499 neg_m = (n - m) % n neg_c = (n - c) % n b = discrete_log(neg_m) d = discrete_log(neg_c) # Solve b * e ≡ d (mod 2^510) v = 0 b_temp = b while b_temp % 2 == 0: v += 1 b_temp //= 2 if d % (2**v) != 0: raise Exception("No solution") d_new = d // (2**v) mod = 2**(510 - v) inv_b = pow(b_temp, -1, mod) e = (d_new * inv_b) % mod print("Flag:", long_to_bytes(e).decode())

解得flag

flag{5f95ca93-1594-762d-ed0b-a9139692cb4a}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/3 20:22:44

年会策划必看:4个能落地的高人气玩法,省预算又出效果

当前企业年会已从传统聚餐转向创意化、效率化、互动化的综合体验&#xff0c;对视觉设计、流程管理、现场互动等工具的需求激增。但传统工具存在设计门槛高需专业软件、场景适配差通用工具难满足年会特定需求、协作效率低跨部门沟通不畅等痛点。国内一批聚焦年会细分场景的实用…

作者头像 李华
网站建设 2026/3/6 0:20:54

AIGC设计:内容生成与场景落地的核心方法与实践指南

AIGC设计的本质&#xff0c;是通过人工智能技术将创意需求转化为可落地的视觉内容。其核心价值并非简单替代人工&#xff0c;而是以“技术赋能场景适配合规保障”的组合逻辑&#xff0c;精准解决用户在效率、创意、版权上的三重核心痛点——效率痛点对应人工设计周期长、批量处…

作者头像 李华
网站建设 2026/3/4 23:13:21

铁轨表面缺陷检测这事儿听起来挺硬核,但用MATLAB玩起来其实有点意思。咱们直接撸代码说人话,先搞张铁轨灰度图读进来

MATLAB 铁轨表面缺陷检测系统 DFT幅度 相位反变化 高斯滤波 二值化 根据欧几里得距离标记前后背景 对前景进行膨胀和腐蚀操作 可以选择忽略图像边缘 选择是否隔离图像中的目标raw_img imread(rail_surface.jpg); img_gray rgb2gray(raw_img); imshow(img_gray), title(原图看…

作者头像 李华
网站建设 2026/3/8 14:42:02

2026毕设ssm+vue旅游服务软件论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。 系统程序文件列表 开题报告内容 一、选题背景 关于旅游信息化管理问题的研究&#xff0c;现有研究主要以传统单体应用架构或简单的信息展示平台为主&#xff0c;专门…

作者头像 李华
网站建设 2026/3/1 15:49:00

2026毕设ssm+vue旅游出行系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于旅游信息化管理问题的研究&#xff0c;现有研究主要以大型OTA平台&#xff08;如携程、去哪儿等&#xff09;的智慧化建设…

作者头像 李华
网站建设 2026/3/8 11:04:40

SCI论文降AI实测:知网AIGC检测AI率<15%的解决方案

SCI论文降AI实测&#xff1a;知网AIGC检测AI率<15%的解决方案 投SCI的稿子被退回来了&#xff0c;编辑说AI检测没过。Turnitin显示AI率83%。 先说结论&#xff1a;用AIGCleaner处理英文部分&#xff0c;从83%降到了0%。中文部分用比话降AI&#xff08;www.bihuapass.com&am…

作者头像 李华