Plonky3 Mersenne素数域的Reed-Solomon codes设计

1. 引言

主要见2023年Polygon Labs和Polygon Zero团队论文《Reed-Solomon codes over the circle group》。
相关开源代码实现见:

本文重点讨论基于Mersenne素数域 F = 2 31 − 1 F=2^{31}-1 F=2311的复数扩域 C ( F ) \mathbb{C}(F) C(F)的unit circle内所定义的Reed-Solomon codes:

  • 1)在该unit circle内,interpolants(插值)是"real",即 F F F-valued,函数也几乎是real的,意味着几乎无额外开销的情况下,可将函数值矫正为某实数值表示。
  • 2)采用实数值(real-valued)函数的标准FFT技术,可有效加速编码。

由于Mersenne域的特别高效运算,可期待对其实现“almost native” Reed-Solomon codes,其原生性与 基于高two-adicity的(但不够处理器友好运算的)素数域的Reed-Solomon codes 基本相当。

STARKs(scalable and transparent arguments of knowledge)基于:

  • Reed-Solomon codes
  • 和 FRI proof of proximity

STARKs的性能取决于其witness trace所表示用的有限域。StarkWare的Cairo zkVM仍使用的是密码学大素数域,Plonky2采用的是64位小素数域,其模为:
p = 2 64 − 2 32 + 1 p=2^{64}-2^{32}+1 p=264232+1
通常称其为Goldilocks域。

Goldilocks域的模支持在标准计算机架构中高效实现,其乘法群足够smooth,two-adic subgroup size大至 2 32 2^{32} 232,可支持高效FFT Reed-Solomon编码。目前Polygon Hermez和Polygon Miden等项目均采用了Goldilocks域。

但是,从高效域实现以及算术电路的角度来看,需要更小的域。本文成稿时,RISC Zero为唯一往更小域努力的项目,其采用31位Baby Bear小素数域:
p = 2 31 − 2 27 + 1 p=2^{31}-2^{27}+1 p=231227+1
作为其witness的原生模。与Goldilocks域一样,Baby Bear的multiplicative group对大多数实际应用来说足够smooth: p − 1 = 2 27 ⋅ 3 ⋅ 5 p-1=2^{27}\cdot 3\cdot 5 p1=22735。与Baby Bear类似的现有素数,如 p = 2 31 + 2 30 + 1 p=2^{31}+2^{30}+1 p=231+230+1,其也有相当的smooth multiplicative group和高效域运算。

最高效的域运算似乎是Mersenne filed,其形式为 p = 2 e − 1 p=2^e-1 p=2e1
特别是Mersenne素数域 p = 2 31 − 1 p=2^{31}-1 p=2311,其可在32位架构中非常高效地运行:

  • 由于 2 32 = 2 ( m o d    p ) 2^{32}=2(\mod p) 232=2(modp),因此形如 2 32 ⋅ x h i + x l o 2^{32}\cdot x_{hi}+x_{lo} 232xhi+xlo的宽乘积编码,可 reduce为小得多的量级: 2 ⋅ x h i + x l o 2\cdot x_{hi}+x_{lo} 2xhi+xlo
  • 但是,由于 p − 1 = 2 ⋅ 3 2 ⋅ 7 ⋅ 11 ⋅ 31 ⋅ 151 ⋅ 331 p-1=2\cdot 3^2\cdot 7\cdot 11\cdot 31\cdot 151\cdot 331 p1=23271131151331,其乘法群缺少two-adic subgroups。而two-adic subgroups对于高效Cooley-Tukey FFT实现非常有用。

为此,本文描述了对Mersenne field的almost native Reed-Solomon codes,其利用的是基于复数扩域的circle group S 1 S_1 S1的FFT编码。

扩展到复数扩域,初看似乎效率不高:

  • 1)扩域运算要比基域运算昂贵得多。
  • 2)code words以复数表示,会将code rate减半。

但是,对于定义于 S 1 S_1 S1 subgroup的实数函数(即basefield-valued),其基于该circle group的剩余部分的插值点,也几乎是实数的,即意味着其值在某线性实数子空间内,其仅依赖于该subgroup的coset。进一步,采用标准技术来改进real-valued函数的FFT,插值开销将减半。
基于这些事实,所获得的Reed-Solomon codes是“almost native”的:

  • 1)对于实数函数,编码开销,与具有相同size且high two-adicity的Cooley-Tukey-based编码开销,基本相当。
  • 2)所编码获得的codewords,可压缩为完全实数表示,从而具有与原生方式完全相同的承诺开销。

