Tải bản đầy đủ (.pdf) (72 trang)

Nghiên cứu hệ mật mã khóa bí mật trên vành đa thức chẵn

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.25 MB, 72 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ
NGHIÊN CỨU HỆ MẬT MÃ KHÓA BÍ MẬT
TRÊN VÀNH ĐA THỨC CHẴN

NGUYỄN HOÀNG QUÂN

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ: 60480201

NGƯỜI HƯỚNG DẪN KHOA HỌC
GS.TS. NGUYỄN BÌNH

HÀ NỘI – 2015


LỜI CAM ĐOAN
Tôi cam đoan đề tài này là công trình nghiên cứu do chính tôi thực hiện.
Các số liệu và kết quả phân tích trong luận văn là trung thực, đề tài không
trùng với bất kỳ đề tài nghiên cứu khoa học nào.
Hà Nội, ngày 05 tháng 12 năm 2015
Học viên

Nguyễn Hoàng Quân

i


LỜI CẢM ƠN



Lời đầu tiên em xin gửi lời cảm ơn chân thành tới tất cả các thầy, cô đang
giảng dạy tại Viện Đại học Mở Hà Nội đã tận tình truyền đạt những kinh nghiệm và
kiến thức quý báu giúp em hoàn thành nhiệm vụ học tập trong suốt thời gian là học
viên cao học của trường.
Em xin gửi lời biết ơn sâu sắc đến thầy giáo – Giáo sư, tiến sỹ Nguyễn Bình,
người đã tận tình hướng dẫn, chỉ bảo cho em trong suốt quá trình học tập và hoàn
thành luận văn này.
Xin được gửi lời cảm ơn chân thành đến gia đình đã luôn động viên, ủng hộ,
cổ vũ và tạo mọi điều kiện tốt nhất trong thời gian học tập.
Xin gửi lời cảm ơn đến những người bạn, những người luôn chia sẻ, động
viên, giúp đỡ trong suốt quá trình học tập.
Hà Nội, ngày 05 tháng 12 năm 2015
Học viên

Nguyễn Hoàng Quân

ii


MỤC LỤC
MỞ ĐẦU ................................................................................................................ 1
1. Tính cấp thiết của đề tài:.................................................................................. 1
2. Mục tiêu của luận văn: .................................................................................... 1
2.1. Mục tiêu nghiên cứu: ................................................................................ 1
2.2. Đối tượng và phạm vi nghiên cứu:............................................................ 1
3. Phương pháp nghiên cứu ................................................................................. 2
4. Các đóng góp của luận văn .............................................................................. 2
5.Bố cục của luận văn.......................................................................................... 2
CHƯƠNG 1: ........................................................................................................... 3

TỔNG QUAN VỀ MẬT MÃ KHÓA BÍ MẬT........................................................ 3
1.1. Giới thiệu: .................................................................................................... 3
1.2. Sơ đồ hệ mật mã mã khóa bí mật.[6]............................................................. 4
1.3. Mật mã thay thế [6] ...................................................................................... 5
1.3.1.Mật mã dịch vòng (MDV) ...................................................................... 5
1.3.2. Mã thay thế (MTT) ................................................................................ 8
1.3.3. Mã Playfair: [11] ................................................................................ 10
1.3.4. Mật mã Hill: [11]................................................................................. 12
1.3.5. Mật mã Vigenere [6] ........................................................................... 14
1.3.6. Mã Affine: ........................................................................................... 17
1.4. Mật mã hoán vị........................................................................................... 23
1.5. Các hệ mật mã mã tích ............................................................................... 24
Kết luận chương 1 ............................................................................................. 28
CHƯƠNG 2:CẤU TRÚC VÀNH ĐA THỨC CHẴNVÀ HỆ MẬT MÃ ............... 29
2.1. Mã bất đối xứng (mã công khai) và phong bì số (bao bảo mật): .................. 29
2.1.1. Mã RSA: ............................................................................................. 29
2.1.2. Phong bì số:......................................................................................... 34
2.2. Vành đa thức: ............................................................................................. 35
iii


2.2.1. Phép cộng đa thức: .............................................................................. 35
2.2.2. Phép nhân đa thức: .............................................................................. 36
2.2.3. Định nghĩa vành đa thức: ..................................................................... 37
2.3. Vành đa thức lẻ: ......................................................................................... 38
2.4. Vành đa thức chẵn: ..................................................................................... 39
2.4.1.Khái niệm: ............................................................................................ 39
2.4.2. Biểu diễn toán học của vành đa thức chẵn: .......................................... 39
2.4.3. Cấu trúc vành đa thức chẵn và các phần tử liên hợp:............................ 39
2.5. Các thặng dư bậc hai và các phần tử liên hợp: ............................................ 39

