格密码攻击手册
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的官方安装指南,将 @user_3c6cb52e/lattice-crypto-attacks-lr-96rk 安装到 AI 助手中。
技能介绍
要解决的问题
把多项式时间攻击写成格问题之后,真正的难点才开始:基向量选错、缩放因子漏掉、约简维度不对,都会让结果看起来「约简失败」,但其实是攻击构造本身有问题。更常见的是,直接套用现成脚本时不知道 Coppersmith 的界为什么必须满足 deg * d < N,于是在边界附近反复试错。
这份技能针对的正是这类中间层失误:它不重新发明算法,而是把 LLL/BKZ 基约简、Coppersmith 单变量与多变量方法、Hidden Number Problem(HNP)、背包攻击 与 NTRU 分析 串成可复用的检查清单,帮助模型在 CTF 和密码分析场景里一次把格构造对。
核心能力
- 格的构造与参数校验:按问题类型选择正确的格维度,并显式处理 scaling factors,避免因量级失衡导致 LLL 输出退化。
- Coppersmith 方法的正确使用:区分单变量与多变量情形,先推导部分已知高位/低位情况下的界,再决定是否可求解,而不是盲目设定小的多项式根。
- HNP nonce 恢复:把 DSA/ECDSA 签名中的 nonce 偏差或部分泄露转成 Hidden Number Problem,进而恢复私钥。
- Knapsack 与 NTRU 专项分析:针对背包型公钥与 NTRU 密文结构,识别何时可归约为格攻击。
适用边界与注意点
- 该技能聚焦攻击构造与参数选择,不负责通用密码系统的实现细节;需要配合具体的中间结果(如部分已知 bit、偏差数据)才能工作。
- 约简成功与否高度依赖参数:维度过高会让 BKZ 时间不可接受,过低又可能无法分离目标向量。实践里应先验证格的行列式下界。
- Coppersmith 方法的适用条件必须显式检查,不能仅凭「已知高位足够多」就认为可解;否则容易得到错误结论或误报成功。
- 对 RSA 相关的格攻击,应与
rsa-attack-techniques配合使用;LCG 状态恢复可参考symmetric-cipher-attacks;经典密码的格分析归入classical-cipher-analysis。
使用场景
- CTF 比赛中遇到 DSA/ECDSA 签名 nonce 泄露,需要恢复私钥并构造格攻击
- 分析 RSA 变体时部分高位已知,想用 Coppersmith 单变量方法求解小根
- 针对背包型公钥加密或 NTRU 实现设计格归约,寻找密钥或明文恢复路径
- 已有多项式时间攻击描述,需要将其正确转化为 LLL/BKZ 可解的格实例
适合人员
- CTF 密码学选手,需要在比赛限时内构造正确的格攻击脚本
- 安全研究员,正在评估 NTRU 或背包密码系统的实际可攻击性
- 应用密码工程师,遇到 Coppersmith 边界条件不确定时需要快速校验
- AI 应用开发者,希望为模型提供可复用的格构造与参数检查提示