由于 p = 2 31 − 1 p=2^{31}-1 p=2311具有特别高效的运算,其almost native Reed-Solomon codes性能,与Baby Bear的原生解决方案,基本相当。同时, p = 2 31 − 1 p=2^{31}-1 p=2311具有更快的域运算,可用于trace计算和算术哈希计算。
在这里插入图片描述

2. 复数扩域和实数FFT

尽管本文重点关注Mersenne域,但本节结论适于每个素数域 F = F p F=F_p F=Fp,其中 p = 3 m o d    4 p=3\mod 4 p=3mod4。即要求 p − 1 2 \frac{p-1}{2} 2p1是技术,或 − 1 -1 1不是a quadratic residue。此时:

  • 多项式 X 2 + 1 X^2+1 X2+1为irreducible over F F F

从而可构建复数扩域 C ( F ) = F [ X ] / ( X 2 + 1 ) \mathbb{C}(F)=F[X]/(X^2+1) C(F)=F[X]/(X2+1)。该复数扩域通过连接formal root i : = − 1 i:=\sqrt{-1} i:=1 而构成:
C ( F ) = { x + i ⋅ y : x , y ∈ F } \mathbb{C}(F)=\{x+i\cdot y:x,y\in F\} C(F)={x+iy:x,yF}
该复数扩域的域运算被强加了对该root的代数约束 i 2 = − 1 i^2=-1 i2=1

基于 F F F的unit circle为代数集合: S 1 = { ( x , y ) ∈ F 2 : x 2 + y 2 = 1 } S_1=\{(x,y)\in F^2:x^2+y^2=1\} S1={(x,y)F2:x2+y2=1},或以复数形式表示为:
S 1 = { z ∈ C ( F ) ∗ : z ⋅ z ˉ = 1 } S_1=\{z\in\mathbb{C}(F)^*:z\cdot \bar{z}=1\} S1={zC(F):zzˉ=1}
其中 z ˉ \bar{z} zˉ z = x + i ⋅ y z=x+i\cdot y z=x+iy的共轭复数 z ˉ = x − i ⋅ y \bar{z}=x-i\cdot y zˉ=xiy。由于共轭复数是field automorphism的,因此 S 1 S_1 S1在复数乘法下是闭环的,形成复数乘法群 C ( F ) ∗ \mathbb{C}(F)^* C(F)的子群——即(unit)circle group。

Lemma 1 (Circle group):

  • F = F p F=F_p F=Fp为素数域,有 p = 3 m o d    4 p=3\mod 4 p=3mod4,则基于 F F F的circle group S 1 S_1 S1,为 C ( F ) \mathbb{C}(F) C(F)中的 ( p + 1 ) (p+1) (p+1)-th roots of unity group,其order为 p + 1 p+1 p+1

由于有共轭等价为Frobenius isomorphism,即 z ˉ = z p \bar{z}=z^p zˉ=zp。从而有 x 2 + y 2 = z ⋅ z ˉ = z p + 1 x^2+y^2=z\cdot \bar{z}=z^{p+1} x2+y2=zzˉ=zp+1,同时有 ( p + 1 ) ∣ ( p 2 − 1 ) (p+1)|(p^2-1) (p+1)(p21),从而可得出结论:该circle group为 ( p + 1 ) (p+1) (p+1)-th roots of unity subgroup,具有的order为 p + 1 p+1 p+1

基于 F F F的几何复数平面,类似于calculus经典案例。尽管后续不需要,仍可迅速总结出复数值的极坐标表示。

Proposition 1:

  • F = F p F=F_p F=Fp为素数域,有 p = 3 m o d    4 p=3\mod 4 p=3mod4,由所有复数平方 Q C = { z 2 : z ∈ C ( F ) ∗ } Q_{\mathbb{C}}=\{z^2:z\in\mathbb{C}(F)^*\} QC={z2:zC(F)}组成的乘法子群,可分解为:
    Q C = Q F ⊗ S 1 Q_{\mathbb{C}}=Q_F\otimes S_1 QC=QFS1
    其中:
    • Q F Q_F QF为基域 F F F内的 p − 1 2 \frac{p-1}{2} 2p1个quadratic residues,
    • S 1 S_1 S1为基于 F F F的order为 p + 1 p+1 p+1的unit circle group。

