6

I have just read mental poker, described in this fascinating paper(PDF) by cryptographic greats Adi Shamir, Ron Rivest, and Leonard Adleman.

Assuming I have a website, (TTP) how can I prove to the player that the hand dealt to him is fair? Most importantly how can I prove that I didn't bruteforce until an unfair hand is dealt to him to gain house edge, are there any C# implentations of such code?

Gilles 'SO- stop being evil'
  • 44,159
  • 8
  • 120
  • 184

1 Answers1

1

I found out you can prove a hand is fair with the following method:

Every user has a randomly generated "secret" in an input field he can personally edit, before each card is picked all the secrets are sent to the server and hashed seperately, then all the secrets are hashed into a single hash which is used as a seed for the random functions.

Then all the players hashes are sent to every player and being displayed on that players screen, when it is safe, every player is also shown all the other players secret phrases this way: A) Every player knows that the secrets weren't changed after the game since they have the hashes B) It is impossible for them to find the secrets and get an unfair advantage before it is safe to reveal the secrets C) They can now know that every card is dealt fairly