布兹 CTF「你的眼睛好吗?」完整解题思路 Sage 攻击代码
📅 2026/7/10 18:21:48
👁️ 次浏览
一、题目原理梳理1. 参数与生成逻辑题目基于ML-DSA Level5Dilithium5参数环\(R_q \mathbb{F}_q[X]/(X^{256}-1)\)\(q83804172^{23}-2^{13}1\)矩阵维度\(A \in R_q^{k\times l},\ k8,l7\)小系数分布\(\eta2\)即 \(s,e\) 每个多项式系数取自 \(\{-2,-1,0,1,2\}\)两种样本MLWE 样本返回 1\(t A\cdot s e\)\(s\leftarrow\chi_\eta^l,\ e\leftarrow\chi_\eta^k\)\(s/e\) 所有多项式系数范围 \([-2,2]\)随机样本返回 0$r \xleftarrow {\$} R_q^k$每个多项式系数均匀取自 $[0,q-1]$几乎全是大数2. 核心区分漏洞MLWE 向量 \(tAse\) 中每个多项式的所有系数都是 7 个小系数s线性组合再加 1 个小系数e取值范围远小于均匀随机向量 均匀随机向量 r 的系数遍布整个模空间 \([0,q-1]\)几乎没有小数值。最简区分特征 对向量 \(t/r\) 内每一个多项式展开全部 256 个系数统计绝对值≤2 的系数数量MLWE 向量大量系数绝对值≤2数百个均匀随机向量几乎没有绝对值≤2 的系数0~ 几个仅靠这个统计特征就能 100% 区分两种分布答对 128 轮即可输出 flag。二、完整 SageMath 攻击代码1. 解码辅助函数sageimport gzip, base64 from ast import literal_eval RING_RANK 256 q 8380417 Fq GF(q) base_ring.x Fq[] Rq.X base_ring.quotient_ring(x^RING_RANK - 1) def isanitize_mat(s): s base64.b64decode(s) s gzip.decompress(s) data literal_eval(s.decode()) return Matrix(Rq, [[Rq(sss) for sss in ss] for ss in data]) def isanitize_vec(s): s base64.b64decode(s) s gzip.decompress(s) data literal_eval(s.decode()) return vector(Rq, [Rq(ss) for ss in data]) def count_small_coeffs(vec, bound2): 统计向量所有多项式中绝对值≤bound的系数总数 total 0 for poly in vec: coeffs poly.list() # 展开多项式256个系数 for c in coeffs: c_abs min(c, q - c) # 模q下的最小绝对值 if c_abs bound: total 1 return total def distinguish(A_str, t_str): # 解码A和t A isanitize_mat(A_str) t isanitize_vec(t_str) cnt count_small_coeffs(t, 2) # 阈值经验MLWE样本cnt 100随机样本cnt 10 if cnt 50: return 1 # MLWE else: return 0 # 随机2. 交互自动化逻辑netcat 对接python运行from pwn import * # 连接题目服务替换为题目Connect地址 io remote(archive.cryptohack.org, 43607) for round in range(130): # 读取sanitize_mat(A)行 io.recvuntil(bsanitize_mat(A) ) A_b64 io.recvline().strip().decode() # 读取sanitize_vec(t)行 io.recvuntil(bsanitize_vec(t) ) t_b64 io.recvline().strip().decode() # 读取提示符 io.recvuntil(b ) # 执行区分 res distinguish(A_b64, t_b64) io.sendline(str(res).encode()) # 打印轮次日志 resp io.recvline().decode() print(f第{round1}轮 | 判定{res} | 服务返回{resp}) if flag in resp: print([] 获取flag, resp) break三、原理细节解释多项式系数绝对值计算模 q 下系数 c 的真实最小绝对值为 \(\min(c,\ q-c)\)例如 \(q-1\) 等价于 \(-1\)绝对值为 1。阈值选择MLWE 输出 \(tAse\)每一项是 7 个\([-2,2]\)数相乘求和再加 1 个\([-2,2]\)误差系数分布高度集中在 0 附近一轮统计数百个小系数均匀随机向量 r每个系数均匀分布在 \([0,q-1]\)恰好落在 \([-2,2]\) 的概率仅 \(5/q \approx 6\times10^{-7}\)8 个多项式 ×256 系数总共期望仅 1 个以内小系数。 设置阈值50完全可以无错区分。
PlantCV形态分析教程:测量植物大小、形状和生长参数的完整指南 【免费下载链接】plantcv Plant phenotyping with image analysis 项目地址: https://gitcode.com/gh_mirrors/pl/plantcv
PlantCV是一款强大的植物表型分析工具,专为植物图像分析设…
📅 2026/7/10 18:21:48
LangChain快速开始
安装依赖
pip install -U langchain deepagents设置APIKEY
从任意受支持的模型提供商获取 API key(例如,Google Gemini 或 OpenAI)。设置 API keys,例如:
OpenAI
export OPENAI_API_KEY"yo…
📅 2026/7/10 18:21:48
Reflex Platform工作流揭秘:work-on脚本高效开发技巧 【免费下载链接】reflex-platform A curated package set and set of tools that let you build Haskell packages so they can run on a variety of platforms. reflex-platform is built on top of the nix pa…
📅 2026/7/10 18:21:48
宝塔面板v7.7.0离线部署与安全加固技术指南 【免费下载链接】btpanel-v7.7.0 宝塔v7.7.0官方原版备份 项目地址: https://gitcode.com/GitHub_Trending/btp/btpanel-v7.7.0
宝塔面板v7.7.0是一款基于Python 3.7独立运行环境的Linux服务器管理工具,支持CentOS…
📅 2026/7/10 19:20:03
sssnic-driver与Linux内核集成:完整兼容性指南 【免费下载链接】sssnic-driver a new NIC driver for 3SNIC ethernet controller sssnic 项目地址: https://gitcode.com/openeuler/sssnic-driver
前往项目官网免费下载:https://ar.openeuler.org…
📅 2026/7/10 19:20:03
随着医疗行业的快速发展和患者就医需求的日益增长,传统医院门诊管理模式已难以满足高效、便捷、精准的服务要求。患者挂号难、就诊流程繁琐、药品管理不透明等问题日益凸显,亟需借助信息化手段进行优化升级。因此,开发一套基于现代信息技术的…
📅 2026/7/10 19:20:03
Transformers-Tutorials:一站式HuggingFace Transformers实战指南 【免费下载链接】Transformers-Tutorials This repository contains demos I made with the Transformers library by HuggingFace. 项目地址: https://gitcode.com/GitHub_Trending/tr/Transform…
📅 2026/7/10 19:20:03
OpenSSH Portable终极指南:解锁跨平台远程管理的安全之门 【免费下载链接】openssh-portable Portable OpenSSH, all Win32-OpenSSH releases and wiki are managed at https://github.com/powershell/Win32-OpenSSH 项目地址: https://gitcode.com/gh_mirrors/op…
📅 2026/7/10 19:20:03
Pytify完全配置教程:从API凭证到高级功能设置 【免费下载链接】Pytify A CLI application for controlling Spotify 项目地址: https://gitcode.com/gh_mirrors/py/Pytify
想要在终端中轻松控制Spotify音乐吗?Pytify正是您需要的终极命令行工具&a…
📅 2026/7/10 19:19:03
一、为什么接口自动化测试,适合用AI赋能?
大家可自行先思考一个问题:
AI赋能测试全流程,为什么优先推荐从接口自动化切入?
有三个典型原因:
接口输入结构化,AI最擅长"吃"
接口有OpenA…
📅 2026/7/10 0:00:53
终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock
原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…
📅 2026/7/10 0:00:53
YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…
📅 2026/7/10 0:00:53
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/9 15:10:35
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/9 14:14:01
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/9 15:10:36
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/9 15:10:36
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/9 15:10:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/9 15:10:36