1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

Hệ mã hoá AFFINE

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 (244.17 KB, 39 trang )


An ton v bo mt thụng tin



12



Thuật toán:

- Bớc 1: Đa vào bản rõ cần mã hóa

- Bớc 2: Cho bớc nhảy các ký tự, tức là giá trị a và b

- Bớc 3: Thay thế ký tự ở bản rõ bằng ký tự đợc xác định bởi:

Ek() = (a + b) MOD 26

Lu ý: khi a = 1 thì ta có hệ mã hoá CAESAR.

Ví dụ: nếu a = 3 và b = 5 thì ta có, bảng số tự nhiên tơng ứng với bảng chữ

cái gốc:

0



1



13 14



2



3



4



5



6



7



8



9



10



11



12



15



16



17



18



19



20



21



22



23



24



25



bảng số tự nhiên sau khi mã hoá:

5



8



18 21



11



14



17



20



23



0



3



6



9



12



15



24



1



4



7



10



13



16



19



22



25



2



Tơng ứng ta có bảng chữ cái gốc:

A B C D E F G H I J K L MN O P Q R S T U V WX Y Z

và bảng chữ cái dùng để mã hoá:

F I L O R U X A D G J MP S V Y B E H K N Q T WZ C

Ví dụ1: = THUHIEN, với a=3, b=5 ta có:

Ek(T) = (3.19 + 5) MOD 26 = 10 = K

Ek(H) = (3.7 + 5) MOD 26 = 0 = A

Ek(U) = (3.20 + 5) MOD 26 = 13 = N

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



13



Ek(I) = (3.8 + 5) MOD 26 = 3 = D

Ek(E) = (3.4 + 5) MOD 26 = 17 = R

Ek(N) = (3.13 + 5) MOD 26 = 18 = S

Vậy, với bản rõ THUHIEN ta thu đợc bản mã: KANADRS

Ví dụ2: = KHOGHE, với a=9, b=3 ta có:

Ek(K) = (9.10+3) MOD 26 = 15 = P

Ek(H) = (9.7+3) MOD 26 = 14 = O

Ek(O) = (9.14+3) MOD 26 = 25 = Z

Ek(G) = (9.6+3) MOD 26 = 5 = F

Ek(E) = (9.4+3) MOD 26 = 13 = N

Ek(N) = (3.13 + 5) MOD 26 = 18 = S

Vậy, với bản rõ KHOGHE ta thu đợc bản mã: POZFON

Ví dụ3: = TOTNGHIEP, với a=4, b=11 ta có:

Ek(T) = (4.19+11) MOD 26 = 9 = J

Ek(O) = (4.14+11) MOD 26 = 15 = P

Ek(N) = (4.13+11) MOD 26 = 11 = L

Ek(G) = (4.6+11) MOD 26 = 9 = J

Ek(H) = (4.7+11) MOD 26 = 13 = N

Ek(I) = (4.8+11) MOD 26 = 17 = R

Ek(E) = (4.4+11) MOD 26 = 1 = B

Ek(P) = (4.15+11) MOD 26 = 19 = T

Vậy, với bản rõ TOTNGHIEP ta thu đợc bản mã: JPJLJNRBT

Để có thể giải mã đợc ta chú ý rằng hàm mã hoá AFFINE:

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



14



Ek()=(a + b) MOD 26

phải là hàm đơn ánh hay nói cách khác hàm này có ánh xạ 1-1. Ví dụ với a = 10,

b= 1 ta có ánh xạ 10 + 1. ánh xạ này không thoả mã vì hai ký tự A và N cùng ánh

xạ tới B, vì vậy khi giải mã B có thể đợc giải mã thành A và N. Ngợc lại không có

một ký tự nào ánh xạ tới O, và vì vậy O không xuất hiện trong bảng chữ cái thay

thế. Ta có thể dễ dàng tìm thấy tất cả các cặp ký tự cùng ánh xạ tới một ký tự cũng

nh tất cả các ký tự không xuất hiện trong bảng chữ cái thay thế.

3. Hệ mã hoá Playfair

Nh chúng ta đã thấy, không phải số khóa lớn trong mã bảng chữ đơn đảm

