You are on page 1of 28

DES Walk Through

Kathryn Neugent
April 16, 2011
Here I show the actual encryption example used in my animation and presented on the
webpage.

Input
1. Get Text = Hello World!
2. Convert to Binary
H
e
l
l
o

=
=
=
=
=
=

01001000
01100101
01101100
01101100
01101111
00100000

W
o
r
l
d
!

=
=
=
=
=
=

01010111
01101111
01110010
01101100
01100100
00100001

3. Break into 64-bit blocks


block
0 1 0
0 1 1
0 1 1
0 1 1
0 1 1
0 0 1
0 1 0
0 1 1

1:
0 1
0 0
0 1
0 1
0 1
0 0
1 0
0 1

0
1
1
1
1
0
1
1

0
0
0
0
1
0
1
1

0
1
0
0
1
0
1
1

block 2:
0 1 1 1 0
0 1 1 0 1
0 1 1 0 0
0 0 1 0 0
padding
padding
padding
padding

Example Key

0 0 1 1 0 1 0 0
0 0 1 0 1 1 0 1
1 0 1 1 0 1 0 1
1

0
1
1
0

1
0
0
0

0
0
0
1

1
0
1
1
0

0
0
1
0
0

1
0
0
0
0

0
1
1
1
0

0
1
0
0
1

0
0
1
0
0

0
1
1
0
0

IP

input:
0 1 0 0
0 1 1 0
0 1 1 0
0 1 1 0
0 1 1 0
0 0 1 0
0 1 0 1
0 1 1 0

1
1
1
0
0

1
0
1
1
1
0
0
1

0
1
1
1
1
0
1
1

0
0
0
0
1
0
1
1

0
1
0
0
1
0
1
1

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

0
1
1
0
1
1
0
0

PC-1:
57 49
1 58
10
2
19 11
63 55
7 62
14
6
21 13

41
50
59
3
47
54
61
5

33
42
51
60
39
46
53
28

25
34
43
52
31
38
45
20

17
26
35
44
23
30
37
12

9
18
27
36
15
22
29
4

result:
1 1 0 1
0 1 0 0
1 1 0 1
1 1 0 1
0 0 0 0
1 0 1 1
1 0 0 1
1 1 0 1

2
4
6
8
1
3
5
7

1
0
1
0
0
1
1
0

PC-1

key:
0 0 1
0 0 1
1 0 1
1 0 1
0 0 0
1 1 0
1 0 0
0 0 0

1
0
1
0
1
1
1
0

0
1
0
1
1
1
0
0

1
1
1
0
1
0
0
1

0
0
0
0
0
1
0
0

C:

D:

0
0
0
1
0
0
1
0

1
0
0
1
0
1
1
1

1
0
0
1
1
0
0
0

0
1
0
0
0
0
0
0

1
0
0
1
0
1
1
1

1
0
0
1
0
0
1
0

0
0
1
1
0
1
1
1

1
0
1
0
0
1
1
0

1
0
1
1
0
1
0
0

1
0
0
0
0
0
1
0

Key Scheduler
1. Left Circular Shift
Round
1

shift #
1

C
1101100
0010000
0000011
1101110
1101100
0100000
0000111
1011101
0110001
0000000
0011110
1110111
1000100
0000000
1111011
1011101
0010000
0000011
1101110
1110110
1000000
0001111
0111011
1011000
0000000
0011110
1101110
1100010
0000000
1111011
0111011
0001000

D
0100000
1001011
1001110
1001010
1000001
0010111
0011101
0010100
0000100
1011100
1110100
1010010
0010010
1110011
1010010
1001000
1001011
1001110
1001010
0100000
0101110
0111010
0101001
0000010
0111001
1110100
0100100
0001001
1100111
1010001
0010000
0100101

Round shift #
9
1

10

11

12

13

14

15

16

C
0000001
1110110
1110110
0010000
0000011
1011011
1011000
1000000
0001110
1101110
1100010
0000000
0111011
0111011
0001000
0000000
1101101
1101100
0100000
0000001
0110111
0110001
0000000
0000111
1011101
1000100
0000000
0011101
0111011
0001000
0000000
0111011

D
1001111
0100010
0100000
1001011
0111101
0001001
0000010
0101110
1110100
0100100
0001000
0111001
1010001
0010000
0100001
1100111
1000100
1000001
0000111
0011110
0010010
0000100
0011100
1111010
1001000
0010000
1110011
1101000
0010000
0100001
1100111
1010001

2. PC-2 The input for PC-2 comes from the shifted C and D sub-keys shown above.
PC-2:
14 17
3 28
23 19
16
7

11
15
12
27

24
6
4
20

1
21
26
13

5
10
8
2
3

41
30
44
46

52
40
49
42

31
51
39
50

37
45
56
36

47
33
34
29

55
48
53
32

* Note that bits 9, 18, 22, 25, 35, 38, 43 and 54 are dropped
Round #
1

0
0
1
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
1

0
0
0
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0

Key
0011
1110
0011
0011
0100
1111
0111
1001
0001
0010
0001
1100
0100
0011
0111
0011
1010
0011
0111
1000
1001
1100
0100
0111
0100
0011
1011
0000
0100
1001
1110
1000
1001
0101
1011
1000

0
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
1
1
1
0

0
1
1
0
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1

Round #
7

10

11

12

0
1
0
0
0
0
1
0
0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
1
0
0
0
1
0

0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
0
1
1
1
0
1
0
1
0
0
0
0

Key
1000
0111
1011
1110
0010
0001
1000
1100
1001
0000
1000
0101
0100
0101
1101
0101
1010
0010
1000
0100
0100
1001
1100
0100
1001
0000
1001
1100
1000
1000
1000
0100
0100
1001
0011
0010

0
1
1
1
0
0
0
0
1
1
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
0
1

0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
1
1
0
1
0

Round #
13

14

15

16

0
0
0
0
0
0
1
0
1
0
1
1
0
0
1
0
1
0
0
0
0
0
0
0

0
0
1
1
0
1
0
1
0
1
1
1
0
0
1
0
1
1
0
1
0
1
0
0

Key
1011
0000
1100
0011
1101
0101
0001
0100
0110
1011
0000
1010
0111
0000
0100
0000
0111
0010
1100
0010
0110
1110
0111
0110

0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0

1
1
1
0
0
0
1
0
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0

Round 1

L_in:
1 1 0
0 1 0
1 1 0
1 1 0

1
0
1
1

1
0
1
0

1
0
1
0

1
0
1
1

R_in:
0 0 0
1 0 1
1 0 0
1 1 0

1
0
0
0

0
1
1
1

0
1
1
0

0
1
1
0

0
1
0
0

0
0
1
0

K:
0 0
0 0
1 0
1 0
0 0
0 1

0
1
0
0
0
1

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
1
0
0
1
1

1
1
1
1
0
1

1
0
1
1
0
1

0
0
0
1
1
0

0
1
1
0
0
0

0
0
0
1
0
1
1
1

0
0
1
1
1
1
1
0

E-bit Selection Table


0
1
1
1

0
0
0
1

0
1
0
0

0
1
1
1

0
1
1
0

0
1
1
0

0
1
0
0

0
0
1
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

XOR with Sub-Key


0
0
0
1
0
1
1
1

0
0
1
1
1
1
1
0

0
0
0
1
0
1
1
0

0
0
1
1
0
0
0
0

0
0
1
0
1
1
1
0

0
1
1
1
1
1
0
0

XOR

0
0
1
0
1
1
0
1

0
0
0
0
0
0
0
1

0
0
0
1
0
0
1
1

0
0
1
1
0
0
0
1

1
1
1
0
1
0
0
0

1
1
0
1
1
1
1
0

0
0
1
1
1
0
1
0

0
0
1
1
1
1
1
1

0
0
0
0
0
1
0
1

0
0
0
0
0
0
0
1

1
1
0
0
0
1
1
0

1
0
1
0
0
0
1
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

01
00
11
10
10
00
11
00

=
=
=
=
=
=
=
=

1,
0,
3,
2,
2,
0,
3,
0,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

0001
0001
1000
1000
1000
1101
1001
1110

=
=
=
=
=
=
=
=

