Tải bản đầy đủ (.pdf) (7 trang)

Tài liệu Đồ án bảo mật thông tin Part 2 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (343.09 KB, 7 trang )

ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825
II. HỆ MÃ CHUẨN DES (Data Encryption Standard)
II.1 Đặc tả DES
Phương pháp DES mã hóa từ x có 64 bit với khóa k có 56 bit thành một từ có y 64 bit.
Thuật toán mã hóa bao gồm 3 giai đoạn:
1. Với từ cần mã hóa x có độ dài 64 bit, tạo ra từ x
0
(cũng có độ dài 64 bit) bằng cách
hoán vò các bit trong từ x theo một hoán vò cho trước IP (Initial Permutation). Biểu diễn
x
0
= IP(x) = L
0
R
0
, L
0
gồm 32 bit bên trái của x
0
, R
0
gồm 32 bit bên phải của x
0

L
0
R
0
x
0



Hình.1 Biểu diễn dãy 64 bit x thành 2 thành phần L và R

2. Xác đònh các cặp từ 32 bit L
i
, R
i
với 1≤ i ≤ 16theo quy tắc sau:
L
i
= R
i-1
R
i
= L
i-1
⊕ f (R
i-1
, K
i
)
với ⊕ biểu diễn phép toán XOR trên hai dãy bit, K
1
, K
2
, , K
16
là các dãy 48 bit phát
sinh từ khóa K cho trước (Trên thực tế, mỗi khóa K
i

được phát sinh bằng cách hoán vò
các bit trong khóa K cho trước).

L
i
-1
R
i
-1
f
K
i

L
i
R
i

Hình.2 Quy trình phát sinh dãy 64 bit L
i
R
i
từ dãy 64 bit L
i-1
R
i-1
và khóa K
i

3. Áp dụng hoán vò ngược IP

-1
đối với dãy bit R
16
L
16
, thu được từ y gồm 64 bit. Như
vậy, y = IP
-1
(R
16
L
16
)



ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825





















Hàm f được sử dụng ở bước 2 là
























A
B
1
B
2
B
3
B
4
B
5
B
6
B
7

B
8

S
1
J
E(A)
S
2
S
3
S

4
S
5
S
6
S
7
S
8

C
1
C
2
C
3
C
4
C
5
C
6
C
7
C
8

f(A,J)
E
+

P
ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825



Hàm f có gồm 2 tham số: Tham số thứ nhất A là một dãy 32 bit, tham số thứ hai J là
một dãy 48 bit. Kết quả của hàm f là một dãy 32 bit. Các bước xử lý của hàm f(A, J)như
sau:
• Tham số thứ nhất A (32 bit) được mở rộng thành dãy 48 bit bằng hàm mở rộng E.
Kết quả của hàm E(A) là một dãy 48 bit được phát sinh từ A bằng cách hoán vò theo
một thứ tự nhất đònh 32 bit của A, trong đó có 16 bit của A được lập lại 2 lần trong
E(A).
• Thực hiện phép toán XOR cho 2 dãy 48 bit E(A) và J, ta thu được một dãy 48 bit B.
Biểu diễn B thành từng nhóm 6 bit như sau:B = B
1
B
2
B
3
B
4
B
5
B
6
B
7
B
8


• Sử dụng 8 ma trận S
1
, S
2
, , S
8
, mỗi ma trận S
i
có kích thước 4×16 và mỗi dòng của
ma trận nhận đủ 16 giá trò từ 0 đến 15. Xét dãy gồm 6 bit B
j
= b
1
b
2
b
3
b
4
b
5
b
6
,
S
j
(B
j
) được xác đònh bằng giá trò của phần tử tại dòng r cột c của S

j
, trong đó, chỉ số
dòng r có biểu diễn nhò phân là b
1
b
6
, chỉ số cột c có biểu diễn nhò phân là b
2
b
3
b
4
b
5
.
Bằng cách này, ta xác đònh được các dãy 4 bit C
j
= S
j
(B
j
), 1 ≤ j ≤ 8.
• Tập hợp các dãy 4 bit C
j
lại. ta có được dãy 32 bit C = C
1
C
2
C
3

C
4
C
5
C
6
C
7
C
8
. Dãy 32
bit thu được bằng cách hoán vò C theo một quy luật P nhất đònh chính là kết quả của
hàm F(A, J)
các hàm được sử dụng trong DES.

Hoán vò khởi tạo IP sẽ như sau:


IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7

Điều này có nghóa là bit thứ 58 của x là bit đầu tiên của IP(x); bit thứ 50 của x là
bit thứ hai của IP(x) v.v.

Hoán vò ngược IP
-1
sẽ là:

IP
-1

40
39
38
37
8
7
6
5
48
47
46
45
16
15
14
13
56
55
54
53
24
23
22

21
64
63
62
61
32
31
30
29
ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825
36
35
34
33
4
3
2
1
44
43
42
41
12
11
10
9
52
51
50

49
20
19
18
17
60
59
58
57
28
27
26
25

Hàm mở rộng E được đặc tả theo bảng sau:





E – bảng chọn bit
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

Tám S-hộp và hoán vò P sẽ được biểu diễn như sau:


S
1

