The network is represented by a set of abstract machines that can exchange messages. These messages consist of formal terms. These terms reveal some of the internal structure of the messages, but some parts will hopefully remain opaque to the adversary.
The adversary in this model can overhear, intercept, and synthesise any message and is only limited by the constraints of the cryptographic methods used. In other words: "the attacker carries the message."
The algebraic model
Cryptographic primitives are modeled by abstract operators. For example, asymmetric encryption for a user is represented by the encryption function and the decryption function . Their main properties are that their composition is the identity function () and that an encrypted message reveals nothing about . Unlike in the real world, the adversary can neither manipulate the encryption's bit representation nor guess the key. The attacker may, however, re-use any messages that have been sent and therefore become known. The attacker can encrypt or decrypt these with any keys he knows, to forge subsequent messages.
A protocol is modeled as a set of sequential runs, alternating between queries (sending a message over the network) and responses (obtaining a message from the network).
The symbolic nature of the Dolev–Yao model makes it more manageable than computational models and accessible to algebraic methods but potentially less realistic. However, both kinds of models for cryptographic protocols have been related. Also, symbolic models are very well suited to show that a protocol is broken, rather than secure, under the given assumptions about the attackers capabilities.
- Dolev, D.; Yao, A. C. (1983), "On the security of public key protocols", IEEE trans. on Information Theory, IT-29: 198–208
- Backes, Michael; Pfitzmann, Birgit; Waidner, Michael (2006), "Soundness Limits of Dolev-Yao Models", Workshop on Formal and Computational Cryptography (FCC'06), affiliated with ICALP'06
- "Secure Transaction Protocol Analysis: Models and Applications", Lecture Notes in Computer Science / Programming and Software Engineering, 2008
- Herzog, Jonathan (2005), "A Computational Interpretation of Dolev-Yao Adversaries",