Alice and Bob
Alice and Bob are two commonly used placeholder names. They are used for archetypal characters in fields such as cryptography and physics. The names are used for convenience; for example, "Alice sends a message to Bob encrypted with his public key" is easier to follow than "Party A sends a message to Party B encrypted by Party B's public key." Following the alphabet, the specific names have evolved into common parlance within these fields—helping technical topics to be explained in a more understandable fashion.
These placeholder names are used for convenience and easier understanding. For example, if a writer wants to explain encrypted emails, the explanation might be:
- 1. Alice gets Bob's public key from the company directory.
- 2. Alice sends a message to Bob encrypted with Bob's public key.
- 3. Bob can use his secret key to unscramble it.
Every reader can intuitively figure out that they themselves could do the same thing as Bob or Alice.
Following the alphabet, the specific names have evolved into common parlance within these fields—helping technical topics to be explained in a more understandable fashion.
- 4. Then Dave decrypts the email he got, and gives a copy to Gena.
- 5. Then Erin decrypts the email she got, and gives a copy to Heather.
In cryptography and computer security, there are a number of widely used names for the participants in discussions and presentations about various protocols. The names are conventional, somewhat self-suggestive, sometimes humorous, and effectively act as metasyntactic variables.
In typical implementations of these protocols, it is understood that the actions attributed to characters such as Alice or Bob need not always be carried out by human parties directly, but also by a trusted automated agent (such as a computer program) on their behalf.
Cast of characters
This list is drawn mostly from the book Applied Cryptography by Bruce Schneier. Alice and Bob are archetypes in cryptography; Eve is also common. Names further down the alphabet are less common.
- Alice and Bob. Generally, Alice wants to send a message to Bob. These names were used by Ron Rivest in the 1978 Communications of the ACM article presenting the RSA cryptosystem, and in A Method for Obtaining Digital Signatures and Public-Key Cryptosystems published April 4, 1977, revised September 1, 1977, as technical Memo LCS/TM82. Rivest denies that these names have any relation to the 1969 movie Bob & Carol & Ted & Alice, as occasionally suggested by others.
- Carol, Carlos or Charlie, as a third participant in communications.
- Chuck, as a third participant usually of malicious intent.
- Craig, the password cracker (usually encountered in situations with stored hashed/salted passwords).
- Dan or Dave, a fourth participant.
- Erin, a fifth participant. (It's rare to see Erin; E is usually reserved for Eve.)
- Eve, an eavesdropper, is usually a passive attacker. While she can listen in on messages between Alice and Bob, she cannot modify them. In quantum cryptography, Eve may also represent the environment.
- Frank, a sixth participant (and so on alphabetically).
- Mallet or Mallory, a malicious attacker (less commonly called Trudy, an intruder.); unlike the passive Eve, this one is the active man-in-the-middle attacker who can modify messages, substitute his/her own messages, replay old messages, and so on. The difficulty of securing a system against Mallet/Mallory is much greater than against Eve.
- Oscar, an opponent, similar to Mallet/Mallory but not necessarily malicious. Could be white-hat but still wants to crack, modify, substitute, or replay messages.
- Peggy, a prover, and Victor, a verifier, often must interact in some way to show that the intended transaction has actually taken place. They are often found in zero-knowledge proofs.
- Trent, a trusted arbitrator, is some kind of neutral third party, whose exact role varies with the protocol under discussion.
- Walter, a warden, may be needed to guard Alice and Bob in some respect, depending on the protocol being discussed.
- Wendy, a whistleblower, is an insider threat with privileged information.
Although an interactive proof system is not quite a cryptographic protocol, it is sufficiently related to mention the cast of characters its literature features:
- Arthur and Merlin: In interactive proof systems, the prover has unbounded computational ability and is hence associated with Merlin, the powerful wizard. He claims the truth of a statement, and Arthur, the wise king, questions him to verify the claim. These two characters also give the name for two complexity classes, namely MA and AM.
- A similar pair of characters is Paul and Carole. The characters were introduced in the solution of the Twenty Questions problem, where "Paul", who asked questions, stood for Paul Erdős and "Carole", who answered them, was an anagram of "oracle". They were further used in certain combinatorial games in the roles of Pusher and Chooser respectively, and have since been used in various roles.
- Newton, David E. (1997). Encyclopedia of Cryptography. Santa Barbara California: Instructional Horizons, Inc. p. 10.
- RFC 4949
- "Security's inseparable couple". Network World. February 7, 2005.
- Tanenbaum, Andrew S. (2007), Distributed Systems: Principles and Paradigms, Pearson Prentice Hall, p. 171;399–402, ISBN 978-0-13-239227-3
- Bruce Schneier (1994), Applied Cryptography: Protocols, Algorithms, and Source Code in C, Wiley, ISBN 9780471597568, p. 44: "Mallet can intercept Alice's database inquiry, and substitute his own public key for Alice's. He can do the same to Bob."
- Charles L. Perkins et al. (2000), Firewalls: 24seven, Network Press, ISBN 9780782125290, p. 130: "Mallet maintains the illusion that Alice and Bob are talking to each other rather than to him by intercepting the messages and retransmitting them."
- Brian LaMacchia (2002), .NET Framework Security, Addison-Wesley, ISBN 9780672321849, p. 616: "Mallet represents an active adversary that not only listens to all communications between Alice and Bob but can also modify the contents of any communication he sees while it is in transit."
- Shlomi Dolev, ed. (2009), Algorithmic Aspects of Wireless Sensor Networks, Springer, ISBN 9783642054334, p. 67: "We model key choices of Alice, Bob and adversary Mallet as independent random variables A, B and M [...]"
- Bruce Schneier (1996), Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition, Wiley, ISBN 9780471117094, p. 23: Table 2.1: Dramatis Personae
- Spencer, Joel; Winkler, Peter (1992), "Three Thresholds for a Liar", Combinatorics, Probability and Computing 1 (01): 81–93, doi:10.1017/S0963548300000080
- Muthukrishnan, S. (2005), Data Streams: Algorithms and Applications, Now Publishers, p. 3, ISBN 978-1-933019-14-7
- C.H. Lindsey, Regulation of Investigatory Powers Bill: Some Scenarios, 2000
- A Method for Obtaining Digital Signatures and Public-Key Cryptosystems
- The Alice and Bob After-Dinner Speech, given at the Zurich Seminar, April 1984, by John Gordon
- Geek Song: "Alice and Bob"
- Alice and Bob jokes (mainly Quantum Computing-related)
- Alice and Bob: IT's inseparable couple
- A short history of Bobs (story and slideshow) in the computing industry, from Alice & Bob to Microsoft Bob and Father of Ethernet Bob Metcalfe