You are on page 1of 26

Trường ĐH Giao thông vận tải Tp.

HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 số

MÃ HÓA MẬT MÃ DỮ LIỆU

Nội dung:
9.1 Tổng quan về hệ thống mật mã dữ liệu
9.2 Hệ thống mật mã cổ điển
9.3 Hệ thống mật mã có khóa bí mật
9.4 Hệ thống mật mã có khóa công khai
9.5 Mật mã dữ liệu trong hệ thống GSM
Bài tập

03/12/11 1 1
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.1 Tổng quan về hệ thống mã hóa mật mã dữ liệu (Cryptosystems):
 Mô hình xem xét:

 Hệ thống mật mã dữ liệu:

03/12/11 2 2
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.1 Tổng quan về hệ thống mã hóa mật mã dữ liệu (tt):
 Vấn đề đặt ra đối với hệ thống mật mã dữ liệu:
 Bảo mật (privacy): chỉ có người nhận đúng mới có thể đọc thông điệp; không
cho “người lạ” trích chọn thông tin từ bản tin truyền trên kênh truyền.
 Chứng thực (authentification): Bảo đảm người gửi không thể phủ nhận thông
điệp mình gửi; nhận biết được khi “người lạ” chèn thông tin sai lệch vào.
 Yêu cầu của một hệ thống mật mã dữ liệu:
 Cung cấp một phương thức mật mã (encryption) và giải mật mã (decryption)
đơn giản và dễ thực hiện (cho người dùng hợp lệ).
 Phải bảo đảm việc tìm ra bản tin rõ (plaintext) trên cơ sở nghiên cứu bản tin
mã hóa (cyphertext), loại hệ thống mật mã được sử dụng mà không biết khóa
mã (secret key) là rất khó khăn.
 Phân loại hệ thống mật mã dữ liệu:
 Hệ thống mật mã có khóa bí mật (hệ thống mật mã đối xứng)
 Hệ thống mật mã có khóa công khai (hệ thống mật mã không đối xứng)
03/12/11 3 3
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.1 Tổng quan về hệ thống mã hóa mật mã dữ liệu (tt):
 Mô hình hóa hệ thống mật mã dữ liệu:

x y x
E D
Bản tin rõ Bản tin mã hóa Bản tin rõ

Khóa k Khóa k
 Các ký hiệu: E: thuật toán mật mã hóa
D: thuật toán giải mật mã
 Quy luật mã hóa: Ek: y = Ek(x)
Quy luật giải mã: Dk: x = Dk(y)
k k

Lưu ý: E và D phải thỏa các tính chất sau:


k k


03/12/11 D (E (x)) = x, ∀x. 4 4
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.1 Tổng quan về hệ thống mã hóa mật mã dữ liệu (tt):
 Mã hiệu mật kiểu khối và mã hiệu mật kiểu dòng:
 Mã hiệu mật kiểu khối (Block Cipher):
 Bản tin rõ sẽ được chia ra thành từng khối có kích thước cố định.
 Mỗi khối sẽ được mã hóa độc lập nhau theo quy luật:
(y1,y2,…,ym) = EK(x1,x2,... xm)
 Mã hiệu mật kiểu dòng (Stream Cipher):
 Bản tin rõ không cần chia ra thành từng khối có kích thước cố định.
 Mỗi bit dữ liệu của bản tin rõ xi (x = x1x2x3…) sẽ được mã hóa dùng phần
tử khóa ki (K = k1k2k3…) để tạo chuỗi dữ liệu mã hóa y = y1y2y3… theo quy
luật:
y = Ek1(x1); y2 = Ek2(x2); …

03/12/11 5 5
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.2. Hệ thống mật mã cổ điển (Classical Cryptosystems):
 sử dụng các mã hiệu mật (ciphers) theo kiểu hoán vị và thay thế.