14
0
4
15
4
15
1
12
13
7
14
8
1
4

8
2
2
14
13
4
15
2
6
9
11
13
2
1
8
1
11
7
3
10
15
5
10
6
12
11
6
12
9
3

12
11
7
14
5
9
3
10
9
5
10
0
0
3
5
6
7
8
0
13

S
2

15
3
0
13
1
13

14
8
8
4
7
10
14
7
11
1
6
15
10
3
11
2
4
15
3
8
13
4
4
14
1
2
9
12
5
11

7
0
8
6
2
1
12
7
13
10
6
12
12
6
9
0
0
9
3
5
5
11
2
14
10
5
15
9

S

3

10
13
13
1
0
7
6
10
9
0
4
13
14
9
9
0
6
3
8
6
3
4
15
9
15
6
3
8

5
10
0
7
1
2
11
4
13
8
1
15
12
5
2
14
7
14
12
3
11
12
5
11
4
11
10
5
2
15

14
2
8
1
7
12

S
4

ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825
7
13
10
3
13
8
6
15
14
11
9
0
3
5
0
6
0
6

12
10
6
15
11
1
9
0
7
13
10
3
13
8
1
4
15
9
2
7
1
4
8
2
3
5
5
12
14
11

11
1
5
12
12
10
2
7
4
14
8
2
15
9
4
14


S
5

2
14
4
11
12
11
2
8
4

2
1
12
1
12
11
7
7
4
10
0
10
7
13
14
11
13
7
2
6
1
8
13
8
5
15
6
5
0
9

15
3
15
12
0
15
10
5
9
13
3
6
10
0
9
3
4
14
8
0
5
9
6
14
3

S
6

12

10
9
4
1
15
14
3
10
4
15
2
15
2
5
12
9
7
2
9
2
12
8
5
6
9
12
15
8
5
3

10
0
6
7
11
13
1
0
14
3
13
4
1
4
14
10
7
14
0
1
6
7
11
13
0
5
3
11
8
11

8
6
13

S
7

4
13
1
6
11
0
4
11
2
11
11
13
14
7
13
8
15
4
12
1
0
9
3

4
8
1
7
10
13
10
14
7
3
14
10
9
12
3
15
5
9
5
6
0
7
12
8
15
5
2
0
14
10

15
5
2
6
8
9
3
1
6
2
12




S
8

13
1
7
2
2
15
11
1
8
13
4
14

4
8
1
7
6
10
9
4
15
3
12
10
11
7
14
8
1
4
2
13
10
12
0
15
9
5
6
12
3
6

10
9
14
11
13
0
5
0
15
3
0
14
3
5
12
9
5
6
7
2
8
11

P
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

ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825
K là xâu có độ dài 64 bit, trong đó có 56 bit dùng làm khóa và 8 bit dùng để kiểm

tra sự bằng nhau (để phát hiện lỗi). Các bit ở các vò trí 8, 16, , 64 được xác đònh, sao cho
mỗi byte chứa số lẻ các số 1. Vì vậy, từng lỗi có thể được phát hiện trong mỗi 8 bit. Các
bit kiểm tra sự bằng nhau là được bỏ qua khi tính lòch khóa.
1. Cho khóa 64 bit K, loại bỏ các bit kiểm tra và hoán vò các bit còn lại của K
tương ứng với hoán vò (cố đònh) PC-1. Ta viết PC-1(K) = C
0
D
0
, với C
0
bao gồm 28 bit đầu
tiên của PC-1(K) và D
0
là 28 bit còn lại.
2. Với i nằm trong khoảng từ 1 đến 16, ta tính
C
i
= LS
i
(C
i-1
)
D
i
= LS
i
(D
i-1
)
và K

i
= PC-2(C
i
D
i
), LS
i
biểu diễn phép chuyển chu trình (cyclic shift) sang trái hoặc của
một hoặc của hai vò trí tùy thuộc vào trò của i; đẩy một vò trí nếu i = 1, 2, 9 hoặc 16 và
đẩy 2 vò trí trong những trường hợp còn lại. PC-2 là một hoán vò cố đònh khác.
Việc tính lòch khóa được minh họa như hình vẽ sau:

























Các hoán vò PC-1 và PC-2 được sử dụng trong việc tính lòch khóa là như sau:

PC-1
57 49 41 33 25 17 9
K

PC-1
C
0
D
0

C
1
D
1
PC-2 K
1

LS
1
LS
1
LS
2


LS
2




LS
16

LS
16

C
16
D
16
PC-2 K
16

ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES
NGÔ THỊ TUYẾT HÀ – T012825
1
10
19
63
7
14
21
58

2
11
55
62
6
13
50
59
34
7
54
61
5
42
51
60
39
46
53
28
34
43
52
31
38
45
20
26
35
44

23
30
37
12
18
27
36
15
22
29
4
PC-2
14
3
23
16
41
30
44
46
17
28
19
7
50
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


Bây giờ ta sẽ hiển thò kết quả việc tính lòch khóa. Như đã nhận xét ở trên, mỗi
vòng sử dụng khóa 48 bit tương ứng với 48 bit trong K. Các thành phần trong các bảng sau
sẽ chỉ ra các bit trong K được sử dụng trong các vòng khác nhau.

×