Chuẩn mã dữ liệu DES (Data Encryption Standard) | An toàn thông tin | Đại học Thủy Lợi

Chuẩn mã dữ liệu DES (Data Encryption Standard) của Trường Đại học Thủy Lợi. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.

Môn:
Trường:

Đại học Thủy Lợi 221 tài liệu

Thông tin:
37 trang 7 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Chuẩn mã dữ liệu DES (Data Encryption Standard) | An toàn thông tin | Đại học Thủy Lợi

Chuẩn mã dữ liệu DES (Data Encryption Standard) của Trường Đại học Thủy Lợi. Hi vọng tài liệu này sẽ giúp các bạn học tốt, ôn tập hiệu quả, đạt kết quả cao trong các bài thi, bài kiểm tra sắp tới. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.

236 118 lượt tải Tải xuống
lOMoARcPSD|40651217
lOMoARcPSD| 4065121
Phn 2: Chun mã d liu DES
(Data Encryption Standard)
lOMoARcPSD|40651217
1. Gii thiu chung v DES
Ngày 13/5/1973 y ban quc gia v tiêu chun ca M
công b yêu cu v h mt áp dng cho toàn quc.
Điu này ã t nn móng cho chun hóa d liu,
hay là DES.
1975, công b bi công ty IBM, ci tiến t h
Lucifer.
Sau ó DES ược xem như chun hóa d liu cho
các ng dng.
lOMoARcPSD|40651217
2. Đặc im ca thut toán DES
DES là thut toán mã hóa khi, dài mi khi là
64 bit.
Khóa dùng trong DES dài toàn b 64 bit. Tuy nhiên
ch 56 bit thc s ược s dng; 8 bit còn li ch dùng cho
vic kim tra. DES xut ra bn mã 64 bit.
Thut toán thc hin 16 vòng
Mã hoá gii mã ược s dng cùng mt khoá.
DES ược thiết kế chy trên phn cng.
lOMoARcPSD|40651217
2. Đặc im ca thut toán DES
khái quát ca thut toán sinh mã trong DES
y
1
y
2
y
64
DES
lOMoARcPSD|40651217
z1 z2 z56
lOMoARcPSD|40651217
3. Mô t thut toán
lOMoARcPSD|40651217
lOMoARcPSD|40651217
3. Mô t thut toán
Thuật toán ược thc hin trong 3 giai on:
1. Cho bn rõ x (64bit) ược hoán v khi to IP
(Initial Permutation) to nên xâu bit x
0.
x
0
= IP(x) =
L
0
R
0
L
0
là 32 bit u tiên ca x
0
.
lOMoARcPSD|40651217
R
0
là 32 bit cui ca x
0
.
lOMoARcPSD|40651217
3. Mô t thut toán
B chuyn v IP
Hoán v khi to nhm thay i v trí ca các bít trong khi
d liu vào.
d, hoán v khi to chuyn bít 1 thành bít 58, bít 2 thành
bít 50, bít 3 thành bít 42,...
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
lOMoARcPSD|40651217
3. Mô t thut toán
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
2. T L
0
và R
0
s lp 16 vòng, ti mi vòng tính:
Li = Ri-1
R
i
= L
i-1
f(R
i-1
,K
i
) với i= 1, 2,…,16 vi:
là phép XOR ca hai xâu bit:
lOMoARcPSD|40651217
3. Mô t thut toán
0 0=0 , 1 1=0
1 0=1, 0 1=1
f là hàm (mô t sau).
K
i
là các xâu có dài 48 bit ược tính như c hàm
ca khóa K.
K
1
ến K
16
lp nên mt lch khóa.
lOMoARcPSD|40651217
3. Mô t thut toán
3. Ti vòng th 16:
lOMoARcPSD|40651217
3. Mô t thut toán
R16 i ch cho
L16.
Sau ó ghép 2 na R16, L16 cho i qua hoán v nghch o ca
hoán v IP s tính ược bn mã.
Bản mã cũng có ộ dài 64 bít.
lOMoARcPSD|40651217
Downloaded by Phuong Le (lephuong0301@gmail.com)
lOMoARcPSD|40651217
Hàm f
Hàm f ly i s u là xâu nhp R
i-1
(32 bit) i s th
hai là K
i
(48 bit) và to ra xâu xut có dài 32 bit.
Các bước sau ược thc hin:
1. Đối s u R
i-1
s ược “m rộng” thành xâu i
48 bit bi hàm m rng E c nh.
E(R
i
) bao gm 32 bit t R
i
, ược hoán v theo mt
cách thc xác nh, với 16 bit ược to ra 2 ln (lp).
Hàm f
lOMoARcPSD|40651217
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
Hàm m rng E
Hàm f
lOMoARcPSD|40651217
2. Tính E(R
i-1
) K
i
kết qu ược mt khi có dài 48
bit.
Khi này s ưc chia làm 8 khi
B = B1B2B3B4B5B6B7B8.
Mi khi có dài là 6 bít.
3. Cho các khi B
i
(i = 1, 2, .., 8) i qua hp S
i
: biến mt
khi B
i
dài 6 bit thành mt khi C
i
dài 4
bít.
lOMoARcPSD|40651217
S-box
Mi hp S (S-box) mt bng gm 4 hàng 16 ct
ược ánh s t 0:
Mi hp S có hàng 0,1,2,3; cột 0,1,2,…,15.
Mi phn t ca hp là mt s 4 bít.
6 bít vào hp S s xác nh s hàng và s ct tìm kết qu
ra.
S-box
Mi khi B
i
có 6 bít kí hiu là b1, b2, b3, b4, b5 và b6.
lOMoARcPSD|40651217
Bít b1 b6 ưc kết hp thành mt s 2 bít, nhn
giá tr t 0 ến 3, tương ng vi mt hàng trong
bng S.
4 bít gia, t b2 tới b5, ược kết hp thành mt s 4
bít, nhn giá tr t 0 ến 15, tương ng vi mt ct
trong bng S.
lOMoARcPSD|40651217
S-box
lOMoARcPSD|40651217
S-box
lOMoARcPSD|40651217
S-box
lOMoARcPSD|40651217
S-box
lOMoARcPSD|40651217
S-box
d: Ta B1=011000 thì b
1
b
6
= 00 (xác nh r=0),
b
2
b
3
b
4
b
5
=1100 (xác nh c=12), t ó ta tìm ược phn t v trí
(0,12) --> S1(B1)=0101 (tương ng vi s 5).
b
2
b
3
b
4
b
5
=1100
b
1
b
6
=00 Hp S1
14
4
13
1
2
15
11
8
3
10
6
12
5
9
0
7
0
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
lOMoARcPSD|40651217
- Mi xâu xut 4 bit ca các hộp S ược ưa vào c Cj
tương ứng: Cj = Sj(Bj) (1<=j<=8).
Hàm f
4. Xâu bit C = C
1
C
2
C
3
C
4
C
5
C
6
C
7
C
8
dài 32 bit ưc hoán v bi
hoán v c nh P. Kết qu có P(C)= f(R
i
, K
i
).
lOMoARcPSD|40651217
Hoán v P
Khóa K
K mt xâu dài 64 bit trong ó 56
bit dùng làm khóa 8 bit dùng
kim tra (phát hin li).
c bit các v trí 8, 16,…, 64 ưc xác
nh, sao cho mi byte cha s l các
s 1, vy tng li th ược phát
hin trong mi 8 bit.
Các bit kiểm tra ược b qua khi tính lch khóa.
16
7
20
21
29
12
28
17
1
15
23
26
5
18
31
10
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
lOMoARcPSD|40651217
lOMoARcPSD|40651217
Khóa K
Quá trình to các khóa con (subkeys) t khóa K:
Cho khóa K 64 bit, loi b các bit kim tra hoán v
các bit còn li của K tương ng vi hoán v c nh PC-
1.
Ta viết PC1(K) = C
0
D
0
, vi C
0
bao gm 28 bít u tiên ca
PC-1(k) và D
0
là 28 bit còn li.
lOMoARcPSD|40651217
Khóa K
Trong ó, bng s bit dch trái ti mi vòng:
lOMoARcPSD|40651217
Khóa K
Các hoán v c nh PC-1 và PC-2:
lOMoARcPSD|40651217
Khóa K
Các hoán v c nh PC-1 và PC-2:
lOMoARcPSD|40651217
Gii mã
Vic gii mã dùng cùng mt thuật toán như việc mã hoá.
Để gii mã d liệu ã ược mã hoá, quá trình giống như hoá
ược lp lại nhưng các chìa khphụ ược dùng theo th t
ngược li t K
16
ến K
1
, nghĩa trong bước 2 ca quá trình
hoá d liu u vào trên R
i-1
s ược XOR vi K
17-i
ch không
phi vi
K
i
.
Đặc im ca mã DES
lOMoARcPSD|40651217
Tính cht bù ca mã DES: DES có
tính cht bù:
trong ó:
Ā là phần bù ca A theo tng bít (1 thay bng 0 và ngược li).
E
K
bn mã hóa ca E với khóa K. P và C là văn bản (trước
khi mã hóa) và văn bản mã (sau khi mã hóa).
Do tính bù, ta th gim phc tp ca tn công duyt toàn
b xung 2 lần (tương ng vi 1 bít) vi iu kin ta th la
chn bn rõ.
Đặc im ca mã DES
lOMoARcPSD|40651217
Các khóa yếu trong mã DES:
DES có 4 khóa yếu (weak keys).
Khi s dng khóa yếu thì hóa (E) gii (D) s cho ra
cùng kết qu:
E
K
(E
K
(P)) = P hoặc tương ương E
K
= D
K
Đặc im ca mã DES
Các khóa yếu trong mã DES:
Bên cnh ó, còn có 6 cp khóa na yếu (semi-weak keys).
Mã hóa vi mt khóa trong cặp (K1), tương ương với gii mã
vi khóa còn li (K2):
E
K1
(E
K2
(P))=P hoặc tương ương E
K1
=D
K2
lOMoARcPSD|40651217
Tuy nhiên th d dàng tránh ược nhng khóa này
khi thc hin thut toán, th bng cách th hoc
chn khóa mt cách ngu nhiên.
Khi ó kh năng chọn phi khóa yếu là rt nh.
Đặc im ca mã DES
Triple DES:
Triple-DES chính DES vi hai chìa khoá 56 bit. Cho mt
bn tin cn hoá, chìa khoá ầu tiên ược dùng hoá
DES bn tin ó.
Kết qu thu ược li ược cho qua quá trình gii DES
nhưng với chìa khoá là chìa khoá th hai.
lOMoARcPSD|40651217
Bản tin sau qua ã ược biến i bng thut toán DES hai
lần như vậy lại ược hoá DES mt ln na vi chìa
khoá u tiên ra ược bn tin mã hoá cui cùng.
Quá trình mã hoá DES ba bước này ược gi là
Triple-DES.
Bài tp
Cho bn rõ mang nội dung: x=“NANGLUONGGIO”.
Cho khoá K=THUATTOANDES
Thc hiện mã hóa văn bản rõ trên theo thut toán DES
| 1/37

