基于多面体的 Fiat-Shamir 范式数字签名方案

参考文献:

  1. [vN51] Von Neumann J. Various techniques used in connection with random digits[J]. Applied Math Series, 1951, 12(36-38): 1.
  2. [GPV08] Craig Gentry, Chris Peikert, Vinod Vaikuntanathan. Trapdoors for hard lattices and new cryptographic constructions. STOC 2008: 197-206
  3. [Duda09] Jarek Duda. Asymmetric numeral systems. CoRR abs/0902.0271 (2009).
  4. [Lyu09] Vadim Lyubashevsky. Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures. ASIACRYPT 2009: 598-616.
  5. [AJW12] Gilad Asharov, Abhishek Jain, Adriana López-Alt, Eran Tromer, Vinod Vaikuntanathan, Daniel Wichs. Multiparty Computation with Low Communication, Computation and Interaction via Threshold FHE. EUROCRYPT 2012: 483-501.
  6. [Lyu12] Vadim Lyubashevsky. Lattice Signatures without Trapdoors. EUROCRYPT 2012: 738-755.
  7. [DDLL13] Léo Ducas, Alain Durmus, Tancrède Lepoint, Vadim Lyubashevsky. Lattice Signatures and Bimodal Gaussians. CRYPTO (1) 2013: 40-56.
  8. [VGS17] Voelker, Aaron & Gosmann, Jan & Stewart, Terrence. (2017). Efficiently sampling vectors and coordinates from the n-sphere and n-ball. 10.13140/RG.2.2.15829.01767/1.
  9. [DFPS22] Julien Devevey, Omar Fawzi, Alain Passelègue, Damien Stehlé. On Rejection Sampling in Lyubashevsky’s Signature Scheme. ASIACRYPT (4) 2022: 34-64.
  10. [BS23] Katharina Boudgoust, Peter Scholl. Simple Threshold (Fully Homomorphic) Encryption from LWE with Polynomial Modulus. ASIACRYPT (1) 2023: 371-404.
  11. [CCD+23] Cheon, J.H., Choe, H., Devevey, J., G¨uneysu, T., Hong, D., Krausz, M., Land, G., Shin, J., & Stehl´e, D. (2023). HAETAE Algorithm Specifications and Supporting Documentation.
  12. [BBRS24] Henry Bambury, Hugo Beguinet, Thomas Ricosset, Éric Sageloli. Polytopes in the Fiat-Shamir with Aborts Paradigm. CRYPTO (1) 2024: 339-372.

Lyubashevsky’s Signature

Fiat-Shamir With Aborts

首先回顾下 Sigma 协议和 Fiat-Shamir 转换,

  • Sigma-Protocol:一族 3 3 3-round public-coin Interactive proof/argument 系统,满足的性质有 CompletenessSpecial Soundness(导致了 Soundness 以及 Proof of Knowledge) 和 Special Honest Verifier Zero Knowledge(公开掷硬币的诚实验证者)。其副本(Transcript)包含:从 P P P V V V 的承诺(commitment),从 V V V P P P 的挑战(challenge),从 P P P V V V 的回应(response)。
  • Fiat-Shamir Transform:给定某个关系 R L ( ⋅ , ⋅ ) R_L(\cdot,\cdot) RL(,) 的 Sigma 协议 Π = ( P , V ) \Pi=(P,V) Π=(P,V)
    • Proof:输入公开描述 x x x 和对应的证据 w w w(被用于 x ∈ L x \in L xL 的快速检验),想要声明 R L ( x , w ) = 1 R_L(x,w)=1 RL(x,w)=1(即 x ∈ L x \in L xL),首先调用 P ( x , w ) P(x,w) P(x,w) 获得承诺 a a a,然后访问 RO 获得(公开掷硬币的)挑战 c = H ( x , a ) c=H(x,a) c=H(x,a)(使用 Hash 实例化,要求 a a a 具有充分大的最小熵),交给 P P P 收到回应 z z z,输出 ( a , z ) (a,z) (a,z) 作为证明。
    • Check:输入公开描述 x x x 和证明 ( a , z ) (a,z) (a,z),访问 RO 获得挑战 c c c,调用 V ( x ) V(x) V(x) 检查 ( a , c , z ) (a,c,z) (a,c,z) 是否是可接受的副本
    • 对于数字签名方案, P P P 所持有的 ( x ∈ L , w ) (x\in L,w) (xL,w) 是由某个 PPT 程序 Gen 产生的,公开参数 L L L,公钥 x x x,私钥 w w w