1, Value = 15 = 1111
1, Value = 1 = 0001
8, Value = 4 = 0100
8, Value = 15 = 1111
8, Value = 15 = 1111
13, Value = 7 = 0111
9, Value = 5 = 0101
14, Value = 12 = 1100

Permutation
1 1 1 1
0 0 0 1
0 1 0 0

16 7 20 21
29 12 28 17
1 15 23 26

1 0 1 0
1 0 1 1
1 1 1 1
5

0
0
0
1
0
1
1
0

0
0
1
1
0
0
0
0

0
0
1
0
1
1
1
0

0
1
1
1
1
1
0
0

1
1
0
0
1

1
1
1
1
1

1
1
1
0
0

1
1
1
1
0

->

5
2
32
19
22

18 31 10
8 24 14
27 3 9
13 30 6
11 4 25

0
1
0
1
1

1
1
0
1
0

0
1
1
1
1

1
1
0
0
0

1
0
1
0

1
0
1
0

1
0
1
1

XOR Left and Right


1
0
1
0

1
1
1
0

0
0
1
0

1
1
1
1

0
1
0
1

1
1
1
1

L_out:
0 0 0 0
0 0 0 1
0 0 1 0
1 1 0 0

1
1
1
1

0
1
0
1

0
0
0
0

0
0
1
0

1
0
1
1

1
0
1
0

XOR

R_out:
1 1 0 1
0 1 0 1
1 1 1 1
0 0 0 1

1
0
1
1

1
1
1
1

0
0
0
0

1
0
1
1

0
1
0
1

1
1
1
1

1
0
1
1

1
0
1
0

1
0
0
0

0
0
0
1

0
0
0
1

0
0
1
0

0
1
0
0

1
1
1
1

0
1
0
1

0
0
0
0

0
0
1
0

Round 2

L_in:
1 1 0
0 1 0
1 1 1
0 0 0

1
1
1
1

0
1
0
1

1
1
1
1

1
0
1
1

R_in:
0 0 0
0 0 0
0 0 1
1 1 0

1
0
1
0

0
1
0
0

1
1
1
1

0
1
0
1

0
0
0
0

K:
0 0
0 0
1 0
1 1
0 1
0 0

0
1
0
0
0
1

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
0
0
1

0
0
1
0

1
0
0
0
0
1

1
0
0
1
0
0

1
1
1
0
1
0

0
0
0
0
0
1

1
1
1
1
0
0

0
0
0
1
0
0
1
0

0
1
0
1
0
1
1
1

E-bit Selection Table


0
0
0
1

0
0
0
1

0
0
1
0

0
1
0
0

1
1
1
1

0
1
0
1

0
0
0
0

0
0
1
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

XOR with Sub-Key


0
0
0
1

0
1
0
1

0
0
0
1

0
0
0
0

0
0
1
0

1
0
1
0

XOR

0
0
0
0

0
1
1
0

0
0
0
0

1
0
1
1

1
1
1
0

1
0
0
1
6

0
0
1
1

0
0
0
1

1
0
1
1

1
1
0
0

0
0
1
1

0
0
0
1
0
0
1
1

0
0
0
0
1
0
0
0

0
0
1
0
0
1
0
0

1
0
1
0
1
1
1
0

0
0
1
0

0
1
1
1

0
0
1
1

1
0
0
0

0
1
0
0

1
1
1
0

1
0
0
1

1
1
1
1

0
0
0
0

0
1
0
0

1
0
0
1

0
0
0
0

1
0
1
1

1
0
0
0

0
0
1
1

1
1
0
0

1
1
0
1

1
1
1
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

00
00
01
11
11
01
11
10

=
=
=
=
=
=
=
=

0,
0,
1,
3,
3,
1,
3,
2,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

0011
0001
1010
1110
1011
0011
0100
0101

=
=
=
=
=
=
=
=

3, Value = 1 = 0001
1, Value = 1 = 0001
10, Value = 5 = 0101
14, Value = 2 = 0010
11, Value = 9 = 1001
3, Value = 2 = 0010
4, Value = 1 = 0001
5, Value = 12 = 1100

0
1
0
0
0
0
0
0

0
1
1
0
1
0
0
0

1
1
1
0
0
0
1
1

0
1
0
1
0
0
0
0

0
1
0
1

1
1
1
1

1
0
1
1

Permutation
0
0
0
0
1
0
0
1

0
0
1
0
0
0
0
1

0
0
0
1
0
1
0
0

1
1
1
0
1
0
1
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


0
0
1
0

0
0
1
0

L_out:
1 1 0 1
0 1 0 0
0 0 1 1
0 0 0 1

0
0
0
0

0
1
0
0

0
1
0
0

1
0
0
1

0
0
0
1

0
1
0
0

0
1
1
0

1
1
1
1

1
0
0
0

0
0
1
0

XOR

R_out:
0 0 0 0
0 0 0 1
1 1 0 0
0 0 0 0

1
0
1
0

1
1
1
0

0
0
1
0

1
1
1
1

0
0
0
1

0
1
1
0

1
1
1
1

0
0
1
0

1
0
1
0

1
0
0
0

1
1
0
0

0
0
1
0

Round 3

L_in:
0 0 0 0 0 0 1 0
0 0 0 1 0 1 1 0
1 1 0 0 0 1 1 1

R_in:
1 1 0 1 0 1 0 1
0 1 0 0 1 0 1 0
0 0 1 1 0 0 0 0
7

K:
0 1 0 1 0 0 1 1
0 0 0 0 1 1 0 1
1 0 0 1 1 1 0 1

1
0
1
1

0
1
0
0

1
0
0
1

0
1
0
0

1
0
0
0

0 0 0 0 1 0 1 0

0 0 0 1 0 1 0 0

0 1 0 0 1 1 0 1
0 1 1 0 1 0 1 0
0 0 0 0 1 1 0 0

E-bit Selection Table


1
0
0
0

1
1
0
0

0
0
1
0

1
0
1
1

0
1
0
0

1
0
0
1

0
1
0
0

1
0
0
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
1
1
0
0
1
0
1

1
0
0
1
0
0
0
0

XOR with Sub-Key


0
1
1
0
0
1
0
1

1
0
0
1
0
0
0
0

1
1
1
0
0
0
0
1

0
0
0
1
1
0
0
0

1
1
0
0
1
0
1
0

0
0
1
0
0
0
0
1

XOR

0
1
1
0
0
0
1
0

1
1
1
1
1
1
0
0

0
0
0
1
0
0
1
1

1
0
1
1
0
1
0
1

0
0
1
0
1
1
0
0

0
0
0
1
1
0
0
0

0
0
0
0
0
1
1
1

0
1
1
0
1
1
0
0

1
1
1
1
0
0
1
0

1
0
1
0
1
1
0
1

1
1
1
0
0
1
1
0

0
0
1
1
1
0
0
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

00
00
01
01
01
10
10
11

=
=
=
=
=
=
=
=

0,
0,
1,
1,
1,
2,
2,
3,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

0111
1101
1111
0100
1010
1011
0101
0010

=
=
=
=
=
=
=
=

0
1
1
0
0
0
1
0

0
1
1
1
0
1
0
0

7, Value = 8 = 1000
13, Value = 0 = 0000
15, Value = 1 = 0001
4, Value = 6 = 0110
10, Value = 15 = 1111
11, Value = 10 = 1010
5, Value = 3 = 0011
2, Value = 14 = 1110

Permutation
1
0
0
0
1
1
0
1

0
0
0
1
1
0
0
1

0
0
0
1
1
1
1
1

0
0
1
0
1
0
1
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

1
1
1
1
0
0
1
0

1
1
0
0
1
0
0
0

1
1
1
0
0
0
0
1

0
0
0
1
1
0
0
0

1
1
0
0
1
0
1
0

0
0
1
0
0
0
0
1

XOR Left and Right


0
0
0
0

1
0
1
0

L_out:
0 1 0 0
0 0 1 1
1 0 0 0
0 0 0 1

0
1
0
0

0
1
1
1

0
0
0
1

1
0
0
0

0
1
1
0

0
0
0
0

1
1
1
0

1
1
1
1

