Cool + Cruel = Dual, and New Benchmarks for Sparse LWE

[复制链接]
发表于 前天 16:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
《Cool + Cruel = Dual, and New Benchmarks for Sparse LWE》

择要

《Cool + Cruel = Dual, and New Benchmarks for Sparse LWE》是一篇围绕 sparse-secret LWE 攻击表明与 benchmark 公平性睁开的论文。它重新审阅了 Cool + Cruel、SALSA 以及 primal attack 在 sparse LWE 场景中的关系。论文的焦点观点包罗:C+C 可以被明确为 Albrecht-style dual attack 的实例;SALSA 更像是在 reduced dual bases 上运行的 black-box dual-style distinguisher;而 sparse LWE 上的 primal baseline 必要纳入 Drop + Solve、Guess + Verify 等更适配 sparse secret 的方法。本文是公开学习条记,不声称复现论文实验,不声称 AI 已经攻破 LWE,也不声称真实 ML-KEM / ML-DSA 尺度参数受到攻击。全部待核验信息均标注为 TODO_VERIFY。
0. 阅读声明与边界

本文是一篇个人学习条记和公开研读整理,目标是资助自己和读者明确这篇论文的主线、关键技能、benchmark 讨论以及对 AI4LC 的开导。
本文不构成对论文结论的终极表明。全部关键结论以原论文为准。
本文不声称:

  • 我已经复现了论文实验;
  • 我证实了论文中的理论结论;
  • AI 已经攻破 LWE;
  • AI 已经攻破格暗码;
  • AI 已经威胁真实 ML-KEM / ML-DSA 尺度参数;
  • C+C 没有代价;
  • primal attack 在全部参数下都优于 C+C。
本文中的标记寄义如下:

  • 配景增补:为了明确论文而增补的根本知识;
  • 个人明确:我基于阅读得到的表明,不即是论文原文表述;
  • 我的推断:从论文内容推导出的明确,但论文未必直接如许表述;
  • TODO_VERIFY:发布前必要回到论文、原始代码或相干文献中核验。
公开辟布时,假如涉及论文图表,发起自己重画表示图或用笔墨表明,不要默认直接搬运论文原图,克制版权风险。
1. 为什么要读这篇论文?

这篇论文处在几个研究脉络的交织点上:

  • Sparse LWE 攻击
    sparse-secret LWE 中 secret 很希罕,大量坐标为 0。这种布局会影响攻击战略,尤其会让 partial guessing、support recovery、Drop + Solve 等方法变得故意义。
  • Dual attack 与 primal attack 的比力
    传统 LWE 攻击大抵可以分为 primal attack 和 dual attack。本文的一个焦点工作,是重新表明 C+C 与 SALSA 这些看起来较新的方法和传统 dual attack 的关系。
  • SALSA 与 AI4LC
    SALSA 使用神经网络攻击 LWE,曾给人一种“Transformer 学会破解 LWE”的直观印象。本文提示读者:假如模子输入已经颠末 lattice reduction,神经网络大概学到的是已有攻击袒暴露的统计信号,而不是原始 LWE 的全新布局。
  • Benchmark 公平性
    论文不但是讨论“哪个攻击更快”,还讨论 benchmark 是否选择了符合 baseline,是否陈诉了乐成率、硬件资源和时间资源。这一点对全部做暗码分析实验的人都很告急。
因此,这篇论文不是单纯的“攻击论文”。它更像是:

  • 一篇 reinterpretation 论文;
  • 一篇 benchmark 驳倒论文;
  • 一篇 sparse LWE 攻击方法论论文;
  • 一篇对 AI-assisted lattice cryptanalysis 很有警表示义的论文。
2. 一图读懂论文主线

笔墨流程图如下:
  1. 背景问题
  2. → sparse LWE 在某些高效构造和 benchmark 中重要
  3. → C+C 和 SALSA 在 sparse LWE benchmark 中表现突出
  4. → 之前的理解:C+C / SALSA 似乎优于 primal attack
  5. → 作者发现问题:这些方法到底是不是新攻击?benchmark 是否公平?
  6. → LWE as BDD:把 LWE 放进统一几何框架
  7. → Dual Attack generalized:建立一般 BDD 上的 dual dimension reduction 框架
  8. → Cool + Cruel = Dual:C+C 可解释为 Albrecht-style dual attack 的实例
  9. → SALSA 的重新解释:模型像 black-box dual-style distinguisher
  10. → Primal baseline:重新考虑 Drop + Solve / Guess + Verify
  11. → Benchmark Lessons:baseline、硬件、成功率和成本单位都影响结论
  12. → AI4LC 启发:AI 应放在 selection / scoring / tuning 等明确模块中
复制代码
可重绘图发起

博客中可以自己画一张“论文主线图”,不要直接复制论文原图。
发起图形布局:
  1. Sparse LWE Benchmark
  2.         |
  3.         v
  4.    C+C / SALSA
  5.         |
  6.         v
  7. LWE as BDD Framework
  8.    /        |        \
  9. Primal    Dual      AI-based
  10. Attack    Attack    Distinguisher
  11.    |        |        |
  12. D+S/G+V  C+C=Dual  SALSA≈Black-box Dual
  13.         |
  14.         v
  15. Benchmark Fairness + AI4LC Warning
复制代码
3. 配景增补:读懂本文必要哪些根本?

3.1 LWE

一句话直觉

LWE 是“带噪声的模线性方程”题目:给出很多形如 b ≈ A s + e mod q 的样本,攻击者要规复 secret 或区分样本是否随机。
在本文中的作用

本文研究的是 sparse-secret LWE,并将 LWE 改写成 BDD,从而同一 primal attack、dual attack、C+C 和 SALSA。
新手容易误解


  • 把 LWE 当成平凡线性方程求解;
  • 忽略 error 的作用;
  • 把 toy 参数下的攻击效果外推到真实 PQC 尺度参数。
3.2 Sparse Secret LWE

一句话直觉

secret 很希罕,大多数坐标为 0,只有少数坐标非零。
在本文中的作用

