網(wǎng)站制作網(wǎng)站建設(shè)項(xiàng)目規(guī)劃書(shū)軟文平臺(tái)有哪些
sumcheck是一個(gè)交互式證明協(xié)議,給定域F上的多元多項(xiàng)式g(x1,...,xv)g(x_1,...,x_v)g(x1?,...,xv?),證明者Prover可以向驗(yàn)證者Verifier證明該多項(xiàng)式ggg的遍歷求和值等于公開(kāi)值HHH,即
H=∑b1,b2,...,bv∈{0,1}vg(b1,b2,...,bv)H= \sum_{b_1,b_2,...,b_v \in \{0,1\}^v}g(b_1,b_2,...,b_v) H=b1?,b2?,...,bv?∈{0,1}v∑?g(b1?,b2?,...,bv?)
法一: Verifier可以直接通過(guò)上述等式計(jì)算驗(yàn)證,但直接計(jì)算需要2v2^v2v次求和
法二:Verifier將計(jì)算轉(zhuǎn)移到計(jì)算能力更強(qiáng)的Prover,即本文所述的sum-check協(xié)議,通過(guò)sum-check協(xié)議,Prover使得Verifier相信其遍歷求和值等于HHH
sumcheck
sumcheck一共需要進(jìn)行vvv輪交互,其過(guò)程如下:
第1輪:
-
Prover:向Verifier發(fā)送一個(gè)單變量多項(xiàng)式( univariate polynomial)
g1(X1)=∑b2,...,bv∈0,1vg(X1,b2,...,bv)g_1(X_1)=\sum_{b_2,...,b_v \in{0,1}^v}g(X_1,b_2,...,b_v) g1?(X1?)=b2?,...,bv?∈0,1v∑?g(X1?,b2?,...,bv?) -
Verifier: 檢查H=g1(0)+g1(1)H=g_1(0) + g_1(1)H=g1?(0)+g1?(1)是否成立,如果成立則隨機(jī)選取r1∈Fr_1 \in Fr1?∈F發(fā)送給Prover
第j輪:
-
Prover:向Verifier發(fā)送一個(gè)單變量多項(xiàng)式
gj(Xj)=∑bj+1,...,bv∈{0,1}vg(r1,...,rj?1,Xj,bj+1,...,bv)g_j(X_j)=\sum_{b_{j+1},...,b_v \in \{0,1\}^v}g(r_1,...,r_{j-1},X_j,b_{j+1},...,b_v) gj?(Xj?)=bj+1?,...,bv?∈{0,1}v∑?g(r1?,...,rj?1?,Xj?,bj+1?,...,bv?) -
Verifier: 檢查gj?1(rj?1)=gj(0)+gj(1)g_{j-1}(r_{j-1})=g_j(0) + g_j(1)gj?1?(rj?1?)=gj?(0)+gj?(1)是否成立,如果成立則隨機(jī)選取rj∈Fr_j \in Frj?∈F發(fā)送給Prover
第v輪:
-
Prover:向Verifier發(fā)送一個(gè)單變量多項(xiàng)式
gv(Xv)=g(r1,r2...,rv?1,Xv)g_v(X_v)=g(r_1,r_2...,r_{v-1},Xv) gv?(Xv?)=g(r1?,r2?...,rv?1?,Xv) -
Verifier: 檢查gv?1(rv?1)=gv(0)+gv(1)g_{v-1}(r_{v-1})=g_v(0) + g_v(1)gv?1?(rv?1?)=gv?(0)+gv?(1)是否成立,如果成立則計(jì)算g(r1,r2,...,rv)g(r_1,r_2,...,r_v)g(r1?,r2?,...,rv?) ,并驗(yàn)證g(r1,r2,...,rv)=gv(rv)g(r_1,r_2,...,r_v)= g_v(r_v)g(r1?,r2?,...,rv?)=gv?(rv?)是否成立
例如 g(X1,X2,X3)=2X13+X1X3+X2X3g(X_1,X_2,X_3)= 2X_1^3 + X_1X_3+X_2X_3g(X1?,X2?,X3?)=2X13?+X1?X3?+X2?X3? ,其遍歷求和值H=12H =12H=12
第1輪:
-
Prover:向Verifier發(fā)送一個(gè)單變量多項(xiàng)式( univariate polynomial)
g1(X1)=8X13+2X1+1g_1(X_1)=8X_1^3+2X_1+1 g1?(X1?)=8X13?+2X1?+1 -
Verifier: 驗(yàn)證H=g1(0)+g1(1)=12H=g_1(0) + g_1(1) = 12H=g1?(0)+g1?(1)=12,并隨機(jī)選取r1=2r_1 =2r1?=2發(fā)送給Prover
第2輪:
-
Prover:向Verifier發(fā)送一個(gè)單變量多項(xiàng)式
g2(X2)=34+X2g_2(X_2)=34 + X_2 g2?(X2?)=34+X2? -
Verifier: 驗(yàn)證g1(2)=g2(0)+g2(1)=69g_{1}(2)=g_2(0) + g_2(1) = 69g1?(2)=g2?(0)+g2?(1)=69,并隨機(jī)選取r2=3r_2 =3r2?=3發(fā)送給Prover
第3輪:
-
Prover:向Verifier發(fā)送一個(gè)單變量多項(xiàng)式
g3(X3)=16+5X3g_3(X_3)=16+5X_3 g3?(X3?)=16+5X3? -
Verifier: 驗(yàn)證g2(r2)=g3(0)+g3(1)=37g_{2}(r_{2})=g_3(0) + g_3(1)= 37g2?(r2?)=g3?(0)+g3?(1)=37,并隨機(jī)選取r3=6r_3 =6r3?=6,計(jì)算并驗(yàn)證g(r1,r2,...,rv)=46=g3(6)g(r_1,r_2,...,r_v) = 46 = g_3(6)g(r1?,r2?,...,rv?)=46=g3?(6)