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

Nghiên cứu các phương pháp mật mã và ứng dụng trong các hệ thống thông tin thế hệ tiếp theo

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.71 MB, 126 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
------------------------------------------

NGUYỄN THỊ THU HẰNG

NGHIÊN CỨU CÁC PHƯƠNG PHÁP MẬT MÃ VÀ ỨNG DỤNG TRONG
CÁC HỆ THỐNG THÔNG TIN THẾ HỆ TIẾP THEO

LUẬN VĂN THẠC SỸ KHOA HỌC
NGÀNH: KỸ THUẬT ĐIỆN TỬ
NGƯỜI HƯỚNG DẪN: TS. NGUYỄN THÚY ANH

HÀ NỘI – 2007


MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT .................................................................. 5
DANH MỤC CÁC HÌNH VẼ ............................................................................................... 6
PHẦN MỞ ĐẦU ................................................................................................................... 8
1. Lý do chọn đề tài: ....................................................................................................... 8
2. Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu .......................... 8
3. Tóm tắt nội dung luận văn: ......................................................................................... 8
4. Phương pháp nghiên cứu ............................................................................................ 8
NỘI DUNG LUẬN VĂN ...................................................................................................... 9
Lời giới thiệu .......................................................................................................................... 9
CHƯƠNG I: TỔNG QUAN VỀ MẬT MÃ HỌC ............................................................... 10
1.1.


Mật mã học:........................................................................................................... 10

1.2.

Một số kiến thức toán học phụ trợ: ....................................................................... 11

1.3. Hệ thống mật mã (Cryptosystem) ............................................................................. 13
1.4. Hệ thống mã hóa quy ước (Mã hóa đối xứng) .......................................................... 13
1.5. Hệ thống mã hóa khóa cơng cộng (Mã hóa bất đối xứng). ....................................... 14
1.6. Kết hợp mã hóa quy ước và mã hóa khóa công cộng. .............................................. 14
CHƯƠNG II: MỘT SỐ PHƯƠNG PHÁP MÃ HĨA QUY ƯỚC ...................................... 16
2.1. Hệ thống mã hóa quy ước ......................................................................................... 16
2.2. Mật mã thay thế ........................................................................................................ 16
2.2.1.Phương pháp mã hóa dịch chuyển (Mật mã dịch vịng). .................................... 16
2.2.2. Phương pháp mã hóa thay thế. ........................................................................... 18
2.2.3. Phương pháp mật mã Vigenère.......................................................................... 19
2.3. Phương pháp mật mã hoán vị: .................................................................................. 21
2.4. Phương pháp mật mã Hill ......................................................................................... 22
2.5.

Phương pháp Affine .............................................................................................. 25

2.6. Các hệ mật mã tích: .................................................................................................. 28
2.7. Các hệ mã dòng: ....................................................................................................... 31
2.8. Chuẩn mã dữ liệu-Phương pháp DES....................................................................... 34
(Data Encryption Standard) .............................................................................................. 34
2.8.1. Giới thiệu về DES: ............................................................................................. 34
2.8.2. Ví dụ về DES: ..................................................................................................... 44
2.8.3. Một số thảo luận về DES: .................................................................................. 48


1


2.8.4. DES trong thực tế: ............................................................................................. 49
2.8.5. Phương pháp chuẩn mã hóa nâng cao AES. ..................................................... 52
CHƯƠNG III: MẬT MÃ KHỐ CƠNG CỘNG ............................................................... 55
3.1. GIỚI THIỆU: ............................................................................................................ 55
3.2. HỆ MẬT RSA: ......................................................................................................... 57
3.2.1. Thuật toán 1: Tạo khoá ...................................................................................... 57
3.2.2. Định nghĩa: ........................................................................................................ 57
3.2.3. Thuật toán 2: Mã hoá công khai RSA: .............................................................. 58
3.2.4. Một số phương pháp tấn công giải thuật RSA .................................................. 59
3.2.5. Sự che giấu thông tin trong hệ thống RSA ........................................................ 63
3.2.6. Vấn đề số nguyên tố........................................................................................... 64
3.3. HỆ MẬT RABIN ...................................................................................................... 64
3.3.1. Thuật toán 1: Tạo khoá ...................................................................................... 64
3.3.2. Thuật toán 2: Mã hoá cơng khai Rabin .............................................................. 65
3.3.3. Chú ý: ................................................................................................................. 65
3.3.4. Ví dụ: ................................................................................................................. 65
3.4. HỆ MẬT Elgamal: .................................................................................................... 66
3.4.1. Thuật toán tạo khố: .......................................................................................... 66
3.4.2. Thuật tốn mã hố cơng khai ElGamal:............................................................. 67
3.4.3. Ví dụ: ................................................................................................................. 67
3.5. HỆ MẬT MERKLE – HELLMAN .......................................................................... 68
3.5.1. Định nghĩa dãy siêu tăng: .................................................................................. 68
3.5.2. Bài tốn xếp balơ ............................................................................................... 68
3.5.3. Giải bài tốn xếp ba lô trong trường hợp dãy siêu tăng. .................................... 68
3.5.4. Thuật tốn tạo khố............................................................................................ 69
3.5.5. Thuật tốn mã cơng khai Merkle-Hellman ........................................................ 69
3.5.6. Ví dụ: ................................................................................................................. 70

3.6. HỆ MẬT CHOR-RIVEST (CR) ............................................................................... 70
3.6.1. Thuật toán tạo khoá: .......................................................................................... 70
3.6.2. Thuật tốn mã hố.............................................................................................. 71
3.6.3. Ví dụ: ................................................................................................................. 73
3.6.4. Chú ý: ................................................................................................................. 74
3.7. HỆ MẬT MCELICE ................................................................................................. 75
3.7.1. Định nghĩa 1: ..................................................................................................... 75
3.7.2. Định lý 2: ........................................................................................................... 76
2


