【摘要】:硬币抛掷游戏试图使彼此互不信任的双方对一个随机位达成共识。Bob猜测Alice的抛币结果。Bob解密消息来看结果,他检查他的随机串以证实该消息的有效性。Bob的随机串避免了这个攻击,Alice必须找到一个新消息,这个消息不仅使她的位反向,而且还要使Bob的随机串准确地重新生成。一般来说,此问题需要一个具有如下性质的协议:Alice必须在Bob猜测前抛币;得到Bob的猜测结果后,Alice不能再抛币;Bob在猜测前不知道硬币的抛掷结果。
硬币抛掷游戏试图使彼此互不信任的双方对一个随机位达成共识。我们希望能达到这样的目标:如果双方玩家都诚实地遵守规定的协议,那么他们的输出结果必然是相同的,且结果随机;如果有任意一方违反协议的要求,妄想进行欺骗,那么我们希望诚实一方的输出结果仍然是随机的,以确保该协议的安全性。
Alice和Bob执行下面的协议:
(1)Bob产生一个随机位串R,把它发送给Alice。
(2)Alice抛币产生一个结果b,她用某个密钥K对它们加密,并把结果EK(R,b)送回给Bob。
(3)Bob猜测Alice的抛币结果。
(4)Alice发送密钥给Bob。(www.daowen.com)
(5)Bob解密消息来看结果,他检查他的随机串以证实该消息的有效性。
如果消息不包含Bob的随机串,那么Alice能够秘密地用一系列密钥解密她交给Bob的消息,直到找到一个她想要的结果,而不是她的真实抛币结果。Bob的随机串避免了这个攻击,Alice必须找到一个新消息,这个消息不仅使她的位反向,而且还要使Bob的随机串准确地重新生成。如果加密算法好,她发现这种消息的机会是极小的。因此这个协议得到了两个人的一致赞同。
一般来说,此问题需要一个具有如下性质的协议:(1)Alice必须在Bob猜测前抛币;
(2)得到Bob的猜测结果后,Alice不能再抛币;(3)Bob在猜测前不知道硬币的抛掷结果。
以下方法可以用来实现具有这些性质的协议。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关安全协议(第2版)的文章