两人智力扑克

类似思维掷硬币,智力扑克借用思维实现远程打扑克。

实现过程比较简单,这里就直接说出它的具体实现过程,相信看完后就能明白。

参与者:Alice、Bob。

(1):Alice对52个消息进行对称加密,得到M1、M2、...M52,这里每一个消息代表一张牌。加密完成后发送给Bob。

(2):Bob随机挑选出五个消息,假设为Mn1、Mn2、...、Mn5, 并再次对它们进行对称加密,得到Mn1‘、Mn2’、...、Mn5‘。加密完成后发送给Alice。

(3):Alice对这五个消息进行解密,发送给Bob,Bob由此对这五个消息进一步解密,得到手牌。这一步避免了Alice与Bob作弊的可能性,

            若有人作弊,在游戏结束后双方出示各自的密钥时可以发现。

(4):Bob再随机挑选另外的五个信息并发送给Alice。

(5):Alice对这五个信息进行解密得到手牌。

PS:双方可以重复上述过程以得到一定数量的手牌,在游戏结束后必须出示双方密钥用来验证在游戏过程中没有作弊。

原文地址:https://www.cnblogs.com/hhjfighting/p/7770574.html