You are on page 1of 2

CƠ SỞ LÝ THUYẾT CỦA MẬT MÃ HILL

I. Cơ sở lý thuyết chung:

- Việc mã hóa có bản chất là lấy m tổ hợp tuyến tính của m ký tự trong một
phần tử của bản rõ để tạo ra m ký tự ở một phần tử của bản mã, với m là số nguyên
dương.
Lấy một ma trận M cấp n × n khả nghịch để làm khóa. Một phần tử ở hàng i và
cột j của ma trận M làm ij, với A=(a 1 , a2 , … , an ) ta tính được B=(b1 , b2 , … ,b n) như sau:
m11 m12 … m1 n

(
(b 1 , b2 , … , bn )= m21 m22
… …
mn1 mn2
… …
… mnn
)
… m2 n (a , a ,… , a )
1 2 n

Nói cách khác: B=M × A . Như vậy, bản mã nhận được từ bản rõ nhờ các phép
biến đổi tuyến tính
- Xét đến quá trình giải mã, ta sẽ sử dụng ma trận nghịch đảo M −1 để tìm ra A
. Bản mã được giải mã bằng công thức A=M −1 × B

II. Mã hóa:

Ta có bảng quy ước:


− 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 13

n o p q r s t u v w x y z
14 15 16 17 18 19 20 21 22 23 24 25 26

Bước 1: Chọn ma trận chìa khóa là ma trận M cấp n × n khả nghịch mà người gửi
và người nhận biết trước.
Bước 2: Chuyển đoạn tin nhắn cần gửi thành dãy số theo bảng quy ước. Chia
dãy số thành từng nhóm n số và lập thành ma trận tin nhắn A .
Bước 3: Nhân ma trận chìa khóa M với ma trận tin nhắn A thu được ma trận B,
sau đó thay thế các số ngoài giới hạn [ 0,26 ] bởi các đồng dư của nó theo modulo 27,
ta thu được ma trận B1.
Bước 4: Thay thế mỗi số trong ma trận B1 bởi các ký tự trong bảng quy ước, ta
thu được thông điệp đã mã hóa.

III. Giải mã:


Bước 1: Sau khi nhận được bản mã, người nhận dùng bảng quy ước tìm lại ma
trận B1.
Bước 2: Thực hiện phép toán M −1 × B 1.
Bước 3: Thay thế các số ngoài giới hạn [ 0,26 ] bởi các đồng dư của nó theo
modulo 27, ta thu được ma trận A
Bước 4: Sử dụng bảng quy ước cho ma trận A để đổi các số thành ký tự, ta tìm
được thông tin ban đầu.

You might also like