nd ensures that the same algorithm can be used for both encryption and decryption. Some DES implementations do not include these two steps. Although it has been proven that this does not alter the security characteristics of the algorithm, it does violate the standard specification, which is an issue when the intercompatibility of devices comes to play. In order to give a better idea about how things work, Figure 17.3 shows the subkey generation and key-scheduling mechanism for DES, as well as the f function, which is involved in each DES round, as shown in Figure 17.2. The internal details of the substitution boxes (known as S boxes) and the per- mutation boxes (which are just small lookup tables with specific content from an implementation standpoint) can be found in any of the cryptography books listed at the end of the chapter. The folded modular structure based on the L and R approach in the implementation of the DES f function is a 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 64-bit input block (Plaintext) Round 1 L=1 R0 R1 =L (R, K1) Round 2 L2=R1 R2=L f(R1,K2) Rounds 3 thru 15 L15 R14 R15=L44Of(R14,K15) Round 16 L16 R15 64-bit output block (Ciphertext) FIGURE 17.2 The flow of DES as an example of a typical block cipher in multiple rounds with subkeys scheduled for each round 28 bits 28 bits 32 bits 32 bits Shift Shift Expansion 28 bits 28 bits Permutation 48 bits Compression Permutation 48 bits 48 bits S-Box Substitution 32 bits Permutation 32 bits 32 bits 32 bits 32 bits FIGURE 17.3 The right side shows the key-scheduling mechanism for DES; the left side depicts the Feistel network that is shown in Figure 17.2 with the DES f function. Downloaded from Digital Engineering Library @ McGraw-Hill (www.digitalengineeringlibrary.com) Copyright © 2004 The McGraw-Hill Companies. All rights reserved