C+C、SALSA、Drop + Solve、Guess + Verify 都使用了 sparse secret 的布局。尤其是 Drop + Solve 可以推测一部分 secret 坐标为 0,从而低落题目维度。
新手容易误解


  • 以为 sparse secret 肯定不安全;
  • 以为全部 LWE-based 尺度方案都接纳 extreme sparse secret;
  • 以为 sparse benchmark 上的乐成即是真实 PQC 尺度参数被攻破。
3.3 BDD

一句话直觉

BDD 是“找迩来格点”的题目:target 离某个 lattice point 很近,目标是找到这个 lattice point 或短毛病。
在本文中的作用

作者把 LWE 改写成 BDD:
  1. target = lattice point + short error
复制代码
如许 primal attack、dual attack、C+C、SALSA 都可以放入同一语言中比力。
新手容易误解


  • 以为 LWE as BDD 只是换符号;
  • 以为全部 LWE instance 都天然满意强 BDD 条件;
  • 忽略 “short error” 是相对于 lattice 多少尺度而言的。
3.4 Primal Attack

一句话直觉

primal attack 直接把 LWE / BDD 中的短毛病编码成格里的短向量,然后用 lattice reduction 找出来。
在本文中的作用

Section 5 重新评估 sparse LWE 上 primal baseline,夸大 Drop + Solve 和 Guess + Verify 不能被忽略。
新手容易误解


  • 以为 primal attack 只有 Kannan embedding 一种固定情势;
  • 忽略 sparse secret 下 partial guessing 可以显着改变攻击资源;
  • 把 estimator 输出直接等同于真实运行时间。
3.5 Dual Attack

一句话直觉

dual attack 使用 dual lattice 中的短向量,通过 inner product 的统计毛病区分 LWE 样本和随机样本。
在本文中的作用

Section 3 创建一样平常 BDD dual distinguisher;Section 4 将 Albrecht dual attack、C+C、SALSA 放到这个框架中表明。
新手容易误解


  • 以为 dual attack 直接规复 secret;
  • 忽略 dual distinguisher 到 search recovery 中心还必要罗列、降维或 search-to-decision;
  • 以为错误 guess 严格产生 uniform 分布,现实通常是开导式近似。
3.6 Dual Lattice

一句话直觉

dual lattice 是由全部与原 lattice 向量内积为整数的向量构成的 lattice。
在本文中的作用

dual attack 依赖 short dual vectors。它们能让 YES-instance 的 inner products 表现出统计毛病。
新手容易误解


  • 只背界说,不明确 dual vector 为什么能做 distinguisher;
  • 以为 dual lattice 和 primal lattice 是无关对象;
  • 忽略 short dual vector 的质量依赖 lattice reduction。
3.7 BKZ

一句话直觉

BKZ 是格基约简算法,通过 block-wise reduction 改善 lattice basis 质量。
在本文中的作用

C+C、dual attack、primal attack、Guess + Verify 都涉及 lattice reduction。Z-shape basis 也是 q-ary lattice reduction 后出现的告急布局。
新手容易误解


  • 把 BKZ 当成完全黑箱;
  • 忽略 block size、运行时间、乐成概率之间的 trade-off;
  • 以为神经网络可以直接替换 BKZ。
3.8 Distinguisher

一句话直觉

distinguisher 是一个判定输入更像 LWE 照旧更像随机的测试器。
在本文中的作用

dual attack 的焦点就是构造 distinguisher。SALSA 的模子也被作者表明为某种 implicit distinguisher。
新手容易误解


  • 以为 distinguisher 即是 secret recovery;
  • 忽略 decision 到 search 之间还必要额外步调;
  • 只看 accuracy,不看攻击乐成率和资源。
3.9 Search-to-Decision

一句话直觉

把规复 secret 的 search 题目,转化为多次调用 decision distinguisher 的题目。
在本文中的作用

SALSA 的坐标扰动测试雷同 search-to-decision:通过判定扰动后分布是否变革,推断 secret 的某个坐标是否非零。
新手容易误解


  • 以为 decision oracle 自动给出 secret;
  • 忽略坐标罗列、分布测试和乐成概率;
  • 忽略 secret distribution 对 reduction 的影响。
3.10 SALSA

一句话直觉

SALSA 是使用神经网络攻击 LWE 的代表性工作之一。
在本文中的作用

本文重新表明 SALSA:模子大概是在 reduced dual bases 袒暴露的统计信号上学习,而不是直接发现了全新的 LWE 布局。
新手容易误解


  • 说成“Transformer 攻破 LWE”;
  • 忽略模子输入是否颠末 lattice reduction;
  • 只看模子表现,反面 classical baseline 比力。
3.11 Cool + Cruel

一句话直觉

C+C 将 secret 坐标分为 cool 和 cruel 两类,罗列较难的 cruel bits,再规复 cool bits。
在本文中的作用

论文的焦点结论之一是:C+C 可以被表明为 Albrecht-style dual attack 的实例。
新手容易误解


  • 以为 cool/cruel 是 secret 的天然属性;
  • 以为 C+C = Dual 意味着 C+C 没有代价;
  • 忽略 Z-shape basis 对 cool/cruel 分裂的表明。
3.12 Drop + Solve

一句话直觉

先猜掉一部分 secret 坐标,再把剩下题目降维求解。
在本文中的作用

作者以为 sparse LWE benchmark 中必须思量 Drop + Solve,否则 primal baseline 大概被低估。
新手容易误解


  • 以为 Drop + Solve 对全部 LWE 都有用;
  • 忽略它依赖 secret 充足 sparse;
  • 忽略推测乐成率和降维收益之间的 trade-off。
3.13 Guess + Verify

一句话直觉

先猜部分 secret,再用快速 verification 判定 guess 是否大概精确。
在本文中的作用

Guess + Verify 是 Drop + Solve 头脑的变体,使用 Babai nearest plane 举行快速验证,并可通过 GPU batching 加速。
新手容易误解


  • 以为它只是“GPU 版 Drop + Solve”;
  • 忽略 preprocessing 和 per-guess verification 的资天职离;
  • 不陈诉 GPU-hours / core-hours 会导致 benchmark 不公平。
4. 论文贡献总览