Remark 1:

  • 从group orders来看,有 ∣ Q C ∣ = p 2 − 1 2 = ( p − 1 ) ⋅ ( p + 1 ) 2 |Q_{\mathbb{C}}|=\frac{p^2-1}{2}=\frac{(p-1)\cdot (p+1)}{2} QC=2p21=2(p1)(p+1)。实数quadratic residues Q F Q_F QF对应奇数 p − 1 2 \frac{p-1}{2} 2p1项,且unit circle group S 1 S_1 S1互素数因子 p + 1 p+1 p+1

Remark 2:

  • 整个乘法群 C ( F ) ∗ \mathbb{C}(F)^* C(F)可分解为:
    C ( F ) ∗ = Q F ⊗ S ± 1 \mathbb{C}(F)^*=Q_F\otimes S_{\pm 1} C(F)=QFS±1
    其中:
    • S ± 1 = { z ∈ C ( F ) ∗ : z ⋅ z ˉ ∈ { ± 1 } } S_{\pm 1}=\{z\in\mathbb{C}(F)^*: z\cdot \bar{z}\in\{\pm 1\}\} S±1={zC(F):zzˉ{±1}},为由unit circle group和anti-unit circle group S − 1 = { z ∈ C ( F ) ∗ : z ⋅ z ˉ = − 1 } S_{-1}=\{z\in\mathbb{C}(F)^*: z\cdot \bar{z}=-1\} S1={zC(F):zzˉ=1}组成的subgroup。其中 S ± 1 S_{\pm 1} S±1对应的group order为 ∣ C ( F ) ∗ ∣ = 2 ⋅ ( p + 1 ) ⋅ p − 1 2 |\mathbb{C}(F)^*|=2\cdot (p+1)\cdot \frac{p-1}{2} C(F)=2(p+1)2p1中的 2 ⋅ ( p + 1 ) 2\cdot (p+1) 2(p+1)项。

2.1 傅里叶变换和实数FFT

H H H为任意有限域 K K K的乘法子群,其order为 ∣ H ∣ = N |H|=N H=N,令 g g g H H H的generator。
对函数 f : H → K f:H\rightarrow K f:HK的(discrete)Fourier transform f ^ \hat{f} f^函数基于 H H H定义为:
f ^ ( g k ) : = 1 N ⋅ ∑ j = 0 N − 1 f ( g j ) ⋅ g − k ⋅ j \begin{equation}\hat{f}(g^k):=\frac{1}{N}\cdot \sum_{j=0}^{N-1}f(g^j)\cdot g^{-k\cdot j}\end{equation} f^(gk):=N1j=0N1f(gj)gkj
其中 k = 0 , ⋯   , N − 1 k=0,\cdots,N-1 k=0,,N1。这些值是 f f f插值点的系数,即,存在唯一的degree小于 N N N的多项式 p ( X ) p(X) p(X) p ( X ) p(X) p(X)是对 f f f基于 H H H对所有的 i = 0 , ⋯   , N − 1 i=0,\cdots,N-1 i=0,,N1插值:
f ( g i ) = ∑ k = 0 N − 1 f ^ ( g k ) ⋅ g k ⋅ i \begin{equation} f(g^i)=\sum_{k=0}^{N-1}\hat{f}(g^k)\cdot g^{k\cdot i} \end{equation} f(gi)=k=0N1f^(gk)gki

等式(2)右侧为 f ^ : H → K \hat{f}: H\rightarrow K f^:HK的inverse Fourier transform。

用于傅里叶变换的标准算法为Cooley-Tukey算法。该算法利用了 H H H的group结构,并利用所有的:
∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 2 ⋅ M + A ) \begin{equation} |H|\cdot \log |H|\cdot (\frac{1}{2}\cdot M+A) \end{equation} HlogH(21M+A)
来计算上面的等式(1)(以及等式(2)),其中:【详情见Introduction to algorithms (3rd ed.),或 Modern computer algebra (3rd ed.)

  • M M M:表示 K K K中的乘法运算。
  • A A A:表示 K K K中的加法/减法运算。

