Classical Security Post-Quantum Security Level [from Gemini]

张开发
2026/4/6 12:09:53 15 分钟阅读

分享文章

Classical Security  Post-Quantum Security Level [from Gemini]
Gemini Said“安全归约”Security Reduction是现代密码学中最核心、最迷人也最像“逻辑游戏”的一个概念。它是密码学从“炼金术”变成“科学”的分水岭。作为一名 PhD你可以把它理解为数学上的“锅底转换”如果你能把一个看似牢不可破的密码协议转换成一个全世界数学家几十年都解不出的数学难题那么这个协议就是安全的。1. 直观理解一场“打赌”想象一下你设计了一个极其复杂的保险箱密码协议。你要向客户证明它是安全的。普通人的思路“我找了 100 个小偷他们花了一个月都没打开所以它是安全的。”这叫启发式安全不可靠。安全归约的思路“我跟你打个赌。如果你能打开这个保险箱那么你一定能瞬间算出两千位大质数的乘积。”因为全世界都知道大质数分解极难目前没人能算出来。所以结论是没人能打开你的保险箱。2. 严谨定义反证法的逻辑链在学术论文里安全归约通常是一个**反证法Reduction by Contradiction**的过程假设存在一个攻击者我们叫它 Adversary简称A它能以极高的概率破解你的协议比如在 Kyber 中猜出私钥。构造我们构造一个“转换器”我们叫它 Solver简称B。这个 B 手里有一个公认的数学难题比如格上的 LWE 问题。桥梁B 把这个数学难题伪装成一个协议实例发给攻击者 A 去解。结论如果 A 真的破解了协议那么 B 就能顺藤摸瓜解开那个数学难题。矛盾既然我们公认数学难题是无解的那么最初的假设攻击者 A 存在就是错误的。结论协议在数学意义上是安全的。3. 为什么归约有“松”有“紧” (Tightness)你在看 Kyber 或 DingKE 的论文时经常会看到Tight Reduction紧归约。这是衡量证明质量的关键指标。紧归约 (Tight)破解协议的难度 解决数学难题的难度。这是最理想的意味着你不需要多余的参数数学题多难你的密码就有多强。松归约 (Loose)破解协议可能比解数学难题容易一千倍。为了弥补这个“漏洞”你不得不把参数比如格的维度 n 或模数 q设得比理论要求大得多。这也是为什么 Kyber 能够选择较小参数的原因之一它的安全性归约非常精炼没有太多的安全余量Margin被逻辑上的损耗浪费掉。4. 安全归约的层次层层嵌套在你的 PSI 研究中安全归约通常是链条式的底层假设LWE/RLWE问题是难的这是数学家的事。中层证明如果 LWE 难那么Kyber-PKE是 CPA 安全的。上层通过FO 变换证明如果 PKE 安全那么Kyber-KEM是 CCA 安全的。应用层证明如果 KEM 安全那么你的PSI 协议在半诚实/恶意模型下是安全的。5. 安全规约是怎么“计算”的安全规约不是简单的文字描述它需要一套**“优势Advantage推导”**。第一步定义“优势” (Advantage)假设有一个攻击者 $\mathcal{A}$。他破解你协议的概率减去他瞎猜的概率就是他的优势记作 $Adv_{\text{Protocol}}(\mathcal{A})$。通常我们希望这个值是“不可忽略的极小值”Negligible。第二步建立等式规约计算的核心规约的目标是证明如果 $\mathcal{A}$ 能以优势 $\epsilon$ 破解协议那么我就能以优势 $\epsilon$ 解决底层数学难题如 LWE。计算过程通常长这样$$Adv_{\text{LWE}}(\mathcal{B}) \ge \frac{1}{poly} \cdot Adv_{\text{Protocol}}(\mathcal{A}) - \text{Error}$$这里的关键在于那个$\frac{1}{poly}$损失因子和$\text{Error}$时间损失规约算法 $\mathcal{B}$ 运行 $\mathcal{A}$ 需要时间。如果 $\mathcal{B}$ 需要运行 $\mathcal{A}$ 一百万次才能解出一道数学题那么规约就很“松”。概率损失比如在 FO 变换中如果你解密失败了规约就会中断。这个失败概率Decryption Failure必须算进规约里。第三步具体例子以 PKE 到 KEM 为例在 Kyber 的论文里他们会精确计算“任何在时间 $T$ 内以优势 $\epsilon$ 攻击 Kyber-KEM 的对手都可以被转化为一个在时间 $T \approx T$ 内以优势 $\epsilon \approx \epsilon - q \cdot 2^{-128}$ 攻击底层 MLWE 问题的对手。”$T \approx T$说明规约很紧几乎没有额外时间开销。$2^{-128}$这是解密失败带来的细微安全损失。6. 128-bit Classical Security 是怎么得到的“128位安全性”的意思是破解这个系统所需的计算量相当于暴力破解一个 128 位的对称密钥即进行 $2^{128}$ 次运算。计算逻辑找到最强“锄头”对于传统的数学难题如大质数分解目前公认最强的古典攻击算法是GNFS通用数域筛法。设定目标科学家会计算如果我要用 GNFS 破解一个 3072 位的 RSA 公钥需要多少次基本运算对齐如果算出来的开销大约是 $2^{128}$ 次操作那么我们就说“3072位 RSA 达到了 128-bit 经典安全能级”。本质它是基于冯·诺依曼架构计算机我们现在的电脑、超算的搜索空间。7. Post-Quantum Security Level 又是怎么得到的到了量子时代情况变了因为我们有了新的“锄头”。计算逻辑Shor 算法的威胁传统的 RSA/ECC 在量子面前安全性直接掉到 0。所以我们必须换成格密码Lattice-based。量子攻击算法对于格难题LWE目前最强的量子攻击是**“量子增强后的格基规约算法”Quantum-accelerated BKZ**。计算代价Grover 算法量子计算机可以用 Grover 算法对搜索类问题进行开方级的加速。比如破解 AES-128量子计算机只需要 $\sqrt{2^{128}} 2^{64}$ 次迭代。所以为了让量子安全性达到 128-bit我们通常需要对称加密达到 256-bit即 AES-256。NIST 的“安全类别” (Category 1/3/5)因为量子计算机的架构、内存访问开销Circuit Depth还存在很多物理上的不确定性NIST 不再给出一个精确的位数值而是定义了五个等级。Category 1 (Level 1)破解它的难度 $\ge$ 暴力破解 AES-128 的难度。Category 3 (Level 3)破解它的难度 $\ge$ 暴力破解 AES-192 的难度。Category 5 (Level 5)破解它的难度 $\ge$ 暴力破解 AES-256 的难度。8. 两者的本质区别资源维度的不同这两种安全能级不仅是数值的差距更是复杂度模型的区别维度Classical Security (经典)Post-Quantum Security (量子)参考对象传统 CPU/GPU 的运算次数量子比特Qubits与量子逻辑门深度主要威胁算力暴力增长算法范式转移(Shor/Grover/GSA)格密码的表现面对经典 BKZ 算法极稳面对量子 BKZ 时安全性会折损但不会崩塌参数代价增加 $n$ 能级线性增长为了抵消量子加速参数通常需要比纯经典场景翻倍9. Kyber 的参数与安全等级的对应关系要理解 Kyber 如何计算参数与安全等级的对应关系我们需要从**“逆向工程”的角度来看不是先有参数再看等级而是先设定等级目标再通过一套复杂的格基规约模拟器Lattice Estimator**计算出最省资源的参数。这个过程主要分为四个核心步骤第一步设定量子安全的目标NIST 门槛NIST 定义安全等级时参照的是**暴力破解对称加密算法如 AES**所需的计算资源。Level 1 (Kyber-512)破解难度 $\ge$ 暴力破解AES-128的难度。Level 3 (Kyber-768)破解难度 $\ge$ 暴力破解AES-192的难度。Level 5 (Kyber-1024)破解难度 $\ge$ 暴力破解AES-256的难度。关键点密码学家需要计算出量子计算机在执行Grover 算法搜索 AES 密钥时需要多少个量子逻辑门Quantum Gates。例如Level 1 大约对应 $2^{143}$ 到 $2^{170}$ 个经典门操作考虑了量子计算的转换损耗。第二步确定最强攻击模型BKZ 算法对于 Kyber 这种基于 MLWE 的算法目前公认最有效的攻击方式是原生 LWE 攻击忽略其代数结构将其视为普通格。最核心的工具是BKZ (Block-Korkine-Zolotarev) 算法。BKZ 算法有一个关键参数叫块大小 $b$ (Block size)。$b$ 越大寻找格中“最短向量”即破解私钥的能力越强但计算复杂度呈指数级增加。计算公式粗略地说BKZ 破解一个格所需的计算复杂度约为 $2^{0.292b}$经典或 $2^{0.265b}$量子。第三步使用 Lattice Estimator 进行模拟计算Kyber 的设计者如 Peter Schwabe 等人会使用一个开源的数学工具叫lattice-estimator由微软和业界顶级学者维护。输入变量$n 256$多项式阶数为了 NTT 效率固定不变。$q 3329$模数固定不变。$k$矩阵维度可选 2, 3, 4。$\eta$噪音分布的宽度。模拟过程Estimator 会模拟各种已知的攻击路径如 Primal Attack, Dual Attack并结合不同的量子筛法Quantum Sieving。对于 Kyber-768 ($k3$):模拟器会计算出要破解这个参数规模的格BKZ 算法的块大小 $b$ 必须达到约600以上。对齐能级将 $b600$ 代入量子复杂性公式发现其消耗的量子资源刚好超过了破解 AES-192 所需的资源。结论于是 Kyber-768 被标记为Level 3。第四步平衡“失败概率”与“安全强度”这是最体现“密码学手艺”的地方。噪音预算 (Noise Budget)如果为了安全把 $k$ 设得很大或者把噪音 $\eta$ 设得很宽安全等级会上升但**解密失败率Failure Probability**也会上升。纠错限制Kyber 的解密失败率必须控制在极低的范围如 $2^{-139}$以防止攻击者通过反复触发解密错误来推断私钥这是针对 CCA 安全的要求。最终选定设计者在保证失败率足够低的前提下选取了能通过lattice-estimator验证的最小参数组合。总结Kyber 参数计算的“三步走”定标算出破解 AES 需要多少个量子门。模拟调整 $k$ 和噪音参数用数学工具算出 BKZ 算法破解该参数格所需的量子门。比大小如果BKZ 的门数 AES 的门数则该安全等级达成。

更多文章