Каталог

ПРОТОКОЛ ИГРЫ В МЫСЛЕННЫЙ ПОКЕР ШАМИРА, РИВЕСТА И АДЛЕМАНА Протокол MPSRA
Протокол игры в мысленный покер

 

Постановка задачи

Пусть A (Alice) и B (Bob) находятся на удалении друг от друга, и они не доверяют друг другу. Они хотят играть в покер без карт (по телефону).

Описание протокола

Условие - коммутативность алгоритма: $ E_{K_2}(E_{K_1}(M))=E_{K_1}(E_{K_2}(M))$

1) $ A$ и $ B$ создают пары открытый ключ/закрытый ключ. 

2) $ B$ создает 52 сообщения, по одному для каждой карты колоды $ M_1, M_2, ..., M_{52}$, шифрует все сообщения своим открытым ключом $ E_{B}(M_1), E_{B}(M_2), ..., E_{B}(M_{52})$ и в произвольном порядке отправляет их $ A$

3) $ A$ случайным образом выбирает 5 сообщений $ E_{B}(M_{i_1}), E_{B}(M_{i_2}), ..., E_{B}(M_{i_5})$ из полученных и отправляет их обратно $ B$

4) $ B$ расшифровывает полученные 5 сообщений своим закрытым ключом и узнает свои карты $ D_{B}(E_{B}(M_{i_1}))=M_{i_1}, D_{B}(E_{B}(M_{i_2}))=M_{i_2}, ..., D_{B}(E_{B}(M_{i_5}))=M_{i_5}$

5) $ A$ случайным образом выбирает другие 5 сообщений$ E_{B}(M_{j_1}), E_{B}(M_{j_2}), ..., E_{B}(M_{j_5})$ из полученных, шифрует их своим открытым ключом$ E_{A}(E_{B}(M_{j_1})), E_{A}(E_{B}(M_{j_2})), ..., E_{A}(E_{B}(M_{j_5}))$ и отправляет $ B$

6) $ B$ расшифровывает полученные 5 сообщений своим закрытым ключом$ D_{B}(E_{A}(E_{B}(M_{j_1})))=E_{A}(M_{j_1}), D_{B}(E_{A}(E_{B}(M_{j_2})))=E_{A}(M_{j_2}), ..., D_{B}(E_{A}(E_{B}(M_{j_5})))=E_{A}(M_{j_5})$, и отправляет их обратно $ A$

7) $ A$ расшифровывает полученные 5 сообщений и узнает свои карты$ D_{A}(E_{A}(M_{j_1}))=M_{j_1}, D_{A}(E_{A}(M_{j_2}))=M_{j_2}, ..., D_{A}(E_{A}(M_{j_5}))=M_{j_5}$

Замечание. Дополнительные карты раздаются подобным же образом. 

8) В конце игры участники раскрывают свои карты и пары ключей, чтобы каждый мог убедиться в отсутствии мошенничества.

 

Основные сведения
Авторы

Adi ShamirRonald L. RivestLeonard Adleman

 

Ссылки
  1. Shamir A., Rivest R., Adleman L. Mental poker // The Mathematical Gardner. - 1981. - P. 37-43.