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

Z2kDH - Writeup by AI

Z2kDH - Writeup by AI题目描述这是一个基于离散对数的密钥交换协议类似于 Diffie-Hellman。题目给出了以下信息模数:modulus 1 258(即 2^258)生成器: g 5Alice 的公钥:99edb8ed8892c664350acbd5d35346b9b77dedfae758190cd0544f2ea7312e81Bob 的公钥:40716941a673bbda0cc8f67fdf89cd1cfcf22a92fe509411d5fd37d4cb926afd需要求解他们之间的共享密钥并从中提取 flag。考点分析离散对数问题的特殊性: 当模数为 2 的幂次时离散对数问题变得容易求解Pohlig-Hellman 算法的应用: 在光滑阶群上离散对数可以高效求解逐比特恢复技术: 利用模数 2^n 的特殊性质从低位到高位逐位恢复私钥数学洞察力: 理解 5 ≡ 1 (mod 4) 这一关键性质在解题中的作用解题思路1. 理解协议流程defZ2kDH_init(private_exponent):returnpow(5,private_exponent,modulus)//4defZ2kDH_exchange(public_result,private_exponent):returnpow(public_result*41,private_exponent,modulus)//4Alice 和 Bob 各自生成私钥计算公钥pub 5^private mod 2^258 // 4交换公钥后计算共享密钥secret 5^(private_a * private_b) mod 2^258 // 42. 恢复实际公钥值由于Z2kDH_init返回的是除以 4 后的值而Z2kDH_exchange会乘以 4 再加 1所以实际的公钥值为actual_pub pub * 4 13. 求解离散对数对于方程5^x ≡ h (mod 2^n)使用逐比特恢复方法核心思想设已恢复的前 i 位为 x_i要确定第 i 位 b_ix x_i b_i * 2^i (更高位项)通过比较h * 5^(-x_i) mod 2^(i3)与5^(2^i) mod 2^(i3)来判断 b_i判断规则如果ratio 5^(2^i): b_i 1如果ratio 1: b_i 04. 计算共享密钥获得私钥后计算shared_secret pow(bob_pub_actual, alice_private, modulus) // 45. 转换为 Flag将共享密钥转换为字节序列解码为 ASCII 字符串。详细步骤步骤 1: 读取并处理公钥alice_pubint(99edb8ed8892c664350acbd5d35346b9b77dedfae758190cd0544f2ea7312e81,16)bob_pubint(40716941a673bbda0cc8f67fdf89cd1cfcf22a92fe509411d5fd37d4cb926afd,16)alice_pub_actualalice_pub*41bob_pub_actualbob_pub*41步骤 2: 实现逐比特恢复算法defsolve_discrete_log(g,h,bits):x0foriinrange(bits):mod_val1(i3)gxpow(g,x,mod_val)gx_invpow(gx,-1,mod_val)ratio(h%mod_val)*gx_inv%mod_val g_2ipow(g,1i,mod_val)ifratiog_2i:x|(1i)returnx步骤 3: 求解 Alice 的私钥alice_privatesolve_discrete_log(5,alice_pub_actual,256)# 结果0xc3eb8407c7a92004ee28611da0e6b213dc1eadbbe28b545083de58344a66ff381步骤 4: 验证私钥alice_check_fullpow(5,alice_private,modulus)ifalice_check_fullalice_pub_actual:print(✓ 验证成功!)步骤 5: 计算共享密钥shared_secretpow(bob_pub_actual,alice_private,modulus)//4# 结果0x776374667b5030484c31475f48334c4c4d344e5f244d344c4c5f70723114d337d步骤 6: 提取 Flagbyte_len(shared_secret.bit_length()7)//8shared_bytesshared_secret.to_bytes(byte_len,big)flagshared_bytes.decode(utf-8)# 结果wctf{XXX}运行结果$ python solve.pyZ2kDH CTF 题解[步骤1]读取并处理公钥 Alice 公钥(已处理): 0x99edb8ed8892c664350acbd5d35346b9b77dedfae758190cd0544f2ea7312e81 Bob 公钥(已处理): 0x40716941a673bbda0cc8f67fdf89cd1cfcf22a92fe509411d5fd37d4cb926afd Alice 实际公钥: 0x267b6e3b6224b1990d42b2f574d4d1ae6ddf7b7eb9d60643341513cba9cc4ba05 Bob 实际公钥: 0x101c5a50699ceef683323d9ff7e273473f3c8aa4bf942504757f4df532e49abf5[步骤2]算法正确性测试测试私钥12345 恢复的私钥12345 ✓ 算法测试成功![步骤3]求解 Alice 的私钥Alice 私钥0xc3eb8407c7a92004ee28611da0e6b213dc1eadbbe28b545083de58344a66ff381 Alice 私钥位数256 ✓ Alice 私钥验证成功![步骤4]计算共享密钥共享密钥0x776374667b5030484c31475f48334c4c4d344e5f244d344c4c5f70723114d337d[步骤5]提取 Flag共享密钥(字节): bwctf{XXX}*** Flag: wctf{XXX}***总结这道题目的关键点在于识别特殊模数: 模数 2^258 是 2 的幂次属于光滑阶不适合用于密码学应用 Pohlig-Hellman 思想: 在光滑阶群上离散对数可以在线性时间内求解逐比特恢复技巧: 利用模 2^n 运算的性质从低位到高位逐位确定私钥数学性质的重要性: 5 ≡ 1 (mod 4) 保证了 5(2k) ≡ 1 (mod 2^(k2))这是逐比特恢复的基础

