DES
DES
DES
PC1 1111000011001100101010101111010101010110011001111000111
bit i
#NAME? 57 1 1111000011001100101010101111010101010110011001111000111
#NAME? 49 1 1110000110011001010101011110101010101100110011110001111
#NAME? 41 1 110000110011001010101011110101010101100110011110001111
#NAME? 33 1 10000110011001010101011110101010101100110011110001111
#NAME? 25 0 0000110011001010101011110101010101100110011110001111
#NAME? 17 0 000110011001010101011110101010101100110011110001111
#NAME? 90 00110011001010101011110101010101100110011110001111
#NAME? 10 0110011001010101011110101010101100110011110001111
#NAME? 58 1 110011001010101011110101010101100110011110001111
#NAME? 50 1 10011001010101011110101010101100110011110001111
#NAME? 42 0 0011001010101011110101010101100110011110001111
#NAME? 34 0 011001010101011110101010101100110011110001111
#NAME? 26 1 11001010101011110101010101100110011110001111
#NAME? 18 1 1001010101011110101010101100110011110001111
#NAME? 10 0 001010101011110101010101100110011110001111
#NAME? 20 01010101011110101010101100110011110001111
#NAME? 59 1 1010101011110101010101100110011110001111
#NAME? 51 0 010101011110101010101100110011110001111
#NAME? 43 1 10101011110101010101100110011110001111
#NAME? 35 0 0101011110101010101100110011110001111
#NAME? 27 1 101011110101010101100110011110001111
#NAME? 19 0 01011110101010101100110011110001111
#NAME? 11 1 1011110101010101100110011110001111
#NAME? 30 011110101010101100110011110001111
#NAME? 60 1 11110101010101100110011110001111
#NAME? 52 1 1110101010101100110011110001111
#NAME? 44 1 110101010101100110011110001111
#NAME? 36 1 10101010101100110011110001111
#NAME? 63 0 0101010101100110011110001111
#NAME? 55 1 101010101100110011110001111
#NAME? 47 0 01010101100110011110001111
#NAME? 39 1 1010101100110011110001111
#NAME? 31 0 010101100110011110001111
#NAME? 23 1 10101100110011110001111
#NAME? 15 0 0101100110011110001111
#NAME? 71 101100110011110001111
#NAME? 62 0 01100110011110001111
#NAME? 54 1 1100110011110001111
#NAME? 46 1 100110011110001111
#NAME? 38 0 00110011110001111
#NAME? 30 0 0110011110001111
#NAME? 22 1 110011110001111
#NAME? 14 1 10011110001111
#NAME? 60 0011110001111
#NAME? 61 0 011110001111
#NAME? 53 1 11110001111
#NAME? 45 1 1110001111
#NAME? 37 1 110001111
#NAME? 29 1 10001111
#NAME? 21 0 0001111
#NAME? 13 0 001111
#NAME? 50 01111
#NAME? 28 1 1111
#NAME? 20 1 111
#NAME? 12 1 11
#NAME? 41
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
011101111001101111111110001
01111001101111111110001
1001101111111110001
101111111110001
11111110001
1100110011110001111
14 0 000110110000001011101111111111000111000001110010
17 0 00110110000001011101111111111000111000001110010
11 0 0110110000001011101111111111000111000001110010
24 1 110110000001011101111111111000111000001110010
11 10110000001011101111111111000111000001110010
50 0110000001011101111111111000111000001110010
31 110000001011101111111111000111000001110010
28 1 10000001011101111111111000111000001110010
15 0 0000001011101111111111000111000001110010
60 000001011101111111111000111000001110010
21 0 00001011101111111111000111000001110010
10 0 0001011101111111111000111000001110010
23 0 001011101111111111000111000001110010
19 0 01011101111111111000111000001110010
12 1 1011101111111111000111000001110010
40 011101111111111000111000001110010
26 1 11101111111111000111000001110010
81 1101111111111000111000001110010
16 1 101111111111000111000001110010
70 01111111111000111000001110010
27 1 1111111111000111000001110010
20 1 111111111000111000001110010
13 1 11111111000111000001110010
21 1111111000111000001110010
41 1 111111000111000001110010
52 1 11111000111000001110010
31 1 1111000111000001110010
37 1 111000111000001110010
47 1 11000111000001110010
55 1 1000111000001110010
30 0 000111000001110010
40 0 00111000001110010
51 0 0111000001110010
45 1 111000001110010
33 1 11000001110010
48 1 1000001110010
44 0 000001110010
49 0 00001110010
39 0 0001110010
56 0 001110010
34 0 01110010
53 1 1110010
46 1 110010
42 1 10010
50 0 0010
36 0 010
29 1 10
32 0
100101010101111 C1 = ShiftLeft(C0,s1)
110011110001111 D1 = ShiftLeft(D0,s1)
100101010101111 D0 = 0101010101100110011110001111
001010101011111 D1 = 1010101011001100111100011110
byte byte
1 10101010 AA
2 11001100 CC
3 11110001 F1
4 1110 E
0111000001110010
100111100011110
byte byte
0111000001110010 1 00011011 1B
111000001110010 2 00000010 2
11000001110010 3 11101111 EF
1000001110010 4 11111100 FC
000001110010 5 01110000 70
00001110010 6 01110010 72
0001110010
001110010
01110010
Khóa K1 = PC2(C1D1) = 000110110000001011101111111111000111000001110010
byte byte
1 00011011 1B
2 00000010 2
3 11101111 EF
4 11111100 FC
5 01110000 70
6 01110010 72
IP
58 1 1100110000000000110011001111111111110000101010101111
IP(M) = 110011000000000011001100111111111111000010101010111100001010
byte byte
1 11001100 CC Nửa trái L0 =
2 00000000 00 Nửa phải R0 =
3 11001100 CC
4 11111111 FF byte byte
5 11110000 F0 1 01111010
6 10101010 AA 2 00010101
7 11110000 F0 3 01010101
8 10101010 AA 4 01111010
5 00010101
6 01010101
E E(R0) = 0111101000010101010101010111101000010101010
Khóa K1 E(R0)
B= 01011100100000101011010110010111
F = P(B) = 00100011010010101010100110111011
L0 = 11001100000000001100110011111111
R1 = F XOR L0
byte XOR
1 239 EF
2 74 4A
3 101 65
4 68 44
L1 = R0
000111000001110010
010110011110001001101010111100110111101111
1111110000101010101111000010101010
0101010101111000010101010
11001100000000001100110011111111
11110000101010101111000010101010
7A
15
55
7A
15
55
01011110100001010101010101
000111000001110010
7A 122
15 21
55 85
7A 122
15 21
55 85
100100111
0101
1100
1000
0010
1011
0101
1001
0111 01011100100000101011010110010111
byte
11001100 CC 204
00000000 00 0
11001100 CC 204
11111111 FF 255