2.6. Hệ mật mã khóa bí mật dựa trên các thặng dư bậc 2 và các phần tử liên hợp:
.......................................................................................................................... 45
Kết luận chương 2 ............................................................................................. 48
CHƯƠNG 3: ......................................................................................................... 49
THỰC NGHIỆM ÁP DỤNG VÀ ĐÁNH GIÁ ...................................................... 49
3.1. Thực nghiệm áp dụng: ................................................................................ 49
3.1.1. Thực nghiệm 1: ................................................................................... 49
3.1.2. Thực nghiệm 2: ................................................................................... 51
3.2. Đánh giá: .................................................................................................... 53
3.2.1. Ưu điểm của hệ mật mã: ...................................................................... 53
3.2.2. Nhược điểm của hệ mật mã: ................................................................ 54
Kết luận chương 3 ............................................................................................. 56
KẾT LUẬN ........................................................................................................... 57
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................... 59
PHỤ LỤC.............................................................................................................. 61
CÁC CƠ SỞ TOÁN HỌC MẬT MÃ .................................................................... 61
1. Số học trên Modulo ....................................................................................... 61
1.1. Định nghĩa Modulo: ............................................................................... 61
1.2. Các phép toán số học trên Modulo.......................................................... 61
1.3. Ước số chung lớn nhất. ......................................................................... 62
iv


2. Giới thiệu lý thuyết số: .................................................................................. 62
2.1. Các số nguyên tố: ................................................................................... 62
2.2 Phân tích ra thừa số nguyên tố ................................................................. 63
2.3 Các số nguyên tố cùng nhau và gcd ......................................................... 63

v



DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
MDV

Mã dịch vòng

MTT

Mã thay thế

RSA

Hệ mật mã mã RSA: Rivest – Shamir –
Adleman

QR

Thặng dư bậc hai

CE

Phần tử liên hợp

vi


DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1. Bảng 26 ký tự và mã tương ứng ............................................................... 6
Bảng 1.2.Bảng ma trận các chữ cái trong tiếng Anh .............................................. 10
Bảng 1.3.Bảng mã ký tự và số nguyên tương ứng .................................................. 14

Bảng 4.1. Phép cộng modulo với các phần tử liên hợp trong vành Z6 .................... 42
Bảng 5.2: Phép nhân modulo với các phần tử liên hợp trong vành Z6 .................... 43

vii


DANH MỤC CÁC HÌNH VẼ

Hình 1.1. Sơ đồ hệ mật mã khóa bí mật ................................................................... 5
Hình 1.2. Bảng mã thử 25 trường hợp khóa k .......................................................... 7
Hình 1.3. Bảng mã Vigenere ................................................................................. 15
Hình 1.4. Mã Affine .............................................................................................. 21
Hình 1.5. Hệ mật mã mã tích ................................................................................ 25
Hình 1.6: Mô hình thuật toán DES........................... Error! Bookmark not defined.
Hình 1.7: Hàm Feistel (F) dùng trong DES .............. Error! Bookmark not defined.
Hình 1.8: Quá trình tạo khóa con trong DES............ Error! Bookmark not defined.
Hình 1.9 : Bước AddRoundKey............................... Error! Bookmark not defined.
Hình 1.10 : Bước SubBytes .................................... Error! Bookmark not defined.
Hình 1.11 : Bước ShiftRow .................................... Error! Bookmark not defined.
Hình 1.12 : Bước MixColumns ................................ Error! Bookmark not defined.
Hình 2.1.Phân hoạch vành Z6 theo lớp các phần tử liên hợp ................................... 42
Hình 2.2: Sơ đồ hệ mật mã .................................................................................... 46

viii


MỞ ĐẦU
1. Tính cấp thiết của đề tài:
Trong thời đại của sự phát triển của công nghệ thông tin, truyền thông nói
chung và Internet nói riêng đã giúp cho việc trao đổi thông tin nhanh chóng, dễ

