Bài giảng An toàn mạng máy tính - Bài 4: Các giải thuật mã hoá dữ liệu - Tô Nguyễn Nhật Quang

Các giải thuật mã hoá dữ liệu

1. Giới thiệu về mật mã hoá

2. Lịch sử của mật mã

3. Giải thuật mã hoá cổ điển

4. Giải thuật mã hoá hiện đại

5. Bẻ gãy một hệ thống mật mã

6. Bài tập

pdf 106 trang yennguyen 5040
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn mạng máy tính - Bài 4: Các giải thuật mã hoá dữ liệu - Tô Nguyễn Nhật Quang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng An toàn mạng máy tính - Bài 4: Các giải thuật mã hoá dữ liệu - Tô Nguyễn Nhật Quang

Bài giảng An toàn mạng máy tính - Bài 4: Các giải thuật mã hoá dữ liệu - Tô Nguyễn Nhật Quang
AN TOÀN 
MẠNG MÁY TÍNH 
ThS. Tô Nguyễn Nhật Quang
Trường Đại Học Công Nghệ Thông Tin
Khoa Mạng Máy Tính và Truyền Thông
ATMMT - TNNQ 2
NỘI DUNG MÔN HỌC
1. Tổng quan về an ninh mạng
2. Các phần mềm gây hại
3. Các giải thuật mã hoá dữ liệu
4. Mã hoá khoá công khai và quản lý khoá
5. Chứng thực dữ liệu
6. Một số giao thức bảo mật mạng
7. Bảo mật mạng không dây
8. Bảo mật mạng ngoại vi
9. Tìm kiếm phát hiện xâm nhập
CÁC GIẢI THUẬT
MÃ HOÁ DỮ LIỆU
BÀI 4
ATMMT - TNNQ 4
Các giải thuật mã hoá dữ liệu
1. Giới thiệu về mật mã hoá
2. Lịch sử của mật mã
3. Giải thuật mã hoá cổ điển
4. Giải thuật mã hoá hiện đại
5. Bẻ gãy một hệ thống mật mã
6. Bài tập
ATMMT - TNNQ 5
1. Giới thiệu về mật mã hoá
• Giới thiệu
 Mật mã hoá được sử dụng kể từ cổ đại
cho đến tận ngày nay.
 Hiện nay, các giao dịch tài chính, chuyển
khoản, mua sắm hàng hoá, thư từ, tài
liệu được thực hiện nhiều qua môi
trường mạng đòi hỏi dữ liệu phải được bảo
mật tốt => phải được mã hoá.
ATMMT - TNNQ 6
1. Giới thiệu về mật mã hoá
ATMMT - TNNQ 7
1. Giới thiệu về mật mã hoá
• Một số khái niệm
 Thông báo, văn bản: là một chuỗi hữu hạn
các ký hiệu lấy từ một bảng chữ cái Z nào
đó và được ký hiệu là m.
 Mật mã hoá: là việc biến đổi một thông báo
sao cho nó không thể hiểu nổi đối với bất kỳ
người khác ngoài người nhận được mong
muốn.
 Phép mật mã hoá thường được ký hiệu là
e(m), với m là thông báo cần mã hoá.
ATMMT - TNNQ 8
1. Giới thiệu về mật mã hoá
• Một số khái niệm
 Khoá: là một thông số đầu vào của phép mã
hoá hoặc giải mã. Khoá dùng để mã hoá ký
hiệu là ke, khoá dùng để giải mã ký hiệu là kd.
 Chuỗi mật mã: là chuỗi nguỵ trang, tức là chuỗi
thông báo qua phép mật mã hoá và thường
được ký hiệu là c: c=e(m,ke).
 Phép giải mã d(c,kd) là quá trình xác định thông
