Jak bezpiecznie rozdawać karty?

Dec 03 2020

Dzięki pewnej pandemii zastanawiałem się, czy istnieje kryptograficzny sposób na zdalne rozdawanie kart bez możliwości ich poznania przez krupiera i bez konieczności ufania serwerowi. Moje pierwsze impulsy dotyczyły dzielenia się tajemnicami i potwierdzania zerowej wiedzy, ale prawdopodobnie nie jest to nawet powiązane ... Pierwsze przemyślenia:

Biorąc pod uwagę stos $S$ z $N$ karty, $n$ należy rozpatrywać do każdego rozdania $H_i, i\in\{1,2,...,p\}$ z $p$ gracze z następującymi wymaganiami:

  1. $N\ge n\cdot p$ (oczywiście)
  2. Raz wylosowana karta nie może zostać narysowana przez kogoś innego, tj $$\forall i\neq j: H_i\cap H_j = \{\}$$
  3. Nikt nie może być w stanie określić, które karty ma ktoś inny, ani które pozostają w stosie. Samo przekazywanie zaszyfrowanego stanu torby losowej nie jest więc wystarczające. Może każdy powinien wnieść jakąś zaszyfrowaną losowość, która w drugiej rundzie służy do określenia rozdanych kart?
  4. W pewnym momencie trzeba być w stanie udowodnić, że karta jest § aktualnie w ręku.

Czy jest jakaś metoda, która może to osiągnąć?


§ Myślę, że blockchain mógłby być użyty do śledzenia późniejszych zmian kart

Odpowiedzi

1 ModalNest Dec 03 2020 at 01:18

Myślę, że szukasz „mentalnego pokera” .

Oto film przedstawiający Rona Rivesta, w szczególności omawiającego sposób rozdawania kart przez pocztę / Internet.

Artykuł tutaj może być również dobrą lekturą (od twórców RSA).