智能扑克协议
1. SRA协议
假设Alice和Bob要玩一局扑克牌游戏,开局的时候他们都要一副牌(52张)中各抽取5张,那么过程就是这样:
- Alice负责洗牌,她首先生成一个长度为52的数组,数组的每个元素表示一张牌,然后用她的加密算法
对这些元素进行加密,再把数组顺序打乱(洗牌)之后 发送给下Bob - Bob收到这些牌之后并不认识,因为上面都有Alice的锁,所以他只能随机挑出5张牌,用自己的加密算法之后生成
送给Alice - Alice收到这5张牌之后用自己的解密函数解密,生成
送还给Bob - Bob收到后进行解密,得到
作为自己的牌 - 最后Bob从剩下的47张牌中随机挑出5张送给Alice,Alice直接解密得到
作为她的牌 - 发牌结束后双方交换密钥以验证此过程没有作弊