3.8. HỆ MẬT DỰA TRÊN ĐỊNH DANH ...................................................................... 79
3.8.1. Ý tưởng cơ bản: ................................................................................................. 79
3.8.2. Sơ đồ trao đổi khóa Okamoto –Tanaka. ............................................................ 80
CHƯƠNG IV: ...................................................................................................................... 82
MÃ HÓA KHÓA QUY ƯỚC VÀ MÃ HĨA KHĨA CƠNG CỘNG ................................ 82
CHƯƠNG V ........................................................................................................................ 85
CÁC HÀM BĂM VÀ TÍNH TỒN VẸN CỦA DỮ LIỆU................................................ 85
5.1. ĐẶT VẤN ĐỀ .......................................................................................................... 85
5.2.HÀM BĂM MẬT MÃ ............................................................................................... 85
5.3. CÁC ĐỊNH NGHĨA VÀ TÍNH CHẤT CƠ BẢN .................................................... 87
5.3.1. Định nghĩa hàm băm .......................................................................................... 87
5.3.2. Một số tính chất của các hàm băm khơng có khố. ........................................... 87
5.3.3. Định nghĩa hàm băm một chiều (OWHF- Oneway hash function). .................. 88
5.3.4. Định nghĩa hàm băm khó va chạm (CRHF: Collision Resistant HF). ............... 88
5.3.5. Chú ý về các thuật ngữ: ..................................................................................... 88
5.3.6. Ví dụ: ................................................................................................................. 88
5.3.7. Định nghĩa thuật tốn mã xác thực thơng báo (MAC). ..................................... 88
5.3.8. Phân loại các hàm băm mật mã và ứng dụng..................................................... 89
5.4. CẤU TRÚC CỦA HÀM BĂM- TÍNH AN TỒN CỦA HÀM BĂM .................... 89

5.4.1. Cấu trúc của hàm băm ....................................................................................... 89
5.4.2. Tính an tồn của hàm băm: ................................................................................ 89
5.5. TÍNH TỒN VẸN CỦA DỮ LIỆU VÀ XÁC THỰC THƠNG BÁO .................... 90
5.5.1. Định nghĩa 1: ..................................................................................................... 90
5.5.2. Định nghĩa 2: ..................................................................................................... 90
5.5.3. Các phương pháp đảm bảo xác thực tính nguyên vẹn của dữ liệu: .................. 92

5.6. TRAO ĐỔI VÀ THỎA THUẬN KHÓA ................................................................. 92
5.7. CHỮ KÝ SỐ ............................................................................................................. 92
5.7.1. Phương pháp chữ ký điện tử RSA: ................................................................... 94
5.7.2. Phương pháp chữ ký điện tử ElGamal .............................................................. 96

5.7.3. Phương pháp Digital Signature Standard (DSS) ............................................ 96

CHƯƠNG VI ....................................................................................................................... 98
CHỨNG NHẬN KHĨA CƠNG CỘNG ............................................................................. 98
6.1.Giới thiệu: .................................................................................................................. 98
6.2. Các loại giấy chứng nhận khóa cơng cộng ............................................................. 100
6.2.1. Chứng nhận X.509 ........................................................................................... 100
3


6.2.2. Chứng nhận chất lượng: ................................................................................... 102
6.2.3. Chứng nhận PGP: ............................................................................................ 103
6.2.4. Chứng nhận thuộc tính:.................................................................................... 103
6.3. Sự chứng nhận và kiểm tra chữ ký ......................................................................... 104
6.4. Các thành phần của một cơ sở hạ tầng khóa cơng cộng ......................................... 105
6.4.1. Tổ chức chứng nhận – Certificate Authority (CA) .......................................... 106
6.4.2. Tổ chức đăng ký chứng nhận – Registration Authority (RA). ........................ 106
6.4.3. Kho lưu trữ chứng nhận – Certificate Repository (CR)................................... 107

6.5. Chu trình quản lý giấy chứng nhận: ....................................................................... 107
6.5.1. Khởi tạo: .......................................................................................................... 107
6.5.2. Yêu cầu về giấy chứng nhận: ........................................................................... 107
6.5.3. Tạo lại chứng nhận: ......................................................................................... 109
6.5.4. Hủy bỏ chứng nhận: ......................................................................................... 109
6.5.5. Lưu trữ và khôi phục khóa: .............................................................................. 110
6.6. Các mơ hình CA ..................................................................................................... 111
6.6.1. Mơ hình tập trung ............................................................................................ 111
6.6.2. Mơ hình phân cấp ............................................................................................ 111
6.6.3. Mơ hình “Web of Trust” .................................................................................. 112
6.7.Ứng dụng “Hệ thống bảo vệ thư điện tử” ................................................................ 113
6.7.1. Đặt vấn đề: ....................................................................................................... 113
6.7.2. Quy trình mã hóa thư điện tử: .......................................................................... 114
6.7.3. Quy trình giải mã thư điện tử ........................................................................... 114
CHƯƠNG VII.................................................................................................................... 116
MẠNG NGN VÀ VẤN ĐỀ BẢO MẬT TRONG MẠNG NGN ...................................... 116
7.1. GIỚI THIỆU CHUNG VỀ MẠNG NGN: ............................................................. 116
7.2. VẤN ĐỀ BẢO MẬT TRONG MẠNG NGN: ....................................................... 120
7.2. 1. Những vấn đề bảo mật khi triển khai NGN: .................................................. 120
7.2.2. Nguyên tắc bảo mật: ........................................................................................ 120
7.2.3. Một số biện pháp hỗ trợ bảo mật: ................................................................... 121
PHẦN KẾT LUẬN VÀ ĐỊNH HƯỚNG NGHIÊN CỨU ................................................ 123
1. Kết luận: ..................................................................................................................... 123
2. Định hướng nghiên cứu ............................................................................................. 124
TÀI LIỆU THAM KHẢO ................................................................................................. 125

4


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

AES

Advanced Encryption Standard

Chuẩn mã hóa nâng cao

CBC

Cipher-Block Chaining

Chế độ liên kết khối mã

CFB

Cipher Feedback

Chế độ phản hồi đầu mã

CHOR-RIVEST

Hệ mật CHOR-RIVEST

CR

CRHF Collision Resistant HF

Hàm băm khó va chạm

DES


Data Encryption Standard

Chuẩn mã hóa

DSS

Digital Signature Standard

Chuẩn chữ ký số

ECB

Electronic Code-Book

Chế độ chuyển mã điện tử

LFSR

Linear Feedback Shift Register

Bộ ghi dịch hồi tiếp tuyến tính

MAC

Message Authentication Code

Mã xác thực bản tin

MD4 Message Digest 4


Hàm băm MD4

MD5 Message Digest 5

Hàm băm MD5

MDC

Manipulation Detection Codes

Mã phát hiện sự sửa đổi

NBS

National bureau of standards

Uỷ ban Tiêu chuẩn Quốc gia Mỹ

NIST

National Institute of Standards and
Technology

Viện Tiêu chuẩn và Công nghệ
Quốc gia Hoa Kỳ

NSA

National Security Agency


Cục An ninh Quốc gia Mỹ

OFB

Output Feedback

Chế độ phản hồi đầu ra
Hàm băm một chiều

OWHF Oneway hash function
PIN

