- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * 阈 yu * * * * * * * * * * * * * * Alice只能把R1给Bob,否则: Bob知道R1+R2,因为b很简单,Bob可以暴力计算所有的b,和hash比较得到结果。 * * * * * * * * * * 比特承诺方案具有两个重要性质 隐蔽性:即接收者不能通过接收的箱子来确定承诺值m 约束性:发送者不能改变箱子中的承诺值m 构造比特承诺 使用单向函数 :哈希函数 ,公钥加密 比特承诺 * 比特承诺 Alice承诺b(使用对称密码算法) (1)Bob产生一个随机比特串R,并把它发送给Alice。 (2)Alice生成一个由她想承诺的比特b组成的消息(b实际上可能是几个比特),以及Bob的随机串。她用某个随机密钥K对它加密,并将结果EK(R,b)送回给Bob。 Alice揭示b 当到了Alice揭示她的比特的时候,协议继续: (1)Alice发送密钥给Bob; (2)Bob解密消息以揭示比特。他检测他的随机串以证实比特的有效性。 * 比特承诺 Alice承诺b(使用单向函数的比特承诺) (1)Alice产生两个随机比特串,R1和R2。 (2)Alice产生消息,该消息由她的随机串和她希望承诺的比特组成。(R1,R2,b)。 (3) Alice计算消息的单向函数值,将结果以及其中一个随机串发送给Bob。H(R1,R2,b),R1。 当到了Alice揭示她的比特的时候,协议继续: (1)Alice将原消息发给Bob。(R1,R2,b) ; (2)Bob计算消息的单向函数值,并将该值及R1与原先第(3)步收到的值及随机串比较。如匹配,则比特有效。 * 比特承诺 Alice承诺(使用伪随机序列发生器的比特承诺) (1)Bob产生随机比特串RB,并送给Alice 。 (2)Alice为伪随机比特发生器生成一个随机种子(这样,可以生成较长的信息)。然后,对Bob随机比特串中的每一比特,她回送Bob下面两个中的一个:(a)如果Bob比特为0,发生器输出自己的比特; (b)如果Bob的比特为1,发生器输出与她的承诺比特的异或 。 当到了Alice揭示她的比特的时候,协议继续: (1)Alice将随机种子送给Bob ; (2)Bob确认Alice的行动是合理的 。 * 公平的硬币抛掷 Alice和Bob想抛掷一个公平的硬币,但又没有实际的物理硬币可抛。Alice提出一个用思维来抛掷公平硬币的简单方法。“首先,你想一个随机比特,然后我再想一个随机比特,我们将这两个比特进行异或。”Alice建议道。 “但如果我们中有人不随机抛掷硬币怎么办呢?”Bob问道。“这无关紧要,只要这些比特中的一个是真正随机的,它们之异或应该也是真正随机的。”Alice这样回答。经过思考后,Bob同意了。 * 公平的硬币抛掷 没过多久,Alice和Bob碰到一本关于人工智能的书,这本书被丢弃在路旁。 优秀公民Alice说:“我们中有一个必须拣起这本书,并找到一个合适的垃圾箱。”Bob同意并提议用抛币协议来决定谁必须将这本书扔掉。“如果最后的比特是‘0’,那么你必须拣取那本书,如果是‘1’,那我必须那样做。”Alice说。“你的比特是什么?”Bob答道:‘1’。“为什么,我的也是1”Alice顽皮地说“我猜想今天不是你的幸运日。” * 抛硬币游戏 假设 Alice和Bob要离婚,讨论谁得到什么 . . . 并且俩人谁也不想见谁. . . 在谁拥有车这个问题上有争议。最后他们决定抛硬币… 问题: 如果他们相互不信任,又如何能在电话里抛硬币决定? Head, Alice Tail, Bob * 公平的硬币抛掷 首先,Bob确定一个比特,将它写在纸上,并装入信封中。 Alice公布她选的比特。 Alice和Bob从信封中取出Bob的比特并计算随机比特。只要至少一方诚实地执行协议,这个比特的确是真正随机的。 应用:掷币协议能让Alice和Bob产生随机会话密钥,以便双方都不能影响密钥生成的结果。 * 公平的硬币抛掷 利用比特承诺协议 (1)Alice利用比特承诺方案,对一个随机比特承诺。 (2)Bob试图去猜测这个比特。 (3)Alice出示这个比特给Bob,如果Bob正确地猜出这个比特,他就赢得了这次抛币。 * 公平的硬币抛掷 采用单向函数的抛币协议 (1)Alice选择一个随机数x,她计算y=f(x),这里f(x)是单向函数; (2)Alice将y送给Bob; (3)Bob猜测x是偶数或奇数,并将猜测结果发给Alice; (4)如果Bob的猜测正确,抛币结果为正面;如果Bob的猜测错误,
文档评论(0)