t © 2004 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use as given at the website. SECURITY COPROCESSORS 372 NETWORK PROCESSORS issues the systems architect must consider in order to design a robust system and how all of these capa- bilities weigh in adversely when they must be performed under the proverbial gun of high-speed links that require real-time attention. Many of these techniques originated from defense networks and were initially implemented and perfected on civilian/industrial networks by being embedded inside protocol-sensitive encryptors that operated at the data link layer on X.25 and frame-relay networks in the early 1990s. The positive expe- rience acquired from those networks was successfully taken advantage of at the network layer when the Internet Engineering Task Force (IETF) designed IPsec, which adapts most of these methods to the IP layer. Weak Keys When some of the possible keys used in an algorithm are known or found to be less secure than oth- ers, this specific cryptographic algorithm is characterized by a nonlinear key space. Conversely, this is not the case, the algorithm's key space is flat. For example, the DES algorithm contains weak, semi-weak, and possibly weak keys: Four DES keys that are composed only of 1s or only of Os, or keys where one half is composed of 1s whereas the other half is composed only of Os, are weak. The DES algorithm and key expansion structures cause these keys to suffer from the highly undesirable effect that all rounds of DES are encrypted by the same subkey. Some pairs of DES keys encrypt plaintext to the same ciphertext. Instead of generating 16 subkeys (for the 16 rounds of DES), these keys only generate two different subkeys, each of which is used eight times during encryption or decryption. The result is that in any of these pairs, if one of the keys is used for the encryption, the other key from the pair can be used for decryption and the plaintext will be recovered. These keys are semi-weak keys and are listed 