非交互证明系统
令 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y是一个有效关系,那么关于 R R R的非交互系统是一个算法对 ( G e n , C h e c k ) (Gen,Check) (Gen,Check),定义如下:
- G e n Gen Gen:一个有效的概率算法,形如 π ← R G e n ( x , y ) \pi \leftarrow_R Gen(x,y) π←RGen(x,y),其中 ( x , y ) ∈ R (x,y) \in R (x,y)∈R, π ∈ P S \pi \in PS π∈PS,这里的 P S PS PS是证明空间(proof space)
- C h e c k Check Check:一个有效的确定性算法,形如 t a g ← C h e c k ( y , π ) tag \leftarrow Check(y,\pi) tag←Check(y,π),其中 t a g ∈ { A c c e p t , R e j e c t } tag \in \{Accept,Reject\} tag∈{Accept,Reject}。如果 t a g = A c c e p t tag = Accept tag=Accept,我们称 π \pi π是 y y y的有效证明(a valid proof)。
对于所有的证据声明对 ( x , y ) ∈ R (x,y) \in R (x,y)∈R,我们要求 G e n ( x , y ) Gen(x,y) Gen(x,y)的输出 π \pi π总是 y y y的有效证明(完备的)。
Fiat-Shamir Transform
令 Π = ( P , V ) \Pi=(P,V) Π=(P,V)是关于关系 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y的Sigma协议,并假设会话空间是 T × C × Z T \times C \times Z T×C×Z。令 H : Y × T → C H: Y \times T \rightarrow C H:Y×T→C是一个Hash函数。我们定义Fiat-Shamir non-interactive proof system是算法对 F S − Π = ( G e n , C h e c k ) FS-\Pi = (Gen,Check) FS−Π=(Gen,Check),且 P S = T × Z PS = T \times Z PS=T×Z,
-
G
e
n
Gen
Gen:
- 输入 ( x , y ) ∈ R (x,y) \in R (x,y)∈R
- 调用 P ( x , y ) P(x,y) P(x,y),获得承诺 t ∈ T t \in T t∈T
- 计算挑战 c : = H ( y , t ) c := H(y,t) c:=H(y,t),发送给 P ( x , y ) P(x,y) P(x,y),回应 z ∈ Z z \in Z z∈Z
- 输出证明 ( t , z ) ∈ P S (t,z) \in PS (t,z)∈PS
-
C
h
e
c
k
Check
Check:
- 输入 ( y , ( t , z ) ) ∈ Y × P S (y,(t,z)) \in Y \times PS (y,(t,z))∈Y×PS
- 计算挑战 c ← H ( y , t ) c \leftarrow H(y,t) c←H(y,t)
- 调用 V ( y ) V(y) V(y),判断 ( t , c , z ) (t,c,z) (t,c,z)是否是关于 y y y的可接受会话
- 输出 V ( y ) V(y) V(y)的返回值 t a g ∈ { A c c e p t , R e j e c t } tag \in \{Accept,Reject\} tag∈{Accept,Reject}
安全性
Unpredictable commitments
令 ( P , V ) (P,V) (P,V)是是关于 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y的Sigma协议,会话空间为 T × C × Z T \times C \times Z T×C×Z。我们说 ( P , V ) (P,V) (P,V)有** δ − \delta- δ−unpredictable commitments**,如果对于任意的 ( x , y ) ∈ R (x,y) \in R (x,y)∈R和 t ∗ ∈ T t^* \in T t∗∈T,在 P ( x , y ) , V ( y ) P(x,y),V(y) P(x,y),V(y)之间的交互产生的会话 ( t , c , z ) (t,c,z) (t,c,z)使得 t = t ∗ t=t^* t=t∗的概率至多为 δ \delta δ。如果 δ \delta δ可忽略,那么称 ( P , V ) (P,V) (P,V)有unpredictable commitments。
Non-interactive existential soundness
攻击游戏:游戏的双方是敌手(as P r o v e r Prover Prover)和挑战者(as V e r i f i e r Verifier Verifier)。令 Φ \Phi Φ是一个关于 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y的非交互证明系统,证明空间是 P S PS PS。敌手 A A A的输出是一个声明 y ∈ Y y \in Y y∈Y以及一个证据 π ∈ P S \pi \in PS π∈PS
如果 C h e c k ( y , π ) = A c c e p t Check(y,\pi) = Accept Check(y,π)=Accept,但 y ∈ L R y \in L_R y∈LR,我们说 A A A赢得这个游戏。 A A A的 优势(advantage)定义为赢的概率,记为 n i E S a d v [ A , Φ ] niESadv[A,\Phi] niESadv[A,Φ]
安全定义:我们说协议 Φ \Phi Φ是存在性可靠的(existentially sound),如果对于任意的PPT敌手 A A A, n i E S a d v [ A , Φ ] niESadv[A,\Phi] niESadv[A,Φ]的测度是可忽略的。
Non-interactive zero knowledge
模拟器(simulator):假设 Φ \Phi Φ使用的Hash函数 H : U → C H: U \rightarrow C H:U→C以随机预言机(random oracle, RO)的方式运行,那么模拟器是一个可交互图灵机 S i m Sim Sim,可以接受如下查询
- unjustified proof query:形如 y ∈ Y y \in Y y∈Y, S i m Sim Sim回应 π ∈ P S \pi \in PS π∈PS
- random oracle query:形如 u ∈ U u \in U u∈U, S i m Sim Sim回应 c ∈ C c \in C c∈C
攻击游戏:游戏的双方是敌手(as V e r i f i e r Verifier Verifier)和挑战者(as P r o v e r Prover Prover)。令 Φ \Phi Φ是一个关于 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y的非交互证明系统,证明空间是 P S PS PS。假设 Φ \Phi Φ使用的Hash函数 H : U → C H: U \rightarrow C H:U→C以随机预言机的方式运行,模拟器为 S i m Sim Sim。敌手 A A A可以做一系列的询问,
- justified proof query:形如 ( x , y ) ∈ R (x,y) \in R (x,y)∈R,挑战者回应 π ∈ P S \pi \in PS π∈PS
- random oracle query:形如 u ∈ U u \in U u∈U,挑战者回应 c ∈ C c \in C c∈C
而挑战者有两种策略,
- 实验 0 0 0(real world):选择随机函数 O ∈ F u n s ( U , C ) O \in Funs(U,C) O∈Funs(U,C),对于justified proof query调用 G e n ( x , y ) Gen(x,y) Gen(x,y),对于random oracle query调用 O ( u ) O(u) O(u)
- 实验 1 1 1(ideal world):对于justified proof query询问 S i m Sim Sim关于 y y y的证明,对于random oracle query询问 S i m Sim Sim关于 u u u的挑战
敌手 A A A的输出取自 { 0 , 1 } \{0,1\} {0,1},令 W b W_b Wb是 A A A在实验 b b b中输出为 1 1 1的事件。 A A A的 优势(advantage)定义为两种实验的概率差,记为 n i Z K a d v ( A , Φ , S i m ) : = ∣ P r [ W 0 ] − P r [ W 1 ] ∣ niZKadv(A,\Phi,Sim):=|Pr[W_0]-Pr[W_1]| niZKadv(A,Φ,Sim):=∣Pr[W0]−Pr[W1]∣
安全定义:我们说协议 Φ \Phi Φ是提供非交互零知识(non-interactive zero knowledge, niZK),如果存在有效的模拟器 S i m Sim Sim,对于任意的PPT敌手 A A A, n i Z K a d v [ A , Φ , S i m ] niZKadv[A,\Phi,Sim] niZKadv[A,Φ,Sim]的值是可忽略的。
Fiat-Shamir Transform
- 完备性:Non-interactive Proof System的基本要求。
- 可靠性: Π \Pi Π是关于 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y的Sigma协议, H H H是Hash函数,令 F S − Π FS-\Pi FS−Π是利用 H H H从协议 Π \Pi Π中派生的Fiat-Shamir非交互证明系统。如果 π \pi π是existentially sound的,且 H H H是ROM,那么 F S − Π FS-\Pi FS−Π是non-interactive existential sound的。
- 零知识性: Π \Pi Π是关于 R ⊆ X × Y R \subseteq X \times Y R⊆X×Y的special HVZK的、unpredictable commitments的Sigma协议, H H H是Hash函数,令 F S − Π FS-\Pi FS−Π是利用 H H H从协议 Π \Pi Π中派生的Fiat-Shamir非交互证明系统。如果 H H H是ROM,那么 F S − Π FS-\Pi FS−Π是non-interactive zero knowledge的。