dàng. Do vậy, bảo mật thông tin luôn là vấn đề quan trọng hàng đầu và đây cũng là
một vấn đề đã được nghiên cứu hàng nghìn năm nay.
Bảo mật thông tin là duy trì tính bảo mật, tính toàn vẹn và tính sẵn sàng của
thông tin. Bảo mật nghĩa là đảm bảo thông tin chỉ được tiếp cận bởi những người
được cấp quyền tương ứng. Tính toàn vẹn là bảo vệ sự chính xác, hoàn chỉnh của
thông tin và thông tin chỉ được thay đổi bởi những người được cấp quyền. Tính sẵn
sàng của thông tin là những người được quyền sử dụng có thể truy xuất thông tin
khi họ cần. Vấn đề bảo mật đang được nhiều người tập trung nghiên cứu và tìm mọi
giải pháp để đảm bảo an toàn, an ninh cho hệ thống phần mềm, đặc biệt là các hệ
thống thông tin trên mạng.
Việc lựa chọn một hệ mật mã mã có thuật toán tạo khóa, mã hóa và giải mã
đơn giản với số bản rõ có tính hiệu dụng cao nhưng vẫn đảm bảo tính bí mật luôn
được quan tâm và xây dựng, phát triển. Vành đa thức chẵn có các đặc tính toán học
đặc biệt nên có nhiều ứng dụng tiềm năng trong mật mã.
Nhằm tìm hiểu một trong những phương pháp bảo mật thông tin là dùng hệ
mật mã khóa bí mật dựa trên các đặc điểm của thặng dư bậc hai và các phần tử liên
hợp trên vành đa thức chẵn, vậy nên em đã chọn đề tài: “Nghiên cứu hệ mật mã
khóa bí mật trên vành đa thức chẵn" để làm đề tài luận văn thạc sỹ của mình.
2. Mục tiêu của luận văn:
2.1. Mục tiêu nghiên cứu:
Nghiên cứu các đặc điểm của các thặng dư bậc hai và các phần tử liên hợp
trên vành đa thức chẵn. Từ đó xây dựng một hệ mật mã khóa bí mật dựa trên vành
đa thức chẵn.
2.2. Đối tượng và phạm vi nghiên cứu:
+ Đối tượng nghiên cứu:
1


Nghiên cứu về cáchệ mật mã khóa bí mật, vành đa thức chẵn và các
phần tử liên hợp trên vành đa thức chẵn.

+ Phạm vi nghiên cứu:
Sử dụng đặc điểm của lớp các phần tử liên hợp trên vành đa thức chẵn
xây dựng hệ mật mã khóa bí mật.
3. Phương pháp nghiên cứu
Sử dụng phương pháp nghiên cứu tổng hợp và phân tích, trong đó tổng hợp
các nghiên cứu của các tác giả về vành đa thức chẵn. Trên cơ sở đó xây dựng hệ
mật mã khóa bí mật dựa trên các phần tử liên hợp trên vành đa thức chẵn.
4. Các đóng góp của luận văn
Những kết quả đạt được của luận văn góp phần làm rõ hơn ứng dụng và tiềm
năng của vành đa thức chẵn trong mật mã. Luận văn đã trình bày được việc đề xuất
một hệ mật mã khóa bí mật dựa trên việc phân hoạch vành đa thức chẵn thành các
thặng dư bậc hai và các phần tử liên hợp. Các dữ liệu khảo sát thực nghiệm là
những ví dụ minh họa chi tiết, dễ hiểu cho việc tạo ra một hệ mật mã khóa bí mật
mới trên vành đa thức chẵn.
5.Bố cục của luận văn
Chương 1: Tổng quan vềhệ mật mã mã khóa bí mật
Trong chương này sẽ nghiên cứu về hệ mật mã mã khóa bí mật, các
mật mã thường sử dụng và đặc trưng cho hệ mật mã khóa bí mật: mật mã thay thế,
mật mã hoán vị, các hệ mật mã mã tích.
Chương 2: Cấu trúc vành đa thức chẵn và hệ mật mã đề xuất
Chương này trình bày về vành đa thức lẻ và vành đa thức chẵn, nghiên cứu
về cấu trúc của vành đa thức chẵn, các phần tử liên hợp trên vành đa thức chẵn.
Trên cơ sở đó xây dựng hệ mật mã khóa bí mật dựa trên cấu trúc của vành đa thức
chẵn.
Chương 3:Thực nghiệm áp dụng và đánh giá
Chương này trình bày về thực nghiệm áp dụnghệ mật mã khóa bí mật
trên vành đa thức chẵn.
2



