This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ent the Sboxes in software as 64entry arrays. It takes some rearranging of the entries to do this, but that’s not hard. (Don’t just change the indexing without rearranging the entries. The Sboxes are designed very carefully.) However, this way of describing the Sboxes helps visualize how they work. Each Sbox can be viewed as a substitution function on a 4bit entry: b2 through b5 go in, and a 4bit result comes out. Bits b1 and b6 come from neighboring blocks; they select one out of four substitution functions available in the particular Sbox. The Sbox substitution is the critical step in DES. The algorithm’s other operations are linear and easy to analyze. The Sboxes are nonlinear and, more than anything else, give DES its security. The result of this substitution phase is eight 4bit blocks which are recombined into a single 32bit block. This block moves to the next step: the Pbox permutation. The PBox Permutation
The 32bit output of the Sbox substitution is permuted according to a Pbox. This permutation maps each input bit to an output position; no bits are used twice and no bits are ignored. This is called a straight permutation or just a permutation. Table 12.7 shows the position to which each bit moves. For example, bit 21 moves to bit 4, while bit 4 moves to bit 31. Figure 12.4 Sbox substitution. Table 12.6 SBoxes Sbox 1: 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13, Sbox 2: 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, 14, 0, 4, 15, 15, 3, 0, 14, 7, 13, 8, 10, Sbox 3: 10, 0, 9, 13, 7, 0, 13, 6, 4, 1, 10, 13, Sbox 4: 7, 13, 14, 13, 8, 11, 10, 6, 9, 3, 15, 0, Sbox 5: 2, 12, 4, 14, 11, 2, 4, 2, 1, 11, 8, 12, Sbox 6: 12, 1, 10, 10, 15, 4, 9, 14, 15, 4, 3, 2, Sbox 7: 4, 11, 2, 13, 0, 11, 1, 4, 11, 6, 11, 13, Sbox 8: 13, 2, 8, 1, 15, 13, 7, 11, 4, 2, 1, 14, 11, 10, 4, 13, 1, 3, 15, 4, 14, 9, 9, 0, 1, 5, 2, 11, 8, 12, 6, 6, 7, 12, 9, 0, 3, 2, 15, 5, 14, 9, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, 3...
View
Full
Document
This note was uploaded on 10/18/2010 for the course MATH CS 301 taught by Professor Aliulger during the Fall '10 term at Koç University.
 Fall '10
 ALIULGER
 Cryptography

Click to edit the document details