One fundamental notion introduced in the earlier
tutorials is worth emphasizing again before we get underway: It is
important to make the distinction between protocols and algorithms.
A protocol is a specification of the complete set of steps
involved in carrying out a cryptographic activity, including
explicit specification of how to proceed in every contingency. An
algorithm is a much narrower procedure used to transform
some digital data into some other digital data. Cryptographic
protocols inevitably involve using one or more cryptographic
algorithms, but security (and other cryptographic goals) is a
product of a total protocol.
Clearly, using a strong and appropriate algorithm is an
important part of creating a strong protocol, but it is not
sufficient by itself. The first sections of this tutorial
mostly address how cryptographic algorithms work; the later sections
take a look at the use of some algorithms in actual protocols,
particularly protocols that combine multiple algorithms to accomplish
complex goals.