零知识证明基础

一、零知识证明的概念

        设PProver,证明者)表示掌握某些信息,并希望证实这一事实的实体,设VVerifier,验证者)是证明这一事实的实体。

        某个协议向V证明P的确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。

        如果V除了知道P能够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。

在最小泄露协议中满足下述两个性质:

(1)若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。(完备性)

(2)若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。(可靠性)

在零知识协议中,除满足上述两个条件以外,还满足下述性质:

(3)V无法获取任何额外的知识。(零知识性)

二、零知识证明的例子

1、零知识洞穴

        如图表示一个简单的迷宫,CD之间有一道门,需要知道秘密口令才能将其打开PV证明自己能打开这道门,但又不愿V泄露秘密口令

 可采用如下协议:

1 V 协议开始时停留在位置 A
2 P 一直 走到迷宫深处,随机选择位置 C 或位置 D
3 P 消失 V 走到 位置 B ,然后 命令 P 某个出口返回位置 B
4 P 服从 V 命令,必要时利用秘密口令打开 C D 之间的门;
5 P V 重复以上过程 n 次。

         协议中,如果P不知道秘密口令,就只能从来路返回B,而不能走另一条路。此外,P每次猜中V要求走哪一条路的概率为1/2,因此每一轮中P能够欺骗V的概率为1/2,假定n取16,则执行16轮之后,P能够成功欺骗V的概率为1/2^16=1/65536。于是,如果16次P都能按V的要求返回,V即可证明P确实知道秘密口令。我们还看出,V无法从上述证明过程中获取丝毫关于P的秘密口令的信息,所以这是一个零知识证明协议。

 2、三色问题-部署电塔

        现在某个电信业巨头V,打算部署一个新的蜂窝电信网络。这个网络架构2图中的每个顶点代表一个无线电塔,每一条连线(边)代表无线电塔信号两两重叠的区域,这意味着连线上的信号会互相干扰

该电信巨头V允许通信网络传递三种波段的信号,这样就避免了临近电梯信号干涉的问题。

挑战:如何部署不同波段的电塔,使得相邻的两个电塔不具有相同波段。

求助P,让P提供一个电塔部署图,可以得到一笔可观的咨询费。要求:

(1)V必须相信P确实提供了正确的解决方案才付费;

(2)V在未付费前不能够得到P的解决方案。

解决方案,P现在用不同颜色来表示不同波段,将其归为图的三色问题,可以得到如下解决方案。

 

P按V的要求打开纸板,V进行验证;

P重新着色,盖纸板,V继续验证。

不断的重复上述的挑战,直到V相信P给出了有效的着色方案。

一次验证,V被欺骗的概率:

 重复n次验证,V被欺骗的概率:

猜你喜欢

转载自blog.csdn.net/hxb002131/article/details/124017243
今日推荐