Professional Documents
Culture Documents
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 0 0 1 1 0 1 1 1 1 1 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
0 1 1 0 1 1 0 0 0 1 0 1 0 1
28 29 30 31 32 33 34 35 36 37 38 39 40 41
1 1 0 1 0 0 0 1 0 0 1 0 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
1 1 0 1 0 1 0 0 0 0 1 1 1 1
0000011
0111111
0110110
0010101
1101000
1001011
1101010
0001111
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 0 0 1 1 0 1 1 1 1 1 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
0 1 1 0 1 1 0 0 0 1 0 1 0 1
28 29 30 31 32 33 34 35 36 37 38 39 40 41
1 1 0 1 0 0 0 1 0 0 1 0 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
1 1 0 1 0 1 0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1
1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1
1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1
1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1
The DES Key Schedule: Generating the Round Keys
• Contraction-Permutation: Join together the
two halves and apply a 56 bit to 48 bit
contracting permutation (this is referred to as
Permutation Choice 2).
0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1
1 1 0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0
0 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
11110100
10010011
11010000
11010111
10001011
01110100
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
11110100
10010011
11010000
11010111
10001011
01110100
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
11110100
10010011
11010000
11010111
10001011
01110100
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
11110100
10010011
11010000
11010111
10001011
01110100
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
11110100
10010011
11010000
11010111
10001011
11110000
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 0 0 1 1 0 1 1 1 1 1 1 0 1
14 15 16 17 18 19 20 21 22 23 24 25 26 27
1 0 1 1 0 0 0 1 0 1 0 1 0 0
28 29 30 31 32 33 34 35 36 37 38 39 40 41
0 1 0 0 0 1 0 0 1 0 1 1 1 1
42 43 44 45 46 47 48 49 50 51 52 53 54 55
0 1 0 1 0 0 0 0 1 1 1 1 1 1
11110100
10010011
11010000
11010111
10001011
11110100
111101001001001111010000110101111000101101110100
Data:
111101001001001111010000110101111000101101110100
Key:
011110100001010101010101011110100001010101010101
12 10 4 11 14
100011 101000 011010 000101 101011 011001 111000 100001
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1100 0001
1100 1111
1000 0000
1100 0000
1100 1010 0100 1011 1110 0000 0000 0010
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1100 0001
1100 1111
1000 0000
1100 0000
1100 1010 0100 1011 1110 0000 0000 0010
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1100 0001
1100 1111
1000 0000
1100 0000
1100 1010 0100 1011 1110 0000 0000 0010
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1100 0001
1100 1111
1000 0000
1100 0000
1100 1010 0100 1011 1110 0000 0000 0010
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1100 0001
1100 1111
1000 0000
1100 0000
1100 1010 0100 1011 1110 0000 0000 0010
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1100 0001
1100 1111
1000 0000
1100 0000