9.2.1 Mã hiệu mật kiểu dịch (Shift Cipher):
 Mỗi ký tự được thay thế bằng ký tự được dịch đi K vị trí.
 Nếu thay thế mỗi ký tự (A,B,C…) bằng (0,1,2…), ta có thể biểu diễn quá trình
mã hóa và giải mã như sau:
Quá trình mã hóa: Ek(x) = (x+K)mod 26
Quá trình giải mã: Dk(y) = (y-K)mod 26
 Bảng thay thế tương ứng:

 Với K = 3 mã hiệu mật Caesar.


03/12/11 6 6
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.2.1 Mã hiệu mật kiểu dịch (tt):
Ví dụ: Thực hiện mật mã hóa kiểu dịch cho đoạn tin sau với K=11
agoodproofisonethatmakesuswiser
Lời giải:
Cách 1: Dịch trực tiếp các ký tự:

Cách 2: Thay thế bằng chuỗi số nguyên:

Cộng thêm vào 11, sau đó lấy mod26:

 Bản tin được mã hóa: LRZZOACZZQTDZYPESLEXLVPDFDHTDPC

03/12/11 7 7
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.2.1 Mã hiệu mật kiểu dịch (tt):
 Nhận xét:
Độ bảo mật của mã hiệu kiểu dịch rất yếu. Chỉ thực hiện 25 lần dịch là tìm ra
quy luật mã hóa.
Ví dụ: Cho đoạn tin mã hóa:
IUJKHXKGQKXY
Hãy thử xác định K và bản tin rõ?
Lời giải:
Thực hiện giải mã mã hiệu dịch với k = 0,1,2,…, ta được:
iujkhxkgqkxy ; htijgwjfpjwx ; gshifvieoivw ; frgheuhdnhuv
eqfgdtgcmgtu; dpefcsfblfst ; codebreakers ;….
 Như vậy, khóa K = 7, và bản tin rõ: “codebreakers”

03/12/11 8 8
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.2. Hệ thống mật mã cổ điển (tt):
9.2.2 Mã hiệu mật kiểu thay thế (Substitution Cipher):
 Mỗi ký tự được thay thế bằng một ký tự khác. Số khả năng
Ví dụ: Mã hiệu: ABCDEFGHI… mã hóa 26!
Mã hiệu mật: DKVQFIBJW…
Bản tin rõ: ifwewish…;  Bản tin mã hóa: WIRF…
 Mã hiệu mật Affine (Affine Cipher): dạng đặc biệt của kiểu thay thế
Quá trình mã hóa: Ek(x) = (ax+b)mod 26 ; khóa k = (a,b)
Quá trình giải mã: Dk(y) = (a-1(y-b))mod 26
Ví dụ: Mã hóa bản tin: fun , với khóa k = (7,5)

03/12/11 9 9
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.2. Hệ thống mật mã cổ điển (tt):
9.2.3 Mã hiệu mật dùng khóa từ mã (Vigenere Cipher):
 Sử dụng khóa k là từ mã có chiều dài m.
 Cộng thay thế ký tự khóa với thay thế ký tự bản tin rõ
Ví dụ: Cho bản tin rõ: bringmechocolate
Số khóa từ mã
Khóa từ mã: wombat
có chiều dài m
Hãy xác định chuỗi tin mã hóa? m

Lời giải: là 26
 Lập bảng như sau:

03/12/11 10 10
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.3. Hệ thống mật mã có khóa bí mật (Secret Key Cryptosystems):
 cả quá trình mã hóa và giải mã chỉ sữ dụng một khóa (khóa bí mật).
Vấn đề là
bảo vệ
khóa bí mật

9.3.1 Nguyên lý hệ thống:


y Kênh công khai
x x=Dk(Ek(x))
E D
Bản tin rõ Bản tin rõ
Bản tin mã hóa

