 against the source of randomness in many a cryptographic system. Random sources are ideal for the production of these values. However, another environment may require a pseudorandom bit sequence instead. This is required for a family of encryption algorithms called stream ciphers, where a lot of additive key material must be generated that is not easy for a third party to guess. This material is deterministically created in synch between the transmitter and receiver. It is pseudorandom material that is usually 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 SECURITY COPROCESSORS 367 created from finite state machines (FSMs) such as linear feedback shift registers (LFSRs) that are set up at both parties based on a commonly obtained session key and then advanced independently of each other in order to produce the same pseudorandom bit sequence at both communicating devices. BLOCK CIPHERS, STREAM CIPHERS, AND CRYPTOGRAPHIC MODES Symmetric encryption algorithms used for the traffic content protection are usually classified in one of two families: block ciphers or stream ciphers. Block Ciphers In this case, the encryption of the plaintext occurs block per block, where the block is a chunk of con- secutive plaintext bits. Until recently, blocks for instance in the DES algorithm were 64 bits long. Most modern block ciphers use blocks that are 128, 192, or 256 bits long. Block ciphers usually require a key generation and scheduling mechanism. Based on the original symmetric algorithm key, this mechanism applies specific steps to generate a series of subkeys, which will be scheduled for use subsequently by the algorithm and in a sequential order for each one of the multiple rounds that must be executed. A block of plaintext is read in and combined with the first subkey. A series of processing steps has to be taken on it involving