báo gốc (m) từ chuỗi mật mã c và khoá giải mã
kd, và thường được ký hiệu là d(c,kd):
d(c,kd)=m.
ATMMT - TNNQ 9
1. Giới thiệu về mật mã hoá
ATMMT - TNNQ 10
1. Giới thiệu về mật mã hoá
ATMMT - TNNQ 11
2. Lịch sử của mật mã
• Mật mã học là ngành có lịch sử hàng ngàn năm.
• Mật mã học cổ điển với bút và giấy.
• Mật mã học hiện đại với điện cơ, điện tử, máy tính.
• Sự phát triển của mật mã học đi liền với sự phát triển
của phá mã (thám mã):
 Phát hiện ra bức điện Zimmermann khiến Hoa Kỳ tham gia Thế
chiến I
 Việc phá mã thành công hệ thống mật mã của Đức Quốc xã góp
phần đẩy nhanh thời điểm kết thúc thế chiến II.
• Hai sự kiện khiến cho mật mã học trở nên đại chúng:
 Sự xuất hiện của tiêu chuẩn mật mã hóa DES.
 Sự ra đời của các kỹ thuật mật mã hóa khóa công khai.
ATMMT - TNNQ 12
2. Lịch sử của mật mã
• Mật mã học cổ điển
 Các chữ tượng hình không tiêu chuẩn tìm
thấy trên các bức tượng Ai Cập cổ đại
(cách đây khoảng 4500 năm tr.CN).
 Mã hóa thay thế bảng chữ cái đơn giản
như mật mã hóa Atbash (khoảng năm 500-
600 tr.CN).
 Người La Mã xây dựng mật mã Caesar.
ATMMT - TNNQ 13
2. Lịch sử của mật mã
• Mật mã học trong thế chiến thứ 2
 Người Đức sử dụng rộng rãi một hệ thống
máy rôto cơ điện tử có tên gọi là máy
Enigma.
 Phe Đồng minh sử dụng máy TypeX của
Anh và máy SIGABA của Mỹ, đều là những
thiết kế cơ điện dùng rôto tương tự như
máy Enigma, song với nhiều nâng cấp
hơn.
ATMMT - TNNQ 14
Máy 
Enigma
2. Lịch sử của mật mã
ATMMT - TNNQ 15
Máy Enigma
ATMMT - TNNQ 16
Máy TypeX
2. Lịch sử của mật mã
Máy Sigaba
ATMMT - TNNQ 17
2. Lịch sử của mật mã
• Mật mã học hiện đại
 Cha đẻ của mật mã học hiện đại là Claude
Shannon.
 Tiêu chuẩn mật mã hóa dữ liệu (Data
Encryption Standard) là một phương thức mã
hoá được công bố tại Mỹ vào ngày 17.03.1975.
 Với chiều dài khoá chỉ là 56-bit, DES đã được
chứng minh là không đủ sức chống lại những
tấn công kiểu vét cạn (brute force attack - tấn
công dùng bạo lực).
ATMMT - TNNQ 18
2. Lịch sử của mật mã
• Mật mã học hiện đại
 Năm 2001, DES đã chính thức được thay thế bởi AES
(Advanced Encryption Standard - Tiêu chuẩn mã hóa
tiên tiến).
 Trước thời kỳ này, hầu hết các thuật toán mật mã hóa
hiện đại đều là những thuật toán khóa đối xứng
(symmetric key algorithms), trong đó cả người gửi và
người nhận phải dùng chung một khóa, và cả hai người
đều phải giữ bí mật về khóa này.
 Đối với mật mã hóa dùng khóa bất đối xứng, người ta
phải có một cặp khóa có quan hệ toán học để dùng
trong thuật toán, một dùng để mã hóa và một dùng để
giải mã. Phổ biến nhất là mã hoá RSA.
ATMMT - TNNQ 19
2. Lịch sử của mật mã
• Mật mã học hiện đại
ATMMT - TNNQ 20
2. Lịch sử của mật mã
• Mật mã học hiện đại
Mã hoá RSA
ATMMT - TNNQ 21
3. Giải thuật mã hoá cổ điển
• Các yêu cầu cơ bản đối với giải thuật mật
mã hoá là:
 Có tính bảo mật cao
 Công khai, dễ hiểu. Khả năng bảo mật
