《安全协议》课件5零知识证明.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《安全协议》课件5零知识证明.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全协议 安全 协议 课件 知识 证明
- 资源描述:
-
1、零知识证明的概念 设P表示掌握某些信息,并希望证实这一事实的实体,设V是证明这一事实的实体。n某个协议向V证明P的确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。n如果V除了知道P能够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。零知识证明的概念n在最小泄露协议中满足下述两个性质:n(1)P无法欺骗V。换言之,若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。(正确性)n(2)V无法欺骗P。换言之,若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。(完备性)n在零知识协议中,除满足上述两个条
2、件以外,还满足下述性质:n(3)V无法获取任何额外的知识。(零知识性)零知识洞穴n设P知道咒语,可打开C和D之间的秘密门,不知道者则走向死胡同。现在来看P如何向V出示证明使其相信他知道这个秘密,但又不告诉V有关咒语。n协议1:洞穴协议n V站在A点;nP进入任一点C或D;n当P进洞之后,V走向B点;nV叫P:(a)从左边出来,或(b)从右边出来 nP按照要求实现(有咒语);nP和V重复执行(1)(5)共n次。零知识洞穴n若P不知道咒语,则在B点,只有50%的机会猜中V的要求,协议执行n次,则只有2 n次机会完全猜中。此洞穴问题可以转化为数学问题,P知道解决某个难题的秘密信息,而V通过与P交互作
3、用验证其真伪。CDBA5零知识证明可以向另一方证明自己拥有某种信息而无需暴露该信息给对方。交互式零知识证明 证明者和验证者共享输入证明者和验证者共享输入(函数或者是值函数或者是值)如果验证者检查,对于每一个挑战的响应都是正确的,这个协议才输如果验证者检查,对于每一个挑战的响应都是正确的,这个协议才输出出Accept,否则,输出,否则,输出 RejectP证明者证明者V验证者验证者承诺承诺挑战挑战响应响应Repeats trounds输入输入输入输入平方根问题的零知识 n令N=P Q,P、Q为两个大素数,Y是mod N的一个平方,且gcd(Y,N)=1,注意找到mod N的平方根与分解N等价。n
4、Peggy声称他知道Y的一个平方根S,但他不愿意泄露S,Vector想证明Peggy是否真的知道。下面给出了这个问题的一个解决方案。nPeggy选择两个随机数R1和R2,满足gcd(R1,N)=1,R2=S R11,R1 R2=S(mod N)。Peggy计算X1=R12(mod N),X2=R22(mod N),并将X1、X2发送给Vector。nVector检验X1 X2=Y(mod N),然后Vector随机选择X1(或X2)让Peggy提供它的一个平方根,并检验Peggy是否提供的是真的平方根。n重复上面的过程直至Vector相信。n这里,Peggy不知道Y的平方根,虽然他可能知道X1
5、、X2的一个平方根,但不是全部。离散对数问题的零知识证明 Peggy试图向Vector证明他知道离散对数x,x=loggY mod p,Y=gx mod plogmod,(Ymod)xgxYpgppgRZttqRmod*qRZuquxtwmodpYgRuwmod?RuwCommitmentChallengeResponseProverVerifierPeggy试图向Vector证明两个离散对数相等而不泄露x,Y=gx,Z=cx,loggY=logc ZZYcZgYcgxxloglog,pcRpgRZtttqRmodmod21*qRZuquxtwmodpZcRpYgRuwuwmodmod?2?1
6、uwCommitmentChallengeResponseProverVerifier21,RR离散对数问题的零知识证明证明ElGamal解密的正确性比如,Peggy试图证明他的ElGamal解密是正确的。n明文是m而不泄露他的私钥x。Peggy的私钥为Y=gx mod p;nElGamal加密为m (U,V),nElGamal解密为V/Ux mnPeggy只需证明下面的两个离散对数相等即可:Y=gx,V/m=Ux,logg Y=logU(V/m)。pmYVpgUrrmodmodn使用 Fiat-Shamir Heuristic的非交互零知识证明(NIZK)非交互零知识证明 logmod,(Y
7、mod)xgxYpgpquxtwRYHupgRZttqRmod),(mod*pYgRRYHuuwmod),(?),(wRProverVerifier身份鉴别方案 n在一个安全的身份认证协议中,我们希望被认证者P能向验证者V电子地证明他的身份,而又不向P泄露他的认证信息nFeige-Fiat-Shamir身份鉴别方案 nGuillo-Quisquater身份鉴别方案 nSchnorr身份鉴别方案 简化的Feige-Fiat-Shamir身份鉴别方案 n可信赖仲裁方选定一个随机模数n=p1 p2,p1、p2为两个大素数。实际中n至少为512比特,尽量长达1024比特。仲裁方可实施公钥和私钥的分配。
展开阅读全文