Files
2025-02-22 22:42:02 +08:00

12 lines
956 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 智能扑克协议
----
## 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. 发牌结束后双方交换密钥以验证此过程没有作弊