được chốt vào khoá chứ không vào bản
thân giải thuật.
 Có thể triển khai trên các thiết bị điện tử.
ATMMT - TNNQ 22
3. Giải thuật mã hoá cổ điển
1. Mã thay thế đơn giản (Substitution Cipher)
• Trong phép này, khoá là một hoán vị h của bảng
chữ cái Z và mỗi ký hiệu của thông báo được thay
thế bằng ảnh của nó qua hoán vị h.
• Khoá thường được biểu diễn bằng một chuỗi 26 ký
tự. Có 26! (≈ 4.1026) hoán vị (khoá)
• Ví dụ: khoá là chuỗi UXEOS, ký hiệu A trong
thông báo sẽ được thay bằng U, ký hiệu B sẽ được
thay bằng X
•  Phá mã?
ATMMT - TNNQ 23
3. Giải thuật mã hoá cổ điển
1. Mã thay thế đơn giản (Substitution Cipher)
• Chọn một hoán vị p: Z26 Z26 làm khoá.
• VD: 
 Mã hoá
ep(a)=X
 Giải mã
dp(A)=d
ATMMT - TNNQ 24
3. Giải thuật mã hoá cổ điển
2. Mã thay thế n-gram
• Thay vì thay thế các ký tự, người ta có
thể thay thế cho từng cụm 2 ký tự
(diagram), 3 ký tự (trigram) hoặc tổng
quát cho từng cụm n ký tự (n-gram).
• Với bảng chữ cái gồm 26 ký tự tiếng
Anh thì phép thay thế n-gram sẽ có khoá
là một hoán vị của 26n n-gram khác
nhau.
•  Phá mã?
ATMMT - TNNQ 25
3. Giải thuật mã hoá cổ điển
2. Mã thay thế n-gram
Trong trường hợp diagram thì hoán vị gồm
262 diagram và có thể biểu diễn bằng một
dãy 2 chiều 26x26 trong đó các hàng biểu
diễn ký hiệu đầu tiên, các cột biểu diễn ký
hiệu thứ hai, nội dung của các ô biểu diễn
chuỗi thay thế. A B 
A EG RS
B BO SC
ATMMT - TNNQ 26
3. Giải thuật mã hoá cổ điển
3. Mã hoán vị bậc d (Permutation Cypher)
• Đối với một số nguyên dương d bất kỳ, chia
thông báo m thành từng khối có chiều dài
d. Rồi lấy một hoán vị h của 1, 2, , d và
áp dụng h vào mỗi khối.
• Ví dụ: nếu d=5 và h=(4 1 3 2 5), hoán vị (1
2 3 4 5) sẽ được thay thế bằng hoán vị mới
(4 1 3 2 5).
ATMMT - TNNQ 27
3. Giải thuật mã hoá cổ điển
3. Mã hoán vị bậc d
• Ví dụ: ta có thông báo
m = JOHN IS A GOOD ACTOR
Qua phép mã hoá này m sẽ trở thành
chuỗi mật mã c sau:
c = NJHO AI S DGOO OATCR
•  Phá mã?
ATMMT - TNNQ 28
3. Giải thuật mã hoá cổ điển
4. Mã dịch chuyển (Shift Cypher)
Vigenère và Caesar
• Trong phương pháp Vigenère, khoá bao
gồm một chuỗi có d ký tự. Chúng được viết
lặp lại bên dưới thông báo và được cộng
modulo 26. Các ký tự trắng được giữ
nguyên không cộng.
• Nếu d=1 thì khoá chỉ là một ký tự đơn và
được gọi là phương pháp Caesar (được
đưa ra sử dụng đầu tiên bởi Julius Caesar).
•  Phá mã?
ATMMT - TNNQ 29
Ví dụ: 
Plaintext: CRYPTOGRAPHY
Ciphertext: HWDUYTLWFUMD (Shift of 5)
C=(p+5) mod 26
The classic Caesar Shift chart
ATMMT - TNNQ 30
Mã dịch chuyển – Shift Cypher
ATMMT - TNNQ 31
Ví dụ: 
Từ khoá: CHIFFRE
Mã hoá: VIGENERE
Kết quả: XPOJSVVG
Vigenère 
Encryption –
Block Cypher 
(1523 – 1596)
ATMMT - TNNQ 32
3. Giải thuật mã hoá cổ điển
5. One - time Pad:
h e l p n e e d e d
001 000 010 100 101 000 000 011 000 011
e=000 h=001 l=010 d=011 p=100 n=101 a=110 
Encryption: Plaintext  Key = Ciphertext
111 101 110 101 111 100 000 101 110 000
110 101 100 001 010 100 000 110 110 011
a n p h l p e a a d
Plaintext:
Key:
Ciphertext:
ATMMT - TNNQ 33
3. Giải thuật mã hoá cổ điển
6. Mã tuyến tính (Affine Cipher)
Mã tuyến tính là mã thay thế có dạng:
e(x) = ax + b (mod 26), với a, b Z26.
Nếu a = 1 ta có mã dịch chuyển.
Giải mã: Tìm x?
y = ax + b (mod 26)
ax = y – b (mod 26)
x = a-1(y – b) (mod 26).
34
3. Giải thuật mã hoá cổ điển
7. Mã Playfair
Mật mã đa ký tự (mỗi lần mã hoá 2 ký tự liên tiếp nhau)
Giải thuật dựa trên một ma trận các chữ cái n×n (n=5 hoặc
n=6) được xây dựng từ một khóa (chuỗi các ký tự).
Xây dựng ma trận khóa:
 Lần lượt thêm từng ký tự của khóa vào ma trận.
 Nếu ma trận chưa đầy, thêm các ký tự còn lại trong bảng