CHƯƠNG 1:
TỔNG QUAN VỀ MẬT MÃ KHÓA BÍ MẬT
1.1. Giới thiệu:
Mật mã học là khoa học khoa học nghiên cứu nghệ thuật nhằm che giấu
thông tin, bằng cách mã hóa (encryption) tức là biến đổi “thông tin gốc” dạng
tường minh (plaintext) thành “thông tin mã hóa” dạng ẩn tàng (cipher text) bằng
cách sử dụng một khóa mã (thuật toán mã hóa) nào đó. Chỉ có những người giữ chìa
khóa (key) bí mật mới có thể giải mã (decryption) thông tin dạng ẩn tàng trở lại
thành dạng thông tin có dạng tường minh. [10]
Mật mã học được chia thành 3 nội dung:[6]
- Mật mã khóa bí mật (Khóa đối xứng)
- Mật mã khóa công khai (khóa bất đối xứng)
- Hàm băm, xác thực và chữ ký số
Phân tích mật mã là khoa học nghiên cứu cách phá các hệ mật mã mã nhằm
phục hồi bản rõ ban đầu từ bản mã. Việc tìm hiểu các thông tin về khóa và các
phương pháp biến đổi thông tin cũng là một nhiệm vụ quan trọng của phân tích mật
mã.
Phân tích mật mã dành riêng cho các nhà nghiên cứu chuyên sâu về mật mã,
chuyên nghiên cứu tìm hiểu các phương pháp thám mã:
- Phương pháp tấn công tổng lực (tìm khóa vét cạn)
- Phương phápphân tích thống kê
- Phương pháp phân tích toán học
*Hệ mật mãmã khóa bí mật (Khóa đối xứng):
Mã hóa cổ điển là phương pháp mã hóa đơn giản nhất xuất hiện đầu tiên
trong lịch sử ngành khoa học mật mã. Thuật toán mã hóa cổ điển đơn giản và dễ
hiểu. Những phương pháp mã hóa này là cơ sở cho việc nghiên cứu và phát triển
thuật toán mã hóa đối xứng được sử dụng ngày nay.
3



Thuật toán ở mã hóa cổ điển đều là mã khóa đối xứng. Ở đó thông tin về
khóa được chia sẻ giữa người gửi và người nhận.
Với hệ mật mã mã này, việc mã hóa và giải mã sử dụng chung một khóa, do
đó hai bên liên lạc phải thống nhất và bảo mật khóa trước khi truyền tin. Có thể gọi
đây là mã một khóa, mã khóa riêng hay mã thỏa thuận.
Hiện nay hệ mật mã mã khóa bí mật và hệ mật mã mã khóa công khai tiếp
tục được phát triển và hoàn thiện. Hệ mật mã mã khóa công khai ra đời hỗ trợ hệ
mật mã mã khóa bí mật chứ không thay thế nó, do đó đến nay hệ mật mã mã khóa
bí mật vẫn được sử dụng rộng rãi.
Các thuật toán mã hóa trong hệ mật mã mã khóa bí mật thường sử dụng 3
phương pháp sau:
- Hoán vị
- Thay thế
- Xử lý bit (chủ yếu nằm trong các ngôn ngữ lập trình)
Ngoài ra còn có phương pháp hỗn hợp thực hiện kết hợp các phương pháp
trên mà điển hình là chuẩn mã dữ liệu (DES – Data Encryption Standard) của Mỹ.
1.2. Sơ đồ hệ mật mã mã khóa bí mật.[6]

4


Hình 1.1. Sơ đồ hệ mật mã mã khóa bí mật

Một hệ mật mã mã là một bộ gồm 5 tham số (P, C, K, E, D) thỏa mãn các
điều kiện sau:
a) P là một tập hữu hạn các bản rõ có thể.
b) C là một tập hữu hạn các bản mã có thể.
c) K là một tập hữu hạn các khoá có thể (không gian khoá).
d) Đối với mỗi k ∈ K có một quy tắc mã ek∈ E
e k: P → C

và một quy tắc giải mã tương ứng dk∈ D
dk: C → P
sao cho: dk(ek(x)) = x với ∀ x ∈P
1.3. Mật mã thay thế[6]
1.3.1.Mật mã dịch vòng (MDV)
Giả sử P = C = K = Z26 với 0 ≤ k ≤ 25.
Ta định nghĩa:
- Mã hóa: C ≡ M + K mod n
- Giải mã: M ≡ C - K mod n

5


Sử dụng mã dịch vòng (với modulo 26) để thực hiện mã hoá một văn bản
tiếng Anh thông thường bằng cách thiết lập sự tương ứng giữa các ký tự và các
thặng dư theo mod 26 như sau:
(với văn bản tiếng Anh, n = 26, như vậy M, C, K ∈ Z26):
Bảng 1.1. Bảng 26 ký tự và mã tương ứng

