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的手牌。

  • 相关阅读:
    java web开发中会遇到的异步执行方案
    MySQL中进行树状所有子节点的查询
    node.js ----NPM使用介绍
    Node.js--学习笔记
    node.js介绍及Win7环境安装测试(转)
    Jmeter中Websocket协议支持包的使用(转)
    jmeter---将回应数据写入到文件
    JMeter 插件 Json Path 解析 HTTP 响应 JSON 数据(转)
    python + Pyglet ---播放视频
    转 RTSP客户端模拟器(TCP方式,Python实现)
  • 原文地址:https://www.cnblogs.com/hhjfighting/p/7770694.html
Copyright © 2011-2022 走看看