K = C ( F ) K=\mathbb{C}(F) K=C(F)时,即为有限素数域 F F F(模为 p = 3 m o d    4 p=3\mod 4 p=3mod4)的复数扩域,可使用order为 8 8 8的如下roots of unity简单形式:
c ⋅ ( 1 + i ) , i , c ⋅ ( − 1 + i ) , − 1 , c ⋅ ( − 1 − i ) , − i , c ⋅ ( 1 − i ) , 1 c\cdot (1+i), i, c\cdot (-1+i), -1, c\cdot (-1-i), -i, c\cdot (1-i),1 c(1+i),i,c(1+i),1,c(1i),i,c(1i),1
其中:

  • c c c + 1 2 +\frac{1}{2} +21 − 1 2 -\frac{1}{2} 21的实数二次方根,具体取决于二者哪个是quadratic residue modulo p p p
  • 这些roots的乘法,包含更少的实数乘法,甚至没有实数乘法。从而产生了更高效的FFT更高radix变种,如:
    • radix-4和radix-8变种。(详情见 A fast Fourier transform algorithm using base 8 iterations.
    • split-radix变种:
      • 开销要略少于radix-8,在3/3-regme中,最多为: ∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 ⋅ M F + 3 ⋅ A F ) |H|\cdot \log |H|\cdot (1\cdot M_F + 3\cdot A_F) HlogH(1MF+3AF),其中每个复数乘法运算对应3个实数乘法运算 M F M_F MF和3个实数加法运算 A F A_F AF(详情见Real-valued fast Fourier transform algorithms)。
      • 比Cooley-Tukey radix-2 FFT算法少33%的乘法运算和少20%的加法运算。
    • radix 2和radix 4混合变种。

此外,所有这些不同radix FFT算法,都可利用傅里叶变换的Hermitian对称性来对real-valued函数 f : H → F f:H\rightarrow F f:HF进行加速,即对每个 w ∈ H w\in H wH,有:
f ^ ( w ˉ ) = f ^ ( w ) ‾ \hat{f}(\bar{w})=\overline{\hat{f}(w)} f^(wˉ)=f^(w)
该对称性可用于让算法中每一步的计算次数减半,对反傅里叶变换也可使用Hermitian对称性。

尽管本文描述的是对实数 R \mathbb{R} R的复数扩域的经典情况,该算法及其开销分析也适用于有限域。具体总结为Theorem 3(详情见Real-valued fast Fourier transform algorithms):

  • K = C ( F ) K=\mathbb{C}(F) K=C(F)对有限素数域 F F F的复数扩域,其中 F F F域的素数模满足 p = 3 m o d    4 p=3\mod 4 p=3mod4,令 H H H K K K的two-adic乘法子群。对real-valued函数 f : H → F f:H\rightarrow F f:HF的傅里叶变换,以及对共轭Hermitian函数 f ^ : H → K \hat{f}:H\rightarrow K f^:HK的反傅里叶变换,均可以少于:
    ∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 2 ⋅ M + 3 2 ⋅ A ) \begin{equation} |H|\cdot \log |H|\cdot (\frac{1}{2}\cdot M+\frac{3}{2}\cdot A)\end{equation} HlogH(21M+23A)
    次数计算,其中 M M M A A A分别表示基于基域 F F F的域乘法和域加法运算。

Remark 4:

  • 当针对模为 p = 2 31 − 1 p=2^{31}-1 p=2311的Mersenne域,其8-th primitive root of unity为 1 2 ⋅ ( 1 + i ) = 2 15 ⋅ ( 1 + i ) \frac{1}{\sqrt{2}}\cdot (1+i)=2^{15}\cdot (1+i) 2 1(1+i)=215(1+i)。使得与8-th roots of unity的乘法运算仅包含位移、加法和减法。为此,可使用packing trick和radix-8 transform来实现类似的运算次数:
    • 1)将函数按size对半切分(对应2个cosets of an index 2 subgroup值)
    • 2)将他们组合为单个复数形式,并应用radix-8算法。
    • 3)可从步骤2)中的结果中提取2个half-sized函数的傅里叶变换,然后按Cooley-Tukey方式实现所需结果。