Ký tự

A

B

C

D

E


F

G

H

I

J

K

L

M

Mã tương ứng

0

1

2

3

4

5


6

7

8

9

10

11

12

Ký tự

N

O

P

Q

R

S

T


U

V

W

X

Y

Z

Mã tương ứng

13

14

15

16

17

18

19

20


21

22

23

24

25

Ví dụ 1.1:
Giả sử khóa cho MDV làk = 5
Bản rõ M là:
"meet me at sunset"
Trước tiên, ta biến đổi bản rõ thành chữ in hoa và biến đổi thành dãy các số
nguyên theo bảng trên (không biến đổi dấu cách (space) giữa 2 từ):
12.4.4.19.12.4.0.19.18.20.13.18.4.19
Sau đó ta cộng 5 vào mỗi giá trị ở trên và rút gọn tổng theo mod 26.
Ta được dãy số sau:
17.9.9.24.17.9.5.24.23.25.18.23.9.24
Cuối cùng, ta lại biến đổi dãy số nguyên trên thành các ký tự tương ứng, ta
có bản mã sau:
RJJY RJ FY XZSXJY
Để giải mã cho bản mã này, trước tiên ta biến bản mã thành dãy số nguyên
rồi trừ mỗi giá trị cho 5 (rút gọn theo modulo 26), và cuối cùng là lại biến đổi lại
dãy số nhận được này thành các ký tự.
Ví dụ 1.2:
Giả sử khóa cho MDV: k = 3
Vẫn sử dụng bản rõ M ở trên là: meet me at sunset

6


Làm như phần trên, biến đổi bản rõ thành chữ in hoa và biến đổi thành dãy
các số nguyên theo bảng trên (không biến đổi dấu cách giữa 2 từ).
Ta có:
MEET ME AT SUNSET
124 419124 019 18201318419
Sau đó cộng 3 vào mỗi giá trị ở trên và rút gọn tổng theo mod 26
Ta được dãy số sau:
15772215732221331621722
Biến đổi dãy số nguyên trên thành các ký tự tương ứng, ta có bản mã sau:
PHHWPHDWVXQVHW
Để giải mã cho bản mã này:
- Biến bản mã thành dãy số nguyên
- Trừ mỗi giá trị cho 3 (rút gọn theo modulo 26).
- Cuối cùng lại biến đổi lại dãy số nhận được này thành các ký tự.
Nhận xét:
- Với k = 3 thì hệ mật mã mã này được gọi là mã Caesar đã từng được Hoàng
đế Caesar sử dụng.
- MDV (theo mod 26) là không an toàn vì nó có thể bị thám theo phương
pháp tìm khoá vét cạn (thám mã có thể dễ dàng thử mọi khoá dk có thể cho tới khi
tìm được bản rõ có nghĩa). Trung bình có thể tìm được bản rõ đúng sau khi thử
khoảng (26 / 2) = 13 quy tắc giải mã.
Ví dụ 1.3:
Giả sử ta có bản rõ là: meet me after the toga party
Như vậy bản tin mã hóa (bản mã) sẽ là:

PHHW PH DIWHU WKH WRJD SDUWB
Thám mã có được bản mã trên và biết được phương pháp mã hóa và giải mã

là phép cộng trừ modulo 26.
Khi đó thám mã sẽ thử tất cả 25 trường hợp của k như sau:
Hình 1.2. Bảng mã thử 25 trường hợp khóa k

7


Trong 25 trường hợp trên, chỉ có trường hợp k=3 thì bản giải mã tương ứng
là có ý nghĩa. Do đó thám mã có thể chắc chắn rằng:
"meet me after the toga party"
là bản rõ ban đầu.
Từ ví dụ trên ta thấy rằng, điều kiện cần để một hệ mật mã mã an toàn là
phép tìm khoá vét cạn phải không thể thực hiện được. Tuy nhiên, một không gian
khoá lớn vẫn chưa đủ để đảm bảm độ mật.
1.3.2. Mã thay thế (MTT)
Mã thay thế là việc thay thế một ký tự bằng một ký tự khác trong bảng ký tự.
Cho P = C = Z26.
8