chữ cái vào ma trận theo thứ tự A – Z.
 I và J xem như 1 ký tự.
 Các ký tự trong ma trận khoá không được trùng nhau.
35
3. Giải thuật mã hoá cổ điển
7. Mã Playfair
Giải thuật mã hóa:
• Mã hóa từng cặp 2 ký tự liên tiếp nhau.
• Nếu dư 1 ký tự, thêm ký tự “x” vào cuối.
• Nếu 2 ký tự nằm cùng dòng, thay thế bằng 2 ký tự tương ứng
bên phải. Ký tự ở cột cuối cùng được thay bằng ký tự ở cột đầu
tiên.
• Nếu 2 ký tự nằm cùng cột được thay thế bằng 2 ký tự bên
• dưới. Ký tự ở hàng cuối cùng được thay thế bằng ký tự ở hàng
trên cùng
• Nếu 2 ký tự lập thành hình chữ nhật được thay thế bằng 2 ký tự
tương ứng trên cùng dòng ở hai góc còn lại.
36
3. Giải thuật mã hoá cổ điển
7. Mã Playfair
37
3. Giải thuật mã hoá cổ điển
7. Mã Playfair
38
3. Giải thuật mã hoá cổ điển
8. Mã Hill
Giải thuật mã hóa:
• Sử dụng m ký tự liên tiếp của plaintext và thay thế bằng m
ký tự trong ciphertext với một phương trình tuyến tính trên
các ký tự được gán giá trị lần lượt là A=01, B=02, ,
Z=26.
• Chọn ma trận vuông Hill (ma trận H) làm khoá.
• Mã hoá từng chuỗi n ký tự trên plaintext (vector P) với n là
kích thước ma trận vuông Hill.
• C = HP mod 26
• P = H-1Cmod 26
39
3. Giải thuật mã hoá cổ điển
8. Mã Hill
40
3. Giải thuật mã hoá cổ điển
8. Mã Hill
41
3. Giải thuật mã hoá cổ điển
8. Mã Hill
ATMMT - TNNQ 42
3. Giải thuật mã hoá cổ điển
9. Phương pháp phá mã cổ điển:
• Dựa vào đặc điểm ngôn ngữ.
• Dựa vào tần suất xuất hiện của các chữ
cái trong bảng chữ cái thông qua thống
kê từ nhiều nguồn văn bản khác nhau,
dựa vào số lượng các ký tự trong bảng
mã để xác định thông báo đầu vào.
ATMMT - TNNQ 43
Tần suất của các ký tự trong ngôn ngữ tiếng Anh
ATMMT - TNNQ 44
4. Giải thuật mã hoá hiện đại
• Thường sử dụng mã khối kết hợp với các
phép hoán vị và thay thế.
• Việc biến đổi văn bản được thực hiện nhiều
lần trong một số vòng lặp.
• Khoá con của các vòng lặp sẽ khác nhau và
được sinh ra từ khoá ban đầu.
• Phổ biến có DES, AES, RSA...
ATMMT - TNNQ 45
4. Giải thuật mã hoá hiện đại
1. Phân loại
• Mã hoá khoá đối xứng (symmetric):
 Block ciphers: mã hoá các khối có chiều dài cố
