security - How can two clients on a network (A&B) negotiate a random number N, such that neither A nor B can know the value of N beforehand? -


the scenario:

suppose 2 clients , b connected on network. , b playing strategy game.  both , b have information of current state of game , both know circumstances when game won, lost or drawn.  both players making move @ same time , inform other it. 

now assume move of player reaches player b, before b has send off move. now, theoretically, player b change move in favor win game.

how can exchange of moves changed, such player b cannot cheat described above?


the described task above equivalent negotiate random number n between 2 clients , b, such neither nor b can force n specific number.

does know solution problem?

the scenario describing can solved use of cryptographic commitment scheme; such protocol can used negotiate random number having both parties commit random number, xor numbers together. number of such schemes exist, different properties regard binding (that is, how easy 1 of parties change value committed to) , concealing (that is, how easy 1 of parties determine value other 1 committed to).


Comments

Popular posts from this blog

python - Subclassed QStyledItemDelegate ignores Stylesheet -

java - HttpClient 3.1 Connection pooling vs HttpClient 4.3.2 -

SQL: Divide the sum of values in one table with the count of rows in another -