相关文章:

Z2kDH - Writeup by AI

Z2kDH - Writeup by AI 题目描述 这是一个基于离散对数的密钥交换协议&#xff0c;类似于 Diffie-Hellman。题目给出了以下信息&#xff1a; 模数: modulus 1 << 258 (即 2^258)生成器: g 5Alice 的公钥: 99edb8ed8892c664350acbd5d35346b9b77dedfae758190cd0544f2ea73…...

从LangChain到AgentOS:SITS2026圆桌发布的AIAgent架构成熟度评估矩阵(含6维18项量化评分标准)

第一章&#xff1a;SITS2026圆桌&#xff1a;AIAgent架构的未来方向 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026圆桌讨论中&#xff0c;来自DeepMind、Anthropic与中科院自动化所的架构师一致指出&#xff1a;下一代AI Agent将不再以“单体推理模型”为核心&…...

5分钟快速上手:MelonLoader Unity游戏模组加载器终极指南

5分钟快速上手&#xff1a;MelonLoader Unity游戏模组加载器终极指南 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 你是否想为…...

为什么你的Agent总在POC后消失?SITS2026成熟度模型首次定义“生产就绪阈值”——含6项硬性技术指标

第一章&#xff1a;SITS2026发布&#xff1a;AIAgent架构成熟度模型 2026奇点智能技术大会(https://ml-summit.org) 模型定位与核心价值 SITS2026正式发布的AIAgent架构成熟度模型&#xff08;AAMM&#xff09;是首个面向生产级AI Agent系统设计的分层评估框架&#xff0c;聚…...

Scroll Reverser:终极解决方案!如何让Mac触控板和鼠标实现完美滚动和谐

Scroll Reverser&#xff1a;终极解决方案&#xff01;如何让Mac触控板和鼠标实现完美滚动和谐 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否曾在MacBook触控板上享受自…...

ComfyUI-Manager依赖管理优化:从pip到uv的性能提升实战指南

ComfyUI-Manager依赖管理优化&#xff1a;从pip到uv的性能提升实战指南 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various …...

重新定义“创新“#15家创新公司

重新定义"创新" 我们熟悉的那套创新叙事&#xff0c;正在失效。 旧故事的漏洞 谈创新&#xff0c;我们习惯了讲独角兽。 讲融资、估值、10倍增长、改变世界。 讲那些从车库或者孵化器里走出来的极客英雄。 但如果你仔细看这15家公司—— 会发现一个截然不同的创新路径…...

LaTeX公式转换Word终极指南:告别复制粘贴困扰的智能解决方案

LaTeX公式转换Word终极指南&#xff1a;告别复制粘贴困扰的智能解决方案 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为LaTeX公式迁移到W…...

RePKG完整指南:简单三步解锁Wallpaper Engine隐藏资源

RePKG完整指南&#xff1a;简单三步解锁Wallpaper Engine隐藏资源 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经被Wallpaper Engine中那些精美的动态壁纸深深吸引&…...

DeerFlow部署案例:高并发场景下vLLM推理服务负载均衡配置