贡献范例对应章节办理的题目公开表达时应克制的夸大将 LWE 放入 BDD 同一视角理论表明Section 2同一 primal / dual / C+C / SALSA 的分析语言不要说 BDD 视角自动带来攻击乐成一样平常 BDD dual dimension reduction 框架攻击框架Section 3抽象 dual distinguisher 与降维过程不要把抱负 theorem 认真实乐成率Albrecht dual attack 作为模板理论表明Section 4.1为 C+C = Dual 提供参照不要忽略实现差别C+C = Dual理论表明 / 攻击机制重释Section 4.2分析 C+C 可归入 Albrecht-style dual attack不要说 C+C 没用Z-shape 表明 C+C phenomenon理论表明 / 图表证据Section 4.2, Appendix B/C表明 cool/cruel 列统计差别泉源不要说 C+C 征象不存在SALSA 重新表明AI4LC 反思Section 4.3分析 SALSA 像 black-box dual-style distinguisher不要说 AI4LC 没代价primal baseline 重估benchmark 驳倒Section 5指出 sparse LWE 下平凡 primal baseline 不充实不要说 primal 永久优于 C+CDrop + Solve / Guess + Verify 实验讨论实验重估Section 5, Appendix F/G给出更得当 sparse secret 的 primal variants不要说已威胁真实尺度参数open-source implementation工程 artifact / reproducibilityAbstract / Section 5支持实验复核具体链接、完备 artifact 状态需 TODO_VERIFY5. Section-by-Section 公开精读

Abstract / Introduction

这一节办理什么题目?

Abstract 和 Introduction 创建全文题目意识:sparse-secret LWE 上 C+C、SALSA 和 primal attack 的 benchmark 结论是否应被重新审阅。
它在整篇论文中的位置

它界说了全文的三条主线:

  • C+C 是否真是新攻击?
  • SALSA 到底学到了什么?
  • primal attack baseline 是否公平?
焦点内容表明

作者指出,前人 benchmark 给人的印象是:C+C 最强,SALSA 也强于 primal attack。但作者以为,这个叙事必要重新评估。
论文的切入方式不是直接提出一个全新攻击,而是:

  • 重新表明 C+C;
  • 重新表明 SALSA;
  • 重新 benchmark primal variants。
关键公式 / 算法 / 图表

本部分重要是概念与贡献概述,没有必要死磕的公式。
本节 takeaway

Introduction 的重点不是“哪个攻击终极赢”,而是告诉读者:攻击机制表明和 benchmark 选择同样告急
本节公开版风险提示

容易误读:

  • 把 “primal variants can outperform C+C in studied regimes” 误读成 primal attack 在全部参数下更强;
  • 把 “SALSA resembles black-box dual attack” 误读成 AI4LC 没代价;
  • 把 sparse LWE benchmark 误读成真实尺度参数攻击。
Section 2:Preliminaries / LWE as BDD

这一节办理什么题目?

把 LWE 改写成 BDD,为后文同一分析 primal、dual、C+C 和 SALSA 做预备。
它在整篇论文中的位置

这是全文的地基。没有 LWE as BDD,反面临 C+C = Dual 的表明会缺少同一语言。
焦点内容表明

LWE 原始情势可以写成:

\[b \equiv A s + e \pmod q  \]
BDD 情势是:

\[t = v + x  \]
此中:

  • \(t\) 是 target;
  • \(v\) 是 lattice point;
  • \(x\) 是短毛病;
  • 攻击目标是规复 \(x\) 或对应 secret。
这个转换的焦点意义是:

  • primal attack 直接找短毛病;
  • dual attack 用 dual vector 检测短毛病导致的统计毛病;
  • C+C 和 SALSA 都可以在这个语言下重新表明。
关键公式

LWE 到 BDD


  • 公式要表达什么:LWE 样本可以被看成 BDD target;
  • 焦点符号:

    • \(A\):LWE 矩阵;
    • \(b\):LWE 右端;
    • \(s\):secret;
    • \(e\):error;
    • \(q\):模数;
    • \(t\):BDD target;
    • \(v\):lattice point;
    • \(x\):short error。

  • 承接前文:从 LWE 题目界说出发;
  • 服务后文:支持 Section 3 的 BDD dual attack 框架;
  • 新手误解:以为这只是符号更换。
本节 takeaway

LWE as BDD 不是换皮,而是把差别攻击放到同一个多少框架中比力。
本节公开版风险提示

不能写成:“LWE 变成 BDD 后就容易解了。”
精确说法是:“BDD 视角有助于同一分析攻击布局,但攻击难度仍取决于参数和 lattice reduction 资源。”
Section 3:Dual Attacks Revisited and Generalised

这一节办理什么题目?

创建一样平常 BDD 上的 dual distinguisher 和 dimension reduction 框架。
它在整篇论文中的位置

这是毗连 LWE as BDD 和 C+C = Dual 的桥梁。
焦点内容表明

dual attack 的直觉是:

  • 假如 target 是 lattice point 加短毛病;
  • 那么 short dual vector 与 target 的 inner product 会有统计毛病;
  • 假如 target 是随机的,则 inner product 更靠近 uniform。
作者将这一头脑抽象成:

  • Algorithm 1:decision BDD distinguisher;
  • Algorithm 2:用 distinguisher 做 dimension reduction。
关键算法

Algorithm 1:Decision BDD Distinguisher


  • 输入:BDD target、short dual vectors、Score 函数;
  • 输出:一个分数,用于判定 target 是否像 YES-instance;
  • 步调直觉:

    • 对 target 与 short dual vectors 做 inner product;
    • 得到一组统计量;
    • 用 Score 判定它们是否会合;

  • 与主线关系:这是 dual attack 的根本测试器。
Algorithm 2:Dimension Reduction


  • 输入:BDD instance、dual distinguisher、罗列参数;
  • 输出:BDD solution;
  • 步调直觉:

    • 罗列一部分坐标;
    • 对每个 guess 构造投影 target;
    • 用 dual distinguisher 打分;
    • 选出最大概精确的 guess;
    • 解剩余低维 BDD。

  • 与主线关系:后文的 Albrecht dual attack 和 C+C 都被放入这个框架。
关键定理

Theorem 3.2 分析,在 perfect distinguisher 等抱负条件下,Algorithm 2 可以辨认精确 guess 并规复 solution。
本节 takeaway

