零知识证明基础

一、零知识证明的概念

        设P(Prover,证明者)表示掌握某些信息,并希望证实这一事实的实体,设V(Verifier,验证者)是证明这一事实的实体。

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

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

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

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

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

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

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

 

二、零知识证明的例子

1、零知识洞穴

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZSm6ZSm5piH,size_14,color_FFFFFF,t_70,g_se,x_16

 可采用如下协议:

(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的秘密口令的信息,所以这是一个零知识证明协议。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZSm6ZSm5piH,size_8,color_FFFFFF,t_70,g_se,x_16

 2、三色问题-部署电塔

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZSm6ZSm5piH,size_20,color_FFFFFF,t_70,g_se,x_16

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

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

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

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

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

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZSm6ZSm5piH,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZSm6ZSm5piH,size_20,color_FFFFFF,t_70,g_se,x_16

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

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

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

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

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZSm6ZSm5piH,size_12,color_FFFFFF,t_70,g_se,x_16

 

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

afd5f56e3a5d4a649bb9277e73f1cba5.png

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值