 is very strong, and it was one of the five initial candidates for AES. Advanced Encryption Standard (AES)-AES was adopted by the National Institute of Standards (NIST; www.nist.gov) in November 2001 after a five- year standardization process. According to NIST, it would take 149 trillion years to crack the U.S. govern- ment's AES, which uses the Rijndael algorithm and specifies three key lengths-128 bits, 192 bits, and 256 bits. In comparison, DES, which uses a 56-bit key, would take only a matter of hours using a powerful computer, but, of course, this is totally dependent on the speed of the hardware used for cracking the code; a typical desk- top PC would require much more than a few hours to crack a 56-bit DES key. Asymmetric Encryption Key encryption requires a secure method for exchang- ing keys between participants. The solution to key distribution came, in 1975, with Diffie and Hellman's public key cryptography scheme. This permits the use of two keys, one of which can be openly published and still permit secure encrypted com- munications. This scheme later became known as asymmetric key cryptography (also called public key encryption [PKE]). Asymmetric cryptography can be used for authentication. After encrypting a signature by using a private key, anyone with access to the public key can verify that the signature belongs to the owner of the private key. As shown in Figure 9.27, the following are the steps in PKE: 1. User A hashes the plaintext. 2. User A encrypts the plaintext with user B's public key and encrypts the hash value with user A's private key. 3. User B decodes the ciphertext with user B's private key. 4. User B decodes the hash value with user A's public key, thereby confirming the sender's authenticity. 5. User B calculates the hash value of the just-encrypted plaintext. 6. User B compares the decrypted hash value with the value calculated locally, thereby confirming the message's integrity. Chapter 9 IP Services Value User B's User B's Plaintext Public Key Private Key User A hashes User 