to the other party with whom he or she is in a communication session. The encryption process is controlled by the use of another bit sequence called encryption key in order to produce a new bit sequence called cipher, also known as ciphertext or encrypted output. Ciphertext is supposed to be illegible, if not unusable, by unauthorized parties. Describing the ciphertext as "unusable" implies that even if an leavesdropper copies it for subsequent analysis offline, it is not expected to yield any clues about the plaintext's content. The inverse process is called decryption or deciphering. It is a mathematical process that receives the ciphertext as one of its inputs along with another bit sequence called the decryption key and pro- duces the original plaintext. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. SECURITY COPROCESSORS NETWORK PROCESSORS The encryption and decryption processes map onto a series of logical and computational steps described in the corresponding encryption and decryption algorithms that implement the process in hardware or software. The traditional analysis of speed versus the cost of implementation dictates in every case what, if any, portion of a cryptographic algorithm should be implemented in hardware or software and why. The encryption and authentication processes constitute the area of cryptographic operations. It can also be argued that hashing (discussed in a later section) is also part of that realm, but the boundary is somewhat blurred because some hashing is for security and other hashing is for other computational needs such as accelerating the indexing of database files. We will not discuss the latter form of hash- ing here. Private- or Symmetric-Key Encryption If the keys used for encryption and decryption are identical at the transmitter and receiver, respec- tively, we talk about symmetric encryption. In