【隐私计算笔谈】零知识证明系列专题(二):一个个人化的视角:零知识、模拟与归约

在这里插入图片描述> 你或许已经坐在了历史上最好的观景台上。眼下的密码算法与协议——如零知识证明与安全多方计算等——正在深刻地改变社会个体/组织之间信任的来源和它的成本。密码技术可能会远远超出一个技术的范畴,最终对社会变革产生深远的影响。或许,我们将要看到的景象要远比Michael Lewis「在金融业即将迎来变革的戏剧性时刻坐在位置最好的观景台前」所看到的更加波澜壮阔。

——邓燚


文 | 邓燚


本文承接:【隐私计算笔谈】零知识证明系列专题(一):零知识证明与重置模拟

Feige-Shamir:优雅的证据不可区分与常数轮零知识证明

尽管并行上述图同构协议后我们不知道怎么证明新协议的零知识性,但这一并行版本有个非常好的性质:

  1. 证据不可区分性( witness indistinguishability )。即,如果给定的断言有两个或以上的证据(如, 两个不同的置换𝜋和𝜋′同时使得𝐺1=𝜋(𝐺0)和𝐺1=𝜋′(𝐺0)),那么无论验证者采用什么策略,它都无法区分证明者在证明中使用的是哪个证据。

  2. 可忽略的可靠性错误与知识的证明( proof of knowledge )。前面提到了并行可以将可靠性错误降至指数级的小。此外,这个协议(无论是否并行)还具有知识的证明的性质,这一性质本质上是可靠性的升级:对任意给定的断言,任意的证明者策略P*,只要P使得V接受的概率显著地超过合理性错误,我们便能构造一个知识的抽取器E,它通过调用P输出该断言的一个证据。例如,在图同构证明协议当中,如果P能以超过1/2的概率使得V接受,那么我们能够构造算法E,它扮演V的角色和P交互,通过重置的策略 (发送挑战i=0并得到相应的回答后,重置P*至它刚刚发送完第一条消息H时的状态,重新发送挑战i=1得到一个新的回答),它能将证明者使用的证据𝜋(𝐺0与𝐺1之间的同构)计算出来。并行后的协议依然保持知识的证明这一性质。

针对NP断言的3-轮证据不可区分证明协议

我们希望能够对一般性的NP断言构造零知识或证据不可区分证明系统。幸运的是,对于任意的NP断言「x是正确的」(如「𝐺0和𝐺1是同构的」,「图G中存在一个简单的圈经过所有的顶点」等),或者,任何有关多项式时间算法正确性的断言,我们都有一个3-轮的证明协议同时具有上述两个性质:证据不可区分与(具有可忽略可靠性错误)知识的证明性质。

Blum在1986年的国际数学家大会上[Blum, ICM86]报告了一个对汉密尔顿图(上述带有一个经过所有点的简单圈的图)的3-轮可靠性错误为1/2的零知识证明。由于汉密尔顿图集合为NP-完全集合,任何其他NP问题都可以归约到一个汉密尔顿图的问题,Blum的构造实际给出了对任意NP断言的零知识证明。通过并行Blum协议后我们得到了针对任意NP断言的3-轮 (具有可忽略可靠性错误和知识的证明性质)证据不可区分证明协议。 Goldreich等人[GMW, FOCS 86]针对另一个NP-断言(图的三着色问题)给出了另一个类似的构造。

Feige-Shamir的构造

目前为止, 我们通过并行牺牲了零知识性,但得到了可忽略的可靠性错误和证据不可区分的性质。我们能够构造一个具有可忽略可靠性错误的常数轮零知识证明协议吗?答案是肯定的。Feige和Shamir[FS, STOC 90]给出了一个有着广泛影响的优雅构造[3] 。给定一个NP断言「x 是正确的」, P持有这一断言的证据(如图同构中的𝜋)向V进行如下两阶段的证明:

  • 在第一阶段,V生成单向函数𝑓的两个随机的像,𝑦0=𝑓(𝑥0) 和𝑦1=𝑓(𝑥1)(这里原像𝑥0和𝑥1都是随机选取的),随机选择一个原像作为证据,利用一个3-轮证据不可区分的(具有可忽略的可靠性错误)证明协议向P证明「我知道𝑦0和𝑦1其中一个的原像」[4]

  • 在第二阶段,如果上述V的证明是可接受的,那么P紧接着利用同一个3-轮证据不可区分(具有可忽略的可靠性错误)证明协议向V证明「x是正确的或我知道𝑦0和𝑦1其中一个的原像」。如果该3-轮交互证明是可接受的,则V最终输出「接受」。

