A digest can be used to check the integrity of a message: that the message has not been
changed. To ensure the integrity of the message and the data origin authentication—
that Alice is the originator of the message, not somebody else—we need to include a
secret held by Alice (that Eve does not possess) in the process; we need to create a message
authentication code (MAC). Figure 29.17 shows the idea.