Suppose Carol wants to join in on the fun.
- Alice, Bob, and Carol will each generate their own public-key/private-key pairs.
- Alice will generate 52 messages just as she did before to represent each card in the deck.
- Each of these messages should contain a random string of characters that differs on each card. This will allow her to verify the authenticity of the messages later on, to assure that no one has cheated.
- Alice encrypts each of the 52 messages with her public key and sends them all to Bob.
- Bob will choose 5 of these messages at random and encrypt them with his public key and send each of them back to Alice.
- Bob will then send the other 47 messages to Carol.
- Carol will then choose 5 messages at random from the remaining 47. Encrypts them with her public key and sends them to Alice just as Bob did previously.
- Alice decrypts all 10 of the messages that she has received and sends the corresponding messages back to Bob or Carol.
- Bob and carol can now decrypt their messages to reveal their hand.
- Carol will then choose five of the messages that remain from the 42 messages that she has and send them to Alice (they are still encrypted with Alice’s public key).
- Alice then decrypts the messages with her private key and all of the players now know what cards they have.
- To end the protocol each of the participants will reveal their cards and their keys to all of the players and each of them can then verify that the hands are authentic and that no cheating took place.