[Lyu09] 提出了 Fiat-Shamir 范式的 Lattice-based 数字签名(Fiat-Shamir With Aborts,FSwA)。但与 Schnorr’s ID 协议不同(使用有限阶的乘法循环群 ⟨ g ⟩ \langle g \rangle g),因为格是无限的,我们无法在整个格上均匀采样掩码 y y y,从而用 z = y + c ⋅ s z=y+c \cdot s z=y+cs 完美隐藏秘密 s s s 的信息。有两种解决办法:

  1. Flooding techniques:在比 c ⋅ s c \cdot s cs 的界 B 1 B_1 B1 指数大的范围 B 2 B_2 B2 内采样 y y y,根据 Smudging Lemma(最早的门限同态加密,[AJW12]),统计距离为 Δ ( y , y + c ⋅ s ) = B 1 / B 2 = n e g l ( λ ) \Delta(y,y+c \cdot s) = B_1/B_2 = negl(\lambda) Δ(y,y+cs)=B1/B2=negl(λ),从而是统计隐藏的。使用 Renyi 散度而非统计距离作为分布距离的测度(多项式大小模数的门限同态加密,[BS23]),可以有效降低 B 2 B_2 B2 规模,进而减小模数 q > 2 B 2 q > 2B_2 q>2B2 的大小。
  2. Rejection sampling:在具有较小范围的分布上采样 y y y,利用 [vN51] 的拒绝采样技术,仅输出和 v = c ⋅ s v=c \cdot s v=cs 无关的那些 z z z 值。这里可进一步分为完美的(输出分布就是目标分布)、不完美的(输出分布接近于目标分布)。

目前来看,[Lyu09] 提出的 FSwA 范式的数字签名,相较于 [GPV08] 提出的 Hash-and-Sign 范式(依赖于 Preimage Sampleable Functions),主要优势是实现简单、速度快,缺点是其签名较大。举例 Dilithium 和 Falcon,前者的签名大小几乎是后者的 4 倍,但前者的 KeyGen 和 Sign 速度分别是后者的 160 倍和 15 倍。

Rejection Sampling Strategy

[DFPS22] 研究了已有的拒绝采样策略(仅考虑了连续分布,而非离散情况),包括:超立方上的均匀分布([Lyu09]),单峰的高斯分布([Lyu12])、双峰的高斯分布([DDLL13]),并提出了一种新的策略:超球上的均匀分布。[DFPS22] 使用 Renyi 散度重写了 [Lyu12] 的一般拒绝采样定理。Renyi 散度的定义为:

在这里插入图片描述

在 FSwA 范式中,只使用参数 a = ∞ a = \infty a= 的 Renyi 散度,即:

在这里插入图片描述

它和统计距离的区别:Renyi 散度考虑的是密度函数的最大比值,统计距离考虑的是密度函数绝对差值的积分。[DFPS22] 定义了上述 Renyi 散度的放松版本,允许目标分布 P P P 的支撑不全包含在源分布 Q Q Q 的支撑内部。用参数 ϵ ≥ 0 \epsilon \ge 0 ϵ0 控制落在 Q Q Q 的支撑以外的 P P P 的重量(累积密度),定义如下的散度:

在这里插入图片描述

那么 [Lyu12] 提出的一般拒绝采样定理,可以被重写如下:

在这里插入图片描述

在签名算法中要求 ϵ \epsilon ϵ 很小,从而算法的输出分布和目标分布基本不可区分(从而不泄露源分布的信息)。当 ϵ = 0 \epsilon = 0 ϵ=0 时,上述散度就退化为标准的 Renyi 散度;此时称之为完美拒绝采样(perfect rejection sampling),否则称之为不完美的(imperfect)。

基于上述的拒绝采样定理,[Lyu12] 的签名算法为:

在这里插入图片描述

对于均匀分布情况,令 V s c V_{sc} Vsc 是所有可能的取值,在有限集合 V y V_y Vy 上采样 y ← V y y \gets V_y yVy,计算出 z = y + c s z=y+cs z=y+cs,那么拒绝采样可以被简化 z ∈ V z z \in V_z zVz隶属问题(如果 V z V_z VzLp 超球,则继续简化为 Lp 范数的计算),其中 V z ⊆ ⋂ v ∈ V s c ( V y + v ) V_z \subseteq \bigcap_{v \in V_{sc}}(V_y+v) VzvVsc(Vy+v) 以确保独立于 c s cs cs,当取等时可以最小化拒绝率 M M M

由于签名 ( z , c ) (z,c) (z,c) 第一分量是服从(统计接近)某个目标分布 P ( z ) P(z) P(z) 的变量,[DFPS22] 使用期望 L2 范数 E z ← P [ ∥ z ∥ 2 ] \mathbb{E}_{z \gets P}[\|z\|_2] EzP[z2] 来建模签名的紧凑性。[DFPS22] 研究了各种拒绝采样策略的紧凑性以及下界,结果如下:

在这里插入图片描述

结果显示:维度 m m m,半径 t t t,拒绝率 M M M

  1. 超球上的均匀采样(依赖一维的高斯采样器),其表现与高斯分布一样好,达到了下界;
  2. 超立方上的均匀采样(依赖一维的均匀采样器),其签名规模比超球的大了约 m \sqrt{m} m

[DFPS22] 还提出,可以混合使用 Flooding 和 Rejection sampling:固定迭代轮数 i ∈ Z + i \in \mathbb Z^+ iZ+,前 i − 1 i-1 i1 轮执行拒绝采样过程;如果全都失败了,那么第 i i i 轮执行噪声洪泛过程。这样,签名算法的运行时间存在严格上界。

在 NIST PQC 追加第 1 轮竞赛以及韩国 KpaC 竞赛中,韩国团队 [CCD+23] 提出了 Dilithium 的一种变体 HAETAE(没有进入 NIST 追加第 2 轮;唯一进入数字签名的是 HAWK,基于格同构的 Falcon 变体),将单峰的超立方均匀分布替换为了双峰的超球均匀分布,以计算效率降低为代价(减速 4-6 倍),显著降低了签名大小(减少 1000-1500 字节),获得了介于 Dilithium 和 Falcon 之间的综合性能。[CCD+23] 使用了 [VGS17] 提出的超球均匀采样算法:使用 n + 2 n+2 n+2 次一维高斯采样,做范数归一化,可以获得 n + 2 n+2 n+2球面上的均匀分布,然后简单丢弃任意的两个坐标(关于它们的正交投影),即可获得 n n n球体上的均匀分布;采样算法如下:

在这里插入图片描述

由于输出的 z z z 不再是超立方上的均匀分布,而是一个超球,简单存储各个系数并不能获得最佳效果。为了减小签名的大小,[CCD+23] 使用了 [Duda09] 提出的 rANS 编码(一种渐进的最优码)。这种编码的特点是:将输入序列的前缀子序列,迭代地编码为一个不断增大的正整数;它只需要有限精度的整数算术,甚至可以通过查表(tANS)消除所有的算术,因此编码效率很高。具体的编码/解码算法这里不再详细描述。

Rejection Sampling on Polytopes

对比已有算法:Dilithium 具有极为简单的采样器,但是签名规模较大;HAETAE 具有更小的签名,但是依赖高斯采样器,其速度较慢。此外,[DFPS22] 的分析只关注了连续分布,但是实际的签名算法都是在整数点上采样。

[BBRS24] 考虑了一种新的拒绝采样策略:在 L1 超球和 Linf 超球的交集(一种对称的 L2 超球内接多面体)内的整数点上均匀采样。这么做的好处是:源分布和目标分布都定义在整数点上、只需要均匀采样器(消耗的熵少、实现简单高效)、拒绝条件容易计算(基于范数的隶属性判断)、其形状接近 L2 超球(签名较小)。

