Professional Documents
Culture Documents
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
=
=
=
=
=
=
=
=
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
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
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
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
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
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
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
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
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
=
=
=
=
=
=
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
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
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
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
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
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
=
=
=
=
=
=
=
=
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
=
=
=
=
=
=
=
=
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
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
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
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
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
=
=
=
=
=
=
=
=
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
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
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
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
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
=
=
=
=
=
=
=
=
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
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
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
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