0
0
1
1

XOR

R_out:
0 1 0 0
0 0 1 0
0 1 0 0
0 0 0 1

0
0
0
1

0
0
1
0

0
0
1
0

0
0
0
0

0
1
0
0

0
1
1
0

1
1
1
0

1
1
1
1

0
0
1
1

0
0
0
1

0
1
1
0

1
1
1
1

0
0
1
0

0
0
1
0

1
0
0
0

0
1
0
0

0
1
0
1

0
1
1
1

1
0
0
0

0
0
0
0

0
0
0
1

Round 4

L_in:
0 1 0
0 0 1
0 1 0
0 0 0

0
0
0
1

0
1
1
0

1
1
1
0

1
1
1
1

R_in:
0 1 0
0 0 1
1 0 0
0 0 0

0
0
1
1

0
1
0
1

0
1
1
1

1
0
0
0

0
0
0
0

0
0
0
1

K:
0 1
1 0
1 0
1 0
0 1
1 1

0
1
1
1
0
0

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
0
0
1
1
1

1
0
0
0
0
1

1
0
1
0
0
1

0
0
0
0
0
0

1
0
0
0
0
0

1
0
0
1
0
1
0
1

0
0
0
1
1
0
0
1

E-bit Selection Table


0
0
1
0

1
0
0
0

0
1
0
0

0
1
0
1

0
1
1
1

1
0
0
0

0
0
0
0

0
0
0
1

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

XOR with Sub-Key


1
0
0
1
0
1
0
1

0
0
0
1
1
0
0
1

1
1
0
0
0
0
0
0

0
0
1
0
0
0
0
0

0
0
1
0
0
0
1
1

0
0
1
1
1
0
1
0

XOR

0
0
0
1
1
0
0
0

1
1
0
0
0
0
0
1

0
1
0
0
1
0
0
1

1
0
0
1
1
1
0
1

1
1
1
0
0
0
1
0

1
0
0
0
0
1
1
0

1
0
0
0
1
1
0
1

1
1
0
1
1
0
0
0

1
0
0
0
1
0
0
1

1
0
1
1
1
1
0
1

S-boxes (see NIST website for Sbox structures)


9

1
1
0
0
0
0
0
1

1
0
1
1
1
1
0
0

1
1
0
0
0
0
0
0

0
0
1
0
0
0
0
0

0
0
1
0
0
0
1
1

0
0
1
1
1
0
1
0

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

11
00
01
01
11
11
00
10

=
=
=
=
=
=
=
=

3,
0,
2,
2,
3,
3,
0,
2,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

1111
1001
0010
1010
1110
0010
0000
0111

=
=
=
=
=
=
=
=

15, Value = 13 = 1101


9, Value = 7 = 0111
2, Value = 4 = 0100
10, Value = 3 = 0011
14, Value = 5 = 0101
2, Value = 2 = 0010
0, Value = 4 = 0100
7, Value = 2 = 0010

1
0
1
0
1
0
0
0

1
0
1
1
1
0
0
0

1
0
1
1
0
0
0
1

0
0
1
1
0
0
1
0

0
1
1
0

1
1
1
0

1
1
1
1

Permutation
1
0
0
0
0
0
0
0

1
1
1
0
1
0
1
0

0
1
0
1
0
1
0
1

1
1
0
1
1
0
0
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


0
0
1
0

0
0
0
1

0
0
0
0

1
1
0
0

0
1
1
1

1
1
1
1

L_out:
0 1 0 1
0 0 1 1
1 1 0 0
0 1 0 1

0
0
0
1

0
0
0
1

1
1
1
1

1
1
0
1

10
L_in:
0 0 0
0 0 0
1 0 0
0 1 0

0
0
0
0

1
1
1
0

XOR

R_out:
0 0 0 1
0 0 0 1
1 0 0 0
0 1 0 0

0
0
0
0

1
0
1
0

0
1
0
0

0
0
0
1

0
1
1
1

1
1
1
1

0
0
0
0

1
1
1
0

0
0
1
1

0
0
1
0

1
0
1
1

0
1
0
0

Round 5
1
1
0
0

0
1
1
1

1
1
1
1

0
0
0
0

1
1
1
0

R_in:
0 1 0
0 0 1
1 1 0
0 1 0

1
1
0
1

0
0
0
1

0
0
0
1

1
1
1
1

1
1
0
1

E-bit Selection Table


10

K:
1 0
1 0
1 0
1 0
1 0
1 0

0
0
1
0
0
1

1
0
0
0
1
0

0
1
1
0
0
0

0
1
1
0
0
1

1
0
1
0
1
1

0
0
0
1
0
1

1
1
0
1

0
0
0
1

0
0
0
1

1
1
1
1

1
1
0
1

0
0
1
0

1
0
1
1

0
1
0
0

1
1
0
1

0
0
0
1

0
0
0
1

1
1
1
1

1
1
0
1

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
1
1
1
1
0
0
1

0
0
0
0
1
0
0
1

1
0
0
0
1
0
1
1

0
1
1
1
0
1
0
1

1
1
1
1
0
0
1
1

0
0
0
1
0
0
1
0

XOR with Sub-Key


1
1
1
1
1
0
0
1

0
0
0
0
1
0
0
1

1
0
0
0
1
0
1
1

0
1
1
1
0
1
0
1

1
1
1
1
0
0
1
1

0
0
0
1
0
0
1
0

1
1
1
1
1
0
0
1

XOR

0
0
1
0
0
1
0
0

0
1
0
1
0
1
1
0

1
0
0
1
0
0
0
1

0
0
1
1
0
0
1
1

0
0
0
0
0
1
0
1

0
0
0
0
0
0
0
0

0
0
1
0
1
1
0
1

1
1
0
1
1
1
0
1

1
1
1
0
0
1
0
0

1
1
0
0
0
0
0
0

0
0
0
1
0
1
1
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

00
00
00
01
00
01
01
01

=
=
=
=
=
=
=
=

0,
0,
0,
1,
0,
1,
1,
1,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

0111
0111
1010
0100
1100
1110
0000
1100

=
=
=
=
=
=
=
=

7, Value = 8 = 1000
7, Value = 4 = 0100
10, Value = 12 = 1100
4, Value = 6 = 0110
12, Value = 13 = 1101
14, Value = 0 = 0000
0, Value = 13 = 1101
12, Value = 0 = 0000

0
0
1
0
0
0
0
0

0
0
1
1
0
0
0
0

1
1
0
0
0
0
0
0

0
1
1
1
1
1
1
1

1
1
0
0

0
1
1
1

1
1
1
1

0
0
0
0

Permutation
1
0
1
0
1
0
1
0

0
1
1
1
1
0
1
0

0
0
0
1
0
0
0
0

0
0
0
0
1
0
1
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


0
0
0
1

0
0
0
1

0
0
0
1

0
0
0
1

0
0
0
1

1
1
0
1

0
0
1
1

0
0
1
0

XOR

0
0
1
0

0
0
0
1

0
0
0
0

11

1
1
1
0

0
0
1
1

0
0
0
0

0
0
0
1

1
1
0
1

0
1
1
0

0
0
1
0

0
0
1
1

1
1
0
0

L_out:
0 0 0 1
0 0 0 1
1 0 0 0
1 0 1 1

0
1
1
0

0
0
1
0

0
0
1
1

1
1
0
0

11

Round 6

L_in:
0 0 0
0 0 0
0 0 0
1 1 1

0
0
0
1

0
0
0
1

1
1
0
1

0
0
1
1

0
0
1
0

R_out:
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1

0
0
0
1

1
1
0
1

0
0
1
1

0
0
1
0

R_in:
0 0 0
0 0 0
1 0 0
1 0 1

0
1
1
0

0
0
1
0

0
0
1
1

1
1
0
0

1
1
0
1

K:
1 1
0 0
0 0
1 0
0 0
1 0

1
1
1
0
1
1

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
0
0
1
0
0

1
0
0
0
1
0

0
0
1
1
1
0

0
1
1
1
1
0

0
0
0
0
0
1

0
1
1
1
1
0
0
1

0
0
0
1
1
1
1
0

E-bit Selection Table


0
0
1
1