定义 B p n ( r , c ) \mathcal{B}_p^n(r,c) Bpn(r,c) 表示在 L p L_p Lp 范数下的半径为 r ∈ R r \in \mathbb R rR 中心为 c ∈ R n c \in \mathbb R^n cRn 的超球体(Superball),令 S p n ( r ) \mathcal{S}_p^n(r) Spn(r) 是其表面(Supersphere)。不特殊说明时的 “球” 指代 L2 超球。那么,

  • L1 超球 B 1 n ( n r ) \mathcal{B}_1^n(\sqrt{n}r) B1n(n r),它由 2 n 2^n 2n n n n 角超平面拼成,其外接球为 B 2 n ( n r ) \mathcal{B}_2^n(\sqrt{n}r) B2n(n r),其内切球为 B 2 n ( r ) \mathcal{B}_2^n(r) B2n(r)

  • Linf 超球 B ∞ n ( r ) \mathcal{B}_\infty^n(r) Bn(r),它由 2 n 2n 2n 2 n − 1 2^{n-1} 2n1 角超平面拼成,其外接球为 B 2 n ( n r ) \mathcal{B}_2^n(\sqrt{n}r) B2n(n r),其内切球为 B 2 n ( r ) \mathcal{B}_2^n(r) B2n(r)

  • 定义交集 H r n = B ∞ n ( r ) ∩ B 1 n ( n r ) \mathcal{H}_r^n = \mathcal{B}_\infty^n(r) \cap \mathcal{B}_1^n(\sqrt{n}r) Hrn=Bn(r)B1n(n r),它是一个多面体(由上述的 2 n + 2 n 2^n+2n 2n+2n 个超平面围成),其内切球为 B 2 n ( r ) \mathcal{B}_2^n(r) B2n(r),外接球为:
    B 2 n ( r ⌊ n ⌋ + ( n − ⌊ n ⌋ ) 2 ) \mathcal{B}_2^n\left(r\sqrt{\lfloor\sqrt{n}\rfloor + (\sqrt{n} - \lfloor\sqrt{n}\rfloor)^2}\right) B2n(rn +(n n )2 )
    其半径小于等于 r n 1 / 4 rn^{1/4} rn1/4,当 n n n 是完全平方数时(即 n ∈ Z \sqrt{n} \in \mathbb Z n Z)取等。相较于 Linf 超球,该多面体的外接球和内切球的半径比值,从原本的 n \sqrt{n} n 降低到了 n 1 / 4 n^{1/4} n1/4(形状更接近 L2 超球),因此使用它作为 y y y 的范围,可以降低签名 z z z 的大小。

对于 n = 3 n=3 n=3 情况,如图所示:

在这里插入图片描述

常用 Lp 超球的体积、基数估计:

在这里插入图片描述

Polytopes

首先,给出多面体的定义。集合 X X X凸包 c o n v ( X ) conv(X) conv(X) 是指,由有限多个点 x ∈ X x \in X xX,经过满足 λ x ∈ ( 0 , 1 ] \lambda_x \in (0,1] λx(0,1] 以及 ∑ x λ x = 1 \sum_x \lambda_x=1 xλx=1 的系数,线性组合出的点 ∑ x λ x x \sum_x\lambda_x x xλxx 所形成的区域,它是包含 X X X 的最小凸集。

在这里插入图片描述

多面体的顶点集合记为 V ( P ) = { x i } 1 ≤ i ≤ v \mathcal{V}(\mathcal{P})=\{x_i\}_{1\le i \le v} V(P)={xi}1iv,在无序下是唯一的。可以执行平移、缩放、交集等运算:

在这里插入图片描述

[BBRS24] 研究了对称且内接的多面体,并使用满足该条件的 H r n = B ∞ n ( r ) ∩ B 1 n ( n r ) \mathcal{H}_r^n = \mathcal{B}_\infty^n(r) \cap \mathcal{B}_1^n(\sqrt{n}r) Hrn=Bn(r)B1n(n r) 作为 FSwA 所使用的掩码区域。首先,他们证明了凸集连续平移的交集,有如下等式:

在这里插入图片描述