định 64 bit hoặc 128 bit. Phổ biến có IDEA, RC2,
DES, Triple DES, Rijndael (AES), MARS, RC6,
Serpent, Twofish, DESX, DESL, DESXL.
 Stream ciphers: mã hoá từng bit của thông điệp.
Đại diện là RC4.
• Mã hoá khoá bất đối xứng (asymmetric): RSA
ATMMT - TNNQ 46
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
• DES (Data Encryption Standard) được sử dụng rộng
rãi trên thế giới.
• Dùng khoá có độ dài 56 bit để mã hoá các khối dữ
liệu 64 bit.
• Cả bên mã hoá lẫn bên giải mã đều dùng chung một
khoá và DES thuộc vào hệ mã khoá bí mật.
• Xét về độ an toàn, hiện nay 3DES (một cải tiến của
DES) được đánh giá là có độ an toàn cao vì độ dài
khoá của nó gấp 3 lần so với DES.
ATMMT - TNNQ 47
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
48
Giải thuật mã hoá DES
• 17.03.1975: DES được công bố để công chúng đóng
góp ý kiến.
• 11.1976: DES được phê chuẩn làm tiêu chuẩn chính
thức.
• 1992: Biham và Shamir công bố một phương thức
tấn công thám mã vi sai với độ phức tạp thấp hơn
tấn công bạo lực (Trên lý thuyết). Kiểu tấn công này
đòi hỏi người tấn công lựa chọn 247 văn bản rõ (một
điều kiện không thực tế).
• 06.1997: Lần đầu tiên, dự án DESCHALL đã phá vỡ
được một bản tin mã hoá bằng DES.
2. Chuẩn mã hoá dữ liệu DES
49
Giải thuật mã hoá DES
• 07.1998: Thiết bị thám mã Deep Crack của tổ chức
Electronic Frontier Foundation phá được một khoá
của DES trong vòng 56 giờ.
• 01.1999: Deep Crack cùng với distributed.net phá
được DES trong 22 giờ 15 phút.
• 25.10.1999: Triple DES được khuyến cáo sử dụng
cho các hệ thống quan trọng.
• 26.05.2002: AES trở thành tiêu chuẩn thay thế cho
DES.
2. Chuẩn mã hoá dữ liệu DES
50
Giải thuật mã hoá DES
Giải thuật:
• Sử dụng một khoá K tạo ra n khoá con K1, K2, , Kn.
• Hoán vị dữ liệu.
• Thực hiện n vòng lặp. Tại mỗi vòng lặp:
 Dữ liệu được chia thành hai phần
 Áp dụng phép toán thay thế lên một phần, phần còn lại giữ
nguyên.
 Hoán vị hai phần cho nhau.
