- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲零知识证明
零知识证明 概念 “零知识证明”-zero-knowledge proof,是由Goldwasser等人在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。 Quisquater-Guillon零知识协议 1990年,Quisquater和Guillon提出一种形象的基本零知识协议的例子。如下图所示,该图表示一个简单的迷宫,只有知道秘密口令的人才能打开C 和D之间的密门。现在,P希望向V证明P能够打开此门,但是又不愿意向V泄漏P掌握的秘密口令。为此, P采用了所谓的“分隔与选择”技术实现一个零知识协议。 分隔与选择(cut and choose)协议 A将蛋糕分成两半; B为自己选择其中的一半; A得到剩下的一半。 这是一种公平协议, A如果分割不均匀, B总能选择对自己有利的一半。 这个协议为交互零知识证明的雏形。 1) V 站在A点。(2) P 一直走到迷宫深处,随即选择C点或者D点。(3) 在 P消失后,V走到B点。(4) V 向 P 喊叫,要她:从左通道出来,或者从右通道出来。(5) P答应了,如果有必要她就用秘密口令打开密门。P 和 V重复第(1)至第(5)步 n 次。 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都不知道,但他相信这个证明,通常称这种交互零知识证明为知识零知识证明或身份零知识证明。 从实用角度考虑,要保证用户身份识别的安全性,识别协议至少要满足以下条件: 识别者A能够向验证者B证明他的确是A。 在识别者A向验证者B证明他的身份后,验证者B没有获得任何有用的信息,B不能模仿A向第三方证明他是A 。 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 身份鉴别方案 其他身份识别协议 Schnorr 鉴别协议 攻击身份的零知识证明例子 象棋大师问题 一个有预谋的用户A想使其他人相信她是一个象棋高手,她可以通过这样的方法来实现:她找到两位世界顶尖级象棋界高手B和C,向他们提出挑战,并定于同一时间,在同一地点的不同房间和他们进行比赛。在比赛的过程中,每当B或C下一步棋,A就跑到隔壁的房间如法炮制,走同一步棋。也就是说,尽管B和C以为他们都在和A对弈,但实际的情况是B和C在彼此对弈。无论最后是B和C哪个赢,A总会是某一局棋的得胜者,从而向其他人证明她的确是一名象棋高手。该过程是对身份的零知识证明的一种攻击。 黑手党骗局 A正在B(黑手党)的餐厅吃饭。此时C(黑手党)按照计划来到一家D开的高档珠宝店买东西。B和C随时可以通过一条秘密的无线电线路保持联系,而A和D都对即将到来的骗局一无所知。 当A准备结账并对B证明其身份时,B立刻发信号给C让他准备行动,此时的C早已挑好了许多名贵珠宝,于是他向D证明他的身份。当D开始提问时,C用无线电把问题传给B,B则向A询问同样的问题,得到了答复后B再把答案通过无线电
文档评论(0)