Tải bản đầy đủ (.pptx) (68 trang)

Bài giảng an toàn và bảo mật thông tin chương 3 hệ mật mã đối xứng

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 (1.04 MB, 68 trang )

Chương 3
H ệ m ật mã đ ối x ứng


3.1. Đ ịnh nghĩa h ệ mã


Một hệ mật mã là một bộ 5 (P,C,K,E,D) thoả
mãn các điều kiện sau:

P là một tập hợp hữu hạn các bản rõ (PlainText), nó
được gọi là không gian bản rõ.
C là tập các hữu hạn các bản mã (Crypto), nó còn
được gọi là không gian các bản mã.
K là tập hữu hạn các khoá hay còn gọi là không
gian khoá.
E: một ánh xạ KxP vào C, gọi là phép lập mật mã.
D: một ánh xạ KxC vào P, gọi là phép giải mã.


Phân lo ại h ệ m ật mã
Dựa vào cách truyền khóa có thể phân thành:


Hệ mã đối xứng: dùng chung một khóa cho
quá trình mã hóa và giải mã.



Hệ mã bất đối xứng: khóa mã hóa và giải mã
khác nhau.





Ngoài ra còn có: hệ mã cổ điển, hệ mã hiện
đại, mã dòng, mã khối.


Tiêu chu ẩn đánh giá h ệ mã
Để đánh giá hệ mật mã người ta thường đánh
giá thông qua các chính sách sau:


Độ an toàn: an toàn tính toán

Chỉ dựa vào khóa, công khai thuật toán
Bản mã C không có điểm chú ý, gây nghi ngờ
e(K)=C, d(M)=P. khi không biết dk thì không có
khả năng tìm M từ C.



Tốc độ mã và giải mã



Phân phối khóa


Mô hình mã hóa đ ối x ứng



Đ ặc đi ểm h ệ mã đ ối x ứng


Khóa phải giữ bí mật giữa người gởi và người
nhận, hay nói cách khác phải có kênh chuyển
khóa an toàn.



Tính an toàn hệ mã đối xứng: được gọi là an
toàn khi không thể phá mã (lý tưởng) hoặc
thời gian phá mã là bất khả thi.


3.2. Mã Ceasar




Hàm lập mã của mã Ceasar được định nghĩa
như sau:

Hàm giải mã của mã Ceasar được định nghĩa
như sau:


Mã Ceasar



Mã Ceasar(tt)


Bảng tương ứng giữa chữ cái và các số dư
theo modulo 26.
A

B

C

D

E

F

G

H

I

J

K

L

M


0

1

2

3

4

5

6

7

8

9

10

11

12

N

O


P

Q

R

S

T

U

V

W

X

Y

Z

13

14

15

16


17

18

19

20

21

22

23

24

25


Ví dụ


Cho bản rỏ(plaintext): wewillmeetatmidnight



Dãy số tương ứng là:

22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19



Nếu mã hóa với k=11 thì bản mã là:

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4
Bản mã cuối cùng có dạng:
HPHTWWXPPELEXTOYTRSE


Nh ận xét
Dễ sử dụng
Thám mã cùng khá dễ dàng.
 Số khóa cần thử là 25
 Giải thuật mã hóa và giải mã đã biết
 Ngôn ngữ plaintext đã biết và dễ đoán.
 không an toàn


3.3. Mã thay th ế đơn b ảng (Monoalphabetic
Substitution Cipher)


Ví dụ


Với phép hoán vị π cho bảng sau:



Với hệ mật mã thay thế khóa π:




Bản rỏ: hengapnhauvaochieuthubay



Bản mã: ghsoxlsgxuexfygzhumgunxd


Nh ận xét


Số hoán vị khóa: 26!



Thám mã bằng duyệt tất cả các khóa không
thực tế(26!≈4.1026 ≈6.4x1012 năm).



Một phương pháp thám mã dựa vào tần suất
xuất hiện của các chữ cái có thể đoán được
bản rõ từ bản mã.



không được coi là an toàn



Mã affine(nhân và c ộng)


Không gian khóa là các cặp số (a, b)∈Z262 với
gcd(a,b)=1.



Không gian khóa sẽ có: ∅(26)*26=12*26=312



Hàm lập mã:



Hàm giải mã:


Ví dụ


Bản rỏ: hengapnhauchieuthubay



Dãy số tương ứng:

Mã hóa với khóa k=(5,6) ta được bản mã:


patkgdtpgchgyqpuacxpclgw


3.4 Mã thay th ế đa ký t ự
Mã Hill


Là mã nhiều ký tự



Ý tưởng chính: dùng m ký tự bản rỏ kế tiếp nhau và
thay thế m ký tự bản mã. Việc thay thế này được xác
định bởi m phương trình tuyến tính, mỗi ký tự được
gán cho 1 giá trị số.



khóa là ma trận cấp mxm.


Mã Hill(tt)


Mã Hill được định nghĩa như sau:


Cách tính ma tr ận ngh ịch đ ảo
1

CT
det k

det k =

(C T ) ij = A ji

a11

a12

... a1n

a21

a22

... a2 n

...

...

...

an1

an 2 ... ann

Hoặc: det k =


n

...

∑ aiq Aiq

n

= ∑ a pj Apj

Triển khai theo dòng p

j =1

Triển khai theo cột q

i =1

Với:

Aij = (−1) i + j . det A(i, j )
Bỏ dòng I, cột j


Ví dụ
11 8 
 3 7






Với m=2, k=



Bản rỏ july(9, 20), (11, 24)



Bản mã: ek (x1,…,xm)=(x1,…,xm)*k mod 26

11 8 
( 9 20) x 
= (99 + 60,72 + 140) = (3,4)

 3 7
11 8 
(11 24) x 
= (121 + 72,88 + 168) = (11,22)

 3 7


B ản mã: DELW


Tính ma tr ận ngh ịch đ ảo



11 8
K=  3 7



Tính det(k)=11*7-8*3=1(mod 26)

d
k = det(k ) * 
− c
 7 − 8  7
=
=

− 3 11  23
−1

− b

a
18

11


Gi ải mã


dk (y1, …,ym)=(y1,…,ym)*k-1 mod 26


 7 18
( 3 4) x 
= (9 20)

23 11
 7 18
(11 22) x 
= (11 24 )

23 11


Nh ận xét
Nếu chỉ biết bản mã thì việc thám mã khó khăn.
 Nếu biết bản rỏ dưới dạng m cặp phân biệt khác
nhau của bản rỏ và bản mã.
 Xj=(xj1,xj2,…,xjm)(j=1…m)
 Yj=(yj1,…,yjm)
 Ma trận khóa kmxm có thể được tính từ ma trận
x,y


 K=x-1 *y(x khả đảo)



Nếu x không khả đảo thì cố tìm m cặp bản rỏ khác



3.5 Mã thay th ế đa b ảng
vigenere


Thực hiện trên từng bộ m ký tự


Ví dụ


Với m=6, k=(2, 8, 15, 7, 4, 17)


×