zoukankan      html  css  js  c++  java
  • 三人智力扑克

    三人扑克是两人扑克的升级版,但实现的思想是一致的。这里的加解密均为不对称。

    性质:发牌方进行初次加密,收牌方进行二次加密并回传,发牌方解密回传后,收牌方得到手牌。

    参与者:Alice、Bob、Carol

    实现过程:

    (1):Alice产生52个消息,分别对它们进行加密,得到M(A1)、M(A2)、...M(A52)。

    (2):Alice首先将M1、M2、...M52发送给Bob,Bob随机挑选五张牌进行加密,得到M(B(A1))、M(B(A2)、...、M(B(A5)),

           回传给Alice,由Alice解密为M(B1)、M(B2)、...、M(B5)后再次发送给Bob,Bob解密得到手牌。

    (3):Bob将剩下的47个消息发送给Carol。

    (4):Carol从47个消息里选择五个消息进行加密,得到M(C(A1))、M(C(A2)、...、M(C(A5))。Carol将这五个消息回传给Alice,

         Alice进行解密后得到M(C1)、M(C2)、...、M(C5),将它们回传给Carol后,Carol解密得到手牌。

    (5):Carol从剩下的42个消息里随机选五个,发送给Alice。Alice解密它们得到她自己的手牌。

    (6):游戏结束后,未出完牌的玩家出示剩下的手牌,三方出示各自的密钥对。

    如何在三人扑克里作弊:

    (1):Carol与Alice串通,Carol直接将Bob传来的47张手牌发送给Alice,Alice与Carol得到了Bob的手牌

    (2): Bob与Alice串通,Bob选完牌后将自己的手牌发送给Alice。同时Carol只能从余下的47张里选取手牌,并且Carol会从她选完后

        余下的42张里选五张给Alice。这时,Alice只需要排除掉Bob与她自己的手牌,那么剩下的五个消息即为Carol的手牌。

  • 相关阅读:
    HTML表格的简单使用1
    守卫路由使用
    CSS高度塌陷问题解决方案
    CSS导航条nav简单样式
    Linux学习
    TYpeScript接口的使用
    javaScript中自定义sort中的比较函数,用于比较字符串长度,数值大小
    給eclipse添加字体,设置字体
    tomcat自动URLDecode解码问题(+号变空格)
    时间管理
  • 原文地址:https://www.cnblogs.com/hhjfighting/p/7770694.html
Copyright © 2011-2022 走看看