Personal Identification Number

Số định danh cá nhân

SHS

Secure Hash Standard

Phương pháp SHS
5


DANH MỤC CÁC HÌNH VẼ
Hình 2.1: Mơ hình hệ thống mã hóa quy ước………………………………….…..16
Hình 2.2: Thanh ghi dịch hồi tiếp tuyến tính (LFSR)……………………………...33
Hình 2.3: Biểu diễn dãy 64 bit x thành 2 thành phần L và R………………………35
Hình 2.4: Một vịng của DES………………………………………………………36
Hình 2.5: Hàm f của DES……………………………………………………….....37

Hình 2.6: Tính bảng khóa DES…………………………………………………....40
Hình 2.7: Chế độ CBC……………………………………………………………..50
Hình 2.8: Chế độ CFB……………………………………………………………..51
Hình 3.1: Hệ mật McElice…………………………………………………………77
Hình 3.2: Sơ đồ trao đổi khóa Okamoto – Tanaka………………………………...80
Hình 4.1: Bảng so sánh độ an tồn giữa khóa bí mật và khóa cơng cộng…………82
Hình 4.2: Đồ thị so sánh ch phí cơng phá khóa bí mật và khóa cơng cộng……….83
Hình 5.1: Bảng phân loại các hàm băm mật mã và ứng dụng……………………..89
Hình 5.2: Dùng MAC bảo đảm tính tồn vẹn của dữ liệu…………………………91
Hình 5.3: Dùng MDC và mã hóa bảo đảm tính tồn vẹn của dữ liệu……………..91
Hình 5.4: Dùng MDC và kênh tin cậy bảo đảm tính tồn vẹn của dữ liệu………..91
Hình 5.5: Tạo một thơng báo có ký bằng chữ ký số……………………………….93
Hình 5.6: Các bước kiểm tra một thơng báo đã ký…………………………….......93
Hình 5.7: Sơ đồ chữ ký số RSA (khơng bí mật bản tin)…………………………..95
Hình 5.8: Sơ đồ chữ ký số RSA (có bí mật bản tin)………………………………95
Hình 6.1: Vấn đề chủ sở hữu khóa cơng cộng…………………………………….98
Hình 6.2: Các thành phần của một chứng nhận khóa cơng cộng…………………99
Hình 6.3: Mơ hình Certification Authority đơn giản……………………………..100
Hình 6.4: Phiên bản 3 của chuẩn chứng nhận X.509……………………………..101
Hình 6.5: Phiên bản 2 của cấu trúc chứng nhận thuộc tính………………………103
Hình 6.6. Q trình ký giấy chứng nhận………………………………………….104
Hình 6.7: Quá trình kiểm tra chứng nhận…………………………………………105
Hình 6.8: Mơ hình PKI cơ bản……………………………………………………105
Hình 6.9: Mẫu yêu cầu chứng nhận theo chuẩn PKCS#10……………………….107

6


Hình 6.10: Định dạng thơng điệp u cầu chứng nhận theo RFC 2511………...108
Hình 6.11: Phiên bản 2 của định dạng danh sách chứng nhận bị hủy…………..110

Hình 6.12: Mơ hình CA tập trung………………………………………………..111
Hình 6.13: Mơ hình CA phân cấp………………………………………………..112
Hình 6.14: Mơ hình “Web of trust”……………………………………………...112
Hình 6.15: Quy trình mã hóa thư điện tử………………………………………...114
Hình 6.16: Quy trình giải mã thư điện tử………………………………………....115

7


PHẦN MỞ ĐẦU
1. Lý do chọn đề tài:
Khi có sự trao đổi thông tin, vấn đề bảo mật thông tin trở thành một nhu
cầu không thể thiếu. Khoa học mật mã cũng đã ra đời từ rất lâu. Tuy nhiên, trong
suốt nhiều thế kỷ, các kết quả của lĩnh vực này hầu như không được ứng dụng
trong các lĩnh vực dân sự thông thường của đời sống – xã hội mà chủ yếu được
sử dụng trong lĩnh vực quân sự, chính trị, ngoại giao... Ngày nay, các ứng dụng
mã hóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến trong các
lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng…,
cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng…
Nghiên cứu về các phương pháp mật mã, các phương thức áp dụng mật
mã vào việc bảo mật thông tin, ứng dụng mật mã trong các lĩnh vực của đời
sống trở thành một yêu cầu cấp thiết, có ý nghĩa quan trọng.
2. Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu
Mục đích của luận văn là nghiên cứu các phương pháp mật mã , các quy trình mã
hóa và giải mã thơng tin, các ưu điểm và nhược điểm của từng phương pháp. Đồng
thời tìm hiểu một số ứng dụng của mã hóa trong bảo mật thông tin, chữ ký điện tử,
bảo mật thư điện tử,…
3. Tóm tắt nội dung luận văn:
- Chương I: Tổng quan về mật mã học
- Chương II: Một số phương pháp mã hóa quy ước:

- Chương III: Hệ mật khóa cơng cộng
- Chương IV: Hệ mật khóa quy ước và hệ mật khóa cơng cộng
- Chương V: Hàm băm và tính tồn vẹn dữ liệu
- Chương VI: Mạng NGN và vấn đề bảo mật trong mạng NGN
4. Phương pháp nghiên cứu
Để hiểu về mật mã, trước hết luận văn nghiên cứu về khái niệm mật mã, quá trình
mã hóa và giải mã của các phương pháp mã hóa quy ước, các phương pháp mã hóa
khóa cơng cộng. Qua đó thấy được ưu điểm và nhược điểm của từng phương pháp.
Áp dụng vào thực tế, căn cứ vào các ưu điểm và nhược điểm của các phương pháp
mã hóa đã phân tích, tìm hiểu một số ứng dụng của một số phương pháp mật mã vào
mục đích bảo mật thơng tin, đảm bảo tồn vẹn và chính xác của dữ liệu như chữ ký
điện tử, hệ thống bảo vệ thư điện tử,….

8


NỘI DUNG LUẬN VĂN
Lời giới thiệu
Mật mã (Cryptography) là một lĩnh vực khoa học rộng lớn, là ngành khoa
học nghiên cứu các kỹ thuật toán học nhằm cung cấp các dịch vụ bảo vệ thông tin .
Đây là ngành khoa học quan trọng, có nhiều ứng dụng trong đời sống – xã hội.
Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao
dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng
điện tử ngày càng được quan tâm và có ý nghĩa hết sức quan trọng. Các kết quả của
khoa học mật mã ngày càng được triển khai trong nhiều lĩnh vực khác nhau của đời
sống – xã hội, trong đó phải kể đến rất nhiều những ứng dụng đa dạng trong lĩnh
vực dân sự, thương mại...Các ứng dụng mã hóa thơng tin cá nhân, trao đổi thơng tin
kinh doanh, thực hiện các giao dịch điện tử qua mạng... đã trở nên gần gũi và quen
thuộc với mọi người.
Cùng với sự phát triển của khoa học máy tính và Internet, các nghiên cứu và

