Efficient Threshold ML-DSA
Efficient Threshold ML-DSA:从标准化格签名到可实践的门限签名
1. 阅读声明与边界
本文讨论论文 Efficient Threshold ML-DSA。文章的重点不是逐字复述论文,而是解释三个问题:
- 为什么标准 ML-DSA 很难直接门限化;
- 论文如何利用 short replicated secret sharing、optimized rejection sampling 与 RSSRecover 构造一个面向小规模参与方的 Threshold ML-DSA;
- 论文的安全、参数、benchmark 与 deployment claim 能支持到什么程度。
需要先明确几个边界。
第一,本文中的 ML-DSA 背景来自 FIPS 204 与 CRYSTALS-Dilithium 的设计框架;Efficient Threshold ML-DSA 的作者并没有重新发明 ML-DSA,也没有提出 AI 方法。
第二,论文给出的实现属于 academic proof-of-concept。local、LAN 和 WAN benchmark 可以说明 small-party setting 的研究可行性,但不能直接推出 production-ready、side-channel safe 或任意网络环境下都能达到同样性能。
第三,本文会区分“论文明确给出的事实”和“为了帮助理解而给出的直觉”。对于尚未逐项核验的概率公式、参数口径和 related-work novelty,统一保留在文末的 TODO_VERIFY 中。
2. 为什么 Threshold ML-DSA 是一个真实问题
ML-DSA 解决的是后量子数字签名问题:给定一把签名私钥,签名者可以生成签名,任何人都能使用公钥验证。它回答的是:
在量子攻击背景下,如何得到一个标准化、可实现、可验证的格签名?
但标准签名仍然保留一个传统问题:私钥是单点信任根。只要完整私钥被窃取、滥用或错误备份,攻击者就可以独立签名。
Threshold signature 希望把 signing authority 分散给多个参与方。一个典型的 \(T\)-of-\(N\) 系统要求:
- 任意至少 \(T\) 个参与方可以合作签名;
- 少于 \(T\) 个参与方即使合谋,也不能生成有效签名;
- 最终验证者最好不需要知道内部参与方、share 结构和交互 transcript。
这类技术可以服务于密钥托管、机构级签名、分布式 CA、钱包和高价值服务认证。但“把 ML-DSA 私钥拆开”并不等于“得到 Threshold ML-DSA”。真正困难的是:ML-DSA 的签名响应本身包含秘密相关偏移,而且签名算法依赖 abort-and-retry。
因此,Threshold ML-DSA 要解决的不是底层 MLWE 困难度增强,而是:
如何把 signing authority 分散给多方,同时保持 ML-DSA 的响应分布、安全证明与最终验证格式?
3. ML-DSA 的 Fiat-Shamir-with-aborts 难在哪里
3.1 从 Schnorr 到格上的响应
Schnorr 签名可以用 commit–challenge–response 理解:
其中 \(x\) 是秘密,\(y\) 是新鲜随机量。
格签名采用类似骨架:
区别在于,\(z\) 不只是一个模群标量,而是短向量或多项式向量。其范数和分布直接影响签名大小、验证正确性与信息泄漏。
3.2 Secret-dependent bias
核心响应为:
如果直接输出所有这样的 \(z\),其分布相当于 \(y\) 的分布被秘密相关量 \(c s_1\) 平移。不同秘密可能诱导不同的输出偏差。Fiat-Shamir with Aborts 的作用不是简单地“多试几次”,而是通过拒绝不合格样本,让最终公开的 accepted response 更接近一个不显著依赖秘密的目标分布。
单方签名时,失败候选值只在本地丢弃,外界看不到它们。门限签名时,每个参与方都形成类似
的局部候选。如果各方为了共同判断是否成功而公开 rejected partial candidate,就可能暴露 share 的统计信息;如果把所有条件都放进通用 MPC,又会带来很重的通信与计算。
这就是本文的主要切入点:
多方必须协作完成 abort-based signature,但被拒绝的局部候选值不能泄漏。
4. 本文的总体方案
论文的整体构造可以压缩为下面一条流程:
Short RSS / Keygen
↓
ShareSign1:commit
↓
ShareSign2:reveal
↓
ShareSign3:challenge + RSSRecover + per-party HRej
↓
Combine:聚合 response + global rejection + hint
↓
ML-DSA-style Verify
其中每个组件解决一个不同问题:
- Short replicated secret sharing:让各方需要处理的局部秘密保持短;
- Commit–reveal:防止恶意参与方看到其他人的 commitment 后再自适应选择自己的值;
- RSSRecover:把所有 base secret pieces 分配给当前 active parties,并控制最大局部负载;
- HRej:在公开局部响应前,隐藏 \(c\cdot s_i^{\mathrm{part}}\) 引入的秘密相关偏移;
- Global rejection:保证最终聚合签名满足 ML-DSA 的范数、rounding 和 hint 边界;
- Parallel protocol instances:以通信和计算换取更高的成功概率;
- Combine/Verify compatibility:最终签名仍是 \((\tilde c,z^{(1)},h)\) 风格,外部 verifier 不需要 threshold transcript。
最值得注意的是:本文没有用单一技巧解决全部问题,而是把 share size、rejection geometry、参数选择、成功率和通信量连接成一个闭环。
5. Table 1:如何理解本文与前人的比较
Table 1 的主要价值是定位本文,而不是给出一个无条件的“排行榜”。比较 Threshold signature 时,至少要同时考虑:
- honest-majority 还是 dishonest-majority;
- 是否需要 trusted dealer、trusted setup 或 correlated randomness;
- online/offline round 数;
- 是否输出标准兼容签名;
- 通信量是 per party 还是 total;
- 报告的是一次 attempt,还是一次成功签名的平均成本;
- 实现语言、硬件、网络和代码成熟度;
- 是否有公开 artifact。
因此,Table 1 中的 generic MPC、Trilithium、Bienstock et al. 与本文并非在所有维度完全同口径。
更稳妥的理解是:本文试图占据这样一个位置:
不使用通用 MPC 把整个 ML-DSA 电路黑盒化,而是针对 FSwA 的结构设计 specialized protocol;同时保留标准 ML-DSA-style verification。
“first practical”是论文作者的 novelty claim。它可以作为论文定位来介绍,但若要写成独立的绝对结论,仍应完整核验 concurrent work 和各方案的模型边界。
6. Figure 1 / Figure 2:安全模型和 correctness with aborts
6.1 Figure 1:TS-UF
普通签名不可伪造性通常允许攻击者访问完整签名 oracle,然后要求它对新消息产生有效伪造。
门限场景更复杂。攻击者还可能:
- 腐化少于门限 \(T\) 的参与方;
- 获得这些参与方的 secret shares;
- 参与或观察多轮 signing transcript;
- 控制部分协议消息和调度。
因此,TS-UF 不只是“最终 Verify 通过与否”,而是约束攻击者在拥有部分 shares 和交互视图时仍不能产生新签名。
6.2 Figure 2:Correctness with Aborts
传统正确性容易被理解为:诚实签名一定输出有效签名。
但对 FSwA 类方案,更准确的语义是:
- 诚实执行可能合法输出 \(\bot\);
- 一旦输出非 \(\bot\),该签名必须通过 Verify;
- 非 abort 的概率至少达到某个 \(p\)。
这就是 p-termination。它把“安全机制导致的合法拒绝”与“实现出错”区分开。
这一区分非常重要,因为后文的参数 \(K\) 正是用来提高一次完整执行中至少出现一个成功候选的概率,而不是让单个 HRej 永远不 abort。
7. Figure 3 / Figure 4:从 Rej 到 HRej
7.1 Figure 3:Rej 与 Ideal
可以把 Figure 3 理解为一个证明桥梁。
真实协议中的局部响应依赖秘密偏移 \(v\):
理想世界希望响应来自一个与 \(v\) 无关的目标分布。论文定义 Rej 与 Ideal,并使用 smooth Rényi divergence 控制两者的区别。
这里需要注意:Ideal 不是协议真实运行的算法。它是 hybrid proof 中的理想分布,用来证明攻击者看到的 transcript 可以逐步替换为与局部秘密无关的视图。
7.2 为什么使用 smooth Rényi divergence
总变差距离当然也能衡量分布接近程度,但本文要处理多个 parties、多个签名查询和多个并行实例。Rényi divergence 的组合性质更适合进行多次分布替换的损失记账。
“smooth”表示允许先移除一个总概率至多为 \(\epsilon\) 的坏集合,再在剩余点上控制 likelihood ratio。直觉上,它允许证明忽略极端尾部事件,同时严格记录其概率损失。
7.3 Figure 4:HRej
HRej 使用 imbalanced hyperball。其 response 被分成两部分,并对第一部分引入参数 \(\nu\),形成不对称几何。
这种设计与最终签名结构有关:显式输出的是 response 的第一部分,第二部分的影响可在 Combine 中通过 \(\delta\) 和 hint 间接恢复。因此,不同 block 的接受域不必完全对称。
HRej 的参数链是:
Lemma 3.1 利用这些条件,把 HRej 的真实分布与目标分布联系起来。它不是最终不可伪造性证明,而是 Appendix G 中 Rej-to-Ideal 替换所需的局部工具。
8. Short Replicated Secret Sharing
本文使用的 RSS 不是 Shamir sharing。
对所有满足
的子集采样短 base secret \(s_I\),并定义
party \(i\) 持有所有满足 \(i\in I\) 的 \(s_I\)。
这个访问结构有一个直接性质:任意大小为 \(T\) 的 active set 与任意这样的 \(I\) 必有交集。因此,每个 base secret piece 至少被一个 active party 持有。
但“能恢复”还不够。签名时还要给每个 base secret piece 指定一个负责方,使它被恰好计入一次。若某个 party 被分配过多 pieces,则
可能变大,进而放大
降低 HRej 的接受率。
因此 RSSRecover 的优化目标不是密码学正确性的附属细节,而是把 secret-sharing access structure 与 rejection efficiency 连接起来。Appendix B 将负载平衡问题与 max-flow / B-matching 联系起来;对 \(N\le6\) 的实现,论文利用预计算的 optimal partitions 和对称置换避免在线运行通用求解器。
9. Table 2:哪些是 ML-DSA 参数,哪些是 threshold 新参数
Table 2 将参数分成两层。
9.1 标准 ML-DSA 参数
例如:
它们决定环、矩阵维度、challenge 稀疏度、秘密与响应范数、rounding 尺度和 hint weight。
9.2 Threshold 新参数
- \(K\):并行 protocol instances 数量;
- \(\nu\):HRej 的不平衡系数;
- \(r'\):随机掩码分布半径;
- \(r\):目标响应分布半径;
- \(M\):rejection / Rényi 因子。
其中
这些参数不能独立选择。其依赖关系大致为:
N,T 与 RSSRecover
→ partial secret size
→ B
→ r,r′,ν
→ M
→ local acceptance
→ K
→ communication/runtime
因此,参数表不是简单的“经验调参”,而是正确性、分布证明和性能共同约束的结果。
10. Figure 5:Keygen / RSS
Figure 5 同时定义 RSS 和门限 Keygen。
首先采样 matrix seed:
然后通过 RSS 生成 aggregate secret \(s\) 及每个 party 的 replicated shares。
论文以紧凑形式形成 public relation:
接着执行 Power2Round:
并计算
最终:
这里最重要的是 public side:verification key 仍保持 ML-DSA-style 结构。门限化主要发生在 secret side 与 signing workflow,而不是要求所有外部 verifier 理解新的门限格式。
Figure 5 为简化叙述默认存在 trusted dealer。Appendix D 的 DKG 再处理如何去掉这一假设。
11. Figure 6:三轮 Signing Protocol
11.1 ShareSign1:Commit
party \(i\) 采样
计算局部 commitment:
再发送
这一轮的目的不是节省带宽,而是防 rushing:恶意 party 不能先观察其他人的 \(w_j\),再选择一个有利的 \(w_i\)。
11.2 ShareSign2:Reveal 与状态绑定
各方 reveal \(w_i\),并检查:
- party 是否属于 active set;
- 对应 state 是否存在;
- reveal 是否匹配 commitment;
- active set、message 和 previous messages 是否一致。
这些绑定不是形式主义。缺失它们可能导致 replay、cross-session confusion、active-set mismatch 或 state reuse。
11.3 ShareSign3:Challenge、RSSRecover 与 HRej
各方先聚合
计算
随后调用 RSSRecover 得到 partition \(m_i\),并构造
最后运行
若返回 \(\bot\),party abort;否则只输出 \(z_i^{(1)}\)。
这一步是 thresholdization 的核心:局部 response 在公开前先完成 rejection,从而避免公开 secret-dependent rejected candidate。
12. Figure 7:Combine / Verify 与 ML-DSA 格式兼容
12.1 Combine
Combine 重新聚合 \(w\)、重建 challenge,并计算
随后定义
这个 \(\delta\) 把未显式输出的 response 部分、公钥压缩误差和验证所需 correction 统一封装起来。
然后生成 hint:
Combine 检查:
通过后输出:
12.2 Verify
Verifier 只使用 \(vk=(\rho,t_\top)\)、消息和 signature,计算
再检查 challenge hash、response norm 和 hint weight。
这正是论文 compatibility claim 的核心:
- verifier 不知道 active set;
- verifier 不知道 secret shares;
- verifier 不需要 ShareSign transcript;
- threshold protocol 输出被压回 ML-DSA-style signature。
需要注意,这不意味着 threshold protocol 本身已经成为 FIPS 204 的一部分;兼容的是最终验证对象和验证逻辑。
13. Per-Party Rejection 与 Global Rejection
两层 rejection 都会产生 abort,但作用不同。
| 层 | 位置 | 主要目标 |
|---|---|---|
| Per-party rejection | ShareSign3 / HRej | 隐藏局部 \(c\cdot s_i^{\mathrm{part}}\) |
| Global rejection | Combine | 保证最终 \(z^{(1)}\)、\(\delta\)、\(h\) 满足 ML-DSA 边界 |
如果只保留 global rejection,会发生什么?
各方已经把局部 candidate 发给 Combine。即使最终签名被拒绝,局部 secret-dependent 信息可能已经暴露。因此 global rejection 不能替代 per-party rejection。
反过来,只做 per-party HRej 也不够。局部输出分布可能已经安全,但聚合后的 response、rounding error 或 hint weight 仍可能超出标准 ML-DSA 的验证边界。
所以本文的 two-stage rejection 是职责分离:
- 第一层服务 transcript hiding;
- 第二层服务 correctness、signature bounds 和 compatibility。
14. Correctness 与 Security 的直觉
14.1 Lemma 3.1 的位置
Lemma 3.1 不是最终不可伪造性定理。它做的是局部工作:
- 对
建立范数上界 \(B\);
-
在 \(r,r',\nu,\epsilon\) 满足相应条件时;
-
给出 HRej 真实分布与目标分布之间的 smooth Rényi bound。
因此其逻辑链是:
14.2 Theorem 3.1:p-termination
Theorem 3.1 关心诚实执行是否能以足够概率输出有效签名。
成功需要同时满足:
- 所有必要 parties 的 local HRej 通过;
- global checks 通过;
- \(K\) 个并行候选中至少有一个完整成功;
- HighBits collision 等坏事件未发生。
因此 \(K\) 是 success amplification:它用更多通信和计算,换取更低的在线重试概率。
14.3 Theorem 3.2 与 Game 0–13
安全证明的高层路线是:
- 从真实 TS-UF game 出发;
- 处理 commitments 和 random-oracle programming;
- 把 response 的采样顺序变成更适合证明的形式;
- 加入范数界,为 Lemma 3.1 创造条件;
- 用 MLWE-type hybrids 隐藏 rejected branch 或 public-key relation;
- 用 smooth Rényi 将 Rej 替换为 Ideal;
- 最终把 threshold forgery 转交给 ML-DSA unforgeability challenger。
因此,本文的安全不能简化为“只依赖 MLWE”。更准确的表述是:证明结合 ML-DSA UF、MLWE-type assumptions、Random Oracle Model、commitment/challenge programming 和 Rényi divergence。
15. A Posteriori Key Sharing 与 DKG
15.1 A Posteriori Key Sharing
普通 threshold Keygen 是先生成 shares,再得到新的 key。
A posteriori sharing 处理相反问题:已经存在一个 ML-DSA signing key,希望在不改变 verification key 的情况下把它拆成 threshold shares。
若固定 secret 为 \(s\),所有合法 share tuples 满足
zero-sharing lattice 为
合法 shares 则形成一个 coset:
难点是不能随便选 \(S-1\) 个短 shares,再让最后一个承担全部差值,因为最后一个 share 可能过大。论文因此考虑在 coset 上进行离散高斯式采样。
但 conditioned short shares 会提供关于原 secret 的 noisy hints。论文以 generalized hint-MLWE 建模这一泄漏。对 Gaussian secret,归约较清晰;实际 ML-DSA secret distribution 则带有额外 heuristic caveat。
因此,公开文章中最安全的结论是:
论文给出一种保留原 verification key 的 a posteriori sharing 方法,但其安全分析比普通 Keygen 更微妙,并包含 hint-MLWE 与参数启发式边界。
15.2 DKG
Figure 5 默认存在 trusted dealer。Appendix D 的 DKG 试图让 parties 共同生成 key,而不由单一实体掌握完整 secret。
高层流程包括:
- 针对 share group 建立 shared secret;
- commit-reveal 全局 randomness;
- group leader 从 shared secret 和 randomness 派生局部 secret;
- 计算并 commit-reveal partial public keys;
- 聚合最终 \(vk=(\rho,t_\top)\)。
DKG 与 a posteriori sharing 解决不同生命周期问题:
- DKG:从零生成新 threshold key;
- A posteriori sharing:拆分已有 key 并尽量保持原 verification key。
论文提供了 DKG 设计与分布论证,但 robustness、identifiable abort、secure-channel assumptions 和 benchmark coverage 仍应谨慎核验。
16. Benchmark:哪些 claim 有数据支撑,哪些不能外推
16.1 有数据支撑的内容
论文实现使用 Go、CIRCL 和 libp2p,测试 ML-DSA-44/65/87 的若干 local settings,并对 ML-DSA-44 进行了 LAN/WAN 测试。
代表性的 ML-DSA-44 local 数据显示:
- 标准 Verify 的耗时较稳定;
- Sign+Combine 随 \((T,N)\)、\(K\) 和通信负载显著变化;
- 某些 \(T=N\) setting 可能比 \(T=N-1\) 更便宜,因为 RSSRecover aggregation overhead 消失。
LAN 测试报告了 latency 和 TCP packet count;WAN 测试覆盖 Taipei leader 与若干 AWS region 组合。特定配置下,论文报告的 signing latency 低于一秒。
这些结果支持:
在论文给定硬件、参数和网络拓扑下,small-party Threshold ML-DSA 具有研究层面的可行性。
16.2 不能外推的内容
论文数据不能自动证明:
- 任意 WAN 环境都低于一秒;
- 所有 \(N>6\) setting 都实用;
- 实现 constant-time 或 side-channel safe;
- DKG 与 a posteriori sharing 已获得同样完整 benchmark;
- 与其他方案的所有数据完全同口径;
- artifact 可以直接用于生产部署。
尤其需要区分:
- per party 与 total communication;
- per attempt 与 per successful signature;
- offline 与 online;
- local CPU time 与 network-inclusive latency;
- 是否包含 abort retry、serialization 和 preprocessing。
论文自己的 artifact statement 将实现定位为 academic proof-of-concept,这一边界应被保留。
17. Related Work:Generic MPC、Trilithium、Bienstock et al. 与本文
17.1 Generic MPC
最直接的思路是把整个 ML-DSA signing algorithm 放进通用 MPC。优点是抽象清晰,缺点是 norm checks、rounding、hint、hash 和 rejection 都可能造成高昂代价。本文选择针对 FSwA 结构做 specialized design。
17.2 Trilithium
Trilithium 是 Threshold Dilithium/ML-DSA 路线的重要前作。比较时需要特别检查是否使用 trusted correlated randomness、offline preprocessing,以及报告的是在线开销还是整体开销。
17.3 Bienstock et al.
论文将本文与 Bienstock et al. 的工作比较,但二者的安全模型、实现环境、honest-majority assumptions、correlated randomness 和复现条件可能不同。若原实现不可复现或硬件不同,数字只能用于有限定位。
17.4 Raccoon、T-Raccoon、Ringtail
这些方案也属于 lattice-based threshold signature 比较对象,但它们不一定以标准 ML-DSA verification compatibility 为核心目标。因此比较必须同时看签名格式、密钥格式、security model 和部署要求,而不是只看毫秒或字节数。
总之,related-work 表格最适合回答“本文试图解决什么”,不适合直接回答“谁在所有方面最好”。
18. 最容易误读的点
- Threshold ML-DSA 不会提高 MLWE 的数学难度。它解决的是密钥管理和 signing authority resilience。
- RSS 不是 Shamir sharing。本文更关注 replicated pieces、access structure 和局部短性。
- Global rejection 不能替代 HRej。局部候选一旦泄漏,事后拒绝已经太晚。
- HRej 不只是性能优化。它首先是隐藏局部 secret-dependent shift 的证明工具。
- \(\nu\) 不是越大越好。它受 geometry、proof condition 和 verification bounds 共同约束。
- \(K\) 不是免费加速。它用通信和计算换成功概率与 latency。
- p-termination 不要求每次都成功。合法 abort 是协议语义的一部分。
- Lemma 3.1 不等于不可伪造性证明。它只是局部分布替换工具。
- Theorem 3.2 不只依赖 MLWE。还需要 ML-DSA UF、ROM 和 Rényi 等。
- Figure 7 证明的是验证兼容,不是内部协议已标准化。
- Hint 不恢复完整低位。它只辅助恢复 challenge 所需 high bits。
- A posteriori sharing 不是无损拆分。存在 hint-MLWE caveat。
- DKG 不等于 a posteriori sharing。一个生成新 key,一个拆旧 key。
- WAN benchmark 不是通用部署保证。
- 本文不是 AI4Lattice 论文。AI4Lattice 只能作为后续方法论启发。
19. 对 PQC / 格密码研究的启发
以下内容属于研究启发,不是论文作者明确提出的新结论。
19.1 标准兼容性本身是一种约束驱动创新
很多密码学构造可以通过修改公钥、签名或 Verify 获得更简单设计,但本文选择保留标准 ML-DSA-style verification。这种约束使构造更难,却也更接近真实迁移问题。
19.2 参数表是证明、实现和 benchmark 的接口
本文参数链说明,参数不是论文末尾的附属数字:
独立重建参数、检查理论 bound 与实测 acceptance 的差距、明确 heuristic assumptions,都是有意义的研究工作。
19.3 失败语义必须进入 benchmark
对带 abort 的方案,只报告单次 attempt latency 可能不够。更有意义的指标包括:
- 每个成功签名的平均成本;
- local/global abort 比例;
- retry count distribution;
- per-party 与 total communication;
- network-inclusive latency。
19.4 Protocol state 是密码学证明与代码之间的接口
commit–reveal、active set、message、party identity、session 和 state single-use 必须正确绑定。即使代数公式正确,状态机错误仍可能破坏证明假设。
20. 参考资料
- Sofía Celi, Rafael del Pino, Thomas Espitau, Guilhem Niot, Thomas Prest. Efficient Threshold ML-DSA. Full Version, USENIX Security 2026.
- NIST. FIPS 204: Module-Lattice-Based Digital Signature Standard.
- CRYSTALS-Dilithium Team. CRYSTALS-Dilithium: A Lattice-Based Digital Signature Scheme.
- CRYSTALS-Dilithium specification and NIST PQC submission documents.
- Vadim Lyubashevsky. Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures.
- Vadim Lyubashevsky. Lattice Signatures without Trapdoors.
- 格密码基础资料中关于 Sigma-protocol、Fiat-Shamir、MLWE、MSIS、rounding 与 rejection sampling 的章节。
- 论文 bibliography 中的 Finally!、Trilithium、Bienstock et al.、Raccoon / T-Raccoon / Ringtail 等 related work;完整元数据仍按本文
TODO_VERIFY逐项核验。
结语
《Efficient Threshold ML-DSA》的价值不只在于“把 ML-DSA 变成门限签名”,更在于它揭示了门限化标准格签名时真正需要闭合的四条链:
只有这四条链同时闭合,Threshold ML-DSA 才不只是一个可写出的协议,而可能成为一个可解释、可实现、可审计的后量子门限签名系统。

Efficient Threshold ML-DSA 论文研读
浙公网安备 33010602011771号