Section 3 的意义不是只讲 dual attack,而是把“罗列 + distinguisher + 降维”抽象成一样平常框架。
本节公开版风险提示

不能把 Theorem 3.2 写成真实攻击乐成率包管。它依赖 perfect distinguisher,是抱负化精确性分析。
Section 4.1:Albrecht’s Dual Attack

这一节办理什么题目?

将 Albrecht dual attack 放入 Section 3 的 Algorithm 2 框架,为反面表明 C+C 做模板。
它在整篇论文中的位置

Albrecht dual attack 是 C+C = Dual 的参照物。
焦点内容表明

Albrecht-style dual attack 大抵流程:
  1. LWE instance (A,b)
  2. → split A = [A_u, A_r]
  3. → split s = (s_u, s_r)
  4. → enumerate s_u
  5. → construct residual b - A_u s_u
  6. → use short dual vectors to test guess
  7. → correct guess gives lower-dimensional LWE
  8. → solve remaining s_r
复制代码
假如 guess 精确:

\[b - A_u s_u \equiv A_r s_r + e \pmod q  \]
假如 guess 错误:

\[b - A_u \tilde{s}_u \equiv A_u(s_u - \tilde{s}_u) + A_r s_r + e \pmod q  \]
错误 guess 引入额外随机项,使 residual 更靠近随机。
本节 takeaway

Albrecht dual attack 展示了 partial guessing 怎样与 dual distinguisher 联合,从而举行 search recovery。
本节公开版风险提示

不要把错误 guess 形貌成严格 uniform;更审慎的说法是“更靠近 uniform”或“统计上更难区分”。
Section 4.2:Cool + Cruel = Dual

这一节办理什么题目?

表明为什么作者以为 C+C 可以被明确为 dual attack 的实例。
它在整篇论文中的位置

这是论文标题的焦点部分,也是全文最告急的 reinterpretation。
焦点内容表明

C+C 外貌流程:
  1. construct D_CC
  2. → lattice reduction
  3. → get A_red, b_red
  4. → identify cool/cruel bits
  5. → guess cruel bits
  6. → score guess
  7. → recover cool bits
  8. → verify
复制代码
作者的表明是:

  • \(D_{CC}\) 与 LWE-as-BDD 的 dual basis 有强对应关系;
  • lattice reduction 产生的是 dual-side short vectors;
  • score-cruel 使用的信息等价于 dual distinguisher 的 inner products;
  • cruel bits guessing 对应 Algorithm 2 中的 partial enumeration;
  • recover-cool 对应低维 LWE / BDD solving。
关键公式

C+C basis

简化写法:

\[D_{CC} =  \begin{pmatrix}  0 & c I_m \  q I_n & A^T  \end{pmatrix}  \]

  • 所在位置:Section 4.2;
  • 公式要办理什么题目:展示 C+C 使用的 q-ary lattice basis;
  • 焦点符号:

    • \(A\):LWE matrix;
    • \(q\):modulus;
    • \(c\):scaling;
    • \(I_m, I_n\):identity matrices;

  • 作用:毗连 C+C basis 与 dual BDD basis;
  • 新手误区:以为这是全新 lattice,而不是 dual-side structure 的一种表现。
Transformed samples

C+C 得到:

\[A_{red} := U_1^T A \pmod q  \]

\[b_{red} := U_1^T b \pmod q  \]

  • 作用:C+C 在 transformed samples 上做 cool/cruel 分裂和 scoring;
  • 新手误区:忽略 \(U_1\) 来自 lattice reduction,因此 transformed samples 已经包罗 reduction 袒暴露的布局。
图表

Appendix C / Figure 1:Z-shape Determines Cruel Bits


  • 图表范例:实验效果图 / 布局表明图;
  • 展示内容:\(A_{red}\) 的列 sample standard deviation 与 q-vectors 位置之间的对应关系;
  • 支持 claim:cool/cruel phenomenon 可由 Z-shape basis 表明;
  • 博客发起:最好自己重画简化表示图,不直接搬运原图;
  • TODO_VERIFY:Figure 编号和 caption 发布前核验。
本节 takeaway

C+C 的代价不在于它完全无用,而在于它可以被重新归入已有 dual attack 框架中明确。
本节公开版风险提示

不能写:

  • “C+C 没故意义”;
  • “C+C 征象不存在”;
  • “作者完全否定 C+C”。
更精确写法:

  • “作者以为 C+C 的焦点机制可以由已有 dual attack 和 Z-shape basis 表明。”
Section 4.3:SALSA / Distinguishing

这一节办理什么题目?

重新表明 SALSA 的模子到底在做什么。
它在整篇论文中的位置

这是本文对 AI4LC 最告急的部分。
焦点内容表明

SALSA 的模子 \(M\) 被表明为近似一个带未知 shift 的 oracle:

\[M(a) \approx t + a^T s + e \pmod q  \]
然后通过比力:

\[M(a) - M(a + \ell e_i)  \]
来判定第 \(i\) 个 secret 坐标是否为 0。
假如 \(s_i = 0\),差值重要来自噪声差:

