In general, the network can be controlled by an adversary, who can perform the following operations:
Let us consider an active adversary Eve (usually referred as E), located on the right hand side of the network bar. The first possible attack is for Eve to intercept any message, e.g., in the case of the previous protocol, to intercept the message "secret" from Alice to Bob.
We therefore introduce a new status "/i", which indicates that the message has been intercepted (and the message should be underlined).
Eve can also block any message on the network. For instance, she can block the message "secret" from Alice to Bob.
We now introduce the status "/b", which indicates that the message has been blocked (and the message should be displayed in red).
Of course, Eve can also combine interception and blocking.
In either case, Bob never knows the message "secret".
For instance, Eve can send the message "fake" (assuming Eve knows that message) to Bob pretending to be Alice.
The assumption that Eve knows the message "fake" is very important (which is indicated above by using the color black for "fake" in Eve), as we do not want to consider the case where an adversary can send messages containing information they do not have access to. For instance, in the case above, Eve cannot send the message "secret", because she does not know it. However, she can intercept it from Alice, blocks it so that it does not arrive to Bob, and send a fake message instead. This is a classical example of a Man-in-the-middle attack.
In order to provide some confidentiality and integrity, agents can use encryption and decryption. We introduce these concepts in the next part.