On Wed, 29 May 1996, Simon Spero wrote:
Design a set of crypto protocols to support the issuing, trading, and playing of such card games in real time (100ms compute time per move)
I'd been thinking about it from the opposite point of view: make up a card game (possibly electronic, like what you're proposing) that acts as intro to crypto for the untamed hordes of game players. As you noticed, Simon, cardgames are a good analogue for cryptography. They operate on the principle of secrecy/discovery (turning over the cards), there are analogues for all sorts of algorithms (rules of the game), we have randomness (shuffling), concepts of authentication (to beat cheaters, no cards up the sleaves, no color-laser-photocopied Magic cards...), tokens and smartcards (the cards themselves), integer numbers, and a whole host of special characters a la Alice, Bob, Trent, etc. (Kings, Queens, Jacks, Jokers). In short, all the building blocks for working crypto protocols and their interfaces, needing no introduction for most people. I can sort of even see a representation of a public card scheme with signatures and certs (I'll have to go grab a deck and try). Presumably, given a careful choice rules one could do for crypto what Solitaire did for Windows 3.1 . I see no reason why a card game could not be an interface for pgp or remailers, or an easier demonstration for DC-nets, blinding or complicated market protocols. One might even build a programming language out of such building blocks (probably for scripting). Poker for Java--Do not Export! (If the CJR for the RSA-Perl T-shirt was absurd wait till the authorities get stuck with this one.) (Mind you, I probably wouldn't use an imperative language like Java for the scripting, but that's just me.) This is of course all idle speculation, 'cause I'm lazy and have neither the time nor the expertise. It's all yours folks.