4 零知识证明.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
零知识证明 概念 “零知识证明”-zero-knowledge proof,是由Goldwasser等人在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。 Quisquater-Guillon零知识协议 1990年,Quisquater和Guillon提出一种形象的基本零知识协议的例子。如下图所示,该图表示一个简单的迷宫,只有知道秘密口令的人才能打开C 和D之间的密门。现在,P希望向V证明P能够打开此门,但是又不愿意向V泄漏P掌握的秘密口令。为此, P采用了所谓的“分隔与选择”技术实现一个零知识协议。 1) V 站在A点。 (2) P 一直走到迷宫深处,随即选择C点或者D点。 (3) 在 P消失后,V走到B点。 (4) V 向 P 喊叫,要她:从左通道出来,或者从右通道出来。 (5) P答应了,如果有必要她就用秘密口令打开密门。 P 和 V重复第(1)至第(5)步 n 次。 分隔与选择(cut and choose)协议 A将蛋糕分成两半; B为自己选择其中的一半; A得到剩下的一半。 这是一种公平协议, A如果分割不均匀, B总能选择对自己有利的一半。 这个协议为交互零知识证明的雏形。 Hamilton回路零知识协议 许多计算上困难的问题可以用来构造零知识协议。 在图论中,图 G中的回路是指始点和终点相重合的路径,若回路通过图的每个顶点一次且仅一次,则称图 G为哈密尔顿回路,构造图 G的哈密尔顿回路是 NPC 问题。 假定 P知道图 G的哈密尔顿回路,并希望向 V证明这一事实,可采用如下协议: (1)P 随机地构造一个与图 G同构的图 W。并将 W 交给 V。 (2)V 随机地要求 P做下述两件工作之一: 证明图 G和图 W 同构; 指出图 W 的一条哈密尔顿回路。 (3)P 根据要求做下述两件工作之一: 证明图G和图 W 同构,但不指出图 G或图 W 的哈密尔顿回路; 指出图 W 的哈密尔顿回路,但不证明图 G和图 W 同构。 (4)P 和 V重复以上过程 n 次。 另一种是FFS模型,在这种模型中,证明者和验证者均具有多项式时间的计算能力,证明者的目的不是向验证者证明I∈L,而是证明他知道I是否属于L。 FFS模型是真正的零知识证明,因为在证明中,验证者没有得到任何信息,他连I∈L还是I L都不知道,但他相信这个证明,通常称这种交互零知识证明为知识零知识证明或身份零知识证明。 Feige-Fiat-Shamir 身份识别协议 在一个安全身份识别协议中,我们希望识别者 Alice 能向验证者 Bob 电子地证明他的身份,而又没有向 Bob 泄露他的识别信息,这十分类似于零知识的思想。 1986年,Feige,Fiat 和 Shamir基于零知识的思想设计了一个零知识身份识别协议,这就是著名的 Feige-Fiat-Shamir 零知识身份识别协议。该协议的目的是证明者P向验证者V证明他的身份,且事后V不能冒充P。 简化的 Feige-Fiat-Shamir 身份鉴别方案 在发放私人密钥之前,仲裁方随机选取一个模数n,n为两个大素数之积。实际中,n应至少为 512 位长,尽量接近 1024 位。n值可在一组证明者之间共享。 Feige-Fiat-Shamir 身份鉴别方案 从实用角度考虑,要保证用户身份识别的安全性,识别协议至少要满足以下条件: 识别者A能够向验证者B证明他的确是A。 在识别者A向验证者B证明他的身份后,验证者B没有获得任何有用的信息,B不能模仿A向第三方证明他是A 。 目前已经设计出了许多满足这两个条件的识别协议。比如Schnorr身份识别协议、Okanmto身份识别协议、Guillou-Quisquater身份识别协议和基于身份的识别协议等。这些识别协议均是询问-应答式协议。 询问-应答式协议的基本观点是:验证者提出问题(通常是随机选择一些随机数,称作口令),由识别者回答,然后验证者验证其真实性。一个简单的询问-应答式协议的例子如下: 识别者A通过用户名和密码向验证者B进行注册; 验证者B发给识别者A一个随机号码(询问); 识别者A对随机号码进行加密,将加密结果作为答复,加密过程需要使用识别者A的私钥来完成(应答); 验证者B证明识别者A确实拥有相关密钥(密码)。 对于攻击者Oscar来说,以上询问-应答过程具有不可重复性,因为当Oscar冒充识别者A与验证者B进行联系时,将得到一个不同的随机号码(询问),由于Oscar无法获知识别者A的私钥,因此他就无法伪造识别者A的身份信息。 以上例子中的身份验证过程是建立在识别者A和验证者B之间能够互相信任的基础上的,如果识别者A和验证者B之间缺乏相互信任,

文档评论(0)

beifanglei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档