DeerFlow部署案例&#xff1a;高并发场景下vLLM推理服务负载均衡配置 1. 引言&#xff1a;当AI研究助手遇上高并发挑战 想象一下&#xff0c;你部署了一个强大的AI研究助手&#xff0c;它能够自动搜索网络、分析数据、撰写报告&#xff0c;甚至生成播客。但当你的团队或用户量…...

AI开始用自己的语言沟通了!清华等重磅综述揭秘潜空间正抛弃人类语言

人们看着屏幕上的大模型逐字吐出文本&#xff0c;仿佛这就是它思考的过程。其实大模型的“思考”&#xff0c;是在潜空间&#xff08;Latent Space&#xff09;里完成的。大模型的前沿探索&#xff0c;正在跳出人类词汇表的限制&#xff0c;AI开始在一个看不见的多维连续空间里…...

大众点评全站数据采集终极指南:破解动态字体加密的完整爬虫方案

大众点评全站数据采集终极指南&#xff1a;破解动态字体加密的完整爬虫方案 【免费下载链接】dianping_spider 大众点评爬虫&#xff08;全站可爬&#xff0c;解决动态字体加密&#xff0c;非OCR&#xff09;。持续更新 项目地址: https://gitcode.com/gh_mirrors/di/dianpin…...

【高届数土木会议】第十届土木建筑与结构工程国际学术会议(I3CSE 2026)