K chứa mọi hoán vị có thể có của 26 ký tự từ 0 đến 25.
Với mỗi phép hoán vị Π∈ K, ta định nghĩa như sau:
eΠ (x) = Π(x)
và dΠ(y) = Π-1(y)
Trong đó: Π-1 là hoán vị ngược của Π.
Ví dụ 1.4:
Phép hoán vị ngẫu nhiênΠ tạo nên một hàm mã hoá (tương tự như trên, các
ký tự của bản rõ được viết bằng chữ thường, còn các ký tự của bản mã được viết
bằng chữ in hoa).
Ký tự bản rõ


a

b

c

d

e

f

g

h

i

j

k

l

m

Ký tự bản mã

X


N

Y

A

H

P

O

G

Z

Q

W

B

T

Ký tự bản rõ

n

o


p

q

r

s

t

u

v

w

x

y

z

Ký tự bản mã

S

F

L


R

C

V

M

U

E

K

J

D

I

Ta thấy: eΠ(a) = X, eΠ(b) = N...
Hàm giải mã là phép hoán vị ngược. Điều này được thực hiện bằng cách viết
hàng thứ hai lên trước rồi sắp xếp heo thứ tự chữ cái. Ta có:
Ký tự bản mã

A

B


C

D

E

F

G

H

I

J

K

L

M

Ký tự bản rõ

d

l

r


y

v

o

h

e

z

x

w

p

t

Ký tự bản mã

N

O

P

Q


R

S

T

U

V

W

X

Y

Z

Ký tự bản rõ

b

g

f

j

q


n

m

u

s

k

a

c

i

Với phép thay thế trên, từ bản rõ: meet me at sunset
ta thu được bản mã sau:

THHM TH XM VUSHM

Sử dụng phép hoán vị ngược, ta dễ dàng tìm lại được bản rõ ban đầu.
Mỗi khoá của mã thay thế là một phép hoán vị của 26 ký tự. Số các hoán vị
này là 26! > 4.10 26 . Đây là một số rất lớn nên khó có thể tìm được khoá bằng phép
9


tìm khoá vét cạn. Tuy nhiên, bằng phương pháp thống kê, ta có thể dễ dàng thám
được các bản mã loại này.
1.3.3. Mã Playfair: [11]

Chúng ta thấy rằng 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ã hóa bộ các chữ, tức là mỗi chữ sẽ
được mã hóa bằng một số chữ khác nhau tùy thuộc vào các chữ mà nó đứng cạnh.
Mã hóa Playfair là một trong các mã như vậy. Mã hóa này cho trước một từ
làm khóa, với điều kiện trong từ khóa đó không có chữ cái nào bị lặp. Playfair dùng
một ma trận 5x5 dựa trên các 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ất định.
Quy tắc sắp xếp 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 trên bảng chữ cái chưa được sử
dụng vào các ô còn lại. Có thể viết theo một trình tự quy ước trước , chẳng hạn từ
đầu bảng cho đến cuối bảng chữ cái.
- Ở đây, trong tiếng Anh có 26 chữ cái nên thiếu 1 ô. Thông thường ta dồn
hai chữ nào đó vào 1 ô chung, chẳng hạn là I và J.
Ví dụ 1.5:
Giả sử ta có bảng ma trận sau:
Bảng 1.2.Bảng ma trận các chữ cái trong tiếng Anh

M

O

N

A

R

C


H

Y

B

D

E

F

G

I/J

K

L

P

Q

S

T

U


V

W

X

Z

10


Trong bảng trên, khóa là từ MONARCHY được điền vào các dòng đầu của
bảng, các chữ cái còn lại được điền tiếp theo. Riêng hai chữ I, J được điền vào cùng
một ô vì trong tiếng Anh, ít khi nhầm lẫn giữa chữ I và chữ J.
Ví dụ, nếu gặp đoạn ký tự CL_MATE, ta sẽ biết đó là từ CLIMATE chứ
không phải là CLJMATE.
Trước khi mã hóa, bản rõ được tách ra thành các cặp ký tự. Nếu hai ký tự
trong một cặp giống nhau thì sẽ được tách bằng chữ X (trong tiếng Anh ít khi có 2
ký tự X sát nhau).
Ví dụ 1.6:
Từ balloon được tách thành ba lx lo on . Việc mã hóa từng cặp được thực
hiện theo quy tắc:
- Nếu hai ký tự trong cặp thuộc cùng một hàng, thì được thay bằng hai ký tự
tiếp theo trong hàng. Nếu đến cuối hàng thì quay về đầu hàng.
Ví dụ 1.7:
Cặp ar được mã hóa thành RM.
- Nếu hai ký tự trong cặp thuộc cùng một cột, thì được thay bằng hai ký tự
tiếp theo trong cột. Nếu đến cuối cột thì quay về đầu cột.
Ví dụ 1.8:

Cặp ov được mã hóa thành HO.
Trong các trường hợp còn lại, hai ký tự được mã hóa sẽ tạo thành đường
chéo của một hình chữ nhật và được thay bằng 2 ký tự trên đường chéo kia.
Ví dụ 1.9:
Cặp hs trở thành BP (B cùng dòng với H và P cùng dòng với S).
ea trở thành IM (hoặc JM).
Như vậy, có thể thấy độ an toàn của mã Playfair được nâng cao so với mã
thay thế đơn biểu. Nếu chỉ xét trên 26 chữ cái thì mã khóa Playfair có 26x26=676
cặp chữ cái, mỗi chữ được mã hóa bằng 7 chữ khác nhau, do đó các cặp chữ cái này
ít bị chênh lệch về tần suất hơn so với sự chênh lệnh tần suất của từng chữ cái.

11


Muốn sử dụng thống kê tần suất, cần có bảng tần suất của 676 cặp để thám
mã (so với 26 của bảng mã thay thế đơn biểu). 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. Dó đó khó thám
mã hơn mã trên bảng chữ đơn.
Đây chính là lý do mà người ta tin rằng mã hóa Playfair không thể bị
phá và được quân đội Anh sử dụng trong chiến tranh thế giới lần thứ nhất.
1.3.4. Mật mã Hill:[11]
Mật mã Hill là một hệ mật mã thay thế đa biểu khác. Mật mã này do Lester
S.Hill đưa ra năm 1929.
Giả sử cho m là một số nguyên dương. Đặt P = C = (Z26)m.
Ý tưởng 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ã.
Như vậy, ta có thể thấy mã Hill thực hiện mã hóa một lần m ký tự bản rõ.
Ký hiệu là p1, p2,..., pm và thay thế thành m ký tự trong bản mã, ký hiệu là c1,
c2,..., cm. Việc thay thế này được thực hiện bằng m phương trình tuyến tính.
Tất cả đều được thực hiện trong Z26 (theo modulo 26)

Ví dụ 1.10:
Nếu lấy m = 2, ta có thể viết một phần tử của bản rõ là p = (p1, p2) và một
phần tử của bản mã là c = (c1, c2).
Ở đây c1 cũng như c2 đều làm một tổ hợp tuyến tính của p1 và p2.
Giả sử có thể lấy:
c1 = 11p1 + 3p2
c2 = 8p1 + 7p2
Ta viết theo ký hiệu ma trận như sau:

( c1

c2 ) = ( x1

11 3 
x2 ) 

 8 7

Như vậy ta thấy rằng lấy một ma trận kích thước m x m làm khóa. Nếu một
phần tử ở hàng i và cột k của khóa k là kij thì ta có thể viết:
k = (kij) với c = (c1, c2,..., cm) ∈ P và k ∈ K.

12


Ta tính:
c = ek(x) = (c1, c2, ..., cm) như sau:

 k1,1 k1,2 ...
k


1, m


(c1,...,cm) = (p1,...,pm)
 k2,1 k2,2



 k2,m

Hay nói cách khác: c = pk.
Bản mã nhận được từ bản rõ nhờ phép biến đối tuyến tính. Ở đây cần xem
xét việc thực hiện giải mã như thế nào, tức là làm thế nào tính được p từ c. Theo đại
số tuyến tính, cần phải dùng ma trận nghịch đảo k-1 để giải mã. Bản mã được giải
mã bằng công thức: ck-1.
Ví dụ 1.11:
11 8 
Giả sử m = 2, khóa k = 

 3 7
Cho bản rõ là "july", ta thấy rằng mã trận có cỡ 2 x 2 nên bản rõ sẽ được chia
thành các phần tử, mỗi phần tử chứa 2 ký tự như sau:
- "ju" tương ứng với (p1, p2) = (9, 20).
- "ly" tương ứng với (p3, p4) = (11, 24).
+ Ta thực hiện mã hóa như sau:
11 8 
c = (c1, c2) = (x1, x2)k = ( 9 20 ) 
 = (9x11+20x3 9x8+20x7)
 3 7

= (99+60 72+140)= (159 212).
Tính theo mod 26, ta có c = (159 mod 26

212 mod 26) = (3 4)

11 8 
c = (c3, c4) = (x3, x4)k = (11 24 ) 
 = (11x11+24x3 11x8+24x7)
 3 7