0
0
0
1

0
0
0
0

1
1
0
1

0
1
1
0

0
0
1
0

0
0
1
1

1
1
0
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

XOR with Sub-Key


0
1
1
1
1
0
0
1

0
0
0
1
1
1
1
0

0
0
0
0
0
1
1
0

0
0
0
0
0
1
0
1

1
1
1
1
0
0
1
0

0
0
1
1
1
1
0
0

XOR

1
0
0
1
1
1
1
1

1
0
0
0
0
0
1
0

1
0
1
0
0
0
1
0

1
0
0
1
1
0
0
0

1
1
0
1
0
1
1
0

0
0
0
0
1
0
0
1

1
1
1
0
0
1
1
0

1
0
0
1
1
1
0
0

1
0
1
0
0
1
0
0

1
0
0
1
1
1
0
1

0
0
1
0
0
1
0
0

0
0
1
1
0
1
0
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :

Row:
Row:
Row:
Row:
Row:
Row:

10
10
11
01
00
11

=
=
=
=
=
=

2,
2,
3,
1,
0,
3,

Column:
Column:
Column:
Column:
Column:
Column:

1110
0000
0101
1010
1010
1111
12

=
=
=
=
=
=

14, Value = 5 = 0101


0, Value = 0 = 0000
5, Value = 9 = 1001
10, Value = 2 = 0010
10, Value = 3 = 0011
15, Value = 13 = 1101

0
0
0
0
0
1
1
0

0
0
0
0
0
1
0
1

1
1
1
1
0
0
1
0

0
0
1
1
1
1
0
0

S7 : Row: 10 = 2, Column: 0000 = 0, Value = 1 = 0001


S8 : Row: 01 = 1, Column: 0010 = 2, Value = 13 = 1101
Permutation
0
0
1
0
0
1
0
1

1
0
0
0
0
1
0
1

0
0
0
1
1
0
0
0

1
0
1
0
1
1
1
1

16
29
1
-> 5
2
32
19
22

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

21
17
26
10
14
9
6
25

0
1
0
0
1
1
1
1

0
1
1
0
0
0
0
0

1
1
0
0
1
0
1
1

1
0
0
0
0
1
0
0

0
0
0
1

1
1
0
1

0
0
1
1

XOR Left and Right


1
0
1
0

1
0
1
0

L_out:
1 1 1 1
0 0 0 0
1 1 0 1
1 1 0 1

12

1
0
0
1

0
0
0
1

1
0
1
0

1
0
0
1

0
0
0
0

1
1
0
1

0
1
0
0

1
1
1
0

0
0
1
1

XOR

R_out:
1 1 1 1
0 0 0 0
1 1 0 1
0 0 1 0

0
0
0
1

0
0
0
1

0
0
0
1

0
0
0
1

0
0
0
1

0
0
0
0

0
1
0
0

1
1
1
0

0
0
1
1

0
0
1
0

1
0
1
1

1
0
1
1

1
0
0
0

1
0
1
1

0
0
0
1

1
0
0
1

1
1
0
1

0
0
0
1

Round 7

L_in:
1 1 1
0 0 0
1 1 0
0 0 1

1
0
1
0

0
0
0
0

0
1
0
0

1
1
1
0

R_in:
1 1 1
0 0 0
1 1 0
1 1 0

0
0
1
1

1
0
1
1

0
0
0
1

1
0
0
1

1
1
0
1

0
0
0
1

K:
0 0
1 0
0 0
0 0
0 0
0 1

1
0
1
1
0
0

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
1
0
1
0
0

0
1
1
1
1
0

0
1
1
0
0
1

0
1
1
1
0
0

0
0
0
1
1
1

1
1
0
0
0
1
0
1

1
0
0
0
1
0
1
1

E-bit Selection Table


1
0
1
1

1
0
1
1

1
0
0
0

1
0
1
1

0
0
0
1

1
0
0
1

1
1
0
1

0
0
0
1

->

32
4
8
12
16
20
24
28

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30
13

3
7
11
15
19
23
27
31

1
1
0
0
1
0
1
1

1
1
0
1
0
0
0
1

1
0
0
0
1
0
1
1

0
0
0
1
0
1
1
1

XOR with Sub-Key


1
1
0
0
0
1
0
1

1
0
0
0
1
0
1
1

1
1
0
0
1
0
1
1

1
1
0
1
0
0
0
1

1
0
0
0
1
0
1
1

0
0
0
1
0
1
1
1

0
0
1
1
0
1
1
0

XOR

0
0
1
0
0
1
0
0

1
1
1
1
1
0
0
0

0
0
0
1
1
0
1
1

0
0
0
1
1
0
0
0

0
1
0
0
0
0
1
1

1
1
1
1
0
0
1
1

1
0
1
0
1
1
1
1

0
0
1
1
0
0
1
1

1
1
0
0
1
0
1
0

1
0
0
1
0
0
1
1

0
1
0
1
0
1
0
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

10
11
10
11
00
01
10
10

=
=
=
=
=
=
=
=

2,
3,
2,
3,
0,
1,
2,
2,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

1011
0010
1100
0101
1010
1000
1111
1101

=
=
=
=
=
=
=
=

11, Value = 7 = 0111


2, Value = 10 = 1010
12, Value = 5 = 0101
5, Value = 1 = 0001
10, Value = 3 = 0011
8, Value = 0 = 0000
15, Value = 2 = 0010
13, Value = 3 = 0011

1
0
0
1
1
1
1
0

1
1
0
0
0
1
0
0

1
0
0
1
0
1
0
1

0
0
0
1
0
0
0
0

0
0
0
0

0
1
0
0

1
1
1
0

Permutation
0
1
0
0
0
0
0
0

1
0
1
0
0
0
0
0

1
1
0
0
1
0
1
1

1
0
1
1
1
0
0
1

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


0
0
1
0

1
0
0
0

1
1
1
0

1
0
0
0

1
0
1
1

0
0
0
0

L_out:
1 0 0 0
0 0 1 0
0 1 1 1
0 0 1 0

1
0
1
1

0
1
0
0

1
0
1
0

1
1
0
1

0
1
0
0

1
1
1
0

XOR

R_out:
0 1 1 1
0 0 1 0
1 0 1 0
0 0 0 0

1
0
1
0

1
0
1
0

1
0
0
1

1
0
1
0

1
0
1
1

0
0
0
0

0
1
0
0

1
1
1
0

14

0
0
1
1

1
0
0
0

0
0
1
0

0
1
1
1

0
0
1
0

1
0
1
1

0
1
0
0

1
0
1
0

1
1
0
1

13

Round 8

L_in:
0 1 1
0 0 1
1 0 1
0 0 0

1
0
0
0

1
0
1
1

0
0
0
0

0
1
0
0

R_in:
1 0 0
0 0 1
0 1 1
0 0 1

1
1
1
0

0
0
1
0

1
0
1
1

0
1
0
0

1
0
1
0

1
1
0
1

K:
1 1
0 0
0 1
0 0
1 1
1 0

1
1
1
0
1
0

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
1
0
0
0
1

0
0
0
0
0
0

0
0
1
0
0
1

0
0
1
1
0
1

0
0
0
0
1
0

1
0
1
0
1
1
0
0

1
1
0
0
0
1
0
1

E-bit Selection Table


1
0
0
0

0
0
1
0

0
1
1
1

0
0
1
0

1
0
1
1

0
1
0
0

1
0
1
0

1
1
0
1

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

XOR with Sub-Key


1
0
1
0
1
1
0
0

1
1
0
0
0
1
0
1

0
0
0
1
1
0
0
0

0
1
1
0
1
1
1
0

0
1
0
1
1
0
0
1

1
0
0
0
1
0
1
1

XOR

1
0
0
1
0
1
0
0

1
0
0
0
0
0
0
1

1
0
0
0
0
1
0
0

0
0
0
1
0
1
1
1

0
1
0
1
0
1
1
1

0
1
1
0
0
0
0
0

0
0
1
1
1
0
0
0

0
1
0
0
0
1
0
0

1
0
0
1
1
1
0
0

0
1
1
1
1
0
0
1

0
0
0
0
1
1
1
0

