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

Giáo trình tin học : Tìm hiễu hệ chuẩn mã dữ liệu và cách tạo ra nó phần 1 pot

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 (176 KB, 6 trang )

Vietebooks Nguyn Hong Cng
Trang 1
Chơng 3


Chuẩn m dữ liệu


3.1. Mở đầu.
Ngày 15.5.1973. Uỷ ban tiêu chuẩn quốc gia Mỹ đã công bố một
khuyến nghị cho các hệ mật trong Hồ sơ quản lý liên bang. Điều này cuối
cùng đã dẫn đến sự phát triển của Chuẩn mã dữ liệu (DES) và nó đã trở thành
một hệ mật đợc sử dụng rộng rãi nhất trên thế giới. DES đợc IBM phát
triển và đợc xem nh một cải biên cuả hệ mật LUCIPHER. Lần đầu tiên
DES đợc công bố trong Hồ sơ Liên bang vào ngày 17.3.1975. Sau nhiều
cuộc trânh luận công khai, DES đã đợc chấp nhận chọn làm chuẩn cho các
ứng dụng không đợc coi là mật vào 5.1.1977. Kể từ đó cứ 5 năm một lần,
DES lại đợc Uỷ ban Tiêu chuẩn Quốc gia xem xét lại. Lần đổi mới gàn đây
nhất của DES là vào tháng 1.1994 và tiếp tới sẽ là 1998. Ngời ta đoán rằng
DES sẽ không còn là chuẩn sau 1998.


3.2. Mô tả DES

Mô tả đầy đủ của DES đợc nêu trong Công bố số 46 về các chuẩn xử
lý thông tin Liên bang (Mỹ) vào 15.1.1977. DES mã hoá một xâu bít x của
bẳn rõ độ dài 64 bằng một khoá 54 bít. Bản mã nhậ đợc cũng là một xâu bít
có độ dài 48. Trớc hết ta mô tả ở mức cao của hệ thống.

Thuật toán tiến hành theo 3 giai đoạn:
1.Với bản rõ cho trớc x, một xâu bít x


0
sẽ đợc xây dựng bằng cách
hoán vị các bít của x theo phép hoán vị cố định ban đầu IP. Ta viết:x
0
= IP(X)
= L
0
R
0
, trong đó L
0
gồm 32 bít đầu và R
0
là 32 bít cuối.
2. Sau đó tính toán 16 lần lặp theo một hàm xác định. Ta sẽ tính L
i
R
i
,
1 i 16 theo quy tắc sau:
L
i
= R
i-1

R
i
= L
i-1
f(R

i-1
,K
i
)
trong đó kí hiệu phép hoặc loại trừ của hai xâu bít (cộng theo modulo 2). f
là một hàm mà ta sẽ mô tả ở sau, còn K
1
,K
2
, . . . ,K
16
là các xâu bít độ dài 48
đợc tính nh hàm của khoá K. ( trên thực tế mỗi K
i
là một phép chọn hoán
Giỏo trỡnh tin hc : Tỡm hiu h chun mó d liu v cỏch to ra nú
Vietebooks Nguyn Hong Cng
Trang 2
vị bít trong K). K
1
, . . ., K
16
sẽ tạo thành bảng khoá. Một vòng của phép mã
hoá đợc mô tả trên hình 3.1.
3. áp dụng phép hoán vị ngợc IP
-1
cho xâu bít R
16
L
16

, ta thu đợc bản
mã y. Tức là y=IP
-1
(R
16
L
16
). Hãy chú ý thứ tự đã đảo của L
16
và R
16
.

Hình 3.1. Một vong của DES

Hàm f có hai biến vào: biến thứ nhất A là xâu bít độ dài 32, biến thứ
hai J là một xâu bít độ dài 48. Đầu ra của f là một xâu bít độ dài 32. Các
bớc sau đợc thực hiện:
1. Biến thứ nhất A đợc mở rộng thành một xâu bít độ dài 48 theo
một hàm mở rộng cố định E. E(A) gồm 32 bít của A (đợc hoán vị theo cách
cố định) với 16 bít xuất hiện hai lần.
2. Tính E(A) J và viết kết quả thành một chuỗi 8 xâu 6 bít =
B
1
B
2
B
3
B
4