然后可以证明(任意的整数点偏移某个整数点后还是一个整数点),对于整的对称且内接的多面体(即 V ( P r ) ⊂ Z n \mathcal{V}(\mathcal{P}_r) \sub \mathbb Z^n V(Pr)Zn),它满足:
⋂ c ∈ P r , Z P R , c , Z = P R − r , c , Z \bigcap_{c \in \mathcal{P}_{r,\mathbb Z}} \mathcal P_{R,c,\mathbb Z} = \mathcal P_{R-r,c,\mathbb Z} cPr,ZPR,c,Z=PRr,c,Z
换句话说,如果使用多面体 H n \mathcal{H}^n Hn,令 β \beta β c s cs cs 的 L2 范数(启发式)上界,那么:

  1. 对于任意的 v ∈ V s c : = B 2 n ( β ) ∩ Z n v \in V_{sc}:=\mathcal B_2^n(\beta) \cap \mathbb Z^n vVsc:=B2n(β)Zn(因为 H β n \mathcal{H}_\beta^n Hβn 的内切球是 B 2 n ( β ) \mathcal B_2^n(\beta) B2n(β)),
  2. 在整数点集 V y : = P r + β , Z V_y:=\mathcal P_{r+\beta,\mathbb Z} Vy:=Pr+β,Z 中均匀采样掩码 y y y,计算 z = y + s c ∈ P r + β , v , Z z=y+sc \in \mathcal{P}_{r+\beta,v,\mathbb Z} z=y+scPr+β,v,Z
  3. 那么最小化拒绝率 M M M 的区域 V z V_z Vz 就是 P r , c , Z \mathcal P_{r,c,\mathbb Z} Pr,c,Z(此即为不泄露 v v v 信息的最大集合)

不过,由于整数点集的基数难以精确计算,导致 M M M 较难估计。[BBRS24] 首先给出了连续多面体的拒绝采样定理,然后使用连续多面体的体积 V o l ( P r n ) Vol(\mathcal P_r^n) Vol(Prn) 与其整数点集的基数 ∣ P r , Z n ∣ |\mathcal P_{r,\mathbb Z}^n| Pr,Zn近似误差 ϵ n , r \epsilon_{n,r} ϵn,r 对其拒绝率 M M M 做个微调,从而得到离散版本的拒绝采样定理。

在这里插入图片描述

关于(均匀分布下)多面体中整数点的(完美)拒绝采样定理:

在这里插入图片描述

在签名算法中,给定维度 n n n、范数界 β \beta β 和拒绝率 M M M,可以根据该定理计算出最紧凑的 r r r R R R,以及最终的拒绝率 M ′ M' M,然后根据 r r r 和模数 q q q 评估其 UF-NMA 的安全强度。

Signature

现在,使用特殊多面体 H r n = B ∞ n ( r ) ∩ B 1 n ( n r ) \mathcal{H}_r^n = \mathcal{B}_\infty^n(r) \cap \mathcal{B}_1^n(\sqrt{n}r) Hrn=Bn(r)B1n(n r) 作为上述定理中 P \mathcal P P 的实例化。该多面体相较于超立方,其形状更接近 L2 超球,因此签名规模相对更小;同时,该多面体上的均匀采样器只需要一维的均匀采样器,实现简单高效,消耗的熵比高斯或者超球均匀分布更少。