1
1
1
0
1
0
1
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

01
01
11
10
11
00
01
01

=
=
=
=
=
=
=
=

1,
1,
3,
2,
3,
0,
1,
1,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

0100
1010
0010
0110
0111
1101
0001
0010

=
=
=
=
=
=
=
=

4, Value = 14 = 1110
10, Value = 1 = 0001
2, Value = 13 = 1101
6, Value = 7 = 0111
7, Value = 13 = 1101
13, Value = 7 = 0111
1, Value = 0 = 0000
2, Value = 13 = 1101

Permutation
1 1 1 0
0 0 0 1
1 1 0 1

16 7 20 21
29 12 28 17
1 15 23 26

1 0 1 0
1 1 0 1
1 1 1 0
15

0
0
0
1
1
0
0
0

0
1
1
0
1
1
1
0

0
1
0
1
1
0
0
1

1
0
0
0
1
0
1
1

0
1
0
0
1

1
1
1
0
1

1
0
1
0
0

1
1
1
0
1

->

5
2
32
19
22

18 31 10
8 24 14
27 3 9
13 30 6
11 4 25

0
1
1
0
1

1
1
0
0
0

0
1
1
1
0

1
1
1
0
0

1
0
1
1

0
0
0
0

0
1
0
0

XOR Left and Right


1
0
0
0

0
0
1
0

1
0
1
1

1
1
1
1

0
1
0
1

1
1
1
0

L_out:
1 1 0 0
0 0 1 1
1 1 0 1
0 0 1 1

1
1
1
0

1
1
1
0

1
0
0
1

0
1
0
0

14

1
1
0
1

1
0
1
0

XOR

R_out:
1 0 1 1
0 0 0 1
0 1 1 1
0 0 1 1

0
0
1
0

1
0
0
0

1
1
1
0

1
0
0
0

0
1
0
1

1
1
1
0

1
1
0
1

1
0
1
0

1
1
1
0

1
0
1
0

1
0
1
0

0
1
0
1

0
1
1
1

1
1
1
0

1
1
1
0

1
0
0
1

0
1
0
0

Round 9

L_in:
1 0 1
0 0 0
0 1 1
0 0 1

1
1
1
1

0
1
0
1

1
1
1
0

1
1
0
1

R_in:
1 1 0
0 0 1
1 1 0
0 0 1

1
0
1
0

0
1
1
1

1
1
1
0

1
1
1
0

1
0
0
1

K:
0 1
1 0
0 1
1 0
0 0
1 1

0
0
1
0
1
0

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
0
0
0

0
1
0
0

1
1
1
1
0
0

0
0
0
0
1
1

0
1
1
1
0
0

0
1
1
0
0
1

0
0
0
0
1
1

0
0
0
1
1
1
0
1

1
1
0
1
1
1
0
0

E-bit Selection Table


1
0
1
0

1
0
1
0

0
1
0
1

0
1
1
1

1
1
1
0

1
1
1
0

1
0
0
1

0
1
0
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

XOR with Sub-Key


0
0
0
1

1
1
0
1

1
1
0
1

0
1
1
0

0
0
1
1

1
0
1
1

XOR

0
0
0
1

1
0
1
1

0
1
1
0

1
0
0
1

0
0
0
1

0
1
1
0
16

0
1
1
0

1
0
1
1

1
1
1
1

0
0
1
0

1
1
0
1

1
1
0
1
1
1
0
0

0
1
1
0
0
0
1
1

0
0
1
1
1
0
1
0

1
0
1
1
1
0
0
1

1
1
0
1

1
1
0
0

1
1
0
0

0
0
1
1

1
0
1
0

1
0
0
1

1
0
1
0

0
0
0
0

0
0
0
1

1
0
1
0

0
1
1
1

1
0
1
1

0
1
1
1

1
1
0
0

1
1
0
0

1
0
0
0

1
1
0
1

0
0
1
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

01
01
00
01
00
10
11
10

=
=
=
=
=
=
=
=

1,
1,
0,
1,
0,
2,
3,
2,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

0110
1010
1111
0110
1111
1101
0000
0001

=
=
=
=
=
=
=
=

6, Value = 13 = 1101
10, Value = 1 = 0001
15, Value = 8 = 1000
6, Value = 0 = 0000
15, Value = 9 = 1001
13, Value = 13 = 1101
0, Value = 6 = 0110
1, Value = 11 = 1011

0
1
1
0
1
1
0
1

0
0
0
0
1
1
0
0

1
0
0
1
1
0
0
1

1
1
1
0
0
1
0
0

0
1
0
1

1
1
1
0

1
1
0
1

Permutation
1
0
1
0
1
1
0
1

1
0
0
0
0
1
1
0

0
0
0
0
0
0
1
1

1
1
0
0
1
1
0
1

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


1
0
1
0

0
0
0
0

L_out:
0 0 0 0
0 0 1 0
1 1 1 0
0 0 0 1

15

1
1
0
1

0
1
1
1

1
1
1
0

0
1
1
1

0
0
1
0

0
1
0
0

1
0
0
1

1
0
0
1

0
0
1
1

1
0
0
1

XOR

R_out:
1 0 1 1
0 0 1 1
1 0 0 1
0 0 1 0

1
0
0
0

0
0
1
0

1
0
1
1

1
1
1
1

0
0
1
0

1
0
0
1

1
0
0
1

0
0
1
1

1
0
1
0

0
0
1
0

0
0
1
0

0
1
1
0

Round 10

L_in:
1 0 1 1 0 1 1 0
0 0 1 1 0 0 0 0
1 0 0 1 1 0 0 1

R_in:
0 0 0 0 0 0 0 1
0 0 1 0 1 1 1 0
1 1 1 0 1 1 0 0
17

K:
1 1 1 0 0 0 0 0
1 1 0 1 0 0 0 0
0 1 0 1 0 0 1 0

0
0
0
1

0
1
1
1

0
1
1
1

0
1
0
0

1
0
0
1

0 0 1 0 0 1 1 1

0 0 0 1 1 1 0 1

0 0 1 0 0 1 1 0
1 0 1 1 0 0 1 0
0 1 0 1 0 0 0 1

E-bit Selection Table


0
0
1
0

0
0
1
0

0
1
1
0

0
0
0
1

0
1
1
1

0
1
1
1

0
1
0
0

1
0
0
1

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
0
1
0
0
0
0
1

0
0
0
1
1
1
0
1

XOR with Sub-Key


1
0
1
0
0
0
0
1

0
0
0
1
1
1
0
1

0
0
0
1
1
1
0
1

0
0
1
1
1
0
0
0

0
1
0
0
0
0
1
1

0
0
1
1
1
0
1
0

XOR

1
0
0
0
0
1
0
0

1
0
0
1
0
0
0
1

1
1
0
0
1
1
1
0

0
1
0
0
0
0
0
0

0
0
0
1
0
1
0
0

0
1
1
0
1
1
1
1

0
0
1
0
0
1
0
1

1
0
0
0
1
1
0
0

1
1
0
1
0
0
1
1

0
1
1
1
1
0
0
0

0
1
0
1
0
1
1
1

0
1
0
1
0
1
0
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

00
01
10
01
00
11
00
11

=
=
=
=
=
=
=
=

0,
1,
2,
1,
0,
3,
0,
3,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

1100
0111
0010
0111
1010
1001
0101
0101

=
=
=
=
=
=
=
=

1
1
0
1
1
0
1
1

1
0
1
0
0
0
0
0

12, Value = 5 = 0101


7, Value = 14 = 1110
2, Value = 4 = 0100
7, Value = 3 = 0011
10, Value = 3 = 0011
9, Value = 14 = 1110
5, Value = 0 = 0000
5, Value = 10 = 1010

Permutation
0
1
0
0
0
1
0
1

1
1
1
0
0
1
0
0

0
1
0
1
1
1
0
1

1
0
0
1
1
0
0
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

18

1
0
1
1
0
0
0
1

1
0
0
1
0
0
1
0

0
0
0
1
1
1
0
1

0
0
1
1
1
0
0
0

0
1
0
0
0
0
1
1

0
0
1
1
1
0
1
0

XOR Left and Right


1
0
1
0