3. 基于 S 1 S_1 S1插值

如下proposition是基于unit circle group的Reed Solomon code实数表示的关键。尽管本文关注的是Mersenne素数域,但结论适用于所有满足 p = 3 m o d    4 p=3\mod 4 p=3mod4的素数域。

Proposition 2:

  • F = F p F=F_p F=Fp为素数域,其中 p = 3 m o d    4 p=3\mod 4 p=3mod4,且 H H H为复数扩域 C ( F ) \mathbb{C}(F) C(F)的unit circle group S 1 S_1 S1的子群, H H H的order为偶数 ∣ H ∣ ≥ 2 |H|\geq 2 H2。对于每个基于 H H H F F F-valued函数 f f f,其基于coset τ ⋅ H , τ ∈ S 1 \tau\cdot H,\tau\in S_1 τH,τS1的插值 p ( X ) = c 0 + ∑ k = 1 ∣ H ∣ − 1 c k ⋅ X k p(X)=c_0+\sum_{k=1}^{|H|-1}c_k\cdot X^k p(X)=c0+k=1H1ckXk的值,在由 c 0 和 τ c_0和\tau c0τ决定的 C ( F ) \mathbb{C}(F) C(F)实数线性子空间中,即,对于所有的 x ∈ τ ⋅ H x\in\tau\cdot H xτH,有:
    p ( x ) − c 0 ∈ ϕ ( τ ) ⋅ F \begin{equation}p(x)-c_0\in\phi(\tau)\cdot F\end{equation} p(x)c0ϕ(τ)F
    其中:
    ϕ ( τ ) = τ ∣ H ∣ 2 \begin{equation} \phi(\tau)=\tau^{\frac{|H|}{2}}\end{equation} ϕ(τ)=τ2H
    此外,mapping ϕ \phi ϕ定义了injective homomorphism ϕ : S 1 / H → S 1 / { ± 1 } \phi:S_1/H\rightarrow S_1/\{\pm 1\} ϕ:S1/HS1/{±1},其image等于the “projective” cyclic subgroup C 2 ⋅ β / { ± 1 } C_{2\cdot \beta}/\{\pm 1\} C2β/{±1},其中 β = ∣ S 1 ∣ / ∣ H ∣ \beta=|S_1|/|H| β=S1∣/∣H

Remark 5:

  • 对于具有奇数order的子群 H H H,以上结论也成立,只是需更小心的证明,因为 τ \sqrt{\tau} τ 可能在anti-unit circle S − 1 S_{-1} S1中,从而破坏了conjugate-equals-inverse关系 τ ⋅ τ ‾ = − 1 \sqrt{\tau}\cdot \overline {\sqrt{\tau}}=-1 τ τ =1。本文不使用该特例情况,因此忽略相应细节。

