1. Find or install an encryption utility (e.g., the Unix des command or pgp) on your system. Read its documentation and experiment with it.Measure how fast it is able to encrypt and decrypt data.Are these two rates the same? Try to compare these timing results using different key sizes; for example, compare AES with triple-DES.
2. Diagram cipher block chaining as described in Section 8.1.1.
3. Learn about a key escrow, or key surrender, scheme (for example,Clipper). What are the pros and cons of key escrow?
4. A good cryptographic hashing algorithm should produce random outputs; that is, the probability of any given hash value should be approximately the same as any other for randomly chosen input data. What would be the consequence of using a hash algorithm whose outputs were not random? Consider, for example, the case where some hash values are twice as likely to occur as others.
5. Suppose Alice uses the Needham–Schroeder authentication protocol described in Section 8.3.3 to initiate a session with Bob.Further suppose that an adversary is able to eavesdrop on the authentication messages and, long after the session has completed, discover the (unencrypted) session key. How could the adversary deceive Bob into authenticating the adversary as Alice?