Fair dice over network w/o trusted 3rd party
- by Kay
Though it should be a pretty basic problem, I did not find a solution for it:
How to play dice over a network without a trusted third party?
The M players shall roll N dice, one player after another.
No player may "cheat", i.e. change the outcome to his advantage, or "look into the future" before the next roll.
Is that possible?
I guess the solution would be something like public key crypto, where each player turns in an encrypted message. After all messages were collected you exchange the keys to decode the messages. Then the sha1(joined string of all decrypted messages) mod 6 + 1 is used to determine the die.
The major problem I have: since the message [c/s]hould be anything, I don't know how to prevent tampering with the private keys. Esp. the last player to turn in his key could easily cheat (I guess).
The game should even stay fair, if all players "conspire" against one player.