ứng dụng của mật mã học ngày càng trở nên đa dạng hơn, mở ra nhiều hướng nghiên
cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thù với những đặc trưng riêng.
Mã hóa tuy không phải là một lĩnh vực mới mẻ, song để có thể hiểu thật kỹ, thật
sâu về nó cần phải có một q trình nghiên cứu lâu dài và chi tiết. Do vậy, mặc dù đã rất
cố gắng nhưng những nội dung em trình bày trong đồ án này chắc hẳn vẫn khơng tránh
khỏi những thiếu sót. Em rất mong sự quan tâm chỉ bảo của thầy cô giáo và sự góp ý
của các bạn.
Em xin gửi lời cảm ơn chân thành đến các thầy cô giáo trong Khoa Điện tử
viễn thông trường Đại học Bách Khoa Hà Nội. Đặc biệt, em xin chân thành cảm ơn
TS. Nguyễn Thúy Anh, TS. Nguyễn Hữu Trung đã hướng dẫn, chỉ bảo và tận
tình giúp đỡ cho em hồn thành đồ án này.

9


CHƯƠNG I: TỔNG QUAN VỀ MẬT MÃ HỌC
Nội dung của chương I giới thiệu tổng quan các khái niệm cơ bản về mật mã học, một
số ứng dụng của mật mã trong thực tế, các dịch vụ an toàn cơ bản mà mật mã đảm bảo.
Trong chương này cũng giới thiệu một số kiến thức toán học phụ trợ cho việc nghiên cứu
về mật mã, đồng thời giới thiệu sơ lược về hệ thống mã hóa, hệ thống mã hóa quy ước, hệ
thống mã hóa khóa cơng cộng và sự kết hợp mã hóa quy ước và mã hóa khóa công cộng.

1.1.

Mật mã học:

Mật mã học là ngành khoa học ứng dụng tốn học vào việc biến đổi thơng
tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thơng tin cần mã
hóa. Đây là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội.
Ứng dụng của khoa học mật mã không chỉ đơn thuần là mã hóa và giải mã

thơng tin mà còn bao gồm nhiều vấn đề khác nhau cần được nghiên cứu và giải
quyết như chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), chứng
nhận tính xác thực về người sở hữu mã khóa (chứng nhận khóa cơng cộng), các
quy trình giúp trao đổi thơng tin và thực hiện giao dịch điện tử an toàn trên
mạng... Những kết quả nghiên cứu về mật mã cũng đã được đưa vào trong các hệ
thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng
của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ như hệ thống bỏ phiếu
bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị
với hướng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ multimedia trên
mạng với yêu cầu cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với
thông tin số...
Các ứng dụng của mật mã học và khoa học bảo vệ thông tin rất đa dạng và
phong phú; tùy vào tính đặc thù của mỗi hệ thống bảo vệ thơng tin mà ứng dụng
sẽ có các tính năng với đặc trưng riêng. Nhưng, nói một cách tổng quát, kỹ thuật
mật mã nhằm đảm bảo ba dịch vụ an tồn cơ bản sau:
 Tính bảo mật thơng tin: hệ thống đảm bảo thơng tin được giữ bí mật.
Thơng tin có thể bị phát hiện, ví dụ như trong q trình truyền nhận, nhưng người tấn
cơng khơng thể hiểu được nội dung thông tin bị đánh cắp này.
 Tính tồn vẹn thơng tin: hệ thống bảo đảm tính tồn vẹn thơng tin trong
liên lạc hoặc giúp phát hiện rằng thơng tin đã bị sửa đổi.
 Tính xác thực: Xác thực các đối tác trong liên lạc và xác thực nội dung
thông tin trong liên lạc.

10


Ngồi ra, kỹ thuật mật mã cịn đảm bảo chống lại sự thoái thác trách
nhiệm. Hệ thống đảm bảo một đối tác bất kỳ trong hệ thống không thể từ chối
trách nhiệm về hành động mà mình đã thực hiện.
Những kết quả nghiên cứu về mật mã cũng đã được đưa vào trong các hệ

thống phức tạp hơn, kết hợp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng
của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ như hệ thống bỏ phiếu
bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị
với hướng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ đa phương tiện trên
mạng với yêu cầu cung cấpdịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thơng
tin số...
1.2.

Một số kiến thức tốn học phụ trợ:

 Định nghĩa 1.1: Z m được định nghĩa là tập hợp{0,1, ..., m-1}, được trang bị
phép cộng (ký hiệu +) và phép nhân (ký hiệu là x). Phép cộng và phép nhân
trong Zm được thực hiện tương tự trong Z , ngoại trừ kết quả tính theo modulo
m.
Ví dụ: Giả sử ta cần tính giá trị 11x13 trong Z16. Trong Z, ta có kết quả của phép
nhân 11x13 = 143. Do 143 ≡ 15 (mod 16) nên 11x13 =15 trong Z16.
 Một số tính chất của Z m
1. Phép cộng đóng trong Z m , ∀a, b ∈ Zm, a + b ∈ Z m
2. Tính giao hốn của phép cộng trong Z m
∀a, b ∈Zm, a+b =b +a
3. Tính kết hợp của phép cộng trong Z m
∀a, b, c ∈ Z m , (a + b) + c =a + (b +c)
4. Z m có phần tử trung hịa là 0, ∀a, b ∈Zm, a +0 = 0 +a = a
5. Mọi phần tử a trong Z m đều có phần tử đối là m − a
6. Phép nhân đóng trong Z m , ∀a, b ∈Zm , a x b ∈Zm
7. Tính giao hốn của phép nhân trong Z m
∀a, b ∈ Zm , a x b = b x a
8. Tính kết hợp của phép nhân trong Z m

11



∀a, b, c ∈ Zm , (a x b) x c = a x (b x c)
9. Z m có phần tử đơn vị là 1, ∀a, b ∈ Zm , a x 1 = 1x a = a
10. Tính phân phối của phép nhân đối với phép cộng

∀ a, b, c ∈ Z m , (a +b) x c = a x c +b x c
 Các số nguyên Modulo m
 Nếu a và b là các số nguyên thì a được gọi là đồng dư với b theo modulo m