\[e - e'  \]
假如 \(s_i = 1\),差值会多一个随机扰动项:

\[e - e' - \ell  \]
因此通过多次累计差别,可以判定哪些坐标更大概属于 secret support。
关键算法

Algorithm 4:SALSA distinguisher for fixed-weight binary secret


  • 输入:模子 \(M\)、Hamming weight \(h\)、dimension \(n\)、trial vectors;
  • 输出:secret support guess;
  • 步调直觉:

    • 对每个坐标 \(i\) 做扰动;
    • 比力模子输出变革;
    • 累计 \(C\);
    • 取最大的 \(h\) 个坐标作为 support;

  • 与主线关系:分析 SALSA 像 search-to-decision 风格的 coordinate test。
本节 takeaway

SALSA 不应被简朴说成“Transformer 学会破解 LWE”。更审慎的明确是:模子大概在 reduced dual bases 袒暴露的统计信号上学习一个 implicit distinguisher。
本节公开版风险提示

不能写:

  • “AI 攻破 LWE”;
  • “SALSA 证实神经网络能破解格暗码”;
  • “SALSA 完全等价于 dual attack”。
更精确写法:

  • “本文作者以为 SALSA appears to run a black-box dual-style attack。”
Section 5:Primal Attack Baseline

这一节办理什么题目?

重新评估 sparse-secret LWE 上 primal attack baseline 是否被低估。
它在整篇论文中的位置

前文表明 C+C / SALSA 的机制,Section 5 则重新讨论实验比力是否公平。
焦点内容表明

平凡 primal attack 会把 BDD solution 编码进 embedding lattice,然后用 lattice reduction 找短向量。
但在 sparse-secret LWE 中,平凡 primal attack 不肯定是最强 baseline,由于 sparse secret 允许 partial guessing。
Drop + Solve

Drop + Solve 思绪:
  1. split secret coordinates into I and J
  2. guess s_J
  3. compute b' = b - A_J \tilde{s}_J
  4. if guess correct:
  5.     b' = A_I s_I + e mod q
  6. solve lower-dimensional LWE
复制代码
焦点 trade-off:
  1. drop more coordinates
  2. → lower dimension
  3. → faster solve if guess is correct
  4. → lower probability of correct guess
复制代码
Guess + Verify

Guess + Verify 思绪:
  1. preprocess basis for remaining coordinates
  2. → enumerate guesses
  3. → use Babai nearest plane to verify
  4. → batch verification on GPU
复制代码
它将“每个 guess 都完备 solve”的资源转化成“预处置处罚一次 + 快速验证大量 guesses”。
本节 takeaway

Sparse-secret LWE 的 benchmark 必须思量 Drop + Solve / Guess + Verify,否则 primal baseline 大概被低估。
本节公开版风险提示

不能写:

  • “primal attack 肯定比 C+C 强”;
  • “D+S / G+V 攻破真实参数”;
  • “只要 sparse 就能轻松攻击”。
精确说法:

  • “在论文研究的 tested regimes 中,精确参数化的 primal variants 可以与 C+C 竞争,部分设置下表现更好。”
Experiments / Benchmark

这一节办理什么题目?

比力差别攻击在特定 sparse LWE benchmark 上的表现,并讨论 benchmark 公平性。
焦点内容表明

作者关心的不但是 runtime,而是:

  • baseline 是否选得公道;
  • 参数是否对齐;
  • 硬件是否可比;
  • success probability 是否陈诉;
  • core-hours / GPU-hours / wall time 是否区分;
  • 是否克制 toy 参数外推。
关键表格

Table 2:Attack comparison / experimental results


  • 图表范例:实验效果表;
  • 展示内容:差别攻击在差别参数上的运行效果、乐成率、资源斲丧等;
  • 支持 claim:D+S / G+V 在 tested settings 中可与 C+C 竞争;
  • 我的明确:这张表不是“终极排行榜”,而是 benchmark fairness 的证据;
  • 博客发起:不要直接截图;可以自己整理成简化对比表;
  • TODO_VERIFY:Table 编号、每行参数、硬件、乐成率发布前核验。
本节 takeaway

暗码分析 benchmark 中,baseline 选择和资源统计自己就是研究贡献。
本节公开版风险提示

不能只写“某攻击更快”。必须写清:

  • 在哪些参数;
  • 什么硬件;
  • 乐成率多少;
  • 是否是雷同实现;
  • 是否是同一资源单元。
Appendix 中与正文最相干的部分

Appendix A

支持 Theorem 3.2 的证实与讨论。得当答复理论追问,但公开博客中不必睁开全部证实。
Appendix B

讨论 C+C 原论文或实现中 sample standard deviation 形貌大概不精确的题目。
公开表达发起:

  • 可以写成“作者指出本相貌与实现统计对象存在差别”;
  • 不要感情化说“前人错得离谱”。
Appendix C

用图表支持 Z-shape determines cruel bits。
公开表达发起:

  • 可重画简化图;
  • 标注 TODO_VERIFY;
  • 不直接搬运原图。
Appendix D

表明 q-to-p rounding 和 error vs modulus trade-off。
公开表达发起:

  • 只作为实验工程细节先容;
  • 不睁开过多公式;
  • TODO_VERIFY:Heuristic 5.1 细节。
Appendix E

重点品评 prior benchmark 怎样 misrepresent primal baseline costs。
公开表达发起:

  • 这是 benchmark fairness 的焦点 Appendix;
  • 得当总结成 checklist。
Appendix F

具体表明 Drop + Solve。
公开表达发起:

  • 可作为 D+S 流程的技能增补;
  • 不声称自己已复现。
Appendix G

分析实验设置和效果陈诉方式。
公开表达发起:

  • 可总结成“怎样做公平 cryptanalysis benchmark”。
6. 关键公式专题表明

LWE 根本情势


  • 所在位置:Preliminaries;
  • 公式要办理什么题目:界说 LWE 样本;
  • 情势:

\[b \equiv A s + e \pmod q  \]

  • 焦点符号:

    • \(A\):公开矩阵;
    • \(s\):secret;
    • \(e\):error;
    • \(b\):右端样本;
    • \(q\):模数。

  • 直觉表明:这是带噪声的模线性方程;
  • 论文作用:全部攻击对象的出发点;
  • 新手误区:忽略 error,以为可以直接线性代数求解;
  • TODO_VERIFY:具体矩阵维度与论文符号保持同等。
BDD 情势


  • 所在位置:Section 2.1;
  • 公式要办理什么题目:把 LWE 改写成 BDD;
  • 情势:

\[t = v + x  \]

  • 焦点符号:

    • \(t\):target;
    • \(v\):lattice vector;
    • \(x\):short error;

  • 直觉表明:target 离某个 lattice point 很近;
  • 论文作用:同一 primal / dual / C+C / SALSA;
  • 新手误区:以为这是纯符号更换;
  • TODO_VERIFY:论文中 \(t,v,x\) 的具体构造。
Albrecht residual


  • 所在位置:Section 4.1;
  • 公式要办理什么题目:表明 partial guess 怎样转化成低维 LWE;
  • 精确 guess:

\[b - A_u s_u \equiv A_r s_r + e \pmod q  \]

  • 错误 guess:

\[b - A_u \tilde{s}_u \equiv A_u(s_u-\tilde{s}_u) + A_r s_r + e \pmod q  \]

  • 直觉表明:猜对后剩下布局化 LWE,猜错后多出随机化项;
  • 论文作用:反面 C+C 与 Algorithm 2 对应的模板;
  • 新手误区:把错误 guess 说成严格 uniform;
  • TODO_VERIFY:公式编号。
C+C basis


  • 所在位置:Section 4.2;
  • 公式要办理什么题目:展示 C+C 使用的 q-ary lattice basis;
  • 简化情势:

\[D_{CC} =  \begin{pmatrix}  0 & c I_m \  q I_n & A^T  \end{pmatrix}  \]

  • 焦点符号:

    • \(D_{CC}\):C+C 使用的 lattice basis;
    • \(c\):scaling;
    • \(q\):模数;
    • \(A^T\):LWE matrix 转置;

  • 直觉表明:C+C 的 lattice reduction 现实上在构造 dual-side 统计信号;
  • 论文作用:毗连 C+C 与 dual attack;
  • 新手误区:以为这是与 dual attack 无关的新 lattice;
  • TODO_VERIFY:公式编号和矩阵块维度。
SALSA coordinate difference


  • 所在位置:Section 4.3;
  • 公式要办理什么题目:表明模子怎样规复 secret support;
  • 焦点比力:

\[M(a) - M(a + \ell e_i)  \]

  • 直觉表明:

    • 若 \(s_i=0\),扰动不影响 secret inner product;
    • 若 \(s_i=1\),扰动引入随机项;

  • 论文作用:表明 SALSA 的 search-to-decision 风格;
  • 新手误区:以为模子直接输出 secret;
  • TODO_VERIFY:\(\ell\) 的采样空间与 Algorithm 4 表述。
Drop + Solve residual


  • 所在位置:Section 5 / Appendix F;
  • 公式要办理什么题目:表明 drop 后怎样得到低维 LWE;
  • 情势:

\[b' = b - A_J \tilde{s}_J  \]
若猜对:

\[b' \equiv A_I s_I + e \pmod q  \]

  • 直觉表明:猜掉一部分坐标后,剩下题目维度低落;
  • 论文作用:支持 primal baseline 重估;
  • 新手误区:以为 drop 越多肯定越好;
  • TODO_VERIFY:Algorithm 5 细节。
7. 关键图表专题表明

图 / 表:Appendix C Figure 1,Z-shape determines cruel bits


  • 所在章节:Appendix C;
  • 图表范例:实验效果图 / 机制表明图;
  • 展示的焦点信息:\(A_{red}\) 列 sample standard deviation 与 q-vectors 位置之间的关系;
  • 支持 claim:C+C phenomenon 可以由 Z-shape basis 表明;
  • 我的明确:图展示了 cool/cruel 列统计差别并非凭空出现,而是与 reduced q-ary basis 的布局有关;
  • 读者容易误解:

    • 以为图证实 C+C 没用;
    • 以为 Z-shape 只是图像形状;

  • 博客发起:

    • 发起重画简化表示图;
    • 标注泉源;
    • 不直接搬运原图;
    • 存在版权风险;

  • TODO_VERIFY:Figure 编号、caption、实验参数。
图 / 表:Appendix D Figure 2,rounding heuristic experiment


  • 所在章节:Appendix D;
  • 图表范例:实验验证图;
  • 展示的焦点信息:q-to-p rounding 后 induced error distribution 与 heuristic 的关系;
  • 支持 claim:Section 5.2 中 error vs modulus trade-off 的开导式公道性;
  • 我的明确:这张图服务于实验工程优化,不是全文主线第一优先级;
  • 读者容易误解:

    • 以为 rounding 总是无损;
    • 以为该 heuristic 自动实用于全部参数;

  • 博客发起:

    • 可笔墨表明;
    • 若绘图,自己重画分布表示;
    • 标注泉源;

  • TODO_VERIFY:Figure 编号、Heuristic 5.1 内容。
图 / 表:Table 2,attack benchmark comparison


  • 所在章节:Section 5 / 实验效果部分;
  • 图表范例:实验效果表 / 对比表;
  • 展示的焦点信息:C+C、Drop + Solve、Guess + Verify 等攻击在 tested regimes 下的表现;
  • 支持 claim:精确参数化的 primal variants 可以与 C+C 竞争,部分环境下更好;
  • 我的明确:Table 2 的意义不是给出广泛攻击强弱排序,而是分析 benchmark 结论依赖 baseline 和资源统计;
  • 读者容易误解:

    • 把部分参数效果外推到全部 LWE;
    • 把 benchmark 效果明确成尺度参数安全结论;

  • 博客发起:

    • 不直接截图;
    • 自己整理简化表;
    • 必须注明参数和硬件信息;

  • TODO_VERIFY:Table 编号、参数、乐成率、硬件、时间单元。
图 / 表:Algorithm figures / pseudocode blocks


  • 所在章节:Section 3, 4, Appendix F;
  • 图表范例:算法伪代码;
  • 展示的焦点信息:dual distinguisher、dimension reduction、C+C、SALSA、D+S 的流程;
  • 支持 claim:差别攻击共享“罗列 + 打分 + 降维 / 验证”布局;
  • 我的明确:伪代码比公式更得当博客读者明确;
  • 博客发起:

    • 可以自己画流程图;
    • 不必贴完备伪代码;
    • 克制大段复制论文;

  • TODO_VERIFY:算法编号和名称。
8. 关键算法专题表明

Algorithm 1:Decision BDD Distinguisher


  • 输入:BDD target、short dual vectors、Score 函数;
  • 输出:判定 target 是否像 YES-instance 的 score;
  • 办理什么题目:构造 dual attack 的 decision oracle;
  • 步调直觉:

    • 对 target 和 short dual vectors 做 inner product;
    • 观察这些值是否会合;
    • 用 Score 做统计判定;

  • 和前后章节的关系:

    • 前承 LWE as BDD;
    • 后接 Algorithm 2;

  • 与 primal / dual / SALSA / C+C 的关系:

    • 是 dual attack 的根本模块;
    • C+C 的 score-cruel 可与之对应;
    • SALSA 可被看成 implicit learned distinguisher;

  • 新手误区:以为 distinguisher 即是 secret recovery;
  • 博客公开表达发起:用“统计测试器”表明即可。
Algorithm 2:Dimension Reduction in BDD


  • 输入:BDD instance、dual distinguisher、罗列参数;
  • 输出:BDD solution;
  • 办理什么题目:将高维 BDD 降到低维;
  • 步调直觉:

    • 选择部分坐标罗列;
    • 每个 guess 形成一个候选低维题目;
    • 用 dual distinguisher 打分;
    • 选择最像 YES-instance 的 guess;
    • 解剩余低维 BDD;

  • 和前后章节关系:

    • 是 Section 4.1 / 4.2 的同一模板;

  • 新手误区:把 theorem 当现实乐成率;
  • 博客发起:画成“猜一部分 → 打分 → 解剩下”的流程图。
Algorithm 3:Cool + Cruel Attack


  • 输入:sparse LWE instance;
  • 输出:secret guess;
  • 办理什么题目:使用 transformed samples 的列统计分裂规复 sparse secret;
  • 步调直觉:

    • 构造 \(D_{CC}\);
    • lattice reduction;
    • 得到 \(A_{red}, b_{red}\);
    • 分 cool / cruel;
    • 罗列 cruel;
    • recover cool;
    • verify;

  • 与论文主线关系:

    • 本文将其表明为 dual attack 实例;

  • 新手误区:

    • 以为 cool/cruel 是 secret 自带属性;

  • 博客发起:

    • 不贴完备伪代码;
    • 用对应表讲 C+C 和 Algorithm 2 的关系。

Algorithm 4:SALSA Distinguisher


  • 输入:模子 \(M\)、Hamming weight \(h\)、dimension \(n\)、trial vectors;
  • 输出:secret support guess;
  • 办理什么题目:用模子输出变革规复 fixed-weight binary secret support;
  • 步调直觉:

    • 对每个坐标做扰动;
    • 比力 \(M(a)\) 和 \(M(a+\ell e_i)\);
    • 累计差别 \(C\);
    • 选最大 \(h\) 个坐标;

  • 与 SALSA / AI4LC 的关系:

    • 表现模子不是直接输出 secret;
    • 更像 learned oracle + coordinate test;

  • 新手误区:

    • 把它说成 Transformer 直接破解 LWE;

  • 博客发起:

    • 用“有限差分敏感性测试”表明。

Drop + Solve / Algorithm 5


  • 输入:sparse LWE instance、drop set、guess strategy、primal solver;
  • 输出:secret guess 或 failure;
  • 办理什么题目:低落 sparse LWE 的 secret dimension;
  • 步调直觉:

    • 选择 dropped 坐标;
    • 推测这些坐标;
    • 构造新的低维 LWE;
    • 用 primal attack solve;

  • 与 primal / benchmark 的关系:

    • 是 sparse-secret primal baseline 中必须思量的方法;

  • 新手误区:

    • 以为 Drop + Solve 对 dense secret 同样强;

  • 博客发起:

    • 假如论文中 Algorithm 5 确认无误,可用简化流程图;

  • TODO_VERIFY:Algorithm 5 编号和完备流程。
Guess + Verify


  • 输入:preprocessed basis、candidate guesses、verification procedure;
  • 输出:通过验证的 secret candidate;
  • 办理什么题目:克制每个 guess 都完备 solve;
  • 步调直觉:

    • 对生存部分 basis 做 reduction;
    • 罗列 dropped 坐标 guess;
    • 用 Babai nearest plane 快速验证;
    • 批量化 verification;

  • 与 primal / dual / SALSA / C+C 的关系:

    • primal-side decision-style verifier;
    • 与 D+S 共享 partial guessing 思绪;

  • 新手误区:

    • 只把它当 GPU 加速,而忽略 cost profile 改变;

  • 博客发起:

    • 夸大它的 benchmark 意义,不夸大成通用攻击。

9. Cool + Cruel = Dual:到底该怎么公开讲?

9.1 作者为什么以为 C+C 可以被明确为 dual attack 的实例?

由于 C+C 的焦点操纵可以对应到 dual attack 的典范组件:
C+C 操纵dual attack 对应构造并约简 \(D_{CC}\)构造 reduced dual basis / short dual vectors分 cruel / cool选择罗列坐标与生存坐标罗列 cruel bitspartial guessingscore-crueldual distinguisher / inner product scorerecover-coolsolve low-dimensional LWE / BDD9.2 这里的 “=” 是什么意义?

不是 bit-level 算法完全雷同。
更精确地说,它是:

  • 代数布局层面的对应
  • 攻击框架层面的归类
  • 机制表明层面的 reinterpretation
它不是:

  • 全部实现细节完全雷同;
  • 全部参数下乐成率雷同;
  • C+C 没有工程代价。
9.3 Z-shape basis 起什么作用?

Z-shape basis 表明确为什么 C+C 中 transformed samples 的列统计会分裂成 cool / cruel 两类。
个人明确:

  • cool/cruel 不是 secret 的天然标签;
  • 它是 lattice reduction 后的 basis shape 诱导出的统计征象;
  • C+C 使用了这个征象举行 coordinate partition。
9.4 这是否意味着 C+C 没有代价?

不意味着。
C+C 仍大概是一个有用实现。本文品评的是其“概念新颖性”或“机制表明”,不是否定它能作为攻击方法发挥作用。
9.5 这是否意味着之前的表明完全错误?

公开表达要审慎。更稳妥写法:
本文作者以为,原有对 C+C phenomenon 的表明并不充实;他们提出 Z-shape basis 可以更天然地表明该征象。
不要写成:
原论文完全错误。
9.6 三种表明版本

新手版

C+C 看起来像一个新攻击,但作者以为它本质上照旧在做 dual attack:先用 lattice reduction 找到有用统计信号,再猜一部分 secret,末了规复剩下的 secret。
组会版

C+C 的 \(D_{CC}\) 与 LWE-as-BDD 的 dual basis 存在强代数对应,score-cruel 的输入也对应 dual distinguisher 的 inner products。因此 C+C 可以看作 Algorithm 2 / Albrecht-style dimension reduction dual attack 的实例化。Z-shape basis 表明确 cool/cruel 的列方差差别泉源。
博客园公开版

这篇论文标题中的 “C+C = Dual” 不应明确为“C+C 没有用”,而应明确为“C+C 的焦点机制可以放回已有 dual attack 框架中表明”。作者通过 BDD 视角、dual basis 对应和 Z-shape 表明,重新定位了 C+C 的攻击本质。
10. SALSA 与 AI4LC:开导和警示

10.1 论文明确结论


  • SALSA 的模子 \(M\) 可被表明为近似某个带 unknown shift 的 oracle;
  • Algorithm 4 通过比力 \(M(a)\) 和 \(M(a+\ell e_i)\) 判定 secret support;
  • 作者以为 SALSA 使用 reduced dual bases 和 associated samples;
  • 作者以为 SALSA appears to run a black-box dual-style attack。
10.2 个人明确

SALSA 的告急性不在于证实“神经网络能直接破解 LWE”,而在于展示:

  • neural model 可以学习某些攻击相干统计信号;
  • 这些统计信号大概来自 lattice reduction;
  • AI4LC 必须区分“模子贡献”和“预处置处罚贡献”。
10.3 我的推断

假如未来做 AI-assisted lattice cryptanalysis,更公道的蹊径不是:
  1. LWE samples → Transformer → secret
复制代码
而是:
  1. LWE instance
  2. → classical preprocessing
  3. → AI-assisted selection / scoring / tuning
  4. → classical solver / verifier
  5. → attack-level evaluation
复制代码
10.4 为什么不能简朴说 “Transformer 学会破解 LWE”?

由于模子大概依赖:

  • reduced dual bases;
  • transformed samples;
  • Z-shape 袒暴露的统计差别;
  • known dual attack signal;
  • fixed secret distribution;
  • toy parameter artifacts。
假如不做 ablation,无法证实模子学到了新的暗码布局。
10.5 AI 大概学到什么?

大概是:

  • 新布局;
  • 已知攻击袒露的统计信号;
  • 数据天生 artefact;
  • 参数分布特性;
  • reduction trace 的间接信息。
因此,AI4LC 必须配套:

  • raw vs reduced ablation;
  • classical score baseline;
  • different parameter generalization;
  • attack-level metrics;
  • failure analysis。
10.6 AI4LC 更公道的公开切入点

公开可写的方向包罗:

  • AI 辅助参数选择;
  • AI 辅助 coordinate selection;
  • AI 辅助 pruning;
  • AI 辅助 heuristic tuning;
  • AI 辅助 benchmark diagnostics;
  • AI 辅助明确公式和代码。
不发起公开睁开未成熟的具体模子布局、实验 pipeline 或投稿包装细节。
11. Primal vs Dual:Benchmark 公平性

11.1 为什么 baseline 选择告急?

假如 baseline 过弱,新方法会显得过强。
在 sparse-secret LWE 中,假如只比力平凡 primal attack,而忽略 Drop + Solve / Guess + Verify,就大概低估 primal side 的现实本领。
11.2 为什么 sparse LWE 下 D+S / G+V 必要思量?

由于 sparse secret 中大量坐标为 0。攻击者可以推测一部分坐标,再把剩余题目降维。
这不是小优化,而是适配 secret distribution 的焦点战略。
11.3 硬件、参数、乐成率为什么告急?

暗码分析 benchmark 不是只看“跑多久”。
必须看:

  • 是否同一参数;
  • 是否同一硬件;
  • 是否同一资源单元;
  • 是否陈诉乐成率;
  • 是否陈诉失败次数;
  • 是否区分 preprocessing / solving / verification;
  • 是否思量 GPU 和 CPU 差别。
Benchmark 题目表

Benchmark 题目论文中怎样表现对公开读者的表明对我未来实验的警示baseline 不适配 sparse secret重新引入 D+S / G+V对 sparse secret,平凡 primal 不是唯一 baselinebaseline 必须匹配分布只陈诉单次乐成作者夸大 success probability一次乐成不能分析稳固性至少多 seed 统计混用资源单元讨论 core-hours / GPU-hours / wall time差别单元不可直接比力分开陈诉资源硬件不透明作者关注硬件资源runtime 依赖实现宁静台陈诉 CPU/GPU/线程参数选择不透明C+C 参数选择必要分析差别参数会改变结论生存参数设置toy 参数外推论文未声称真实尺度参数被破小参数实验不能推出安全威胁明确实验层级不做 ablationAI4LC 容易误判模子贡献模子大概只学 preprocessing artifactraw/reduced 对照必做12. 本文最容易被误读的 12 个点

1. C+C = Dual 不即是 C+C 没故意义

改正:它表现 C+C 可放入 dual attack 框架中表明,不是否定其工程代价。
2. C+C = Dual 不即是全部实现细节完全雷同

改正:框架和代数布局强对应,但参数、score、实现和乐成率仍差别。
3. Z-shape 表明不即是 C+C 征象不存在

改正:Z-shape 是对征象泉源的表明。
4. SALSA 被重新表明不即是 AI4LC 没有代价

改正:AI 仍大概作为 learned distinguisher、selector、tuner 有代价。
5. 不能简朴说 Transformer 学会破解 LWE

改正:模子大概学习的是 reduced dual basis 袒暴露的统计信号。
6. primal baseline 更强不即是任何参数都赢

改正:论文讨论的是 tested regimes,不是全参数定理。
7. sparse LWE benchmark 不即是真实 PQC 参数

改正:toy 或 benchmark 参数不能外推到 ML-KEM / ML-DSA 尺度参数。
8. benchmark 反驳不即是否定全部呆板学习方法

改正:它要求更强 baseline 和更透明实验。
9. 表明性论文不即是完备安全证实

改正:reinterpretation 表明攻击机制,不即是给出完备安全定理。
10. Theorem 3.2 不是真实攻击乐成率

改正:它依赖 perfect distinguisher 等抱负条件。
11. Drop + Solve 不是全能攻击

改正:它依赖 secret sufficiently sparse 和符合参数 trade-off。
12. TODO_VERIFY 的结论不能写死

改正:作者、版本、图表编号、公式编号、实验参数都应发布前核验。

免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金.
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表