Alice and Bob
Alice and Bob, also just A and B, are the standard example users in writing on cryptography, coding theory, communication complexity theory etc. Carol and Dave often join them for protocols that require more than two players.
The most familiar names in network security are neither vendors nor geeks: Try Alice and Bob.[1]
Bruce Schneier extends these [2] with two kinds of attacker:
- Eve the Eavesdropper, using passive attacks, just trying to read messages
- Mallory the Malicious, using active attacks, attempting to deceive A and B by altering messages or sending bogus ones
and several other types of player required in various protocols:
- Victor the Verifier
- Peggy the Prover
- Trent the Trusted third party
- Walter the Warden, who watches over A and B in some protocols
Schneier's extensions seem to be in the process of becoming standard as well. There is even an XKCD cartoon with Eve being jealous of Alice over Bob.
It is also moderately common to add additional characters as needed for a particular protocol. For example, in discussing a e-commerce system, one might need Matlida the Merchant and Ivan the Issuer of credentials.
History
Alice and Bob were introduced in the original paper (1978)[3] on the RSA algorithm for public key cryptography.
Rivest ... says he came up with Alice and Bob to be able to use "A" and "B" for notation, and that by having one male and one female, the pronouns "he" and "she" could be used in descriptions. Rivest says it is possible that Alice came to mind because he is something of an Alice in Wonderland buff.[1]
The similar name of the film Bob & Carol & Ted & Alice and subsequent TV show appears to be just a coincidence. Rivest denies that there is a connection.
Alice and Bob have an amusing biography on the web.
Now there are hundreds of papers written about Alice and Bob. Over the years Alice and Bob have tried to defraud insurance companies, they've played poker for high stakes by mail, and they've exchanged secret messages over tapped telephones.
If we put together snippets from lots of papers, we get a fascinating picture of their lives. This may be the first time a definitive biography of Alice and Bob has been given. ...
Against all odds, over a noisy telephone line, tapped by the tax authorities and the secret police, Alice will happily attempt, with someone she doesn't trust, whom she cannot hear clearly, and who is probably someone else, to fiddle her tax returns and to organise a coup d'etat, while at the same time minimising the cost of the phone call.
A coding theorist is someone who doesn't think Alice is crazy.[4]
Other pairs
While Alice and Bob are standard in cryptography and coding theory, other pairs of players are used in other domains.
Arthur and Merlin were introduced by László Babai (1985)[5]. This pair is used in computational complexity theory for interactive proof systems: Merlin, the wizard, is the nondeterministic player (with unbounded computational power) who wants to convince the random player Arthur of the truth of a statement.
Paul and Carole are used in combinatorial game theory and were introduced by Joel Spencer and Peter Winkler (1992)[6] in their study of the Twenty Questions game where Paul asks the questions and Carole answers them. In this pair "Paul" refers to Pál (=Paul) Erdős and "Carole" is an anagram of "oracle". They are further used in certain games in the roles of Pusher and Chooser respectively, and have since been used in various roles.[7]
In English grammar discussions, notably in Noam Chomsky's writings, John and Mary are often used.
References
- ↑ 1.0 1.1 "Security's inseparable couple", Network World, Feb 2005
- ↑ Schneier, Bruce (2nd edition, 1996,), Applied Cryptography, John Wiley & Sons, ISBN 0-471-11709-9 page 23
- ↑ Rivest, Shamir & Adleman (1978), "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Commun. ACM 21: 120-126
- ↑ John Gordon (1984), The Story of Alice and Bob
- ↑ László Babai, Trading group theory for randomness. STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing, ACM. 421–429 (1985), [1]
- ↑ Spencer, Joel & Peter Winkler (1992), "Three Thresholds for a Liar", Combinatorics, Probability and Computing 1: 81–93
- ↑ Muthukrishnan, S. (2005), Data Streams: Algorithms and Applications, Now Publishers, ISBN 9781933019147, at 3