= (121+72 88+168) = (193 256)
Tính theo mod 26, ta có c = (193 mod 26
Như vậy bàn mã là DELW.
+ Giải mã:
13

256 mod 26) = (1122).


 7 18
Tính: k −1 = 

 23 11
 7 18 
 7 18 
Khi đó: (3 4) 
= (9 20) , (11 12) 

 =(11 24) chính là bản rõ
 23 11
 23 11

"july" ban đầu.
Trong mã Hill, mỗi chữ cái được gán cho một số nguyên từ 0 đến 25:
Bảng 1.3.Bảng mã ký tự và số nguyên tương ứng


tự
Số

tự
Số

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

Ta có thể thấy rằng mã hóa Hill ẩn giấu các thông tin về tần suất nhiều hơn
mã hóa Playfair do có thể mã hóa 3 hoặc nhiều hơn nữa các ký tự cùng một lúc.

1.3.5. Mật mã Vigenere[6]
Một hệ mật mã mã thay thế đa biểu đơn giản hệ mật mã Vigenere.

Quá trình mã hóa Vigenere là việc tiến hanh đồng thời dùng nhiều mã Caesar
cùng một lúc trên bản rõ với nhiều khóa khác nhau. Khóa cho mỗi chữ dùng để mã
phụ thuộc vào vị trí của chữ đó trong bản rõ và được lấy trong từ khóa theo thứ tự

đúng.
Sử dụng phép tương ứng A ↔ 0, B ↔ 1,..., Z ↔ 25 mô tả ở trên, ta có thể
gắn cho mỗi khoá k một chuỗi ký tự có độ dài m , được gọi là từ khoá. Mật mã
Vigenere sẽ mã hoá đồng thời m ký tự: mỗi phần tử của bản rõ tương đương với m
ký tự.

Để hỗ trợ mã Vigenere, ta có bảng sau:

14


Hình 1.3. Bảng mã Vigenere

Dòng thứ k củaa bảng
b
là một mã hóa Ceasar k - 1 vị trí. Ví dụ,
d dòng thứ 4,
tương ứng với từ khóa D là mã hóa Ceasar 3 vị
v trí.
Để mã hóa một bảản tin thì cần có một khóa có chiều dài bằng
ng chi
chiều dài bản
tin. Thườn thì khóa là mộột cụm từ nào đó và được viết lặp lạii cho đến
đ khi có chiều
dài bằng chiều dài bảnn rõ.


Ví dụ 1.12:
Cho bản rõ:
"We are discovered save your self"
Cho khóa là từ "DECEPTIVE".
Ta thực hiệnn mã hóa nh
như sau:

15


Bản rõ

wearediscoveredsaveyourself

Khóa

DECEPTIVEDECEPTIVEDECEPTIVE

Bản mã

ZICVTWQNGRZGVTWAVZHQYGLMGJ

Ta thấy ứng với chữ w trong bản rõ là chữ D trong khóa, nên dòng mã hóa
thứ 4 ứng với khóa D trong bảng Vigenere được chọn. Do đó chữ w được mã hóa
thành chữ Z. Tương tự như vậy thực hiện mã hóa cho các chữ còn lại.
Trong ví dụ trên, các chữ e trong bản rõ được mã hóa tương ứng thanh I, T,
G, T, H, M trong bản mã. Do đó phương pháp phá mã dựa trên thống kê tần suất
chữ cái là không thực hiện được.
Ví dụ 1.13:
Giả sử bản tin m = 6 và từ khoá là k = CIPHER.

Từ khoá này tương ứng với dãy số k = (2,8,15, 7, 4,17) .
Giả sử bản rõ là:

meet me at sunset
Ta sẽ biến đổi các phần tử của bản rõ thành các thặng dư theo mod 26, viết
chúng thành các nhóm 6 rồi cộng với từ khoá theo modulo 26 như sau:
Bản rõ

12

4

4

19

12

4

0

19

18

20

13


18

4

19

Khoá

2

8

15

7

4

17

2

8

15

7

4


17

2

8

Bản mã

14

12

19

0

16

21

2

1

7

1

17


9

6

1

Như vậy, dãy ký tự tương ứng với xâu bản mã sẽ là:

OMTA QV CB HBRJGB
Ta có thể mô tả mật mã Vigenère như sau:
Cho m là một số nguyên dương cố định nào đó.
Ta định nghĩa:
n

P = C = K = ( Z 26 )

16


×