1
0
0
1

L_out:
0 1 1 0
0 0 1 1
0 0 0 1
0 1 1 0

16

0
0
0
0

1
0
0
1

1
0
0
0

1
1
1
1

1
0
1
1

0
0
0
1

0
1
1
0

1
0
0
0

1
1
1
1

XOR

R_out:
1 1 0 1
0 0 0 0
1 0 0 0
0 1 0 0

1
1
0
0

1
0
1
0

0
0
0
0

1
1
0
1

1
1
1
0

1
0
1
1

0
1
1
0

1
0
0
0

1
1
1
1

0
0
1
0

1
0
0
1

1
0
0
1

0
0
1
1

0
0
0
0

1
0
0
1

1
1
0
1

0
1
1
0

1
0
0
1

1
1
1
1

0
0
0
1

1
1
0
0

Round 11

L_in:
1 1 0
0 0 0
1 0 0
0 1 0

1
0
0
0

1
0
1
1

0
1
1
0

1
0
0
0

R_in:
0 1 1
0 0 1
0 0 0
0 1 1

1
1
1
1

0
1
1
0

1
0
0
1

1
1
1
1

0
0
0
1

1
1
0
0

K:
0 0
1 1
0 1
0 1
1 0
0 1

1
0
1
1
1
1

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
0
0
1
0
0

0
0
0
0
0
0

1
0
1
0
0
0

0
1
1
1
0
1

0
1
0
1
1
0

0
0
1
1
1
1
0
0

0
1
0
0
0
0
0
1

E-bit Selection Table


0
0
0
0

1
0
0
1

1
1
0
1

0
1
1
0

1
0
0
1

1
1
1
1

0
0
0
1

1
1
0
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

XOR with Sub-Key


0
0
1
1
1
1
0
0

0
1
0
0
0
0
0
1

1
1
0
1
0
1
1
1

1
0
1
0
0
0
1
1

0
1
1
1
1
0
0
0

1
0
0
0
0
0
1
0

XOR

0
0
0
1
0
1
0
1

0
0
0
0
1
1
0
0

1
1
1
0
1
1
0
0

0
1
1
1
1
0
1
0

0
0
0
1
0
1
0
1

1
0
1
0
0
0
1
0

0
0
1
0
1
0
0
1

0
1
0
0
1
1
0
1

0
0
1
1
1
0
1
1

1
1
0
1
1
0
0
1

S-boxes (see NIST website for Sbox structures)


19

0
1
1
0
1
1
0
1

0
0
1
0
0
0
0
0

1
1
0
1
0
1
1
1

1
0
1
0
0
0
1
1

0
1
1
1
1
0
0
0

1
0
0
0
0
0
1
0

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

00
00
11
00
10
00
00
10

=
=
=
=
=
=
=
=

0,
0,
3,
0,
2,
0,
0,
2,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

0010
1011
0101
0110
1111
1001
0100
1111

=
=
=
=
=
=
=
=

2, Value = 13 = 1101
11, Value = 13 = 1101
5, Value = 9 = 1001
6, Value = 9 = 1001
15, Value = 6 = 0110
9, Value = 13 = 1101
4, Value = 15 = 1111
15, Value = 8 = 1000

1
1
1
1
1
0
1
1

0
1
0
1
1
1
1
0

0
1
0
0
1
0
0
1

1
0
1
0
0
1
1
1

1
0
1
1

0
1
1
0

1
0
0
0

Permutation
1
1
1
1
0
1
1
1

1
1
0
0
1
1
1
0

0
0
0
0
1
0
1
0

1
1
1
1
0
1
1
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


1
0
1
1

1
1
0
1

0
1
0
1

1
1
0
0

1
1
0
0

1
0
0
1

L_out:
0 0 0 0
0 1 1 1
0 0 0 0
1 0 1 0

0
1
1
1

1
1
1
1

0
1
1
0

0
1
1
1

17
L_in:
1 1 0
0 1 1
1 0 0
1 1 1

1
1
1
0

1
0
0
1

XOR

R_out:
1 1 0 1
0 1 1 1
1 0 0 0
1 1 1 0

1
0
1
0

1
0
0
1

0
0
0
0

1
0
0
0

1
1
0
0

1
0
0
1

1
1
1
0

1
0
0
1

1
1
1
1

0
0
0
1

0
1
0
0

0
1
0
1

Round 12
1
1
0
0

1
1
0
0

1
0
0
1

1
1
1
0

1
0
0
1

R_in:
0 0 0
0 1 1
0 0 0
1 0 1

0
1
0
0

0
1
1
1

1
1
1
1

0
1
1
0

0
1
1
1

E-bit Selection Table


20

K:
1 0
0 1
0 0
0 0
1 0
0 0

1
0
0
1
0
0

0
1
1
0
0
0

0
0
0
0
1
1

0
0
0
1
1
0

1
0
1
0
0
1

0
1
1
0
1
0

0
1
0
0

0
1
1
1

1
1
1
1

0
1
1
0

0
1
1
1

0
0
0
1

0
1
0
0

0
1
0
1

0
1
0
0

0
1
1
1

1
1
1
1

0
1
1
0

0
1
1
1

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
0
0
1
1
0
1
0

0
0
0
1
0
1
1
1

0
1
1
1
0
1
0
1

0
0
1
1
0
1
1
0

0
0
1
1
0
1
0
1

0
0
1
0
1
1
1
0

XOR with Sub-Key


1
0
0
1
1
0
1
0

0
0
0
1
0
1
1
1

0
1
1
1
0
1
0
1

0
0
1
1
0
1
1
0

0
0
1
1
0
1
0
1

0
0
1
0
1
1
1
0

1
1
0
0
0
0
1
0

XOR

0
0
0
1
0
0
1
0

1
0
0
0
1
1
0
1

0
1
1
0
0
0
1
0

0
0
0
1
0
0
0
1

0
1
0
1
1
0
0
0

0
1
0
1
1
0
0
0

0
0
0
0
0
1
0
1

1
1
1
1
1
0
0
0

0
1
0
1
0
1
0
0

0
0
1
0
0
1
0
0

0
1
1
1
0
1
1
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

00
11
01
11
10
01
01
00

=
=
=
=
=
=
=
=

0,
3,
1,
3,
2,
1,
1,
0,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

0100
0110
0101
0110
0100
1011
0000
1000

=
=
=
=
=
=
=
=

4, Value = 2 = 0010
6, Value = 4 = 0100
5, Value = 4 = 0100
6, Value = 13 = 1101
4, Value = 10 = 1010
11, Value = 14 = 1110
0, Value = 13 = 1101
8, Value = 10 = 1010

1
1
0
0
0
0
1
1

0
0
0
0
0
0
1
0

0
1
1
1
0
1
0
0

1
1
1
1
1
0
1
1

1
1
0
0

1
1
0
0

1
0
0
1

1
1
1
0

Permutation
0
0
0
1
1
1
1
1

0
1
1
1
0
1
1
0

1
0
0
0
1
1
0
1

0
0
0
1
0
0
1
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


1
0
0
1

1
1
0
1

0
0
1
0

0
0
0
1

0
0
1
1

0
0
1
1

1
0
1
1

1
0
0
1

XOR

1
0
1
1

1
1
0
1

0
1
0
1

21

1
0
0
1

0
0
1
0

0
0
0
0

0
1
1
1

1
1
0
1

1
1
1
1

1
0
1
0

0
1
0
1

0
0
0
0

L_out:
0 0 0 1
0 0 1 1
1 0 1 0
0 0 1 1

1
1
1
1

1
0
1
0

0
1
0
1

0
0
0
0

18

Round 13

L_in:
1 1 0
0 1 0
0 0 1
1 1 0

0
0
0
1

0
0
1
1

0
0
1
1

1
0
1
1

1
0
0
1

R_out:
1 1 0 0
0 1 0 0
0 0 1 0
1 1 0 1

0
0
1
1

0
0
1
1

1
0
1
1

1
0
0
1

R_in:
0 0 0
0 0 1
1 0 1
0 0 1

1
1
1
1

1
0
1
0

0
1
0
1

0
0
0
0

1
1
0
1