由于 f f f是基于 H H H的实数函数,其插值 p ( X ) = ∑ k = 0 ∣ H ∣ − 1 c k ⋅ X k p(X)=\sum_{k=0}^{|H|-1}c_k\cdot X^k p(X)=k=0H1ckXk的系数对其共轭是Hermitian对称的,即 c 0 = ⟨ c ∣ 0 c_0=\bra{c}_0 c0=c0,对于所有的 k = 1 , ⋯   , ∣ H ∣ − 1 k=1,\cdots,|H|-1 k=1,,H1,有 c ∣ H ∣ − k = c ˉ k c_{|H|-k}=\bar{c}_k cHk=cˉk
接下来考虑基于 τ ⋅ H \tau\cdot H τH p ( X ) − c 0 p(X)-c_0 p(X)c0值,其中 τ ∈ S 1 \tau \in S_1 τS1,有:
p ( τ ⋅ X ) − c 0 = ∑ k = 1 ∣ H ∣ − 1 c k ⋅ τ k ⋅ X k = ∑ k d k ⋅ X k p(\tau \cdot X)-c_0=\sum_{k=1}^{|H|-1}c_k\cdot \tau^k\cdot X^k=\sum_k d_k\cdot X^k p(τX)c0=k=1H1ckτkXk=kdkXk
其中:
d k = { c k ⋅ τ k for  1 ≤ k ≤ ∣ H ∣ − 1 0 otherwise. d_k= \left\{\begin{matrix} c_k\cdot \tau ^k & \text{for } 1\leq k\leq |H|-1 \\ 0&\text{otherwise.} \end{matrix}\right. dk={ckτk0for 1kH1otherwise.

将该函数扩大 τ − ∣ H ∣ 2 \tau^{-\frac{|H|}{2}} τ2H,有系数 d k ′ : = τ − ∣ H ∣ 2 ⋅ d k d_k':=\tau^{-\frac{|H|}{2}\cdot d_k} dk:=τ2Hdk,其满足Hermitian对称性,即对所有的 k = 1 , ⋯   , ∣ H ∣ − 1 k=1,\cdots,|H|-1 k=1,,H1,有:
d ∣ H ∣ − k ′ = τ − ∣ H ∣ 2 ⋅ τ ∣ H ∣ − k ⋅ c ∣ H ∣ − k = τ ∣ H ∣ 2 ⋅ τ − k ⋅ c ˉ k = τ − ∣ H ∣ 2 ⋅ τ k ⋅ c k ‾ = d ′ ˉ k d'_{|H|-k}=\tau^{-\frac{|H|}{2}}\cdot \tau ^{|H|-k}\cdot c_{|H|-k}=\tau^{\frac{|H|}{2}}\cdot \tau^{-k}\cdot \bar{c}_k=\overline{\tau^{-\frac{|H|}{2}}\cdot \tau^k\cdot c_k}=\bar{d'}_k dHk=τ2HτHkcHk=τ2Hτkcˉk=τ2Hτkck=dˉk

从而可得出结论:

  • 对于每个 x ∈ H x\in H xH,可得出结论 τ − ∣ H ∣ 2 ⋅ ( p ( τ ⋅ x ) − c 0 ) ∈ F \tau^{-\frac{|H|}{2}}\cdot (p(\tau\cdot x)-c_0)\in F τ2H(p(τx)c0)F,从而证明了Proposition 2中的第一条claim。

对于Proposition 2中的第二条claim:

  • 事实上,对于每个 x ∈ H x\in H xH,有 x ∣ H ∣ 2 ∈ { ± 1 } x^{\frac{|H|}{2}}\in\{\pm 1\} x2H{±1},从而有 ( τ ⋅ x ) ∣ H ∣ 2 ∈ τ ∣ H ∣ 2 ⋅ { ± 1 } (\tau \cdot x )^{\frac{|H|}{2}}\in \tau ^{\frac{|H|}{2}}\cdot \{\pm 1\} (τx)2Hτ2H{±1}。由于 ϕ \phi ϕ指向由 S 1 / H S_1/H S1/H S 1 / { ± 1 } S_1/\{\pm 1\} S1/{±1}的isomorphism,该isomorphism的kernel是trivial的,因为 τ ∣ H ∣ 2 ∈ { ± 1 } \tau^{\frac{|H|}{2}}\in\{\pm 1\} τ2H{±1}等价为 τ ∣ H ∣ = 1 \tau^{|H|}=1 τH=1。由于 S 1 S_1 S1是cyclic的,因此,the projective unit circle S 1 / { ± 1 } S_1/\{\pm 1\} S1/{±1} ϕ \phi ϕ的images order为 β = ∣ S 1 / H ∣ \beta=|S_1/H| β=S1/H的唯一子群,其等价为 C 2 ⋅ β / { ± 1 } C_{2\cdot \beta}/\{\pm 1\} C2β/{±1}子群。

在这里插入图片描述

4. Mersenne域的almost native Reed-Solomon codes

对Mersenne域 F = F p F=F_p F=Fp,其中素数模满足 p = 2 e − 1 p=2^e-1 p=2e1,应用如上结论。

根据Lemma 1,unit circle group S 1 S_1 S1 C ( F ) ∗ \mathbb{C}(F)^* C(F)的purely two-adic子群:
∣ S 1 ∣ = p + 1 = 2 e |S_1|=p+1=2^e S1=p+1=2e

其可用于第2节中的FFT算法。在STARKs上下文中,使用witness多项式的Lagrange表示,如AIR( algebraic intermediate representations)或Plonkish算术化,这就需要面对如下问题:

  • 已知witness多项式基于某witness domain H H H的值,对其插值到更大的sampling domain D D D,有 ∣ D ∣ = β ⋅ ∣ H ∣ |D|=\beta \cdot |H| D=βH,其中 β \beta β为整数,并对所获得的值通过Merkle hash进行承诺。若 H H H D D D均在unit circle group S 1 S_1 S1内,则可获得almost native Reed-Solomon code:
    • 对real-valued函数做mixed-radix FFT(见Theorem 3),计算插值及其所需的coset值,其开销与等同size具有high two-adicity域 的开销几乎相同。
      • 首先计算real witness函数 w : H → F w:H\rightarrow F w:HF的傅里叶变换,然后,对每个coset KaTeX parse error: Undefined control sequence: \codt at position 5: \tau\̲c̲o̲d̲t̲ ̲H\subset D,将shifted factors τ k − ∣ H ∣ 2 , k = 1 , ⋯   , ∣ H ∣ − 1 \tau^{k-\frac{|H|}{2}},k=1,\cdots,|H|-1 τk2H,k=1,,H1 w w w的傅里叶变换相乘。
      • 然后对Hermititian对称函数应用反傅里叶变换,以获得矫正后的基于 τ ⋅ H \tau\cdot H τH τ − ∣ H ∣ 2 ⋅ ( w ( X ) − c 0 ) \tau ^{-\frac{|H|}{2}}\cdot (w(X)-c_0) τ2H(w(X)c0)的实数值。
    • codeword的native表示中,包含实数coset evaluations:
      τ − ∣ H ∣ 2 ⋅ ( w ( x ) − c 0 ) x ∈ τ ⋅ H \begin{equation} \tau^{-\frac{|H|}{2}}\cdot (w(x)-c_0)_{x\in \tau\cdot H}\end{equation} τ2H(w(x)c0)xτH
      其中 τ ⋅ H ⊂ D \tau\cdot H\subset D τHD,常量项 c 0 = ∑ x ∈ H w ( x ) c_0=\sum_{x\in H}w(x) c0=xHw(x)
      • 不对 w ( x ) ∣ x ∈ D w(x)|_{x\in D} w(x)xD进行承诺,改为仅对(7)中的校正值进行承诺,并额外对scalar c 0 c_0 c0进行announce或commit。
      • 在很多应用中,甚至可假设 c 0 = 0 c_0=0 c0=0,通常,并不是整个domain H H H都会被witness数据所消费,可将未用值调整使该domain之和为0。

在非零值设置下,当考虑sampling domain D = S 1 D=S_1 D=S1的size为 2 31 2^{31} 231,对应的blow-up factor β = 2 \beta=2 β=2时,对Mersenne素数 p = 2 31 − 1 p=2^{31}-1 p=2311可支持size到 2 30 2^{30} 230的witness domain H H H的almost native Reed-Solomon codes。

当考虑零知识属性时, H H H的最大size 为 2 29 2^{29} 229,采用的disjoint sampling domain D D D within in S 1 S_1 S1 of double the size of H H H

在标准计算机架构下,Mersenne算术运算可balance掉,基于复数扩域的mixed-radix FFT所引入的加法运算此时。具体benchmark为:
在这里插入图片描述
对应上面的等式(3)和(4),基于M31(Mersenne31域)的mixed-radix real FFT,在Apple M1 ARM处理器上和Intel Ice Lake x86处理器上的开销分别为:
∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 2 ⋅ 0.31 + 3 2 ⋅ 0.19 ) ≈ 0.44 ⋅ ∣ H ∣ ⋅ log ⁡ ∣ H ∣ |H|\cdot \log |H|\cdot (\frac{1}{2}\cdot 0.31+\frac{3}{2}\cdot 0.19)\approx 0.44\cdot |H|\cdot \log |H| HlogH(210.31+230.19)0.44HlogH
∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 2 ⋅ 0.31 + 3 2 ⋅ 0.09 ) ≈ 0.31 ⋅ ∣ H ∣ ⋅ log ⁡ ∣ H ∣ |H|\cdot \log |H|\cdot (\frac{1}{2}\cdot 0.31+\frac{3}{2}\cdot 0.09)\approx 0.31\cdot |H|\cdot \log |H| HlogH(210.31+230.09)0.31HlogH
个clock cycles,而对Baby Bear域应用Cooley-Tukey算法,在Apple M1 ARM处理器上和在Intel Ice Lake x86处理器上开销分别为:
∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 2 ⋅ 0.5 + 1 2 ⋅ 0.19 ) ≈ 0.44 ⋅ ∣ H ∣ ⋅ log ⁡ ∣ H ∣ |H|\cdot \log |H|\cdot (\frac{1}{2}\cdot 0.5+\frac{1}{2}\cdot 0.19)\approx 0.44\cdot |H|\cdot \log |H| HlogH(210.5+210.19)0.44HlogH
∣ H ∣ ⋅ log ⁡ ∣ H ∣ ⋅ ( 1 2 ⋅ 0.44 + 1 2 ⋅ 0.09 ) ≈ 0.31 ⋅ ∣ H ∣ ⋅ log ⁡ ∣ H ∣ |H|\cdot \log |H|\cdot (\frac{1}{2}\cdot 0.44+\frac{1}{2}\cdot 0.09)\approx 0.31\cdot |H|\cdot \log |H| HlogH(210.44+210.09)0.31HlogH