(ký hiệu a=b mod m) nếu m|(a-b)
m là ước của (a-b)
Số nguyên m được gọi là modulo đồng dư.
Phần dư của phép chia a và b được ký hiệu là a mod b= r
 Các tính chất: Với a, a1, b, b1, c ∈Z ta có:
• a ≡ b (mod m) nếu và chỉ nếu a và b cũng có phần dư khi chia cho m
• Tính phản xạ: a ≡ a (mod m)
• Tính đối xứng:
Nếu a ≡ b (mod m) thì b ≡ a (mod m)
• Tính bắc cầu: Nếu a ≡ b (mod m) và b ≡ c (mod m) thì a ≡ c (mod m)
• Nếu a ≡ a1 (mod m) và b ≡ b1 (mod m) thì a+b ≡ a1+b1 (mod m) và a.b ≡
a1.b1 (mod m)
Định thức của ma trận:
Định thức của ma trận vuông cấp n là tổng đại số của n! (n giai thừa) số
hạng, mỗi số hạng là tích của n phần tử lấy trên các hàng và các cột khác nhau của
ma trận A, mỗi tích được nhân với phần tử dấu là +1 hoặc -1 theo phép thế tạo bởi
các chỉ số hàng và chỉ số cột của các phần tử trong tích. Gọi Sn là nhóm các hốn vị
của n phần tử 1,2,...,n ta có:
(Cơng thức Leibniz)

Định thức của ma trận A = (ai,j) cấp 2x2 là giá trị:

det A = a1,1a2,2 – a1,2a2,1
Hai tính chất quan trọng của định thức là: det Im =1 và
det (AB) = detA x detB
Nếu det A=0 thì A khơng có ma trận nghịch đảo A-1.
Nếu det A ≠ 0 thì A có ma trận nghịch đảo A-1.
12


Cách tìm ma trận nghịch đảo của ma trận cỡ 2x2:
Giả sử A=(ai,j) là một ma trận cỡ 2x2 trên Zn sao cho: det A = a1,1a2,2 – a1,2a2,1 và ma
trận A là ma trận khả nghịch. Khi đó:
𝑎𝑎2,2 −𝑎𝑎1,2

A-1 = (detA)-1 �
−𝑎𝑎2,1 𝑎𝑎1,1
Ma trận nghịch đảo của ma trận mxm:
Giả sử A là ma trận cỡ mxm, với 1≤i≤m, 1≤j≤m.
A-1 =

𝑎𝑎11
� ⋮
det 𝐴𝐴
𝑎𝑎𝑎𝑎1
1





𝑎𝑎1𝑚𝑚

⋮ �
𝑎𝑎𝑎𝑎𝑎𝑎

Với aij = (-1)i+j .det(Mij) Trong đó: Mij là ma trận con được tạo thành bằng cách xóa
bỏ hàng thứ i và cột thứ j của ma trận A.
1.3. Hệ thống mật mã (Cryptosystem)
Định nghĩa 1.1 : Hệ thống mật mã (cryptosystem) là một bộ năm (P, C, K, E, D)
thỏa mãn các điều kiện sau:
1. Tập nguồn P là tập hữu hạn tất cả các mẩu tin nguồn cần mã hóa có thể có
2.
3.
4.
5.

Tập đích C là tập hữu hạn tất cả các mẩu tin có thể có sau khi mã hóa
Tập khóa K là tập hữu hạn các khóa có thể được sử dụng
E là tập luật mã hóa
D là tập luật giải mã.

Với mỗi khóa k ∈ K , tồn tại luật mã hóa ek∈ E và luật giải mã dk ∈ D tương
ứng. Luật mã hóa ek: P→ C và luật giải mã dk: C→ P là hai ánh xạ thỏa mãn:
dk (ek(x))=x, ∀x∈ P
Tính chất trên là một tính chất quan trọng trong một hệ thống mật mã. Nó đảm
bảo một mẩu tin x ∈ P được mã hóa bằng luật mã hóa ek ∈ E có thể được giải mã
chính xác bằng luật giải mã dk ∈ D.
1.4. Hệ thống mã hóa quy ước (Mã hóa đối xứng)
Trong hệ thống mã hóa quy ước, q trình mã hóa và giải mã một thơng điệp
sử dụng cùng một mã khóa gọi là khóa bí mật (secret key) hay khóa đối xứng
(symmetric key). Do đó, vấn đề bảo mật thơng tin đã mã hóa hồn tồn phụ thuộc vào
việc giữ bí mật nội dung của mã khóa đã được sử dụng.

Với tốc độ và khả năng xử lý ngày càng được nâng cao của các bộ vi xử lý

13


hiện nay, phương pháp mã hóa chuẩn (Data Encryption Standard – DES) đã trở nên
khơng an tồn trong bảo mật thơng tin. Do đó, Viện Tiêu chuẩn và Cơng nghệ
Quốc gia Hoa Kỳ (National Institute of Standards and Technology – NIST) đã
quyết định chọn một chuẩn mã hóa mới với độ an toàn cao nhằm phục vụ nhu cầu bảo
mật thơng tin liên lạc của chính phủ Hoa Kỳ cũng như trong các ứng dụng dân sự.
Thuật toán Rijndael do Vincent Rijmen và Joan Daeman đã được chính thức chọn
trở thành chuẩn mã hóa nâng cao (Advanced Encryption Standard - AES) từ 02
tháng 10 năm 2000.

1.5. Hệ thống mã hóa khóa cơng cộng (Mã hóa bất đối xứng).
Nếu như vấn đề khó khăn đặt ra đối với các phương pháp mã hóa quy ước
chính là bài tốn trao đổi mã khóa thì ngược lại, các phương pháp mã hóa khóa
cơng cộng giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn. Nội dung của
khóa cơng cộng (public key) khơng cần phải giữ bí mật như đối với khóa bí mật
trong các phương pháp mã hóa quy ước. Sử dụng khóa cơng cộng, chúng ta có thể
thiết lập một quy trình an tồn để truy đổi khóa bí mật được sử dụng trong hệ
thống mã hóa quy ước.
Trong những năm gần đây, các phương pháp mã hóa khóa cơng cộng, đặc
biệt là phương pháp RSA [45], được sử dụng ngày càng nhiều trong các ứng dụng
mã hóa trên thế giới và có thể xem như đây là phương pháp chuẩn được sử dụng
phổ biến nhất trên Internet, ứng dụng trong việc bảo mật thông tin liên lạc cũng
như trong lĩnh vực thương mại điện tử.
1.6. Kết hợp mã hóa quy ước và mã hóa khóa cơng cộng.
Các phương pháp mã hóa quy ước có ưu điểm xử lý rất nhanh và khả năng
bảo mật cao so với các phương pháp mã hóa khóa cơng cộng nhưng lại gặp phải