Khóa k
Khóa k
Kênh an toàn
03/12/11 11 11
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.3.1 Nguyên lý hệ thống (tt):
 Các thành phần trong hệ thống mật mã khóa bí mật:
 Hoán vị P (Permutation boxes): Thay thế S (Substitution boxes)

 Mã hiệu tích (Product Ciphers): kết hợp các hộp S và P.

03/12/11 12 12
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.3. Hệ thống mật mã có khóa bí mật (tt):
9.3.2 Chuẫn mã bảo mật dữ liệu DES (Data Encryption Standard):
 DES do IBM đề xuất và được Viện quốc gia về chuẩn và công nghệ Mỹ chấp
nhận làm chuẩn bảo mật từ1977.
 DES được sử dụng rộng rãi trong bảo mật số PIN, bảo mật trong giao dịch
ATM,vv…
 Mô hình của DES: sử dụng phép hoán vị, thay thế, và một số toán tử phi
tuyến.

Bản tin rõ Bản tin mã hóa


DES
64 bits 64 bits

Khóa 56 bits

03/12/11 13 13
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.3.2 Chuẫn mã bảo mật dữ liệu DES (tt):
 Cấu trúc logic của thuật toán mật mã DES:

03/12/11 14 14
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.3.3 Ví dụ về hệ thống mật mã hóa có khóa bí mật:
 Ứng dụng của DES trong ATM:
 Để tăng khả năng bảo mật, người ta sử dụng
giải thuật 3DES (Triple DES or TDEA):
 Quá trình mã hóa:

 Quá trình giải mã:

03/12/11 15 15
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4. Hệ thống mật mã có khóa công khai (Public Key Cryptosystems):
 quá trình mã hóa và giải mã sử dụng hai khóa khác nhau nhưng có quan hệ
với nhau. Một khóa được giữ bí mật (private key) và một khóa được công khai
(public key).

9.4.1 Nguyên lý hệ thống: y Kênh công khai


x x=Dkd(y)
E D
Bản tin rõ Bản tin rõ
Bản tin mã hóa
Khóa Khóa kd Mầm khóa
Kênh công khai G
công khai ke ks
F
03/12/11 16 16
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4.1 Nguyên lý hệ thống (tt):
 Hệ thống mật mã có khóa công khai được xây dựng dựa trên ý tưởng hàm
một chiều sao cho thỏa mãn các tính chất sau:
 Dkd(Eke(x)) = x
 Cho dù biết Eke, rất khó để tìm ra Dkd.
 Việc thử nghiệm với nhiều cặp (x, y) cũng rất khó để tìm ra Dkd.
 Hàm một chiều ( One- way Trapdoor Function):
Cho tập hữu hạn S và T. Hàm y = f(x) được gọi là hàm một chiều nếu:
 Cho biết x, dễ dàng tìm được y = f(x).
 Khi chỉ biết y, rất khó để tìm ra x.
 Khi biết y và một số thông số khác, dễ dàng tìm ra x.
Đặc điểm của hệ thống:
 Không cần phải truyền khóa bí mật với sự thiết lập kênh an toàn.
 Giảm thiểu nguy hiểm khi lưu trữ khóa bí mật.
03/12/11 17 17
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4.2 Hệ thống mật mã RSA (Rivest, Shamir and Adleman):
 đây là hệ thống mật mã có khóa công khai do Rivest, Shamir và Adleman
(MIT, USA) đề xuất vào 1977 và hiện đang được sử dụng phổ biến.
 Quá trình mã hóa và giải mã:
 Đặt: x: bản tin rõ
y: bản tin đã được mã hóa
e: khóa công khai
d: khóa cá nhân (khóa bí mật)
 Quá trình tạo khóa mã:
 Chọn hai số nguyên tố lớn p và q.
 Tính giá trị: m = pq; Φ(m)=(p-1)(q-1).
 Chọn giá trị ngẫu nhiên e ∈ (1, Φ(m)) sao cho ước số chung lớn nhất
gcd(e, Φ(m)) = 1. Sau đó, tính: d = e-1mod Φ(m).
 Giữ bí mật d và gởi e cho bên gởi tin.