• Hoán vị dữ liệu.
ATMMT - TNNQ 51
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 52
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 53
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 54
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 55
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 56
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 57
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 58
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 59
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 60
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 61
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 62
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 63
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 64
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 65
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 66
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 67
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 68
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 69
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 70
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 71
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 72
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
• AES (Advanced Encryption Standard – Tiêu chuẩn mã
hoá tiên tiến) là một giải thuật mã hoá khoá đối xứng
được công bố năm 2000 để thay thế cho DES. Giải thuật
này thực hiện mã hoá khối bằng cách lập lại nhiều lần
các bước xử lý.
• Giải thuật (còn có tên gọi khác là Rijndael) được đề xuất
bởi hai nhà mật mã học người Bỉ là Joan Daemen và
Vincent Rijmen.
ATMMT - TNNQ 73
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
• Kích thước khối dữ liệu đầu vào là 128 bit, kích thước
khoá lần lượt là 128, 192, 256 bit (AES-128, AES-192,
AES-256).
• Mỗi khoá con là một cột gồm 4 bytes.
• Mỗi khối dữ liệu 128 bit đầu vào, tương ứng với 16 bytes,
tạo thành một ma trận 4x4 của các byte, gọi là ma trận
trạng thái. Ma trận trạng thái này sẽ biến đổi trong quá
trình thực hiện mã hoá.
ATMMT - TNNQ 74
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
ATMMT - TNNQ 75
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
• Hàm SubBytes: mỗi byte trong state được thay thế với các byte
khác, sử dụng một bảng look-up được gọi là S-box. S-box được
dùng bắt nguồn từ hàm ngược trên trường GF(28).
• Hàm ShiftRows: mỗi hàng được chuyển tuần tự với một số lượng
bước cố định. Các phần tử của hàng đầu tiên sẽ không thay đổi vị
trí, hàng thứ hai dịch sang trái một cột, hàng thứ ba dịch sang trái
hai cột, hàng cuối cùng sẽ dịch sang trái ba cột, đảm bảo mỗi cột
của bảng đầu ra đều được tạo thành từ các cột của bảng trạng thái
đầu vào.
ATMMT - TNNQ 76
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
• Hàm MixColumns: mỗi cột được chuyển đổi tuyến tính bằng
cách nhân nó với một ma trận trong trường hữu hạn. Mỗi cột
được xem như một đa thức trong trường GF(28) và được nhân
modulo x4 + 1 với một biểu thức cố định c(x)=3x3+x2+x+2.
• Hàm AddRoundKey: mỗi byte trong bảng trạng thái được thực
hiện phép XOR với một khoá vòng, quá trình xử lý AES thu
được 11 khoá vòng từ các key mã hoá được phân phát cho kỹ
thuật mã hoá.
ATMMT - TNNQ 77
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
ATMMT - TNNQ 78
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
ATMMT - TNNQ 79
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
ATMMT - TNNQ 80
4. Giải thuật mã hoá hiện đại
3. Giải thuật mã hoá AES
ATMMT - TNNQ 81
4. Giải thuật mã hoá hiện đại
4. Giải thuật mã hoá RC4, RC5, RC6
ATMMT - TNNQ 82
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
• Được sử dụng phổ biến trong thương mại điện tử
• Đảm bảo an toàn với điều kiện độ dài khóa đủ lớn.
• Thuật toán RSA có hai khóa:
 khóa công khai (hay khóa công cộng)
 khóa bí mật (hay khóa cá nhân).
