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