Professional Documents
Culture Documents
Chapter 3
Chapter 3
1
MỘT SỐ KHÁI NIỆM
2
MỘT SỐ KHÁI NIỆM
• Các kỹ thuật mã hóa hiện đại dựa trên các phép toán
của các bits nhị phân, theo dòng hoặc theo khối bits
• Mã hóa hiện đại là khái quát và khắc phục các nhược
điểm của mã hóa cổ điển
3
MỘT SỐ KHÁI NIỆM
Sơ đồ mã dòng
4
MỘT SỐ KHÁI NIỆM
Sơ đồ mã khối
5
MÃ DÒNG
6
NGUYÊN TẮC CHUNG
7
NGUYÊN TẮC CHUNG
8
NGUYÊN TẮC CHUNG
9
NGUYÊN TẮC CHUNG
10
MÃ TINYA5/1
11
MÃ TINYA5/1
12
MÃ TINYA5/1
• Ví dụ
X=100101, thì t = 0 0 1 = 1, sau khi quay X=110010
13
MÃ TINYA5/1
• Ví dụ
Y=01001110, thì t = 1 0 = 1, sau khi quay Y=10100111
14
MÃ TINYA5/1
• Ví dụ
Z=100110000, thì t=0 0 0=0, sau khi quay Z=010011000
15
MÃ TINYA5/1
16
MÃ TINYA5/1
• Giá trị si được sinh tại bước thứ i, bằng cách kiểm tra
hàm maj(x1, y3, z3) như sau
Tính m = maj(x1, y3, z3)
Nếu x1 = m, quay X
Nếu y3 = m, quay Y
Nếu z3 = m, quay Z
• Khi đó si = x5 y7 z8
17
MÃ TINYA5/1
18
MÃ TINYA5/1
19
MÃ TINYA5/1
20
MÃ TINYA5/1
21
MÃ TINYA5/1
22
MÃ TINYA5/1
23
MÃ TINYA5/1
24
MÃ A5/1
• A5/1 được dùng trong mạng điện thoại GSM (Global
System for Mobile Communications), để bảo mật dữ
liệu trong quá trình liên lạc giữa máy điện thoại và
trạm thu phát sóng vô tuyến
• Nguyên lý mã A5/1 tương tự như TinyA5/1
• Đơn vị mã hóa là 1 bit
25
MÃ A5/1
26
MÃ A5/1
• Hàm m = maj(x8, y10, z10)
Nếu x8 = m, quay X
t = x13 x16 x17 x18
xj = xj1 với j = 18, 17,…,1 và x0 = t
Nếu y10 = m, quay Y
t = y20 y21
yj = yj1 với j = 21, 20,…,1 và y0 = t
Nếu z10 = m, quay Z
t = z7 z20 z21 z22
zj = zj1 với j = 22, 21,…,1 và z0 = t
• Và si= x18 y21 z22
27
MÃ A5/1
Y y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16 y17 y18 y19 y20 y21
Z z0 z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19 z20 z21 z22
28
PHÁ MÃ A5/1
29
MÃ KHỐI
30
NGUYÊN TẮC CHUNG
• Mỗi lần mã một khối (block) thông tin
• Mỗi khối được mã thông qua nhiều giai đoạn (vòng)
31
NGUYÊN TẮC CHUNG
• Khắc phục điểm yếu của mã dòng (chỉ cần biết một cặp
bản mã bản rõ thì tìm được khóa)
• Nếu khối 4 bits thì có 24! (bảng khóa, mỗi bảng có 16
cặp 4 bits), nếu khối 64 bits thì có 264! (bảng khóa) nên
tấn công vét cạn không thể xẩy ra
32
NGUYÊN TẮC CHUNG
33
NGUYÊN TẮC CHUNG
Mã hóa và giải mã
34
NGUYÊN TẮC CHUNG
• Mã khối được sử dụng rộng rãi trong các giải thuật mã
hóa
• Hỗ trợ các dịch vụ bảo mật và chứng thực
35
MÔ HÌNH MẠNG SPN
• Kết hợp hai hay nhiều mã hóa đơn giản với nhau tạo
thành một mã hóa tổng (product cipher), để nâng cao
mức độ an toàn
• Các mã hóa đơn giản thường là phép thay thế
(substitution, S-box) và hoán vị (permutation, P-box)
• Mã hóa tổng được coi như một mạng hoán vị -thay thế
Substitution-Permutation Network - SPN)
36
MÔ HÌNH MẠNG SPN
37
MÔ HÌNH FEISTEL
• Các đặc điểm cơ bản
• Mã TinyDES
• Mã DES
• Phá mã DES
38
CÁC ĐẶC ĐIỂM CƠ BẢN
• Mô hình Feistel cũng kết hợp các phép thay thế và hoán
vị
• Bản rõ sẽ được biến đổi qua một số vòng để cho ra bản
mã cuối cùng
39
CÁC ĐẶC ĐIỂM CƠ BẢN
• Mã hóa Feistel biến đổi bản rõ P thành bản mã C theo
sơ đồ
K1 K2 K3 … Kn
P C1 C2 … Cn = C
• Bản rõ P và các bản mã Ci được chia thành nửa trái và
nửa phải
P = (L0, R0)
Ci = (Li, Ri), i = 1, 2, …n
40
CÁC ĐẶC ĐIỂM CƠ BẢN
• Quy tắc biến đổi các nửa trái, phải qua các vòng
Li = Ri-1
Ri = Li-1 F(Ri-1, Ki)
• Ki là một khóa con cho vòng thứ i
• Khóa con được sinh ra từ khóa K ban đầu theo một
thuật toán sinh khóa
K K1 K2 … Kn
41
CÁC ĐẶC ĐIỂM CƠ BẢN
• F là một hàm mã hóa (của mô hinh Feistel) đóng vai trò
như là phép thay thế
• Phép hoán vị được thực hiện bằng cách hoán đổi các
nửa trái, phải của Ci
• Bản mã C được tính từ kết xuất của vòng cuối cùng
C = Cn = (Ln, Rn)
42
CÁC ĐẶC ĐIỂM CƠ BẢN
43
CÁC ĐẶC ĐIỂM CƠ BẢN
• Giải mã được thực hiện qua các vòng theo thứ tự ngược
lại
C (Ln, Rn)
Ri-1= Li (theo mã hóa Li = Ri-1 )
Li-1 = Ri F(Ri-1, Ki) (mã hóa Ri = Li-1 F(Ri-1, Ki))
• Bản rõ là P = (L0, R0)
44
CÁC ĐẶC ĐIỂM CƠ BẢN
• Hàm F và thuật toán sinh khóa con càng phức tạp thì
càng khó phá mã
• Ứng với các hàm F và thuật toán sinh khóa con khác
nhau thì ta sẽ có các phương pháp mã hóa khác nhau
45
MÃ TINYDES
• Mã DES (Data Encryption Standard) sử dụng các
nguyên lý của mô hình Feistel
• DES đã chứng tỏ độ an toàn cao và được sử dụng rộng
rãi
• Mã TinyDES là một trường hợp thu nhỏ của DES
46
MÃ TINYDES
• Các đặc điểm cơ bản
Là mã thuộc hệ mã Feistel gồm 3 vòng
Kích thước của khối là 8 bít
Kích thước khóa là 8 bít
Mỗi vòng của TinyDES dùng khóa con có kích thước 6 bít
được trích ra từ khóa chính
47
MÃ TINYDES
48
MÃ TINYDES
50
MÃ TINYDES
51
MÃ TINYDES
52
MÃ TINYDES
53
MÃ TINYDES
54
MÃ TINYDES
• Khóa K với 8 bít ban đầu được chia thành 2 nửa trái
phải KL0 và KR0, mỗi nửa có kích thước 4 bít
Vòng thứ nhất KL0 và KR0 được dịch vòng trái 1 bít để có
được KL1 và KR1
Vòng thứ hai KL1 và KR1 được dịch vòng trái 2 bít để có
được KL2 và KR2
Vòng thứ 3 KL2 và KR2 được dịch vòng trái 1 bít để có KL3
và KR3
55
MÃ TINYDES
56
VÍ DỤ MÃ TINYDES
57
VÍ DỤ MÃ TINYDES
• Vòng 1
L1 = R0 = 1100, Expand(R0) = 001011 (Expand(b0b1b2b3) =
b2b3b1b2b1b0)
58
VÍ DỤ MÃ TINYDES
• Vòng 2
L2 = R1 = 0001, Expand(R1) = 010000 (Expand(b0b1b2b3) =
b2b3b1b2b1b0)
59
VÍ DỤ MÃ TINYDES
• Vòng 3
L3 = R2 = 1001, Expand(R2) = 010001 (Expand(b0b1b2b3) =
b2b3b1b2b1b0)
KL3 = KL2 <<1 = 1001, KR3 =KR2 << 1 = 1010
K3 = Compress(KL3KR3) = 001001 (k0k1k2k3k4k5k6k7k5k1k3k2k7k0)
Expand(R2) K3 = 011000
S-box(011000) = 0101 (Hàng 00 cột 1100)
F3 = P-box(0101) = 0011 (b0b1b2b3 b2b0b3b1)
R3 = L2 F3 = 0010
• Kết quả C= L3R3 = 1001.0010 (hệ thập lục phân: 92)
60
MÃ DES
• Là mã Feistel gồm 16 vòng (có thêm một hoán vị khởi tạo
trước khi vào vòng 1 và một hoán vị kết thúc sau vòng 16)
• Kích thước của khối là 64 bít (“meetmeafterthetogaparty‟ sẽ
được mã hóa làm 3 lần, mỗi lần 8 chữ cái gồm 64 bít
(meetmeaf - tertheto – gaparty)
• Kích thước khóa là 56 bít
• Mỗi vòng của DES dùng khóa con có kích thước 48 bít được
trích ra từ khóa chính
61
MÃ DES
62
MÃ DES
63
HOÁN VỊ KHỞI TẠO
64
HOÁN VỊ KẾT THÚC
(b0b1...b62b63 b39b7...b56b24)
65
CẤU TRÚC MỘT VÒNG CỦA DES
66
CẤU TRÚC MỘT VÒNG CỦA DES
67
CẤU TRÚC MỘT VÒNG CỦA DES
Expand(Ri-1)=Expand(b0b1b2…b30b31b32)
=b31b0b1 …b30b31b0
68
CẤU TRÚC MỘT VÒNG CỦA DES
• Hàm S-boxes của DES biến đổi một số 48 bít thành một
số 32 bít
• Chia hàm S-boxes thành 8 hàm S-box con, mỗi hàm
biến đổi số 6 bít thành số 4 bít (như S-boxes của
TinyDES)
69
CẤU TRÚC MỘT VÒNG CỦA DES
70
CẤU TRÚC MỘT VÒNG CỦA DES
71
CẤU TRÚC MỘT VÒNG CỦA DES
72
CẤU TRÚC MỘT VÒNG CỦA DES
73
CẤU TRÚC MỘT VÒNG CỦA DES
74
CẤU TRÚC MỘT VÒNG CỦA DES
Hàm P-box(b0b1b2…b30b31b32)
=b15b6b19 …b10b3b24
75
CẤU TRÚC MỘT VÒNG CỦA DES
Khóa K khởi đầu 64 bít được rút trích và hoán vị
thành một khóa 56 bít theo qui tắc
76
CẤU TRÚC MỘT VÒNG CỦA DES
• Khóa 56 bít được chia thành 2 nửa trái phải KL0 và KR0,
mỗi nửa có kích thước 28 bít
• Tại vòng thứ i (i = 1, 2, 3,…,16), KLi-1 và KRi-1 được dịch
vòng trái ri bít để có được KLi và KRi
77
CẤU TRÚC MỘT VÒNG CỦA DES
Khóa Ki của mỗi vòng được tạo ra bằng cách hoán vị
và nén 56 bít của KLi và KRi thành 48 bít theo qui tắc
78
PHÁ MÃ DES
• Mã DES an toàn hơn nhiều so với mã A5/1 do mã theo khối, kết
hợp thay thế và giao hoán
• Tấn công vét cạn 256 khóa (máy tính nhanh thực hiện 3 ngày), hiện
nay thường dùng kích thước khóa 128 an toàn hơn
• Năm 1990 Biham và Shamir đã giới thiệu phương pháp phá mã vi
sai, cần 247 cặp bản rõ, bản mã được lựa chọn để phá
• Năm 1997 Matsui đưa ra phương pháp phá mã tuyến tính, cần 243
cặp bản rõ, bản mã biết trước để phá
• Khắc phục dùng mã AES (đọc sách tham khảo)
79
MH TRUNG TÂM PHÂN PHỐI KHÓA
N người trao đổi cần N(N-1)/2 khóa
Mỗi người cần N-1 khóa (tốn kém và không an toàn)
80
MH TRUNG TÂM PHÂN PHỐI KHÓA
Mỗi người chỉ dùng một khóa bí mật, KA, KB,… với KDC
81
MH TRUNG TÂM PHÂN PHỐI KHÓA
KDC tạo khóa bí mật KAB cho A và B trao đổi
82
MH TRUNG TÂM PHÂN PHỐI KHÓA
83
LƯU Ý
• Mã hóa đối xứng hiện đại được dùng rộng rãi trong an toàn
và bảo mật thông tin
• Mã hóa đối xứng có thể chống được các hình thức tấn công
sửa đổi thông điệp, mạo danh và phát lại thông điệp (đảm
bảo tính chứng thực)
• Mã hóa đối xứng không đảm bảo được tính không thể từ chối
(do khóa bí mật- chỉ 2 người biết)
• Có thể nâng cao tính an ninh và hiệu quả bằng mô hình trung
tâm phân phối khóa (Key Distribution Center– KDC)
84
BÀI TẬP VỀ NHÀ
85