该多面体是对称的内接的,其外接球半径为:
r ⌊ n ⌋ + ( n − ⌊ n ⌋ ) 2 ≤ r ⋅ n 1 / 4 r\sqrt{\lfloor\sqrt{n}\rfloor + (\sqrt{n} - \lfloor\sqrt{n}\rfloor)^2} \le r\cdot n^{1/4} rn +(n n )2 rn1/4
该多面体的顶点集合 V ( H r n ) \mathcal V(\mathcal H_r^n) V(Hrn) 如下:向量 ⌊ n ⌋ ⋅ [ r ] + [ Δ n r ] + ( n − ⌊ n ⌋ − 1 ) ⋅ [ 0 ] ∈ R n \lfloor\sqrt{n}\rfloor\cdot[r]+[\Delta_nr]+(n-\lfloor\sqrt{n}\rfloor-1)\cdot[0] \in \mathbb R^n n [r]+[Δnr]+(nn 1)[0]Rn 的所有符号置换(signed permutation),这里的 + , ⋅ +, \cdot +, 表示级联和重复(仿照 Python 语法),其中 Δ n = n − ⌊ n ⌋ \Delta_n = \sqrt{n} - \lfloor\sqrt{n}\rfloor Δn=n n 。证明的思路是: H r n \mathcal{H}_r^n Hrn 是两个球的交集,因此顶点必定同时位于两个球面上;Linf 球面的点,其某些坐标是 ± r \pm r ±r;L1 球面的点,其最多允许 ⌊ n ⌋ \lfloor\sqrt{n}\rfloor n 个坐标是 ± r \pm r ±r;如果某点存在两个坐标属于 ( − r , 0 ) ∪ ( 0 , r ) (-r,0)\cup(0,r) (r,0)(0,r) 范围,那么一增一减就还是 L1 球面和 Linf 球面上的点,因此不是顶点。

上一节中介绍,整的、对称的、内接的多面体 P r \mathcal P_r Pr 有性质 ⋂ c ∈ P r , Z P R , c , Z = P R − r , c , Z \bigcap_{c \in \mathcal{P}_{r,\mathbb Z}} \mathcal P_{R,c,\mathbb Z} = \mathcal P_{R-r,c,\mathbb Z} cPr,ZPR,c,Z=PRr,c,Z(从而获得了离散的拒绝采样定理),对于 H r n \mathcal{H}_r^n Hrn 来说这要求 Δ n r ∈ Z \Delta_nr \in \mathbb Z ΔnrZ 条件,但这会严重限制 n n n r r r 的取值。由于 L1 球和 Linf 球都满足 B Z ( r ) = B Z ( ⌊ r ⌋ ) , r ∈ R + \mathcal B_{\mathbb Z}(r) = \mathcal B_{\mathbb Z}(\lfloor r\rfloor),r \in \mathbb R^+ BZ(r)=BZ(⌊r⌋),rR+,因此有:
H r , Z n = B ∞ , Z n ( ⌊ r ⌋ ) ∩ B 1 , Z n ( ⌊ n r ⌋ ) \mathcal{H}_{r,\mathbb Z}^n = \mathcal{B}_{\infty,\mathbb Z}^n(\lfloor r\rfloor) \cap \mathcal{B}_{1,\mathbb Z}^n(\lfloor \sqrt{n}r\rfloor) Hr,Zn=B,Zn(⌊r⌋)B1,Zn(⌊n r⌋)
对于 r = β ∈ Z + r=\beta \in \mathbb Z^+ r=βZ+ 的情况,可以写作 H β , Z n = B ∞ , Z n ( β ) ∩ B 1 , Z n ( ⌊ n ⌋ β + ⌊ Δ n β ⌋ ) \mathcal{H}_{\beta,\mathbb Z}^n = \mathcal{B}_{\infty,\mathbb Z}^n(\beta) \cap \mathcal{B}_{1,\mathbb Z}^n(\lfloor\sqrt{n}\rfloor \beta+\lfloor\Delta_n\beta\rfloor) Hβ,Zn=B,Zn(β)B1,Zn(⌊n β+Δnβ⌋),其中的(连续)L1 球和 Linf 球都是整的、对称的、内接的多面体。对于 β < R ∈ Z + \beta <R \in \mathbb Z^+ β<RZ+(数字签名里使用的 R R R 是整数),虽然 H β n \mathcal H_\beta^n Hβn 不一定是整的,依然会有如下性质:
⋂ v ∈ H β , Z n H R , v , Z n = H R − β , Z n \bigcap_{v \in \mathcal{H}_{\beta,\mathbb Z}^n} \mathcal{H}_{R,v,\mathbb Z}^n = \mathcal{H}_{R-\beta,\mathbb Z}^n vHβ,ZnHR,v,Zn=HRβ,Zn
这就获得了离散情况下最小化拒绝率的半径为 R − β R-\beta Rβ 的多面体区域。多面体 H n \mathcal{H}^n Hn 上的拒绝采样定理,如下:

在这里插入图片描述

需要计算 H r n \mathcal H_r^n Hrn 的体积和其整数点集的基数,从而根据(连续情况的) M M M 确定出(离散情况的) M ′ M' M 的值。前者具有闭合解,且容易计算;后者没有闭合解,可以用多项式乘法来模拟(但是计算复杂度挺高的,基本算不动)。[BBRS24] 计算了某些 n , r n,r n,r 对应的值,发现其 ϵ n , r \epsilon_{n,r} ϵn,r 极小,因此 M M M 本身就是 M ′ M' M 足够好的近似值

在这里插入图片描述

剩下的问题就是算法实现了,需要解决:

  1. 该多面体上的均匀采样器
  2. 该多面体上的隶属性判定:只需要计算两个范数。

根据 Lemma 7,从相应 L1 超球中均匀采样,大多数点已经位于该多面体内部了,只需再用 Linf 范数做一次拒绝采样(这是额外的),即可获得多面体内的均匀采样。对于 L1 超球中均匀采样,由于(半)L1 球面到其任意坐标轴正交的超平面上投影是双射,[BBRS24] 首先在 n + 1 n+1 n+1 维 L1 球面上均匀采样,然后简单舍弃某个坐标,就获得了 n n n 维 L1 球体的均匀样本。而 L1 球面上的均匀采样,可以采用隔板法。采样算法如下:

在这里插入图片描述

它这里 SampleSphere 中的 step 10 情况,似乎有一些样本不应该舍弃:因为第 n + 1 n+1 n+1 坐标轴正交的超平面和 L1 球面相交的部分(是个 n n n 维球面),应当以其他点的两倍密度来采样,这样才能确保舍弃第 n + 1 n+1 n+1 坐标后,整体上(球面、球内)是均匀的。虽然 SampleSphere 并非是常数时间的(constant time),但是它所输出的 ( y i ) (y_i) (yi) 总是由完整的 step 1 - 10 以及 step 12 计算出来的;这被称为同步的(isochronous),其运行时间不会泄露 ( y i ) (y_i) (yi) 的信息。

签名算法中, z z z 被裁剪到区域 H r : = R − β , Z n \mathcal{H}_{r:=R-\beta,\mathbb Z}^n Hr:=Rβ,Zn 内,它的形状较为接近 L2 超球(其顶角是 “毛刺”)。为了进一步减小签名规模,[BBRS24] 使用半径为 θ r \theta r θr 的 L2 超球对它继续裁剪。定义形状: C θ , r n : = H r n ∩ B 2 ( θ ⋅ r ) \mathcal C_{\theta,r}^n := \mathcal H_r^n \cap \mathcal B_2(\theta \cdot r) Cθ,rn:=HrnB2(θr),那么有:

在这里插入图片描述

虽然 θ n : = ( α n / 2 ) 1 / n 2 e / π ≈ 1.315 \theta_n:=(\alpha_n/\sqrt2)^{1/n}\sqrt{2e/\pi} \approx 1.315 θn:=(αn/2 )1/n2e/π 1.315 时两者体积相等,但是 H r , Z n \mathcal{H}_{r,\mathbb Z}^n Hr,Zn 的大多数点都不在 C θ n , r n \mathcal C_{\theta_n,r}^n Cθn,rn 的内部。而实验(蒙特卡洛模拟)表明 θ ∈ R + \theta \in \mathbb R^+ θR+ 取值 1.5 1.5 1.5,多面体的大多数点就都被这个 L2 超球包含了,从而拒绝率基本不变。参数 θ ∈ [ 1.315 , 1.5 ] \theta \in [1.315, 1.5] θ[1.315,1.5] 可用于签名大小和拒绝率的权衡。

在这里插入图片描述

Patronus

[BBRS24] 利用上述的多面体,替换掉了 Dilithium 中的超立方(Linf 超球),显著降低了签名大小,代价是采样效率降低 20 倍。不过在 Dilithium 中采样的开销只占约 10 % 10\% 10%,因此整体时间估计会是 3 倍样子(论文没有给出完整实现,只有采样器的实现)。

在这里插入图片描述

采样器的实验结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值