vấn đề khó khăn trong việc trao đổi mã khóa.
Ngược lại, các phương pháp mã hóa khóa cơng cộng tuy xử lý thông tin
ơchậm hn nhưng lại cho phép người sử dụng trao đổi mã khóa dễ dàng hơn.
Do đó, trong các ứng dụng thực tế, chúng ta cần phối hợp được ưu điểm của
mỗi phương pháp mã hóa để xây dựng hệ thống mã hóa và bảo mật thơng tin hiệu
quả và an toàn.

14


Kết luận: Mật mã học là ngành khoa học ứng dụng tốn học vào việc biến đổi
thơng tin thành một dạng khác với mục đích che dấu nội dung thơng tin cần mã hoá. Kỹ
thuật này nhằm đảm bảo 3 dịch vụ an tồn cơ bản là: tính bảo mật thơng tin, tính tồn vẹn
thơng tin và tính xác thực. Ngồi ra kỹ thuật mật mã cịn đảm bảo chống lại sự thối thác
trách nhiệm. Có hai hệ thống mã hoá cơ bản là hệ thống mã hoá quy ước và hệ thống mã
hố khố cơng cộng. Với phương pháp mã hố quy ước (mã hố đối xứng), q trình mã
hố và giải mã một thơng điệp sử dụng cùng một khố (gọi là khố bí mật). Hệ thống mã
hố khố cơng cộng (mã hố bất đối xứng) sử dụng khố cơng cộng, khơng cần phải giữ bí
mật khố như đối với khố bí mật.

15


CHƯƠNG II: MỘT SỐ PHƯƠNG PHÁP MÃ HÓA QUY ƯỚC
Trong chương I, chúng ta đã tìm hiểu tổng quan về mật mã học và các hệ thống mã
hóa. Nội dung của chương II sẽ giới thiệu chi tiết hơn về hệ thống mã hóa quy ước (hay
cịn gọi là hệ thống mã hóa đối xứng), các phương pháp mã hóa quy ước như: phương
pháp mã hóa dịch chuyển, phương pháp mã hóa thay thế, phương pháp mật mã Vigenère,
phương pháp mật mã hoán vị, phương pháp mật mã Hill, phương pháp mật mã Affine, các
hệ mã tích, các hệ mã dịng, các phương pháp mã hóa theo khối được sử dụng phổ biến

trong những thập niên gần đây như DES, AES.

2.1. Hệ thống mã hóa quy ước
Trong hệ thống mã hóa quy ước, thơng điệp nguồn được mã hóa với mã
khóa k được thống nhất trước giữa người gửi A và người nhận B. Người A sẽ sử
dụng mã khóa k để mã hóa thơng điệp x thành thơng điệp y và gửi y cho người
B; người B sẽ sử dụng mã khóa k để giải mã thơng điệp y này.
Vấn đề an tồn bảo mật thơng tin được mã hóa phụ thuộc vào việc giữ bí
mật nội dung mã khóa k. Nếu người C biết được mã khóa k thì C có thể “mở khóa”
thơng điệp đã được mã hóa mà người A gửi cho người B.

Hình 2.1. Mơ hình hệ thống mã hóa quy ước
2.2. Mật mã thay thế
2.2.1.Phương pháp mã hóa dịch chuyển (Mật mã dịch vịng).
Phương pháp mã hóa dịch chuyển là một trong những phương pháp lâu đời
nhất được sử dụng để mã hóa. Thơng điệp được mã hóa bằng cách dịch chuyển xoay
vịng từng ký tự đi k vị trí trong bảng chữ cái.
16


Thuật tốn 2.2.1. Phương pháp mã hóa dịch chuyển
Cho P = C = K = Zn
Với mỗi khóa k ∈ K , định nghĩa:
ek ( x) = ( x +k ) mod n và d k ( y) = ( y - k ) mod n với x, y ∈Zn
E = {ek , k ∈ K} và D = {d k , k ∈ K }
Ví dụ: Để mã hóa một thông điệp được biểu diễn bằng các chữ cái từ A đến Z (26
chữ cái), ta sử dụng P = C = K =Z26 . Khi đó, thơng điệp được mã hóa sẽ khơng an tồn
và có thể dễ dàng bị giải mã bằng cách thử lần lượt 26 giá trị khóa k ∈ K . Tính trung
bình, thơng điệp đã được mã hóa có thể bị giải mã sau khoảng n / 2 lần thử khóa k ∈ K .
Cụ thể, ta sử dụng mã dịch vòng (với modulo 26) để mã hóa thơng điệp trên 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:

Ký tự A

tương 0
ứng

B
1

C

D

E

F

G

H

2

3

4

5


6

Ký tự N

O

P


tương 13
ứng

14

15

Q
16

I

J

K

L

M

7


8

9

10

11

12

W

X

Y

Z

23

24

25

R

S

T


U

V

17

18

19

20

21

22

Giả sử chọn khóa dịch vịng là k=5 và thơng tin cần mã hóa (bản rõ) là
meetmeat. Trước tiên ta biến đổi bản rõ thành dãy các số nguyên theo bảng trên:
12.4.4.19.12.4.0.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ố: 17.9.9.24.17.9.5.24
Cuối cùng ta biến đổi dãy số nguyên trên thành các ký tự tươngứng, ta có
bản mã: RJJYRJFY
Để giải mã cho bản này, ta lần lượt thực hiện các thao tác: biến bản mã
thành dãy số nguyên rồi trừ các giá trị cho 5 (rút gọn theo modulo 26), cuối cùng là
biến đổi lại dãy số nhận được này thành các ký tự.
Trong trường hợp đặc biệt , k = 3 , phương pháp mã hóa bằng dịch chuyển
17



