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

Hệ mã hoá VIGENERE

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



17



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

Hình vuông VIGENERE

Mỗi cột của hình vuông VIGENERE có thể xem nh là một hệ CAESAR, với

các khoá 0, 1, 2,... , 25. Để mã hoá thì bản rõ đợc đọc từ các hàng và khoá đợc đọc

từ các cột.

Thuật toán:

- Bớc 1: Cho bản rõ cần mã hóa có độ dài tùy ý

- Bớc 2: Cho trớc khóa k là 1 xâu có độ dài tùy ý. Khóa đợc áp dụng một

cách tuần hoàn, tức là nếu bản rõ dài hơn khóa thì khóa sẽ đợc áp dụng lại

từ đầu.

- Bớc 3: Đọc bản rõ từ các hàng, khóa đợc đọc từ các cột, điểm giao nhau

giữa bản rõ và khóa là ký tự trong bản mã.

Ví dụ1: mã hóa bản rõ PURPLE với từ khoá CRYPTO

Đầu tiên ta tìm điểm giao nhau của hàng P và cột C, ta đợc R.

Tơng tự, quy ớc G(X,Y) là giao của hàng X và cột Y

G(U,R) = L

G(R,Y) = P

G(P,P) = E

G(L,T) = E

G(E,O) = S

Nh vậy ta thu đợc bản mã RLPEES

Ví dụ2: mã hóa bản rõ VIGENERE với từ khoá MAHOA

G(V,M) = H

G(I,A) = I

G(G,H) = N

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



18



G(E,O) = S

G(N,A) = N

G(E,M) = Q

G(R,A) = R

G(E,H) = L

Sau khi mã hóa ta sẽ thu đợc bản mã HINSNQRL

Ví dụ3: mã hóa bản rõ THUATTOAN với từ khoá BAOMAT

G(T,B) = U

G(H,A) = H

G(U,O) = I

G(A,M) = M

G(T,A) = T

G(T,T) = M

G(O,B) = P

G(A,A) = A

G(N,O) = B

Sau khi mã hóa ta sẽ thu đợc bản mã UHIMTMPAB



* Giải mã

Để giải mã ta vẫn dùng hình vuông VIGENERE, xét khóa k đóng vai trò là cột, ký

tự đợc mã hóa là giao của khóa và hàng nào đó tơng ứng. Có nghĩa là ta chỉ cần

gióng theo khóa xuống kỹ tự đã đợc mã hóa và từ đó gióng sang hàng ta sẽ thu đợc

kỹ tự trong bản rõ.

Ví dụ 1: Có bản mã IICANX và khóa XINH

Nhìn vào hàng có chứa I trong cột X ta có đợc L

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



19



Hàng chứa I trong cột I là A

Hàng chứa C trong cột N là P

Hàng chứa A trong cột H là T

Hàng chứa N trong cột X là O

Hàng chứa X trong cột I là P

Vậy ta thu đợc bản rõ là LAPTOP

Ví dụ 2: Có bản mã EVJASPP và khóa LOPTKLC

Hàng chứa E trong cột L là T

Hàng chứa V trong cột O là H

Hàng chứa J trong cột P là U

Hàng chứa A trong cột T là H

Hàng chứa S trong cột K là I

Hàng chứa P trong cột L là E

Hàng chứa P trong cột C là N

Vậy ta thu đợc bản rõ là THUHIEN

* Thám mã VIGENERE

- Phơng pháp vét cạn: khó thực hiện nhát là nếu khóa có nhiều chữ cái

- Khai thác những nhợc điểm của giải thuật

+ Cấu trúc nguyên bản đợc che đậy tốt hơn nhng không hoàn toàn biến mất.

+ Chỉ việc tìm độ dài khóa sau đó phá mã từng hệ CAESAR

+ Cách tìm độ dài khóa:

Nếu độ dài khóa nhỏ hơn so với độ dài văn bản, có thể phát hiện 1 dãy

văn bản lặp lại nhiều lần.

Khoảng cách giữa 2 dãy văn bản lặp lại là bội số của độ dài khóa.

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



20



Từ đó suy ra độ dài khóa:

- VIGENERE đề xuất từ khóa không lặp lại mà đợc gắn vào đầu nguyên

bản

- Nếu biết từ khóa sẽ giải mã đợc chữ cái đầu tiên.

- Sử dụng các chữ cái này làm khóa để giải mã các chữ cái tiếp theo.

5. Hệ mã hoá HILL

Hệ mã hoá này dựa trên lý thuyết về đại số tuyến tính do Lester S.Hill đ a ra

năm 1929.

Cả không gian bản rõ và bản mã đều là *, trong đó là bản chữ cái tiếng

Anh. Chúng ta sử dụng các số tự nhiên thay cho các ký tự và các phép toán số học

đợc thực hiện theo modul 26 nh đã nói ở phần trên.

Ta chọn một số nguyên d 2. Xét M là ma trận vuông d phần tử. Các phần

tử của M là các số nguyên từ 0 đến 25. Hơn nữa M phải là ma trận khả nghịch, tức

là tồn tại M-1. Ví dụ:

3

2



M=





3

và M-1 =

5





15 17



20 9 .









Nếu d=2 ta có thể viết một phần tử của bản rõ là x = (x 1, x2) và một phần tử

của bản mã là y=( y1, y2). ở đây, y1 cũng nh y2 đều là tổ hợp tuyến tính của x 1, x2.

Chẳng hạn:

y1 = 11x1+3 x2

y2 = 8x1+7 x2

Tất nhiên có thể viết gọn hơn theo ký hiệu ma trận nh sau:



( y1, y2) = ( x1, x2) =



Nói chung, có thể lấy 1 ma trận K kích thớc dxd làm khóa. Nếu 1 phần tử ở hàng i

và cột j của K là Ki,j thì có thể viết:

Nguyn Th Thu Hin - TK6LC1



An ton v bo mt thụng tin



21



K=(Ki,j) với x = (x1, x2 xd) P và K K, ta tính:



Y= ek(x) = (y1, y2 yd) nh sau:



(y1, y2 yd) (x1, x2 xd)



Nói cách khác y = x.K

Chúng ta nói rằng bản mã nhận đợc từ bản rõ nhờ phép biến đổi tuyến tính.

Quá trình mã hoá đợc thực hiện theo công thức:

C = K.P MOD 26

trong đó P và C đợc viết thành các vector cột d chiều. Mỗi bộ d chữ cái của bản rõ

đợc viết thành vector P với các thành phần là các số biểu diễn các ký tự. Và C cũng

thể hiện khối d ký tự của bản mã.

Ví dụ1: bản rõ HELP đợc viết thành hai vector

H



7



P1 = = và P2 =

E

4







L 11

= .

P 15





theo công thức mã hoá ta có

3

2



3



5





7

33

7

H

= = = = C1 và

4

34

8

I











3

2



3



5





11 78

0

A

= = = = C2

15 97

19

T









MP1 =



MP2 =





chúng ta thu đợc bản mã HIAT.

Ví dụ 2: bản rõ XINH đợc viết thành

Nguyn Th Thu Hin - TK6LC1



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

×