概述
掷币协议(Coin-Flipping by Phone)
Alice和Bob想通过投币协议,决定是去 Cinema 还是去 Opera:
1、使用单向函数的投币协议
① Alice随机选择一个数x,计算y=f(x);
② Alice把y送给Bob;
③Bob猜测x是奇数还是偶数,将猜测结果发给 Alice;
④ Alice发送x给Bob,Bob验证自己是否猜对;
⑤如果x是偶数,那么表示结果为正面,去 Cinema;否则,为反面,去 Opera。
如果双方都是诚实可信的,那么该协议有效。安全性依赖于函数f的单向性。
但是双方不一定都可信,Alice就存在欺骗的可能。
2、使用公钥技术的投币协议
①Alice随机选择两个消息,,利用自己的公钥加密得到,送给Bob;
②Bob随机选择一个,并利用自己的公钥加密得到送给Alice;
③ Alice用自己的私钥解密得到发给Bob;
④Bb解密得到m。
⑤如果,那么表示结果为正面,去 Cinema;否则,为反面,去Opera
⑥Aice和Bob分别公布自己的私钥,让对方验证自己没有欺骗。
最后
以上就是香蕉棒棒糖为你收集整理的现代密码学(六)——投币协议(Coin-Flipping by Phone)的全部内容,希望文章能够帮你解决现代密码学(六)——投币协议(Coin-Flipping by Phone)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复