Preview text:

lOMoARcPSD| 40651217 lOMoAR cPSD| 4065121
Phần 2: Chuẩn mã dữ liệu DES (Data Encryption Standard) lOMoARcPSD| 40651217
1. Giới thiệu chung về DES
Ngày 13/5/1973 ủy ban quốc gia về tiêu chuẩn của Mỹ
công bố yêu cầu về hệ mật mã áp dụng cho toàn quốc.
Điều này ã ặt nền móng cho chuẩn mã hóa dữ liệu, hay là DES.
1975, công bố bởi công ty IBM, cải tiến từ hệ mã Lucifer.
Sau ó DES ược xem như là chuẩn mã hóa dữ liệu cho các ứng dụng. lOMoARcPSD| 40651217
2. Đặc iểm của thuật toán DES
DES là thuật toán mã hóa khối, ộ dài mỗi khối là 64 bit.
Khóa dùng trong DES có ộ dài toàn bộ là 64 bit. Tuy nhiên
chỉ có 56 bit thực sự ược sử dụng; 8 bit còn lại chỉ dùng cho
việc kiểm tra. DES xuất ra bản mã 64 bit.
Thuật toán thực hiện 16 vòng
Mã hoá và giải mã ược sử dụng cùng một khoá.
DES ược thiết kế ể chạy trên phần cứng. lOMoARcPSD| 40651217
2. Đặc iểm của thuật toán DES Sơ
ồ khái quát của thuật toán sinh mã trong DES y1 DES y2 … y64 lOMoARcPSD| 40651217 z1 z2 … z56 lOMoARcPSD| 40651217 3. Mô tả thuật toán lOMoARcPSD| 40651217 lOMoARcPSD| 40651217 3. Mô tả thuật toán
Thuật toán ược thực hiện trong 3 giai oạn:
1. Cho bản rõ x (64bit) ược hoán vị khởi tạo IP
(Initial Permutation) tạo nên xâu bit x0. x0 = IP(x) = L0R0
L0 là 32 bit ầu tiên của x0. lOMoARcPSD| 40651217
R0 là 32 bit cuối của x0. lOMoARcPSD| 40651217 3. Mô tả thuật toán Bộ chuyển vị IP
• Hoán vị khởi tạo nhằm thay ổi vị trí của các bít trong khối dữ liệu vào.
• Ví dụ, hoán vị khởi tạo chuyển bít 1 thành bít 58, bít 2 thành
bít 50, bít 3 thành bít 42,... 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 lOMoARcPSD| 40651217 3. Mô tả thuật toán 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
2. Từ L0 và R0 sẽ lặp 16 vòng, tại mỗi vòng tính: Li = Ri-1
Ri = Li-1 f(Ri-1,Ki) với i= 1, 2,…,16 với:
là phép XOR của hai xâu bit: lOMoARcPSD| 40651217 3. Mô tả thuật toán 0 0=0 , 1 1=0 1 0=1, 0 1=1 f là hàm (mô tả sau).
Ki là các xâu có ộ dài 48 bit ược tính như là các hàm của khóa K.
K1 ến K16 lập nên một lịch khóa. lOMoARcPSD| 40651217 3. Mô tả thuật toán 3. Tại vòng thứ 16: lOMoARcPSD| 40651217 3. Mô tả thuật toán R16 ổi chỗ cho L16.
Sau ó ghép 2 nửa R16, L16 cho i qua hoán vị nghịch ảo của
hoán vị IP sẽ tính ược bản mã.
Bản mã cũng có ộ dài 64 bít. lOMoARcPSD| 40651217
Downloaded by Phuong Le (lephuong0301@gmail.com) lOMoARcPSD| 40651217 Hàm f
• Hàm f lấy ối số ầu là xâu nhập Ri-1 (32 bit) ối số thứ
hai là Ki (48 bit) và tạo ra xâu xuất có ộ dài 32 bit.
• Các bước sau ược thực hiện:
1. Đối số ầu Ri-1 sẽ ược “mở rộng” thành xâu có ộ dài
48 bit bởi hàm mở rộng E cố ịnh.
E(Ri) bao gồm 32 bit từ Ri, ược hoán vị theo một
cách thức xác ịnh, với 16 bit ược tạo ra 2 lần (lặp). Hàm f lOMoARcPSD| 40651217 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 Hàm mở rộng E Hàm f lOMoARcPSD| 40651217
2. Tính E(Ri-1) Ki kết quả ược một khối có ộ dài 48 bit.
• Khối này sẽ ược chia làm 8 khối B = B1B2B3B4B5B6B7B8.
• Mỗi khối có ộ dài là 6 bít.
3. Cho các khối Bi (i = 1, 2, .., 8) i qua hộp Si: biến một
khối Bi có ộ dài 6 bit thành một khối Ci có ộ dài 4 bít. lOMoARcPSD| 40651217 S-box
Mỗi hộp S (S-box) là một bảng gồm 4 hàng và 16 cột ược ánh số từ 0:
Mỗi hộp S có hàng 0,1,2,3; cột 0,1,2,…,15.
Mỗi phần tử của hộp là một số 4 bít.
6 bít vào hộp S sẽ xác ịnh số hàng và số cột ể tìm kết quả ra. S-box
Mỗi khối Bi có 6 bít kí hiệu là b1, b2, b3, b4, b5 và b6. lOMoARcPSD| 40651217
Bít b1 và b6 ược kết hợp thành một số 2 bít, nhận
giá trị từ 0 ến 3, tương ứng với một hàng trong bảng S.
4 bít ở giữa, từ b2 tới b5, ược kết hợp thành một số 4
bít, nhận giá trị từ 0 ến 15, tương ứng với một cột trong bảng S. lOMoARcPSD| 40651217 S-box lOMoARcPSD| 40651217 S-box lOMoARcPSD| 40651217 S-box lOMoARcPSD| 40651217 S-box lOMoARcPSD| 40651217 S-box
Ví dụ: Ta có B1=011000 thì b1b6= 00 (xác ịnh r=0),
b2b3b4b5=1100 (xác ịnh c=12), từ ó ta tìm ược phần tử ở vị trí
(0,12) --> S1(B1)=0101 (tương ứng với số 5). b2b3b4b5=1100 b1b6=00 Hộp S1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 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 lOMoARcPSD| 40651217
- Mỗi xâu xuất 4 bit của các hộp S ược ưa vào các Cj
tương ứng: Cj = Sj(Bj) (1<=j<=8). Hàm f
4. Xâu bit C = C1C2C3C4C5C6C7C8 có ộ dài 32 bit ược hoán vị bởi
hoán vị cố ịnh P. Kết quả có P(C)= f(Ri, Ki). lOMoARcPSD| 40651217 16 7 20 21 Hoán vị P 29 12 28 17 Khóa K 1 15 23 26
K là một xâu có ộ dài 64 bit trong 5 18 31 10 ó 56
bit dùng làm khóa và 8 bit dùng ể 2 8 24 14
kiểm tra (phát hiện lỗi). 32 27 3 9
Các bit ở các vị trí 8, 16,…, 64 ược xác 19 13 30 6
ịnh, sao cho mỗi byte chứa số lẻ các
số 1, vì vậy từng lỗi có thể ược 22 11 4 25 phát hiện trong mỗi 8 bit.
Các bit kiểm tra ược bỏ qua khi tính lịch khóa. lOMoARcPSD| 40651217 lOMoARcPSD| 40651217 Khóa K
Quá trình tạo các khóa con (subkeys) từ khóa K:
Cho khóa K 64 bit, 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 PC1(K) = C0D0, với C0 bao gồm 28 bít ầu tiên của
PC-1(k) và D0 là 28 bit còn lại. lOMoARcPSD| 40651217 Khóa K Trong
ó, bảng số bit dịch trái tại mỗi vòng: lOMoARcPSD| 40651217 Khóa K Các hoán vị cố ịnh PC-1 và PC-2: lOMoARcPSD| 40651217 Khóa K Các hoán vị cố ịnh PC-1 và PC-2: lOMoARcPSD| 40651217 Giải mã
• Việc giải mã dùng cùng một thuật toán như việc mã hoá.
• Để giải mã dữ liệu ã ược mã hoá, quá trình giống như mã hoá
ược lặp lại nhưng các chìa khoá phụ ược dùng theo thứ tự
ngược lại từ K16 ến K1, nghĩa là trong bước 2 của quá trình mã
hoá dữ liệu ầu vào ở trên Ri-1 sẽ ược XOR với K17-i chứ không phải với Ki. Đặc iểm của mã DES lOMoARcPSD| 40651217
Tính chất bù của mã DES: DES có tính chất bù: trong ó:
Ā là phần bù của A theo từng bít (1 thay bằng 0 và ngược lại).
EK là bản mã hóa của E với khóa K. P và C là văn bản rõ (trước
khi mã hóa) và văn bản mã (sau khi mã hóa).
Do tính bù, ta có thể giảm ộ phức tạp của tấn công duyệt toàn
bộ xuống 2 lần (tương ứng với 1 bít) với iều kiện là ta có thể lựa chọn bản rõ. Đặc iểm của mã DES lOMoARcPSD| 40651217
Các khóa yếu trong mã DES:
• DES có 4 khóa yếu (weak keys).
• Khi sử dụng khóa yếu thì mã hóa (E) và giải mã (D) sẽ cho ra cùng kết quả: EK(EK(P)) = P hoặc tương ương EK = DK Đặc iểm của mã DES
Các khóa yếu trong mã DES: •
Bên cạnh ó, còn có 6 cặp khóa nửa yếu (semi-weak keys). •
Mã hóa với một khóa trong cặp (K1), tương ương với giải mã với khóa còn lại (K2): EK1(EK2(P))=P hoặc tương ương EK1=DK2 lOMoARcPSD| 40651217 •
Tuy nhiên có thể dễ dàng tránh ược những khóa này
khi thực hiện thuật toán, có thể bằng cách thử hoặc
chọn khóa một cách ngẫu nhiên. •
Khi ó khả năng chọn phải khóa yếu là rất nhỏ. Đặc iểm của mã DES Triple DES:
Triple-DES chính là DES với hai chìa khoá 56 bit. Cho một
bản tin cần mã hoá, chìa khoá ầu tiên ược dùng ể mã hoá DES bản tin ó. Kết quả thu ược lại
ược cho qua quá trình giải mã DES
nhưng với chìa khoá là chìa khoá thứ hai. lOMoARcPSD| 40651217
Bản tin sau qua ã ược biến ổi bằng thuật toán DES hai
lần như vậy lại ược mã hoá DES một lần nữa với chìa
khoá ầu tiên ể ra ược bản tin mã hoá cuối cùng.
Quá trình mã hoá DES ba bước này ược gọi là Triple-DES. Bài tập
Cho bản rõ mang nội dung: x=“NANGLUONGGIO”. Cho khoá K=THUATTOANDES
Thực hiện mã hóa văn bản rõ trên theo thuật toán DES