B
5
B
6
B
7
B
8
.
3.Bớc tiếp theo dùng 8 bảng S
1
, S
2
, ,S
8
( đợc gọi là các hộp S ).
Với mỗi S
i
là một bảng 4ì16 cố định có các hàng là các số nguyên từ 0 đến
15. Với xâu bít có độ dài 6 (Kí hiệu B
i
= b
1
b
2
b
3
b
4
b

5
b
6
), ta tính S
j
(B
j
) nh sau:
Hai bít b
1
b
6
xác định biểu diễn nhị phân của hàng r của S
j
( 0 r 3) và bốn
bít (b
2
b
3
b
4
b
5
) xác định biểu diễn nhị phân của cột c của S
j
( 0 c 15 ). Khi
đó S
j
(B
j

) sẽ xác định phần tử S
j
(r,c); phần tử này viết dới dạng nhị phân là
một xâu bít có độ dài 4. ( Bởi vậy, mỗi S
j
có thể đợc coi là một hàm mã mà
đầu vào là một xâu bít có độ dài 2 và một xâu bít có độ dài 4, còn đầu ra là
một xâu bít có độ dài 4). Bằng cách tơng tự tính các C
j
= S
j
(B
j
), 1 j 8.
4. Xâu bít C = C
1
C
2
C
8
có độ dài 32 đợc hoán vị theo phép hoán vị
cố định P. Xâu kết quả là P(C) đợc xác định là f(A,J).
L
i-1
R
i-1


f
K

i
+
L
i
R
i

Vietebooks Nguyn Hong Cng
Trang 3
Hàm f đợc mô tả trong hình 3.2. Chủ yếu nó gômg một phép thế ( sử
dụng hộp S ), tiếp sau đó là phép hoán vị P. 16 phép lặp của f sẽ tạo nên một
hệ mật tích nêu nh ở phần 2.5.

Hình 3.2. Hàm f của DES

Trong phần còn lại của mục này, ta sẽ mô tả hàm cụ thể đợc dùng
trong DES. Phép hoán vị ban đầu IP nh sau:


















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







c
1
c

2
c
3
c
4
c
5
c
6
c
7
c
8


A
J
E
E(A)
+
S
1
S
2
S
3
S
4
S
5

S
6
S
7
S
8
f
(A,J)
Vietebooks Nguyn Hong Cng
Trang 4
IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 31 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

Bảng này có nghĩa là bít thứ 58 của x là bít đầu tiên của IP(x); bít thứ
50 của x là bít thứ hai của IP(x), .v.v . . .

Phép hoán vi ngợc IP
-1
là:

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

Hàm mở rộng E đợc xác đinh theo bảng sau:

Bảng chọn E bít
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

Tám hộp S là:



Vietebooks Nguyễn Hoàng Cương
Trang 5
S
1


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

S
1

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

S
3

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

S
4

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

S

5

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

S
6

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

S
7

4 11 12 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
Vietebooks Nguyn Hong Cng
Trang 6

S
8

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

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

Và phép hoán vị P có dạng:

P
16 7 20
29 12 28
1 15 23
5 18 31
32 27 3
19 13 30
22 11 4

Cuối cung ta cần mô tả việc tính toán bảng khoá từ khoá K. Trên thực
tế, K là một xâu bít độ dài 64, trong đó 56 bít là khoá và 8 bít để kiểm tra
tính chẵn lẻ nhằm phát hiện sai. Các bít ở các vị trí 8,16, . . ., 64 đợc xác
định sao cho mỗi byte chứa một số lẻ các số "1". Bởi vậy một sai sót đơn lẻ
có thể phát hiện đợc trong mỗi nhóm 8 bít. Các bít kiểm tra bị bỏ qua trong
quá trình tính toán bảng khoá.

1. Với một khoá K 64 bít cho trớc, ta loại bỏ các bít kiểm tra tính
chẵn lẻ và hoán vị các bít còn lại của K theo phép hoán vị cố định
PC-1. Ta viết:

PC-1(K) = C
0
D
0


2. Với i thay đổi từ 1 đến 16:
3.
C
i
= LS
i
(C
i-1
)
D
i
= LS
i
(Di-1)

Việc tính bảng khoá đợc mô tả trên hình 3.3

Các hoán vị PC-1 và PC-2 đợc dùng trong bảng khoá là:


×