利用第一阶段的证据不可区分性(为什么V需要生成两个原像?)和第二阶段的知识的证明的性质,我们可以证明,如果函数𝑓是单向的,那么Feige-Shamir协议的(可抗多项式时间恶意证明者的)可靠性错误仍是可忽略的;利用第一阶段的知识的证明性质(模拟器可以通过调用上述抽取器,通过重置验证者来抽取到一个原像)和第二阶段的证据不可区分性,我们可以证明 Feige-Shamir协议是零知识的。此外,通过合理安排两阶段的消息顺序,我们可以得到一个4-轮的具有可忽略可靠性错误的零知识协议。

注意到Feige-Shamir协议需要假定存在单向函数,这与无需任何假设的图同构的零知识证明有着本质的区别。事实上,只有很少的断言具有像图同构那样的完美零知识证明[Fortnow, CCC 87]。

黑盒模拟/归约的局限性

计算理论/复杂性中许多早期的经典结果都是相对化的:在证明过程中所有的图灵机都被当成oracle(黑盒)来看待,其结果相对于任何的oracle(给所有图灵机提供该oracle接口)都成立。Baker,Gill和Solovay[BGR, SIAMCOMP75]发现这种证明方法无法解决NP vs P问题:存在着oracle A和B,使得NPA=PA和NPB≠PB同时成立。

注意到如果相对化的证明技巧如果能解决 NP vs P问题,那么相对于任意的oracle结论都应该一致。BGR意味着我们无法仅仅利用相对化证明技术来证明或否定NP=P。在研究交互证明的威力过程中,Nissan发现的非相对化的证明技术——算术化( arithmetization )——打破了之前相对化技术的壁垒,导致了一系列像IP=PSPAC和PCP定理这样影响深远的非相对化;结果。然而,对于这些非相对化结果的解读依然存在着分歧。感兴趣的读者可以参考Fortnow和Arora, Impagliazzo, Vazirani写的一些未发表的文章[5]

绝大多数密码学中归约(安全性证明)都是相对化的,也就是我们常说的黑盒归约。Impagliazzo和Rudich [IR, STOC 89]发现了第一个黑盒归约的分离(我们有时也称黑盒下界)结果:我们无法将公钥加密通过黑盒归约的方时建立在抽象的单向函数上。通常,欲证明一个密码原语P无法通过黑盒归约的方式建立在困难假设Q上,我们只需去构造一个oracle,在提供这个oracle接口的世界里,存在着高效的算法打破P的安全性,但不存在高效的算法打破Q的困难性。

Impagliazzo和Rudich提供的证明黑盒分离/下界的范式对密码学影响巨大,后来研究人员发现了许许多多这样的负面的结果。Reingold, Trevisan和Vadhan [RTV, TCC 04]对于这些黑盒分离/下界提供了一些较为清晰的解读。

零知识证明中的黑盒下界通常指黑盒模拟(模拟器只允许以黑盒方式调用验证者,对应的零知识称为黑盒零知识)下的轮复杂度下界。注意到像前面提到IP=PSPACE一样,零知识证明中许多结果也是非相对化的,我们在证明它的黑盒轮复杂度下界时通常用到一个不同的证明策略:低轮复杂度的零知识证明所带有的黑盒模拟器通常可以用来直接判定被证明断言的真伪,这表明被证明断言本身就是平凡的。

Goldreich和Krawczyk [GK, SIAMCOMP 96]证明了不存在针对非平凡断言的3-轮黑盒零知识证明(这说明Feige-Shamir协议是轮数最优的黑盒零知识证明协议),也不存在针对非平凡断言的(任意)常数轮公开掷币( public-coin )的黑盒零知识证明,这里公开掷币指的是每个来自诚实验证者的消息都是通过随机掷币生成的真随机数,如上面的图同构协议。公开掷币的协议通常有着更为广泛的应用。

分布式环境下的并发性:嵌套难题与递归的Feige-Shamir模拟器

在互联网这种异步的分布式环境下,一个协议可能被成千上万的彼此都不知道对

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值