Will this scheme work ... From: moudgill@cs.cornell.edu ( Mayan Moudgill) Date: Sat, 25 Sep 1993 05:56:07 +0000 The Problem: A group of people are playing a game over e-mail. They need to throw dice every turn. Unfortunately, they can't find somebody ``trustworthy'' to do it for them. So, how can they throw dice A Solution?: Set up a mail server that accepts a message of the form ``throw N dice, and send the results to all the players.'' The server will reply with N random numbers between 1 & 6 inclusive to all players. It will also mark it with an ID number which includes the number of dice it has thrown previous to this request. Now the following must be ensured: 0. It should be impossible to deny a request. ``I didn't send that'' 1. Nobody (including the person running the software) can undetectably forge a response. ``Hmmm, let me see, I need a 6 3 3 1....vi forged-message'' 3. Nobody (including the person running the software) can ``look-ahead'' i.e., predict what the next N numbers will be and use those. ``Lets see what the next 4 numbers are, a 3 6 2 6...okay, my high-risk attacks go in on turns 2 and 4'' The solution to #0, I am sure, will be suggested by somebody. (Gotta read the FAQ....all 14 postings?) About #1, which I am currently thinking about depends on using random(). What the person starting the server does is send an encrypted copy of the initial state to everybody, and the first 1000 numbers. Using #0, we can guarantee that the response is from the mailer. If there is a question about the probity of the person running the server, he sends out the key, everybody decrypts the seed, and runs it 1000 times, verifying that the output is indeed correct. Then, they run it till it matches the ID...easy verification. As for #3, the only solution I can think of is for people to use multiple servers, and nobody to ask for numbers from his own server. Only works in an adversarial game---but then, most games are..... So, what do people think.... I'd appreciate e-mail'd replies, and I'll summarize and post to both rec.games.pbm and sci.crypt (BTW: I've restricted follow-up to sci.crypt...if somebody has some mods they'd like to this approach which are interesting only to the pbm community *PLEASE* change the follow-up field. Thanks!) :) Mayan Referenced By Up