0密码协议(不经意传输和掷硬币协议).ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * 密码协议 第9章 密码协议 * 协议 协议是一系列步骤 它包括两方或多方 设计它的目的是要完成一项任务 * 协议特点 协议中的每人都必须了解协议,并且预先知道所要完成的所有步骤。 协议中的每人都必须同意遵循它。 协议必须是不模糊的,每一步必须明确定义,并且不会引起误解。 协议必须是完整的,对每种可能的情况必须规定具体的动作。 * 密码协议 密码协议,有时也称作安全协议,是以密码学为基础的消息交换协议,其目的是在网络环境中提供各种安全服务。密码学是网络安全的基础,但网络安全不能单纯依靠安全的密码算法。安全协议是网络安全的一个重要组成部分,我们需要通过安全协议进行实体之间的认证、在实体之间安全地分配密钥或其它各种秘密、确认发送和接收的消息的非否认性等。 密码协议包含某种密码算法. 参与该协议的伙伴可能是朋友和完全信任的人,或者也可能是敌人和互相完全不信任的人。 在协议中使用密码的目的是防止或发现偷听者和欺骗. * 协议的目的 计算一个数值想共享它们的秘密部分 共同产生随机序列 确定互相的身份 同时签署合同 * 对协议的攻击 被动攻击 主动攻击 被动骗子 主动骗子 协议对被动欺骗来说应该是安全的 合法用户可以发觉是否有主动欺骗 * 9.5 不经意传输协议 设A有一个秘密,想以1/2的概率传递给B,即B有50%的机会收到这个秘密,另外50%的机会什么也没有收到,协议执行完后,B知道自己是否收到了这个秘密,但A却不知B是否收到了这个秘密。这种协议就称为不经意传输协议。 例如A是机密的出售者,A列举了很多问题,意欲出售各个问题的答案,B想买其中一个问题的答案,但又不想让A知道自己买的是哪个问题的答案。 * 9.5 不经意传输协议 1. 基于大数分解问题的不经意传输协议 设A想通过不经意传输协议传递给B的秘密是整数n(为两个大素数之积)的因数分解。这个问题具有普遍意义,因为任何秘密都可通过RSA加密,得到n的因数分解就可得到这个秘密。 协议基于如下事实: 已知某数在模n下两个不同的平方根,就可分解n。 * 9.5 不经意传输协议 协议如下: ① B随机选一数x,将x2 mod n发送给A。 ② A(掌握n=pq的分解)计算x2 mod n的4个平方根±x和±y,并将其中之一发送给B。由于A只知道x2 mod n,并不知道4个平方根中哪一个是B选的x。 ③ B检查第②步收到的数是否与±x在模n下同余,如果是,则B没有得到任何新信息;否则B就掌握了x2 mod n的两个不同的平方根,从而能够分解n。而A却不知究竟是哪种情况。 显然,B得到n的分解的概率是1/2。 * 9.5 不经意传输协议 2. “多传一”的不经意传输协议 设A有多个秘密,想将其中一个传递给B,使得只有B知道A传递的是哪个秘密。设A的秘密是s1,s2,…,sk,每一秘密是一比特序列。协议如下: ① A告诉B一个单向函数f,但对f-1保密。 ② 设B想得到秘密si,他在f的定义域内随机选取k个值x1,x2,…,xk,将k元组(y1,y2,…,yk)发送给A,其中 * 9.5 不经意传输协议 ③ A计算zj=f-1(yj)(j=1,2,…,k),并将zj sj(j=1,2,…,k)发送给B。 ④ 由于zi=f-1(yi)=f-1(f(xi))=xi,所以B知道zi,因此可从zi si获得si。 由于B没有zj(j≠i)的信息,因此无法得到sj(j≠i),而A不知k元组(y1,y2,…,yk)中哪个是f(xi),因此无法确定B得到的是哪个秘密。 * 9.6 掷硬币协议 在某些密码协议中要求通信双方在无第三方协助的情况下,产生一个随机序列,因为A、B之间可能存在不信任关系,因此随机序列不能由一方产生再通过电话或网络告诉另一方。这一问题可通过掷硬币协议来实现,掷硬币协议有多种实现方式,下面介绍其中的3种。 * 9.6 掷硬币协议 1. 采用平方根掷硬币 协议如下: ① A选择两个大素数p、q,将乘积n=pq发送给B。 ② B在1和n/2之间,随机选择一个整数u,计算z≡u2 mod n,并将z发送给A。 ③ A计算模n下z的4个平方根±x和±y(因A知道n的分解,所以可做到),设x’是x mod n和-x mod n中较小者,y’是y mod n和-y mod n中较小者,则由于1<u<n/2,所以u为x’和y’之一。 * 9.6 掷硬币协议 ④ A猜测u=x’或u=y’,或者A找出最小的i使得x’的第i个比特与y’的第i个比特不同,A猜测u的第i个比特是0还是1。A将猜测发送给B。 ⑤ B告诉A猜测正确或不正确,并将u的值发送给A。 ⑥ A公开n的因子。 * 9.6 掷硬币协

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档