03/12/11 18 18
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4.2 Hệ thống mật mã RSA (tt):
Quá trình mã hóa:
 Tính y = xe mod m.
 Truyền bản tin đã mã hóa y cho phía nhận.
Quá trình mã hóa:
 Tính x = yd mod m dùng khóa cá nhân d đã được giữ bí mật.
Ví dụ: Thực hiện mật mã và giải mật mã RSA với: x =2. ( chọn p = 3,q = 11)
Lời giải:
 Tạo các khóa mã:
 Chọn hai số nguyên tố: p = 3; q = 11.
 Tính các giá trị: m = pq = 33; Φ(m)=(p-1)(q-1) = 20
 Chọn khóa mã công khai: e = 17 (vì gcd(17,20) = 1)
 Tính khóa cá nhân (khóa bí mật): d = e-1mod 20 = 17-1mod 20 =13
 Gởi e = 17 cho bên gởi tin.
03/12/11 19 19
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4.2 Hệ thống mật mã RSA (tt):
Lời giải (tt):
 Quá trình mã hóa:
 y = xemod m = 217 mod 33 = 29
 Gởi y = 13 cho bên nhận
 Quá trình giải mã:
 x = ydmod m = 2913 mod 33 = 2  đúng với bản tin gởi
 Quá trình mã hóa và giải mã với bản tin “phew”:

03/12/11 20 20
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4.2 Hệ thống mật mã RSA (tt):
Lời giải (tt):
 Cách tính khóa cá nhân: (dựa vào giải thuật Euclide)
Ví dụ, cần tính d = 17-1mod 20, ta lập bảng sau:

i xi ai bi yi x0 = Φ (m); x1 = e;
0 20 1 0  xi −1 
xi = ai x0 + bi x1 ; yi =  
1 17 0 1 1 x
 i 
2 3 1 -1 5 xi +1 = xi −1 − yi xi ;
3 2 -5 6 1 ai +1 = ai −1 − yi ai ;
4 1 6 -7 bi +1 = bi −1 − yi bi ; ⇒ d = bi +1

Dừng lại Kết quả: -7 + 20 =13

03/12/11 21 21
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.4.3 Chữ ký số (Digital Signatures):
 cho phép chứng thực và bảo đảm tính nguyên vẹn của bản tin được gởi.
 Mô hình thực hiện:

 Sử dụng hàm băm (hash code) Hàm băm cũng được sử dụng để
để tạo ra chử lý số xác thực bản tin

03/12/11 22 22
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.5. Mật mã dữ liệu trong hệ thống thông tin di động GSM:
 Cấu trúc mạng GSM:

03/12/11 23 23
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.5. Mật mã dữ liệu trong hệ thống thông tin di động GSM(tt):
 Quá trình xác thực:

03/12/11 24 24
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
9.5. Mật mã dữ liệu trong hệ thống thông tin di động GSM(tt):
 Quá trình tạo khóa và bảo mật dữ liệu:

03/12/11 25 25
Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông Bài giảng: Thông tin
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU số
Bài tập:
9.1 Bản tin dưới đây đã được mật mã theo phương pháp dịch. Hãy cho biết nội
dung của bản tin rõ và giá trị của K
LWLVDPBVWHUBWREHXQIXUOHG
9.2 Chứng minh rằng bản tin đã mã hóa của bản tin rõ “dog” khi sử dụng mã
hiệu mật Affine với K = (3,9) là YXT.
9.3 Thực hiện quá trình giải mã theo phương pháp Vigenere đối với ví dụ trong
bài giảng.
9.4 Xem xét sơ đồ RSA. Nếu p = 13 và q = 31 và khoá giải mã e = 37, tìm khoá
mã hoá d và mô tả cách thức sử dụng nó để bảo mật đoạn tin “DIGITAL”.

----- @@@ -----

03/12/11 26 26

You might also like