因此,基于Mersenne域的almost native Reed-Solomon codes,其性能与具有相同size和高two-adic域 的性能相当,同时,提供了额外更快的域运算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 梅森数是指形如2的n次方减1的质数。例如,2^3-1=7和2^5-1=31都是梅森数。1722年,欧拉证明了2^16-1=65535是一个梅森数,并将其命名为梅森素数。后来,瑞士数学大师欧拉证明了2^31-1=2147483647也是一个梅森数,当时世界上最大的质数。 ### 回答2: 梅森数是指形如2^n-1的素数,其中n是自然数。这种数列的命名来自于法国数学家马林·梅森(Marin Mersenne),他在17世纪提出了这个问题并试图找到尽可能多的梅森素数。现在我们知道,梅森素数非常稀有,前31个梅森素数只有12个是已知的。 关于2^31-1的素性,欧拉的证明固然是一个重要的里程碑,同时也激发了人们对于梅森素数研究的兴趣。在欧拉之后,一批杰出的数学家接续其研究,包括另一位盲数学家利奥波德·奥尔斯泰因(Leopold Kronecker),他听说了欧拉的证明后,试图为之提供另一种证明,最终在两年的工作后,他放弃了证明,但证明他本人需要用到一些当时还未成熟的数学思想和概念。 梅森素数不仅是数学上一个有趣的问题,也具有很多实际应用。例如在密码学中,人们利用梅森素数的性质来构造出一类强加密算法,这种加密算法被广泛地用于保障网络传输的信息安全。此外,梅森素数还是一种有广泛研究价值的数学工具,在各种数学分支中都有不少应用。 ### 回答3: 梅森数是一种特定形式的素数,即形如2的n次方减1的数,其中n为正整数。这种数学结构体现了数学的美妙之处,同时也是理解素数和大数问题的重要途径。梅森数存在的时间可以追溯到公元前300年左右的古希腊,当时欧几里德就提出了一个关于梅森数的猜想,认为所有形如2的n次方减1的数字都是素数。然而,这个猜想并不正确,因为当n等于合数时,得到的数字就不是素数了。 尽管欧几里德的猜想不成立,但对梅森数的研究一直持续到了现代。在18世纪后半期,瑞士的数学家欧拉证明了2的31次方减1是一个素数,也就是2147483647。这是一个很大的数,当时人们都认为是世界上最大的素数,欧拉因此被誉为“素数之王”。这个素数被称为梅森素数,是最早被证明是素数的梅森数之一。它还是计算机科学中常用的一个数字,因为它恰好可以用32位二进制表示。 虽然梅森素数似乎很神奇,但它实际上属于一类特殊的素数,称为梅森质数。梅森质数的形式是2的p次方减1,其中p是另一个素数。由于p必须是素数,因此梅森质数对素数的研究有一定的意义。梅森质数也是一种较为特殊的数字,很多数学家都对它进行过深入的研究。 除了欧拉以外,还有很多著名的数学家研究过梅森数,包括哥德尔、费马、黎曼等等。他们通过研究梅森数,发现了很多有趣的性质和规律,也解决了许多数学难题。因此,梅森数虽然看起来简单,但实际上是数学中非常重要的一个概念。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值