Professional Documents
Culture Documents
CS-471/971
Introduction
The algorithm is designed to encipher and
decipher blocks of data consisting of 64 bits
under control of a 64-bit key
A block to be enciphered is subjected to an
initial permutation IP and then to a
complex key-dependent computation and
finally to a permutation which is the inverse
of the initial permutation IP-1.
Enciphering
The 64 bits of the input block to be
enciphered are first subjected to the
following initial permutation IP:
IP
58
60
62
64
57
59
61
63
50
52
54
56
49
51
53
55
42
44
46
48
41
43
45
47
34
36
38
40
33
35
37
39
26
28
30
32
25
27
29
31
18
20
22
24
17
19
21
23
10
12
14
16
9
11
13
15
2
4
6
8
1
3
5
7
IP-1
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41
9 49 17 57 25
Deciphering
The permutation IP-1 applied to the
preoutput block is the inverse of the initial
permutation IP applied to the input.
R = L'
L = R' (+) f (L', K)
Rn-1 = Ln
Ln-1 = Rn (+) f (Ln, Kn)
where now R16 L16 is the permuted input
block for the deciphering calculation L0 and
R0 is the preoutput block.
E bit-selection table
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
S1
0
14
4 13
2 15 11
3 10
0 15
6 12
6 12 11
3 10
4 14
2 13
1 14
8 13
2 11 15 12
3 14 10
1 10
9 10 11 12 13 14 15
5 11
15 12
6 13
12
15
18
8
27
13
28
23
31
24
3
30
17
26
10
14
9
6
22
11
25
S1
14
4 13
O 15
4
2 15 11
3 10
6 12 11
3 10
4 14
2 13
1 14
8 13
2 11 15 12
5 11
3 14 10
6 13
6 11
2 13 12
5 10
8 14 12
1 10
9 11
7 12
5 14
15 12
1 10
6 12
7
S2
15
8 14
3 13
0 14
7 11 10
13
8 10
7 15
4 13
3 15
2 11
8 12
6
2 15
9
S3
10
9 14
3 15
13
13
8 15
1 10 13
6 15
6 10
1 13 12
7 11
5 14 12 11 15
0 11
2 12
5 10 14
4 15 14
3 11
2 12
9 10
5 11 12
4 15
2 12
1 10 14
7 13 15
3 14
5 11 12
2 14
S4
7 13 14
13
8 11
10
0 12 11
3 15
6 10
1 13
S5
2 12
14 11
4
11
2 12
7 10 11
0 15 10
9 12
7 13
1 11 10 13
8 12
8 15
3 15 13
5
O 14
O 14
1 14
2 13
6 15
9 10
O 13
4 14
5 11
1 13 14
O 11
4 10
1 13 11
S6
12
1 10 15
10 15
7 12
9 14 15
8 12
2 12
5 15 10 11 14
8 13
S7
4 11
13
1
2 14 15
8 13
1 10 14
4 11 13 12
7 14 10 15
0 11
6 11 13
7
8
4 10
6 15 11
3 12
3
5 10
5 12
2 15
3 12
0 15 14
1 10
3 14
0 12
4 12
6 11
0 14
6 10 13 15
S8
13
1 15 13
8 10
7 11
9 12 14
1 14
4 10
8 13 15 12
6 11
PC-1
57 49
1 58
10
2
19 11
63
7
14
21
55
62
6
13
41
50
59
3
33
42
51
60
25
34
43
52
17
26
35
44
9
18
27
36
47
54
61
5
39
46
53
28
31
38
45
20
23
30
37
12
15
22
29
4
PC-2
14
3
23
16
41
30
44
46
17
28
19
7
52
40
49
42
11
15
12
27
31
51
39
50
24
6
4
20
37
45
56
36
1
21
26
13
47
33
34
29
5
10
8
2
55
48
53
32
2
1
3
2
4
2
5
2
6
2
7
2
8
2
9 10 11 12 13 14 15 16
1 2 2 2 2 2 2 1