Bài giảng An toàn mạng máy tính - Bài 3: Các giải thuật mã hóa dữ liệu

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 điển

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

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

6. Bài tập

pdf77 trang | Chuyên mục: An Toàn Mạng Máy Tính | Chia sẻ: dkS00TYs | Lượt xem: 4852 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng An toàn mạng máy tính - Bài 3: Các giải thuật mã hóa dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
rắ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 26
Ví dụ: 
Plaintext: CRYPTOGRAPHY
Ciphertext: HWDUYTLWFUMD (Shift of 5)
C=(p+4) mod 26
The classic Caesar Shift chart
ATMMT - TNNQ 27
Mã dịch chuyển – Shift Cypher
ATMMT - TNNQ 28
Ví dụ: 
Từ khoá: CHIFFRE
Mã hoá: VIGENERE
Kết quả: XPOJSVVG
Vigenère
Encryption –
Block Cypher
(1523 – 1596)
ATMMT - TNNQ 29
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 30
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).
ATMMT - TNNQ 31
3. Giải thuật mã hoá cổ điển
7. 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 32
Tần suất của các ký tự trong ngôn ngữ tiếng Anh
ATMMT - TNNQ 33
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 34
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 35
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 36
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 37
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 38
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 39
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 40
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 41
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 42
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 43
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 44
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 45
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 46
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 47
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 48
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 49
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
ATMMT - TNNQ 50
4. Giải thuật mã hoá hiện đại
2. Chuẩn mã hoá dữ liệu DES
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
3. 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 60
4. Giải thuật mã hoá hiện đại
3. Hệ mã hoá công khai RSA
Ta 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 61
4. Giải thuật mã hoá hiện đại
3. Hệ mã hoá công khai RSA
Bob Alice
ATMMT - TNNQ 62
4. Giải thuật mã hoá hiện đại
3. 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 63
4. Giải thuật mã hoá hiện đại
3. 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 64
4. Giải thuật mã hoá hiện đại
3. Hệ mã hoá công khai RSA
ATMMT - TNNQ 65
4. Giải thuật mã hoá hiện đại
3. 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 66
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 67
5. Bẻ gãy một hệ thống mật mã
ATMMT - TNNQ 68
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: 
1. 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. 
2. 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á. 
3. 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 69
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 70
5. Bẻ gãy một hệ thống mật mã
Key size (bits)
Number of 
alternative keys
Time required at 1 
decryption/μs
Time required at 106
decryption/μs
32 232 = 4.3 x 109 231 μs = 35.8 
minutes
2.15 milliseconds
56 256 = 7.2 x 1016 255 μs = 1142 
years
10.01 hours
128 2128 = 3.4 x 1038 2127 μs = 5.4 x 1024
years
5.4 x 1018 years
168 2168 = 3.7 x 1050 2167 μs = 5.9 x 1036
years
5.9 x 1030 years
26 characters 
(permutation)
26! = 4 x 1026 2 x 
1026 μs
= 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 71
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 72
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 (U{♥♠◊♣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 73
6. Bài tập
2. Tìm mã hoá của các ký số 1-9:
ATMMT - TNNQ 74
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 75
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:
i. Vigenère
ii. Hill.
iii. Affine
iv. Playfair
v. Solitaire
ATMMT - TNNQ 76
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. Trình bày tổng quan về cơ chế hoạt 
động của các giải thuật RC4 và RSA.
7. 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.
ATMMT - TNNQ 77

File đính kèm:

  • pdfBài giảng An toàn mạng máy tính - Bài 3 Các giải thuật mã hóa dữ liệu.pdf