Photo by Michał Parzuchowski on Unsplash

Alice, Bob, Carol, Dave and Eve Play Mental Poker in Go

--

Okay. You have 52 cards, and you have five people in the game (with Alice, Bob, Carol, Dave and Eve), and they are all remote and none of them trusts any dealer. So how can you create a game, where we shuffle the cards, and where each player will get the same card dealt as each other? One method is defined within the following paper [here]:

What we want to do, is to generate 52 encrypted cards (E(ci)), and send them to each of the players. They will then shuffle them with a randomization factor for each encrypted card, and we should still be able to prove that the shuffle is still correct.

In this case, we will create a public key and a private key for the encryption, which we will share with all of the players. We will then use this to encrypt a number of cards (“1”, “2”,…). In ElGamal we create two values for each card: K and C. Once generated for each card, we can then distribute these to each of the players, and where they will shuffle the encrypted cards, and end up with the same shuffled sequence. We then need to prove that the shuffle and the re-randomization process has worked correctly. The ElGamal method has the advantage of implementing additive…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.