• Mỗi khóa là những số cố định sử dụng trong quá trình
mã hóa và giải mã.
• Khóa công khai được công bố rộng rãi cho mọi người và
được dùng để mã hóa. Những thông tin được mã hóa
bằng khóa công khai chỉ có thể được giải mã bằng khóa
bí mật tương ứng.
ATMMT - TNNQ 83
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
Có thể mô phỏng trực quan một hệ mật mã khoá công
khai như sau :
• Bob muốn gửi cho Alice một thông tin mật.
• Alice sẽ gửi cho Bob một chiếc hộp có khóa đã mở sẵn
và giữ lại chìa khóa.
• Bob nhận chiếc hộp, cho vào đó một tờ giấy viết thư
bình thường và khóa.
• Sau đó Bob gửi chiếc hộp lại cho Alice.
• Alice mở hộp với chìa khóa của mình và đọc thông tin
trong thư.
• Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò
khóa công khai, chiếc chìa khóa chính là khóa bí mật.
ATMMT - TNNQ 84
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
Bob Alice
ATMMT - TNNQ 85
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
Chọn một số ngẫu nhiên lớn để sinh cặp khóa. Dùng khoá công khai để mã hóa, 
nhưng dùng khoá bí mật để giải mã. 
ATMMT - TNNQ 86
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
Dùng khoá bí mật để ký một thông báo; dùng 
khoá công khai để xác minh chữ ký. 
Tổ hợp khoá bí mật của mình với khoá bí 
mật của người khác tạo ra khoá dùng 
chung chỉ hai người biết. 
ATMMT - TNNQ 87
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
ATMMT - TNNQ 88
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
ATMMT - TNNQ 89
4. Giải thuật mã hoá hiện đại
5. Hệ mã hoá công khai RSA
• Các giải thuật mã hoá DES và RSA còn được
ứng dụng vào chữ ký điện tử.
• Giải thuật RSA là rất an toàn nhưng tốc độ mã
hoá và giải mã chậm hơn giải thuật DES hàng
ngàn lần.
• Thông thường người ta thường kết hợp hai
phương pháp mã hoá DES và RSA như sau:
 DES mã hoá khối văn bản.
 RSA để mã hoá khoá mà DES đã dùng để
