Tải bản đầy đủ (.ppt) (26 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (503.3 KB, 26 trang )


Trường ĐH Giao thông vận tải Tp.HCM
Khoa Điện - Điện tử viễn thông
Chương 9
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
1
07/12/14
1
Bài giảng: Thông tin số

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:
2
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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)
3
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:


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: E
k
: y = E
k
(x)
Quy luật giải mã: D
k
: x = D
k
(y)
Lưu ý: E
k
và D
k
phải thỏa các tính chất sau:

D

k
(E
k
(x)) = x, ∀x.

E
k
: quy luật 11
4
07/12/14
4
E
Khóa k
D
Khóa k
x
Bản tin rõ
y
Bản tin mã hóa
x
Bản tin rõ

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:
(y
1
,y
2
,…,y
m
) = E
K
(x
1
,x
2
, x
m
)

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õ x
i
(x = x
1
x

2
x
3
…) sẽ được mã hóa dùng phần
tử khóa k
i
(K = k
1
k
2
k
3
…) để tạo chuỗi dữ liệu mã hóa y = y
1
y
2
y
3
… theo quy
luật:
y = E
k1
(x
1
); y
2
= E
k2
(x
2

); …
5
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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: E
k
(x) = (x+K)mod 26
Quá trình giải mã: D
k
(y) = (y-K)mod 26

Bảng thay thế tương ứng:

Với K = 3

mã hiệu mật Caesar.

6
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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
7
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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”
8
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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.
Ví dụ: Mã hiệu: ABCDEFGHI…
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: E
k
(x) = (ax+b)mod 26 ; khóa k = (a,b)
Quá trình giải mã: D

k
(y) = (a
-1
(y-b))mod 26
Ví dụ: Mã hóa bản tin: fun , với khóa k = (7,5)

9
07/12/14
9
Số khả năng
mã hóa 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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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
Khóa từ mã: wombat
Hãy xác định chuỗi tin mã hóa?
Lời giải:

Lập bảng như sau:
10
07/12/14

10
Số khóa từ mã
có chiều dài m
là 26
m

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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).
9.3.1 Nguyên lý hệ thống:

11
07/12/14
11
Vấn đề là
bảo vệ
khóa bí mật
E
Khóa k
D
Khóa k
x
Bản tin rõ
y Kênh công khai
Bản tin mã hóa
Kênh an toàn

x=D
k
(E
k
(x))
Bản tin rõ

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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.
12
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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.
13
07/12/14
13
DES
Khóa 56 bits
Bản tin rõ
64 bits
Bản tin mã hóa
64 bits

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:
14
07/12/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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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ã:
15
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:

16
07/12/14
16

E
Khóa
công khai k
e
D
Mầm khóa
k
s
x
Bản tin rõ
y Kênh công khai
Bản tin mã hóa
Kênh công khai
x=D
kd
(y)
Bản tin rõ
F
G
Khóa k
d

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:


D
kd
(E
ke
(x)) = x

Cho dù biết E
ke
, rất khó để tìm ra D
kd
.

Việc thử nghiệm với nhiều cặp (x, y) cũng rất khó để tìm ra D
kd
.

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.

Không nhận thực đoạn tin nhận được  có thể ngụy tạo đoạn tin mà bên
nhận không biết được.

Thời gian thực thi chậm khi mã hóa lượng thông tin lớn  dùng hệ khóa
công khai để mã hóa khóa, hệ mã bí mật để mã hóa dữ liệu.
17
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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
-1
mod
Φ
(m).

Giữ bí mật d và gởi e cho bên gởi tin.
18
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
9.4.2 Hệ thống mật mã RSA (tt):

Quá trình mã hóa:


Tính y = x
e
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 = y
d
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
-1
mod 20 = 17
-1
mod 20 =13


Gởi e = 17 cho bên gởi tin.
19
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
9.4.2 Hệ thống mật mã RSA (tt):
Lời giải (tt):

Quá trình mã hóa:

y = x
e
mod m = 2
17
mod 33 = 29

Gởi y = 13 cho bên nhận

Quá trình giải mã:

x = y
d
mod m = 29
13
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”:
20
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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
-1
mod 20, ta lập bảng sau:
21
07/12/14
21
i x
i
a
i
b
i
y
i
0 20 1 0
1 17 0 1 1

2 3 1 -1 5
3 2 -5 6 1
4 1 6 -7
Dừng lại Kết quả: -7 + 20 =13
111
11
11
1
10
10
;
;
;
;
;);(
+−+
−+
−+

=⇒−=
−=
−=






=+=
=Φ=

iiiii
iiii
iiii
i
i
iiii
bdbybb
ayaa
xyxx
x
x
yxbxax
exmx

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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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
22
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:

23
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:

24
07/12/14
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 số
Chương 9 MÃ HÓA MẬT MÃ DỮ LIỆU
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:

25
07/12/14
25

×