được gọi là phương pháp mã hóa Caesar.
Mã hóa dịch chuyển là một phương pháp mã hóa đơn giản, thao tác xử lý mã
hóa và giải mã được thực hiện nhanh chóng. Tuy nhiên, trên thực tế, phương pháp
này có thể dễ dàng bị phá vỡ bằng cách tìm khóa vét cạn (thử mọi khả năng khóa k
∈K). Điều này hồn tồn có thể thực hiện được do khơng gian khóa K chỉ có n phần
tử để chọn lựa.
Vậy điều kiện cần để có một hệ mật an tồn là phép tìm khóa vét cạn phải
khơng thể thực hiện được. Tuy nhiên, một khơng gian khóa lớn vẫn chưa đủ để đảm
bảo độ mật của thông tin.
2.2.2. Phương pháp mã hóa thay thế.
Phương pháp mã hóa thay thế (Substitution Cipher) là một trong những
phương pháp mã hóa nổi tiếng và đã được sử dụng từ hàng trăm năm nay. Phương
pháp này thực hiện việc mã hóa thơng điệp bằng cách hoán vị các phần tử trong
bảng chữ cái. Tổng quát là hoán vị các phần tử trong tập nguồn P.
Thuật tốn 2.2.2. Phương pháp mã hóa bằng thay thế
Cho P = C = Zn
K là tập hợp tất cả các hoán vị của n phần tử 0,1, ..., n -1 .
Như vậy, mỗi khóa π ∈ K là một hốn vị của n phần tử 0,1, ..., n - 1 .
Với mỗi khóa π ∈ K , định nghĩa:
eπ (x) = π(x) và dπ(y) = π-1(y) với x,y ∈ Zn.
Trong đó, π-1 là hốn vị ngược của π
E = {eπ , π ∈ K} và D ={Dπ , π ∈ K }
Ví dụ: sử dụng phép hốn vị ngẫu nhiên π tạo nên một hàm mã hóa, các ký tự của
bản rõ được viết bằng chữ thường, các ký tự của bản mã hóa được viết bằng chữ in
hoa.
Ký tự bản rõ

a


b

c

d

e

f

g

h

i

j

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

Ký tự bản mã


S

F

L R

C

V

M U

E

K

J

D I

18

k

l m
z


Như vậ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ứ 2 (Ký tự bản mã) lên trước rồi sắp xếp theo thứ tự chữ cái. Ta có:

Mỗi khóa của mã thay thế là một hốn vị của 26 ký tự. Số các hoán vị này là 26!
>4.1026. Đây là một số rất lớn nên khó có thể tìm được khóa bằng phép tìm khóa vét
cạn.
Đây là một phương pháp đơn giản, thao tác mã hóa và giải mã được thực
hiện nhanh chóng. Phương pháp này khắc phục điểm hạn chế của phương pháp
mã hóa bằng dịch chuyển là có khơng gian khóa K nhỏ nên dễ dàng bị giải mã
bằng cách thử nghiệm lần lượt n giá trị khóa k ∈K .
Trong phương pháp mã hóa thay thế có khơng gian khóa K rất lớn với n!
phần tử nên không thể bị giải mã bằng cách “vét cạn” mọi trường hợp khóa k.
Tuy nhiên, trên thực tế thơng điệp được mã hóa bằng phương pháp này vẫn có
thể bị giải mã nếu như có thể thiết lập được bảng tần số xuất hiện của các ký tự
trong thông điệp (phương pháp thống kê) hay nắm được một số từ, ngữ trong
thông điệp nguồn ban đầu.
2.2.3. Phương pháp mật mã Vigenère
Trong hai phương pháp mã hóa bằng dịch chuyển (mã dịch vịng) và phương
pháp mã hóa thay thế, ứng với một khóa k được chọn, mỗi phần tử x∈ P được ánh
xạ duy nhất vào một phần tử y ∈ C. Nói cách k ∈ K , một song ánh được thiết lập
từ P vào C. Vì vậy các hệ trên cịn được gọi là các hệ thay thế đơn biểu.
Khác với hướng tiếp cận này, phương pháp Vigenere sử dụng một từ khóa có
độ dài m. Có thể xem như phương pháp mã hóa Vigenere Cipher bao gồm m phép

19


mã hóa bằng dịch chuyển được áp dụng luân phiên nhau theo chu kỳ. Hệ mật
Vigenère là một hệ thay thế đa biểu.
Thuật tốn 2.2.3. Phương pháp mã hóa Vigenere
Chọn số nguyên dương m. Địnhn nghĩa P = C = K = (Zn)m

Với mối khóa k={k1, k2, ..km}, ta định nghĩa:
ek (x1, x2, … xm} = (x1+k1) mod n, (x2+k2) mod n, …(xm+km) mod n
dk (y1, y2, … ym} = (y1- k1) mod n, (y2- k2) mod n, …(ym- km) mod n
với x, y ∈ (Zn)m.

Ví dụ: Mã hóa bản rõ meetmeat, từ khóa là CIPHER, m=6 theo phương pháp
Vigenère.
Ký tự

A

B

C

D

E

F

G

H

I

J

K


L

Mã tương ứng 0

1

2

3

4

5

6

7

8

9

10

11 12

Ký tự

O


P

Q

R

S

T

U

V

W X

N

Mã tương ứng 13 14 15 16 17 18 19 20 21 22 23

Y

M
Z

24 25

Từ khóa tương ứng với dãy số k=(2, 8, 15, 7, 4, 17)
Ta biến đổi 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 khóa theo modulo 26 như sau:
Bản rõ

12

4

4

19

12

4

0

19

Khóa

2

8

15

7

4


17

2

8

Bản mã

14

12

19

0

16

21

2

1

20


Dãy ký tự tương ứng với bản mã là OMTAQVCB
Để giải mã, ta có thể dùng cùng từ khóa nhưng thay vì thực hiện phép cộng,

ta trừ nó theo modulo n.
Khơng gian khóa K của phương pháp Vigenere Cipher có số phần tử là nm ,
lớn hơn hẳn phương pháp số lượng phần tử của khơng gian khóa K trong
phương pháp mã hóa bằng dịch chuyển. Thậm chí với m khá nhỏ, phương pháp
tìm kiếm vét cạn cũng yêu cầu thời gian khá lớn. Do đó, việc tìm ra mã khóa k
để giải mã thơng điệp đã được mã hóa sẽ khó khăn hơn đối với phương pháp mã
hóa bằng dịch chuyển.
2.3. Phương pháp mật mã hoán vị:
Các phương pháp mật mã thay thế nêu trên đều dựa trên ý tưởng chung:
thay thế mỗi ký tự trong thông điệp nguồn bằng một ký tự khác để tạo thành
thông điệp đã được mã hóa.
Ý tưởng chính của phương pháp mật mã hoán vị (Permutation Cipher) là
vẫn giữ nguyên các ký tự trong thông điệp nguồn (bản rõ) nhưng sẽ thay đổi vị trí
của chúng bằng cách sắp xếp lại các ký tự này. Nói cách khác thơng điệp nguồn
được mã hóa bằng cách sắp xếp lại các ký tự trong đó. Ở đây khơng có một phép
tốn đại số nào cần thực hiện khi mã hóa và giải mã.