mã hoá khối văn bản.
ATMMT - TNNQ 90
5. Bẻ gãy một hệ thống mật mã
• Những chuyên gia mật mã hay những kẻ tấn
công thường được giả thiết biết đầy đủ thông tin
về hàm mã hoá e và hàm giải mã d.
• Các chuyên gia này cũng có thể có thêm nhiều
thông tin hỗ trợ như các thống kê về ngôn ngữ,
kiến thức về ngữ cảnh...
• Với một chuỗi mật mã nào đó, họ thiếu khoá k
để có thể sử dụng d để giải mã c một cách
chính xác.
ATMMT - TNNQ 91
5. Bẻ gãy một hệ thống mật mã
ATMMT - TNNQ 92
5. Bẻ gãy một hệ thống mật mã
Các khả năng tấn công trên hệ thống: 
ATMMT - TNNQ 93
5. Bẻ gãy một hệ thống mật mã
Các khả năng tấn công trên hệ thống:
• Tấn công chỉ dựa trên chuỗi mật mã (crytogram-only
attack): đối phương chỉ biết một vài mẫu chuỗi mật mã c.
• Tấn công dựa trên văn bản đã biết (known-plaintext
attack): Trong trường hợp này những người tấn công
được giả thiết là đã biết một độ dài đáng kể của văn bản
thông báo và chuỗi mật mã tương ứng, và từ đó cố gắng
tìm ra khoá.
• Tấn công dựa trên văn bản được chọn (chosen-plaintext
attack): những người tấn công có thể đã có được một số
lượng tuỳ ý của các cặp thông báo và chuỗi mật mã tương
ứng (m, c).
ATMMT - TNNQ 94
5. Bẻ gãy một hệ thống mật mã
Các khả năng tấn công trên hệ thống: 
Kiểu tấn công Đối phương nắm được
ciphertext only attack Chỉ văn bản mã c
known plaintext attack Cả văn bản nguồn p và văn bản mã c
chosen plaintext attack
Đột nhập được vào máy mã hoá. Tự 
chọn văn bản p và mã hoá lấy được văn 
bản mã c tương ứng.
chosen ciphertext attack
Đột nhập được vào máy giải mã. Tự 
chọn văn bản mã c và giải mã lấy được 
văn bản p tương ứng.
ATMMT - TNNQ 95
5. Bẻ gãy một hệ thống mật mã
Key size (bits)
Number of 
alternative keys
Time required at 1 
decryption/ms
Time required at 106
decryption/ms
32 232 = 4.3 x 109 231 ms = 35.8 
minutes
2.15 milliseconds
56 256 = 7.2 x 1016 255 ms = 1142 years 10.01 hours
128 2128 = 3.4 x 1038 2127 ms = 5.4 x 1024
years
5.4 x 1018 years
168 2168 = 3.7 x 1050 2167 ms = 5.9 x 1036
years
5.9 x 1030 years
26 characters 
(permutation)
26! = 4 x 1026 2 x 
1026 ms
= 6.4 x 1012
years
6.4 x 106 years
Thời gian trung bình để tìm khoá theo kiểu vét cạn
ATMMT - TNNQ 96
5. Bẻ gãy một hệ thống mật mã
Thời gian trung bình để tìm khoá theo kiểu vét cạn
ATMMT - TNNQ 97
5. Bẻ gãy một hệ thống mật mã
Công cụ phân tích Cryptool
ATMMT - TNNQ 98
6. Bài tập
1. Giải thích cơ chế của việc bẻ gãy mật mã của hệ 
thống sau:
ATMMT - TNNQ 99
6. Bài tập
2. Tìm mã hoá của các ký số 1-9:
• Mỗi biểu tượng trong số chín biểu tượng xuất
hiện trong mảng dưới đây (  ) mã
hóa duy nhất một trong các chữ số 1 đến 9.
• Cột ngoài cùng bên phải là các tổng số ở mỗi
hàng
• Hàng dưới cùng cho các tổng số ở mỗi cột.
• Một dấu hỏi có thể đại diện cho bất kỳ một hoặc
hai chữ số và không nhất thiết phải cùng một số
trong mỗi trường hợp.
ATMMT - TNNQ 100
6. Bài tập
2. Tìm mã hoá của các ký số 1-9:
ATMMT - TNNQ 101
6. Bài tập
3. Sử dụng công cụ Cryptool
• Cryptool là một ứng dụng miễn phí chạy
trên Windows, thường được sử dụng để
phân tích các giải thuật mã hoá. Phiên bản
hiện nay là 1.4.30.
• Địa chỉ download Cryptool:
ATMMT - TNNQ 102
6. Bài tập
4. Nêu cơ chế hoạt động và viết ứng dụng cho 
phép mã hoá và giải mã với 2 (hai) trong số 
những giải thuật mã hoá sau:
• Vigenère
• Hill.
• Affine
• Playfair
• Solitaire
ATMMT - TNNQ 103
6. Bài tập
5. Nêu chi tiết cơ chế hoạt động của giải thuật
mã hoá DES.
6. Cài đặt ứng dụng Advanced Encryption
Package. Cho biết cách sử dụng công cụ này.
7. Trình bày tổng quan về cơ chế hoạt động của
các giải thuật RC2, RC4, RC6.
ATMMT - TNNQ 104
6. Bài tập
8. Trình bày tổng quan về cơ chế hoạt động
của giải thuật RSA.
9. Viết ứng dụng mã hoá và giải mã cho một
giải thuật mã hoá hiện đại tuỳ chọn giữa
DES và AES.
10. Viết ứng dụng mô phỏng giao thức trao đổi
khoá Diffie – Hellman.
ATMMT - TNNQ 105
6. Bài tập
11. Viết ứng dụng mô phỏng giải thuật mã
hoá RSA.
12. Nêu cách sử dụng công cụ mã hoá
TrueCrypt.
13. Thực hiện mã hoá và giải mã dữ liệu với
công cụ EFS (Encrypt File System).
ATMMT - TNNQ 106

File đính kèm:

  • pdfbai_giang_an_toan_mang_may_tinh_bai_4_cac_giai_thuat_ma_hoa.pdf