K:
0 0
0 0
0 1
0 1
0 0
0 1

1
0
1
0
1
0

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
0
1
0
1
1

1
0
0
1
0
0

1
0
0
1
1
1

0
1
0
0
0
1

1
1
1
0
0
0

0
1
0
1
0
0
0
1

0
1
0
1
1
1
0
1

E-bit Selection Table


0
0
1
0

0
0
0
0

0
1
1
1

1
1
0
1

1
1
1
1

1
0
1
0

0
1
0
1

0
0
0
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

XOR with Sub-Key


0
1
0
1
0
0
0
1

0
1
0
1
1
1
0
1

0
1
0
0
0
1
0
0

0
0
1
1
1
0
1
1

1
0
1
0
0
0
1
0

1
0
1
1
1
0
1
0

XOR

0
0
0
1
0
0
0
0

0
1
0
1
1
0
1
1

1
0
1
0
0
0
0
0

0
0
1
0
0
0
0
1

1
0
0
0
1
1
0
1

1
0
1
1
1
1
1
0

0
1
0
0
0
0
0
1

0
0
0
0
0
1
1
0

1
1
1
0
0
1
0
0

0
0
0
1
1
0
1
0

0
0
1
0
1
1
1
1

0
0
0
0
0
1
0
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :

Row:
Row:
Row:
Row:
Row:
Row:

00
10
00
00
00
01

=
=
=
=
=
=

0,
2,
0,
0,
0,
1,

Column:
Column:
Column:
Column:
Column:
Column:

0100
0100
0101
0010
0011
1101
22

=
=
=
=
=
=

4, Value = 2 = 0010
4, Value = 10 = 1010
5, Value = 3 = 0011
2, Value = 14 = 1110
3, Value = 1 = 0001
13, Value = 11 = 1011

0
1
0
0
0
1
0
0

0
0
1
1
1
0
1
1

1
0
1
0
0
0
1
0

1
0
1
1
1
0
1
0

S7 : Row: 00 = 0, Column: 1011 = 11, Value = 7 = 0111


S8 : Row: 10 = 2, Column: 0001 = 1, Value = 11 = 1011
Permutation
0
1
0
1
0
1
0
1

0
0
0
1
0
0
1
0

1
1
1
1
0
1
1
1

0
0
1
0
1
1
1
1

16
29
1
-> 5
2
32
19
22

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

21
17
26
10
14
9
6
25

0
1
0
1
0
1
0
0

1
1
1
0
0
1
1
1

1
1
1
1
1
1
0
0

1
0
1
0
1
0
0
0

0
0
1
1

0
0
1
1

1
0
1
1

XOR Left and Right


0
1
0
0

0
1
0
0

L_out:
1 1 1 0
1 0 1 0
0 0 0 1
1 1 0 0

19

1
1
1
0

1
0
0
1

0
0
1
1

0
1
0
0

1
0
1
0

0
1
0
1

0
1
1
1

1
1
1
0

0
1
1
1

XOR

R_out:
0 0 1 0
1 1 1 0
0 0 1 1
0 0 0 1

1
1
1
0

1
0
0
1

1
1
0
1

0
0
1
0

0
0
0
1

1
0
1
0

0
1
1
1

1
1
1
0

0
1
1
1

1
0
0
1

1
1
0
1

1
0
0
1

1
1
0
0

0
0
1
0

1
0
0
1

0
1
0
0

0
1
0
1

1
1
1
0

Round 14

L_in:
0 0 1
1 1 1
0 0 1
0 0 0

0
0
1
1

1
0
1
0

0
1
1
1

1
1
1
0

R_in:
1 1 1
1 0 1
0 0 0
1 1 0

0
1
1
1

0
0
1
0

1
0
0
1

0
1
0
0

0
1
0
1

1
1
1
0

K:
1 0
0 1
1 0
0 1
1 1
1 1

0
0
0
1
0
1

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

0
1
1
0
0
0

0
0
1
1
0
1

1
0
0
1
0
0

1
0
0
0
0
0

1
0
1
1
0
0

0
0
1
0
1
1
1
0

1
1
1
0
0
0
1
1

E-bit Selection Table


1
1
0
1

1
0
0
1

1
1
0
0

0
0
1
0

1
0
0
1

0
1
0
0

0
1
0
1

1
1
1
0

->

32
4
8
12
16
20
24
28

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30
23

3
7
11
15
19
23
27
31

1
0
0
1
0
0
1
0

1
0
1
1
0
0
0
1

0
1
0
1
1
1
0
0

1
1
0
0
0
1
1
1

XOR with Sub-Key


0
0
1
0
1
1
1
0

1
1
1
0
0
0
1
1

1
0
0
1
0
0
1
0

1
0
1
1
0
0
0
1

0
1
0
1
1
1
0
0

1
1
0
0
0
1
1
1

1
1
0
0
0
0
0
1

XOR

0
1
0
1
1
1
0
0

0
0
0
1
1
1
0
1

0
1
0
0
0
1
0
0

0
0
1
0
1
0
1
0

1
1
0
1
1
0
1
0

1
1
1
0
1
1
1
1

1
0
1
1
1
1
1
1

1
0
0
0
1
1
1
1

1
1
1
1
0
1
0
1

0
1
1
1
0
1
1
0

0
0
0
1
1
1
0
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

10
10
10
01
11
11
10
11

=
=
=
=
=
=
=
=

2,
2,
2,
1,
3,
3,
2,
3,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

1110
0011
1011
1011
1100
1111
1101
1110

=
=
=
=
=
=
=
=

14, Value = 5 = 0101


3, Value = 11 = 1011
11, Value = 14 = 1110
11, Value = 12 = 1100
12, Value = 10 = 1010
15, Value = 13 = 1101
13, Value = 5 = 0101
14, Value = 6 = 0110

0
0
0
1
1
0
1
1

1
0
0
0
1
0
1
1

0
1
0
1
1
0
1
1

1
1
1
1
1
1
0
0

1
0
1
0

0
1
1
1

1
1
1
0

Permutation
0
1
1
1
1
1
0
0

1
0
1
1
0
1
1
1

0
1
1
0
1
0
0
1

1
1
0
0
0
1
1
0

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


1
1
1
0

1
1
1
0

0
0
0
1

1
1
1
1

1
0
1
1

0
0
0
1

L_out:
1 1 1 1
0 0 1 1
1 1 1 0
0 0 1 0

0
0
0
1

0
1
1
0

1
1
0
1

0
0
1
0

0
0
1
1

0
1
0
1

XOR

R_out:
1 1 0 1
1 1 0 1
1 1 0 1
0 0 1 1

0
1
0
0

0
1
0
0

1
1
1
0

0
0
1
1

1
0
1
1

0
0
0
1

0
0
1
1

0
1
0
1

24

0
1
1
1

1
0
1
0

1
0
1
0

1
1
1
1

1
1
0
0

0
0
0
1

0
1
1
0

1
1
0
1

0
0
1
0

20

Round 15

L_in:
1 1 0
1 1 0
1 1 0
0 0 1

1
1
1
1

1
0
1
1

0
0
0
1

0
0
1
1

R_in:
1 1 1
0 0 1
1 1 1
0 0 1

0
1
0
1

1
1
0
0

0
0
0
1

0
1
1
0

1
1
0
1

0
0
1
0

K:
0 0
0 0
1 1
0 0
1 1
0 1

0
0
0
0
0
0

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
0
1
0
1
0

1
0
0
0
1
1

1
0
0
0
1
0

1
1
0
0
0
1

1
1
0
0
0
1

0
1
0
1
0
0
1
0

1
0
0
0
1
0
0
1

E-bit Selection Table


1
0
1
0

1
0
1
0

1
1
1
1

1
1
0
0

0
0
0
1

0
1
1
0

1
1
0
1

0
0
1
0

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

1
0
0
1
1
1
0
0

XOR with Sub-Key


0
1
0
1
0
0
1
0

1
0
0
0
1
0
0
1

1
0
0
1
1
1
0
0

1
1
1
1
1
0
1
1

1
0
1
0
0
1
0
0

0
0
0
1
0
0
1
1

XOR

0
1
0
0
0
0
1
0