第十届土木建筑与结构工程国际学术会议(I3CSE 2026) 2026 10th International Conference on Civil Construction and Structural Engineering 广东省岩土力学与工程学会、华南农业大学主办 高届数EI会议,见刊检索稳定 会议官网: 第十届土木建筑与结构工程国际学术会议(…...

如何在5分钟内掌握MediaCMS开源视频媒体管理系统的权限管理

如何在5分钟内掌握MediaCMS开源视频媒体管理系统的权限管理 【免费下载链接】mediacms MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API. 项目地址: https://gitcode.com/gh_mirrors/me/m…...

13.56MHz NFC天线匹配实战:用Smith V2.00搞定线圈阻抗,手把手调出50欧姆

13.56MHz NFC天线匹配实战&#xff1a;用Smith V2.00搞定线圈阻抗&#xff0c;手把手调出50欧姆 第一次接触13.56MHz天线匹配的工程师&#xff0c;往往会被Smith圆图上那些复杂的曲线和公式吓退。但当你真正用Smith V2.00软件完成一次完整的匹配设计后&#xff0c;会发现这个过…...

探索SMUDebugTool:解锁AMD Ryzen处理器的硬件掌控力

探索SMUDebugTool&#xff1a;解锁AMD Ryzen处理器的硬件掌控力 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…...

雷小喵实测:大学生学英语,轻松坚持不费力

很多大学生学英语都陷入死循环&#xff1a;单词书越背越厚、App换了又换、打卡坚持不了几天&#xff0c;一到四六级还是读不快、写不出、听不懂。不是你不够努力&#xff0c;而是学习方式太反人性。我用了近一个月雷小喵&#xff0c;最大感受是&#xff1a;它不是在逼你“学英语…...

gte-base-zh多粒度Embedding:支持句子级、段落级、文档级向量生成教程

gte-base-zh多粒度Embedding&#xff1a;支持句子级、段落级、文档级向量生成教程 1. 引言 1.1 学习目标 通过本教程&#xff0c;你将学会如何使用gte-base-zh模型生成高质量的文本向量表示。无论你是想要处理单个句子、完整段落还是长篇文档&#xff0c;这个模型都能为你提…...

MinerU文档解析实战案例:将扫描版年报自动转为Excel可编辑数据

MinerU文档解析实战案例&#xff1a;将扫描版年报自动转为Excel可编辑数据 你是不是也遇到过这样的烦恼&#xff1f;老板丢过来一份几十页的PDF年报&#xff0c;让你把里面的财务数据整理成Excel表格。你打开一看&#xff0c;是扫描版的&#xff0c;文字根本没法直接复制粘贴。…...

AcousticSense AI效果展示:世界音乐(World)多源融合特征的ViT块响应图谱

AcousticSense AI效果展示&#xff1a;世界音乐&#xff08;World&#xff09;多源融合特征的ViT块响应图谱 1. 引言&#xff1a;当AI“看见”世界音乐的色彩 想象一下&#xff0c;你正在听一首来自西非的鼓乐&#xff0c;节奏复杂而充满生命力。传统上&#xff0c;我们只能用…...

【效果展示】SAM 3图像分割实测:精准识别分割,边界框一目了然

【效果展示】SAM 3图像分割实测&#xff1a;精准识别分割&#xff0c;边界框一目了然 1. 引言&#xff1a;当AI学会"指哪打哪" 想象一下这样的场景&#xff1a;你随手拍了一张街景照片&#xff0c;想快速找出画面中所有的汽车&#xff1b;或者你有一段监控视频&…...

MobaXterm高效运维:通过SSH管理部署Qwen3.5-4B模型的远程服务器

MobaXterm高效运维&#xff1a;通过SSH管理部署Qwen3.5-4B模型的远程服务器 1. 为什么选择MobaXterm管理AI服务器 对于需要远程管理运行Qwen3.5-4B这类大模型的服务器来说&#xff0c;一个好用的SSH工具能极大提升工作效率。MobaXterm作为一款专为远程计算设计的全能终端&…...

弦音墨影新手必看:5分钟掌握水墨界面下的视频语义提问技巧

弦音墨影新手必看&#xff1a;5分钟掌握水墨界面下的视频语义提问技巧 1. 水墨智能新体验&#xff1a;像在画中对话的视频理解工具 你是否曾经面对一段视频&#xff0c;想要快速找到某个特定画面却无从下手&#xff1f;或者想要了解视频中的细节内容&#xff0c;却需要反复拖…...

抖音音频提取开源工具:一键获取背景音乐的高效解决方案

抖音音频提取开源工具&#xff1a;一键获取背景音乐的高效解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback supp…...

004-Python基础数据类型:数字、字符串与布尔值

004-Python基础数据类型&#xff1a;数字、字符串与布尔值 那天下午&#xff0c;调试器停在一行看似无害的代码上&#xff1a; price 18.9 total price * 3 print(total) # 输出56.699999999999996新来的实习生盯着屏幕发呆&#xff1a;“浮点数在内存里有自己的脾气。”我拉…...

Qwen3-14B行业落地案例:金融研报摘要、医疗问诊辅助、客服话术生成

Qwen3-14B行业落地案例&#xff1a;金融研报摘要、医疗问诊辅助、客服话术生成 1. 开篇&#xff1a;私有部署镜像的价值 Qwen3-14B私有部署镜像为行业应用提供了强大的技术支持。这个经过优化的镜像版本完美适配RTX 4090D 24GB显存配置&#xff0c;内置完整运行环境与模型依赖…...

Coze-Loop边缘计算:TensorFlow Lite模型优化

Coze-Loop边缘计算&#xff1a;TensorFlow Lite模型优化 1. 引言 想象一下这样的场景&#xff1a;你的手机摄像头需要实时识别人脸表情&#xff0c;智能音箱要随时响应语音指令&#xff0c;工厂里的传感器要即时检测设备异常。这些场景都有一个共同特点——需要在设备本地快速…...

UnrealPakViewer终极指南:三步搞定虚幻引擎Pak文件深度解析

UnrealPakViewer终极指南&#xff1a;三步搞定虚幻引擎Pak文件深度解析 【免费下载链接】UnrealPakViewer 查看 UE4 Pak 文件的图形化工具&#xff0c;支持 UE4 pak/ucas 文件 项目地址: https://gitcode.com/gh_mirrors/un/UnrealPakViewer UnrealPakViewer是一款专为虚…...

将虚拟机变成服务器

背景&#xff1a;车载开发&#xff0c;缺少编译服务器&#xff0c;为避免每个人都安装虚拟机&#xff0c;想把我的虚拟机变成服务器&#xff0c;方便同事使用。1. 配置虚拟机端口转发2. 编译docker容器 2.1安装docker sudo apt install -y docker.io …...

用于 IntelliJ IDEA 的新 ES|QL 插件

作者&#xff1a;来自 Elastic Laura Trotta 使用 IntelliJ IDEA 的新插件&#xff0c;在你的 IDE 中构建并运行 ES|QL 查询。 通过 Elasticsearch 实践操作&#xff1a;深入了解 Elasticsearch Labs 仓库中的示例 notebooks&#xff0c;开始免费云试用&#xff0c;或现在就在你…...