21


Thuật tốn 2.3. Phương pháp mã hóa bằng hốn vị
n

Chọn số nguyên dương m. Định nghĩa:
P=C= (Zn)m
K là tập hợp các hốn vị có thể có của m phần tử 1, 2, ..., m
Với mỗi khóa π ∈ K tương ứng với một phép hốn vị nào đó. Ta định
nghĩa:
eπ( x1, x2 , ..., xm) = (x π(1) , x π(2) ,….., x π(m) )
Và dπ (y1, y2, …, ym) = ( yπ-1(1), yπ-1(2), …., yπ-1(m))

Trong đó, π-1 là phép hốn vị ngược của π.
Ví dụ: Giả sử m=6 và khóa là phép hốn vị sau:
Bản rõ

1

2

3

4

5

6

Bản mã

3

5

1

6

4

2


Bản mã

1

2

3

4

5

6

Bản rõ

3

6

1

5

2

4

Khi đó, phép hốn vị ngược sẽ là:


Giả sử ta có bản rõ: asecondclass
- Trước tiên, ta nhóm bản rõ thành các nhóm 6 ký tự:
asecon| dclass
- Sau đó, mỗi nhóm 6 chữ cái lại được sắp xếp lại theo phép hoán vị trên, ta
được bản mã: EOANCSLSDSAC.
Sử dụng phép hoán vị ngược π-1 trên dãy bản mã (sau khi đã nhóm lại theo các
nhóm 6 ký tự), ta sẽ nhận lại được bản rõ ban đầu.
2.4. Phương pháp mật mã Hill
Phương pháp mật mã Hill là một hệ mật thay thế đa biểu. Phương pháp Hill
được Lester S. Hill công bố năm 1929: Cho số nguyên dương m, đặt P=C=(Zn)m.
Mỗi phần tử x ∈ P là một bộ m thành phần, mỗi thành phần thuộc Zn.
Ý tưởng của phương pháp này là sử dụng m tổ hợp tuyến tính của m thành

22


phần trong mỗi phần tử x∈P để phát sinh ra m thành phần tạp thành phần tử y∈C.
Thuật toán 2.4. Phương pháp mã hóa Hill
Chọn số nguyên dương m. Định nghĩa:
P=C=(Zn)m và K là tập hợp các ma trận m x m khả nghịch
𝑘𝑘1,1
𝑘𝑘2,1
Với mỗi khóa k = �

𝑘𝑘𝑘𝑘, 1
Ta định nghĩa:

𝑘𝑘1,2 …
𝑘𝑘2,2 …



𝑘𝑘𝑘𝑘, 2 …

𝑘𝑘1,1
𝑘𝑘2,1
ek(x) = y = x.k = (x1, x2, …xm) �

𝑘𝑘𝑘𝑘, 1
với x = (x1, x2, … xm) ∈P

𝑘𝑘1, 𝑚𝑚
𝑘𝑘2, 𝑚𝑚
� k∈K

𝑘𝑘𝑘𝑘, 𝑚𝑚

𝑘𝑘1,2 …
𝑘𝑘2,2 …


𝑘𝑘𝑘𝑘, 2 …

𝑘𝑘1, 𝑚𝑚
𝑘𝑘2, 𝑚𝑚


𝑘𝑘𝑘𝑘, 𝑚𝑚

dk(y) = y.k-1 với y∈C
Mọi phép toán số học đều được thực hiện trên Zn.


Ví dụ: Nếu m=2, ta có thể viết một phần tử của bản rõ là x = (x1, x2) và một
phần tử của bản mã là y = (y1, y2). Ở đây, y1 cũng như y2 đều là một tổ hợp tuyến
tính của x1 và x2. Chẳng hạn, có thể lấy y1=a.x1 + b.x2
y2 = c.x1 + d.x2
hoặc có thể viết:
𝑎𝑎 𝑐𝑐

(y1, y2) = (x1, x2) �
𝑏𝑏 𝑑𝑑
Tóm lại, trong phương pháp này, ta có thể lấy một ma trận k kích thước m x
m làm khóa , với ki,j là ký hiệu của phần tử ở hàng thứ i và cột thứ j của k.
Ta thấy rằng: bản mã nhận được từ bản rõ nhờ phép biến đổi tuyến tính. Do
đó, để giải mã, ta phải dùng ma trận nghịch đảo k-1. Bản mã được giải mã bằng công
thức: x=y.k-1
Gọi Im là ký hiệu của ma trận đơn vị m x m, là ma trận có các số 1 nẳm trên
đường chéo chính và các số 0 ở những vị trí cịn lại.
23


1
0
Im = �

0

0
1

0







0
0


1

Im được gọi là ma trận đơn vị vì A.Im = A với A là ma trận cấp lxm và ImB =
B với B là ma trận cấp mxn.
Ma trận nghịch đảo của ma trận A cấp mxm (nếu tồn tại) là ma trận A-1 sao
cho A.A-1=Im. Nếu ma trận có nghịch đảo thì đó là ma trận nghịch đảo duy nhất.
Công thức giải mã được xây dựng trên cơ sở: y=x.k
Do đó: y.k-1 =(x.k)k-1 = x.(k.k-1) = x.Im =x
Chú ý:
Mọi phép toán số học đều được thực hiện theo modulo n.
Ví dụ:
11 8
�, cần mã hóa bản rõ “July”.
Giả sử khóa k = �
3 7
Ký tự bản rõ
a b c d e f g h i

j


k

l

m

10 11 12

Ký tự bản mã

0

1

2

3

4

5

6

7

8

9


Ký tự bản rõ

n

o

p

q

r

s

t

u

v

w x

Ký tự bản mã

13 14 15 16 17 18 19 20 21 22 23 24 25

y

z


Ta có, hai phần tử của bản rõ để mã hóa là (9,20) ứng với “Ju” và (11,24) ứng với
“ly”.Ta lần lượt tính:
11 8
� = (3,4) ứng với DE
(9,20) �
3 7
11 8
� = (11,22) ứng với LW
(11,24) �
3 7
Vậy bản mã của “July” là DELW. Để giải mã, ta tính:
7 18

k-1 = �
23 11
7 18
� = (9,20) ứ𝑛𝑛𝑛𝑛 𝑣𝑣ớ𝑖𝑖 "𝐽𝐽𝐽𝐽"
(3,4) �
23 11
7 18
� = (11,24) ứng với “ly”
(11,22) �
23 11
Vậy ta tìm được bản rõ đúng là “July”

24


×