这不是一个实际的答案;我只是分享一些结果(不适合一个评论)。
- Goldreich,Micali和Wigderson(J. ACM,1991)证明,NP中的每种语言都具有零知识的语言成员资格证明(假设存在OWF)。为此,他们提出了图3可着色性的ZK证明。后来,Bellare和Goldreich(CRYPTO '92)证明了ZK证明也是ZK知识证明(PoK)。使用Levin归约法(请参阅前一论文的脚注12),NP中的每种语言都有一个ZK PoK(假设存在OWF)。
- 伊藤和樱井(ASIACRYPT '91)撰写了一篇关于具有恒定回合ZK PoK关系的复杂性理论结果的论文。
- 尽管我不禁注意到一些相似之处,但这似乎是无关的结果。我莫名其妙地觉得(没有什么正式的),其成员的证明与知识的证明是类似决定与搜索。也许从这个意义上讲,人们还可以引用Bellare和Goldwasser的著作(J. Computing,1994),他们(有条件地)证明了NP中并非所有的语言都有从搜索到决策的简化。
关于PoK的复杂性理论方面的一些未解决的问题(也许已经解决,但不是我所知道的):
具有特定复杂性的特定关系(例如,AM中的关系)的ZK PoK的各种效率度量:
- 证明的沟通复杂性
- 各方的计算复杂性
- 知识紧密度(即,在实际交互中模拟器的(预期)运行时间与验证者运行时间之间的比率)
限制ZK PoK的关系的复杂性,例如有限的回合复杂度(伊藤和樱井只考虑恒定回合的ZK PoK)。另一个例子是证明者为多项式时间:他无法使用归纳为三色性,因为他无法解决NP完全关系。从搜索到决策,所有NP完全问题都会减少Cook的问题。但是,根据上面引用的Bellare-Goldwasser结果,并非所有NP语言/关系都存在这种减少。
- 关于PoK的其他有趣结果,不一定是ZK,但其知识复杂性受到限制。参见Goldreich和Petrank(Comput。complex 。,1999)。
在总结之前,请允许我提及PoK实际上有几个定义,下面引用其中一些:
1)早期尝试: Feige,Fiat和Shamir(J。Cryptology,1988),Tompa和Woll(FOCS 1987)以及Feige和Shamir(STOC 1990)。
2)实际标准: Bellare和Goldreich(CRYPTO '92)。本文调查了定义PoK的早期尝试,观察了它们的缺点,并提出了一个新的定义,可以将其视为PoK的“定义”。此定义具有黑盒性质(知识提取者可以对作弊证明者进行黑盒访问)。
3)保守的PoK:由Halevi和Micali定义(ePrint存档:Report 1998/015),该定义扩充了先前的定义以保证证明者的可行性。它还为单个证明者的知识给出了一个定义,当回答“ P知道什么意味着什么?”这个问题时,这是一个很好的选择。
4)非黑盒提取的知识论点:如上所述,PoK的标准定义是黑盒,这使得不可能为非平凡语言提供可重置的零知识证明(或论点)。巴拉克等。(FOCS 2001)提供了一个非黑盒子的定义,该定义基于(但不同于)上面引用的Feige和Shamir(STOC 1990)的定义。