0
1
0
1
0
0
1
0

0
0
1
0
0
1
0
1

1
0
1
0
0
1
0
0

1
0
1
0
0
0
0
1

1
0
1
0
0
1
1
1

0
0
0
1
0
0
0
0

1
1
0
1
1
0
1
1

1
0
1
1
1
0
0
1

0
1
0
1
1
1
1
1

0
0
0
0
0
1
0
1

1
0
1
1
0
1
0
0

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

01
00
01
11
00
01
00
00

=
=
=
=
=
=
=
=

1,
0,
1,
3,
0,
1,
0,
0,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

1100
1010
0100
1110
1110
0011
1010
1111

=
=
=
=
=
=
=
=

12, Value = 9 = 1001


10, Value = 2 = 0010
4, Value = 4 = 3 = 0011
14, Value = 2 = 0010
14, Value = 14 = 1110
3, Value = 2 = 0010
10, Value = 9 = 1001
15, Value = 7 = 0111

Permutation
1 0 0 1
0 0 1 0
0 0 1 1

16 7 20 21
29 12 28 17
1 15 23 26

0 1 0 0
0 1 1 1
1 1 1 0
25

1
1
1
1
1
0
1
1

1
0
1
0
0
1
0
0

0
0
0
1
0
0
1
1

0
1
0
1
0

0
1
0
0
1

1
1
1
0
1

0
0
0
1
1

->

5
2
32
19
22

18 31 10
8 24 14
27 3 9
13 30 6
11 4 25

0
0
1
1
0

1
0
0
0
1

1
0
0
1
1

0
0
0
0
1

1
0
1
1

0
0
0
1

0
0
1
1

XOR Left and Right


0
1
1
1

1
0
1
0

1
0
0
0

0
0
0
0

0
1
1
0

1
1
1
0

L_out:
1 0 1 1
0 1 0 1
0 0 0 1
1 0 1 1

1
1
0
1

1
1
1
1

0
1
0
0

0
0
0
1

21

0
1
1
1

0
1
0
0

XOR

R_out:
0 1 1 0
1 0 0 0
1 1 0 0
1 0 0 0

1
1
1
0

1
1
1
0

0
0
0
1

1
1
1
1

0
1
1
0

1
1
1
0

0
1
1
1

0
1
0
0

0
1
0
1

1
0
0
1

0
1
0
0

1
0
0
1

1
1
1
1

1
1
0
1

1
1
1
1

0
1
0
0

0
0
0
1

Round 16

L_in:
0 1 1
1 0 0
1 1 0
1 0 0

0
0
0
0

0
1
1
0

1
1
1
0

0
1
1
1

R_in:
1 0 1
0 1 0
0 0 0
1 0 1

0
1
0
0

1
1
1
1

1
1
0
1

1
1
1
1

0
1
0
0

K:
0 0
0 1
0 0
0 1
0 0
0 0

1
0
0
1
0
0

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

5
9
13
17
21
25
29
1

1
0
1
1

0
0
0
1

1
0
1
1
1
1

0
1
1
1
1
1

0
0
0
0
1
0

1
0
0
0
0
0

1
1
1
0
1
0

1
1
0
1
0
1
0
1

1
1
0
1
0
0
1
1

E-bit Selection Table


1
0
0
1

0
1
0
0

1
0
0
1

1
1
1
1

1
1
0
1

1
1
1
1

0
1
0
0

0
0
0
1

32
4
8
12
16
20
24
28

->

1
5
9
13
17
21
25
29

2
6
10
14
18
22
26
30

XOR with Sub-Key


1
1
0
1

1
1
0
1

0
1
1
1

1
0
0
1

1
0
1
0

1
0
1
0

XOR

0
1
1
0

0
1
0
1

1
0
0
1

1
1
1
0

0
0
0
0

0
0
0
1
26

1
0
0
0

1
1
1
0

0
1
1
1

1
0
1
0

1
0
1
1

0
1
1
1
0
1
0
1

1
0
0
1
0
0
1
0

1
0
1
0
1
0
1
1

1
0
1
0
0
1
1
1

0
1
0
1

0
0
1
1

0
1
0
1

0
0
1
0

1
0
1
1

0
1
1
1

0
0
1
0

1
0
1
1

1
0
0
1

1
0
1
0

1
1
0
0

0
1
0
0

0
1
1
1

1
0
0
0

1
1
0
0

1
0
0
0

0
1
1
1

0
0
1
1

S-boxes (see NIST website for Sbox structures)

S1 :
S2 :
S3 :
S4 :
S5 :
S6 :
S7 :
S8 :

Row:
Row:
Row:
Row:
Row:
Row:
Row:
Row:

11
00
11
11
00
10
11
11

=
=
=
=
=
=
=
=

3,
0,
3,
3,
0,
2,
3,
3,

Column:
Column:
Column:
Column:
Column:
Column:
Column:
Column:

7
12
15
18
8
27
13
11

20
28
23
31
24
3
30
4

1101
0110
0111
0010
1110
0101
0001
0001

=
=
=
=
=
=
=
=

13, Value = 0 = 0000


6, Value = 3 = 0011
7, Value = 7 = 0111
2, Value = 0 = 0000
14, Value = 14 = 1110
5, Value = 8 = 1000
1, Value = 11 = 1011
1, Value = 1 = 0001

0
0
0
0
0
1
1
0

1
1
0
1
1
1
0
1

0
1
0
0
0
0
0
0

1
1
0
1
0
0
0
1

0
1
1
0

1
1
1
0

0
1
1
1

Permutation
0
0
0
0
1
1
1
0

0
0
1
0
1
0
0
0

0
1
1
0
1
0
1
0

0
1
1
0
0
0
1
1

16
29
1
-> 5
2
32
19
22

21
17
26
10
14
9
6
25

XOR Left and Right


0
1
0
1

1
0
0
0

1
1
0
0

0
1
0
0

0
1
0
1

0
0
0
0

L_out:
0 0 0 0
0 0 1 1
1 1 0 0
0 0 0 0

0
0
1
1

1
1
1
0

0
0
0
0

0
0
0
1

22

0
1
1
1

0
1
0
1

XOR

R_out:
0 1 1 0
1 0 1 1
0 0 0 0
1 0 0 0

0
1
1
1

1
0
1
0

1
0
0
0

0
0
0
0

0
1
0
1

0
0
0
0

0
1
1
1

0
1
0
1

0
1
0
0

0
0
1
0

0
0
1
0

0
1
0
0

0
1
0
0

0
0
1
1

1
1
1
0

0
0
0
0

IP1

IP1 simply reverses what was done by IP.


input:

IP^-1:

result:
27

0
0
0
1

0
0
1
0
0
1
0
1

0
0
1
0
1
0
0
0

0
1
0
0
1
1
0
0

23

0
1
0
0
0
1
0
0

0
0
1
1
0
1
0
1

1
1
1
0
0
0
0
0

0
0
0
0
0
1
1
1

0
0
0
1
0
1
0
1

40
39
38
37
36
35
34
33

8
7
6
5
4
3
2
1

48
47
46
45
44
43
42
41

16
15
14
13
12
11
10
9

56
55
54
53
52
51
50
49

24
23
22
21
20
19
18
17

64
63
62
61
60
59
58
57

32
31
30
29
28
27
26
25

0
0
0
0
0
1
1
0

0
0
1
0
0
0
0
0

1
1
0
1
1
1
0
1

0
0
1
0
1
1
0
0

0
1
0
0
0
0
0
0

0
0
1
1
0
0
1
1

1
1
0
1
0
0
0
1

1
0
0
1
0
0
0
0

Final Result

Finally, the result of IP1 can be converted back to ASCII:


0
0
0
0
0
1
1
0

0
0
1
0
0
0
0
0

1
1
0
1
1
1
0
1

0
0
1
0
1
1
0
0

0
1
0
0
0
0
0
0

0
0
1
1
0
0
1
1

1
1
0
1
0
0
0
1

1
0
0
1
0
0
0
0

= #
= *
= T
=
= O
= \deg
= %
= &

Therefore, the first 64-bits of Hello World! encrypted using DES and our chosen key
results in the encrypted message shown above.

28

You might also like