bảo an toàn mã. Một trong các hớng khắc phục là mã bộ các chữ tức là mỗi chữ sẽ

đợc mã bằng 1 số chữ khác nhau tùy thuộc vào các chữ mà nó đứng cạnh. Playfair

là một trong các mã nh vậy, nó đợc sáng tạo bởi Charles Wheastone vào năm 1854

và mang tên ngời bạn là Barlon Playfair. ở đây mỗi chữ có thể đợc mã bằng 1 trong

7 chữ khác nhau tùy ý vào cặp chữ đứng cùng nó trong bảng chữ cái.

Ma trận khóa Playfair: cho trớc 1 từ làm khóa, với điều kiện trong từ khóa đó

không có chữ nào bị lặp. Ta lập ma trận Playfair là ma trận cỡ 5x5 dựa trên từ khóa

đã cho và gồm các chữ trên bảng chữ cái, đợc sắp xếp theo thứ tự nh sau:

- Trớc hết, viết các chữ của từ khóa vào các hàng của ma trận bắt đầu từ

hàng thứ nhất.

- Nếu ma trận còn trống, viết các chữ khác lên bảng chữ cái cha đợc sử

dụng vào các ô còn lại. Có thể viết theo 1 trình tự quy ớc trớc, chẳng hạn

từ đầu bảng chữ cái cho đến cuối.

- Vì có 26 chữ cái tiếng Anh nên thiếu 1 ô. Thông thờng ta dồn 2 chữ nào

đó vào 1 ô chung, chẳng hạn I và J.

- Giả sử sử dụng từ khóa MONARCHY. Lập ma trận khóa Playfair:

MONAR

CHYBD

EFGIK

LPQST

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



15

UVWXZ



Mã hóa và giải mã: bản rõ đợc mã hóa hai chữ cùng 1 lúc theo quy tắc nh sau:

- Chia bản rõ thành từng cặp chữ. Nếu 1 cặp nào đó có 2 chữ nh nhau thì

chèn thêm 1 chức lọc, chẳng hạn X. Ví dụ trớc khi mã ballon biến đổi thành

balxlon.

- Nếu cả hai chữ trong cặp đều rơi vào cùng 1 hàng thì mã mỗi chữ bằng chữ

ở phía bên phải nó trong cùng 1 hàng của ma trận khóa (cuộn vòng quanh từ cuối

về đầu), chẳng hạn ar thì biến thành RM.

- Nếu cả hai chữ trong cặp đều rơi vào cùng 1 cột, thì mã mỗi chữ bằng chữ ở

phía bên dới nó trong cùng 1 cột của ma trận khóa (cuộn vòng quanh từ cuối về

đầu), chẳng hạn mu thì biến thành CM.

- Trong các trờng hợp khác, mỗi chữ trong cặp đợc mã bởi chữ cùng hàng với

nó và cùng cột với chữ cùng cặp với nó trong ma trận khóa, chẳng hạn hs mã

thành BP và ea thành IM hoặc JM (tùy theo sở thích).

An toàn của mã Playfair:

- An toàn đợc nâng cao hơn so với bảng đơn, vì ta tổng cộng 26x26 = 676

cặp. Mỗi chữ có thể đợc mã bằng 7 chứ khác nhau nên tần suất các chữ cái trên văn

bản tiếng Anh nói chung.

- Muốn sử dụng thống kê tần suất, cần có bảng tần suất 676 cặp để thám mã

(so với 26 của bảng đơn). Nh vậy phải xem xét nhiều trờng hợp hơn và tơng ứng sẽ

có thể có nhiều bản mã hơn cần lựa chọn. Do đó khó thám mã hơn trên mã bảng

chữ đơn.

- Mã Playfair đợc sử dụng rộng rãi nhiều năm trong giới tuân sự Mỹ và Anh

trong chiến tranh Thế giới thứ nhất. Nó có thể bị bẻ khóa nếu cho trớc vài trăm chữ

vì bản mã vẫn còn chứa nhiều cấu trúc của bản rõ.



Nguyn Th Thu Hin - TK6LC1



Xem Thêm
Tải bản đầy đủ (.doc) (39 trang)

×