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

Ứng dụng hệ mật mã khóa công khai trong quản lý đề thi

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 (2.47 MB, 75 trang )

-i-

..

Đại học thái nguyên

Tr-ờng đại học công nghệ thông tin và truyền thông

Hoàng Văn Quyến

NG DNG H MT M KHểA CễNG KHAI
TRONG QUN Lí THI

Luận văn thạc sỹ khoa häc

Thái Nguyên - 2012

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-ii-

MỤC LỤC
MỞ ĐẦU ..............................................................................................................1
Chương 1 TỔNG QUAN HỆ MẬT MÃ KHĨA CƠNG KHAI .........................4
1.1. Khái niệm về hệ mật mã...............................................................................4
1.1.1. Khái niệm chung về mật mã và hệ mật mã ...........................................4
1.1.2. Phân loại các hệ mật mã .......................................................................6
1.2. Lý thuyết độ phức tạp .................................................................................10


1.2.1. Khái niệm độ phức tạp của thuật tốn ................................................10
1.2.2. Các bài tốn khó tính tốn và ứng dụng trong mật mã học ................12
1.3. Hệ mật mã khóa cơng khai ..........................................................................13
1.3.1. Các quan điểm cơ bản của hệ mật mã khố cơng khai ........................13
1.3.3. Hoạt động của hệ mật mã khóa cơng khai ...........................................14
1.3.4. Các u cầu của hệ mật mã khóa cơng khai ........................................14
1.4. Độ an toàn của hệ mật mã ...........................................................................15
1.2. Chữ ký số ....................................................................................................16
1.2.1. Giới thiệu về chữ ký số ........................................................................16
1.2.2. Quá trình ký và xác thực chữ ký ..........................................................17
Chương 2 MỘT SỐ THUẬT TỐN PHÂN PHỐI VÀ QUẢN LÝ KHĨA
CƠNG KHAI .....................................................................................................22
2.1. Hệ mật mã khóa cơng khai RSA .................................................................22
2.1.1. Cơ sở tốn học của hệ mật mã RSA ....................................................22
2.1.2. Mô tả hệ mật mã RSA .........................................................................24
2.1.3. Q trình tạo khố, mã hố và giải mã ................................................24
2.1.4. Tính đúng của q trình giải mã ..........................................................26
2.1.5. Chi phí thực hiện trong q trình mã hóa và giải mã ..........................28
2.1.6. Đánh giá độ mật của hệ mật mã khóa cơng khai RSA ......................28
2.1.7. Phân tích cơ chế hoạt động của hệ mã RSA ........................................29
2.1.8. Khả năng bị bẻ khóa của hệ mã cơng khai RSA .................................30
2.2. Hệ mật mã khóa cơng khai ElGamal ..........................................................33
2.2.1. Bài tốn logarit rời rạc .........................................................................34
2.2.2.Mơ tả hệ mật mã ElGamal ....................................................................34
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-iii-


2.2.3. Tính đúng của q trình giải mã ..........................................................36
2.2.4. Đánh giá độ an toàn và khả năng ứng dụng của hệ mật mã khóa cơng
khai ElGamal. ................................................................................................36
2.3. Hệ mật mã khóa cơng khai Rabin ...............................................................37
2.3.1. Sơ đồ hệ mã khóa Rabin ......................................................................37
2.3.2. Tính an tồn của hệ mã hố Rabin.......................................................40
2.3.3. Sử dụng dư thừa dữ liệu.......................................................................41
2.3.4. Tính hiệu quả .......................................................................................42
2.4. Hệ mã hóa AES ...........................................................................................43
2.4.1. Q trình phát triển ..............................................................................43
2.4.2. Mơ tả thuật tốn ...................................................................................44
2.4.3. Mơ tả mức cao của thuật tốn ..............................................................45
2.4.4. Tối ưu hóa ............................................................................................47
2.4.5. An tồn .................................................................................................47
2.4.5. Tấn công kênh bên (Side channel attacks) ..........................................48
Chương 3 XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM ...................................50
3.1. Bài toán quản lý đề thi trong hệ thống các trường phổ thông .....................50
3.2. Áp dụng hệ mật mã khóa cơng khai cho quản lý đề thi trong các trường phổ
thông ...................................................................................................................52
3.2.1. Mô tả hệ thống. ....................................................................................52
3.2.2. Chức năng và giao diện chính của chương trình .................................54
3.2.3. Các bước thực hiện chương trình ........................................................56
3.2.5. Mã chương trình ..................................................................................64
Đánh giá kết quả thử nghiệm chương 3 .........................................................64
KẾT LUẬN ........................................................................................................65
TÀI LIỆU THAM KHẢO ..................................................................................66

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-iv-

LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn tới trường Đại học CNTT & TT, Viện CNTT Việt Nam,
nơi các thầy cơ đã tận tình truyền đạt các kiến thức q báu cho tơi trong suốt q
trình học tập. Xin cảm ơn Ban Giám Hiệu nhà trường và các cán bộ đã tạo điều kiện
tốt nhất cho chúng tôi học tập và hồn thành đề tài tốt nghiệp của mình. Đặc biệt,
tôi xin gửi tới TS Bùi Văn Thanh, thầy đã tận tình chỉ bảo tơi trong suốt q trình
thực hiện đề tài lời cảm ơn và biết ơn sâu sắc nhất. Bên cạnh những kiến thức khoa
học, thầy đã giúp tôi nhận ra những bài học về phong cách học tập, làm việc và
những kinh nghiệm sống quý báu. Tơi xin bày tỏ lịng biết ơn tới gia đình, bạn bè,
đồng nghiệp và những người thân đã động viên khích lệ tinh thần và giúp đỡ để tơi
hồn thành luận văn này.
Thái Nguyên, ngày 10 tháng 10 năm 2012

Hoàng Văn Quyến

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-v-

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

STT


Ký hiệu/ Chữ viết tắt

Viết đầy đủ

1

RSA

Rivest - Shamir - Adleman

2

DES

Data Encryption Standard

3

AES

Advanced Encryption Standard

4

NIST

National Institute of Standards and Technology

5


FIPF

Farm Innovation and Promotion Fund

6

NSA

National Security Agency

7

THPT

Trung học phổ thơng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-vi-

LỜI CAM ĐOAN
Tơi xin cam đoan, tồn bộ nội dung liên quan tới đề tài được trình bày trong
luận văn là bản thân tơi tự tìm hiểu và nghiên cứu, dưới sự hướng dẫn khoa học của
TS Bùi Văn Thanh.
Các tài liệu, số liệu tham khảo được trích dẫn đầy đủ nguồn gốc. Tôi xin chịu
trách nhiệm trước pháp luật lời cam đoan của mình.

Học viên thực hiện

Hồng Văn Quyến

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-vii-

DANH MỤC CÁC BẢNG
Trang
Bảng 1.1: Bảng chi phí thời gian phân tích số nguyên n ra thừa số nguyên tố….12
Bảng 2.1: Tóm tắt các bước tạo khố, mã hố, giải mã của Hệ RSA…………....20
Bảng 2.2: Bảng chi phí thời gian cần thiết để phân tích các số ngun N……....24

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-viii-

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Trang
Hình 1.1: Sơ đồ hoạt động chung của hệ mật mã .................................................. 5
Hình 1.2: Sơ đồ hoạt động của mã hóa khóa đối xứng .......................................... 6
Hình 1.3. Sơ đồ hoạt động của mã hóa khóa khơng đối xứng ............................... 9
Hình 1.4 Lược đồ ký ........................................................................................... 18

Hình 1.5. Lược đồ xác thực ................................................................................. 20
Hình 2.1: Đồ thị so sánh chi phí tấn cơng khóa bí mật và khóa cơng khai. ........ 33
Hình 2.4: Bước SubBytes, một trong 4 bước của 1 chu trình .............................. 43
Hình 2.5: Mơ tả thuật tốn AES........................................................................... 44
Hình 2.6: Bước SubBytes .................................................................................... 44
Hình 2.7: Bước ShiftRows ................................................................................... 45
Hình.3.9: Sơ đồ bài toán quản lý đề thi của các trường THPT ............................ 51
Hình 3.10: Sơ đồ quy trình tổng quan hệ thống ................................................... 52
Hình 3.11: Sơ đồ quy trình tạo khóa RSA ........................................................... 53
Hình 3.12: Sơ đồ quy trình mã hóa văn bản bằng thuật tốn AES ..................... 53
Hình 3.13: Sơ đồ quy trình mã hóa khóa theo thuật tốn RSA ........................... 53
Hình 3.14: Sơ đồ quy trình giải mã khóa theo thuật tốn RSA .......................... 54
Hình 3.15: Giao diện chính của chương trình ..................................................... 54
Hình 3.16: Giao diện tạo khóa RSA ................................................................... 54
Hình 3.17: Mã hóa văn bản bằng AES ................................................................ 55
Hình 3.18: Mã hóa khóa bằng RSA ..................................................................... 56
Hình 3.19: Giải mã khóa bằng RSA .................................................................... 56
Hình 3.20: Tạo khóa RSA tùy chọn ..................................................................... 56
Hình 3.21:Tạo khóa RSA tự động ....................................................................... 57
Hình 3.22:Lưu khóa RSA tự động thành tệp ....................................................... 57
Hình 3.23: Mã hóa nội dung văn bản ................................................................... 57
Hình 3.24: Mở tệp văn bản cần mã hóa ............................................................... 58
Hình 3.25: Thơng báo mã hóa thành cơng. .......................................................... 58
Hình 3.26: Xem nội dung tệp được mã hóa ......................................................... 58
Hình 3.27: Mã hóa tệp *.* ................................................................................... 58
Hình 3.28: Chọn File cần mã hóa ........................................................................ 59
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-ix-

Hình 3.29: Thơng báo kết quả mã hóa ................................................................. 59
Hình 3.30: Xem kết quả file đã mã hóa ............................................................... 59
Hình 3.31: Giải mã nội dung văn bản .................................................................. 60
Hình 3.32: Chọn File cần giải mã ........................................................................ 60
Hình 3.33: Thơng báo kết quả giải mã ................................................................. 60
Hình 3.234: Xem nội dung tệp vừa giải mã ......................................................... 60
Hình 3.35: Giải mã File được mã hóa .................................................................. 61
Hình 3.36: Mở tệp cần giải mã ............................................................................ 61
Hình 3.37: Thơng báo kết quả giải mã ................................................................. 61
Hình 3.38: Xem nội dung tệp vừa giải mã ........................................................... 62
Hình 3.39: Mã hóa khóa RSA .............................................................................. 62
Hình 3.40: Chọn File khóa cần mã hóa................................................................ 62
Hình 3.41: Kết quả mã hóa khóa ......................................................................... 63
Hình 3.42: Giải mã khóa RSA ............................................................................. 63
Hình 3.43: Mở tệp giải mã khóa RSA ................................................................. 63
Hình 3.44: Kết quả giải mã khóa RSA ................................................................ 64

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-1-

MỞ ĐẦU
Thế kỷ XXI là thế kỷ công nghệ thông tin. Công nghệ thông tin đã và đang
tác động trực tiếp đến mọi mặt hoạt động kinh tế xã hội trên thế giới. Thơng tin có

vai trị hết sức quan trọng, vì vậy cần phải đảm bảo để thơng tin không bị sai lệch,
không bị thay đổi, hay bị lộ trong quá trình truyền từ nơi gửi đến nơi nhận. Với sự
phát triển rất nhanh của công nghệ mạng máy tính, đặc biệt là mạng Internet, khối
lượng thơng tin ngày càng được truyền nhận nhiều hơn.
Vấn đề khó khăn đặt ra là làm sao giữ được tính bảo mật của thông tin, thông
tin đến đúng được địa chỉ cần đến và khơng bị sửa đổi. Hậu quả sẽ khó lường nếu
như thư được gửi cho một người nhưng lại bị một người khác xem trộm và sửa đổi
nội dung bức thư trái với chủ ý của người gửi. Tệ hại hơn nữa là khi một hợp đồng
được ký, gửi thông qua mạng và bị kẻ xấu sửa đổi những điều khoản trong đó.
Người gửi thư bị hiểu nhầm vì nội dung bức thư bị thay đổi, còn hợp đồng bị phá vỡ
bởi những điều khoản đã khơng cịn như ban đầu. Điều này gây ra những mất mát
cả về mặt tài chính và quan hệ, tình cảm, v.v... và cịn có thể nêu ra rất nhiều tình
huống tương tự. Mã hố thơng tin là một trong các phương pháp có thể đảm bảo
được tính bảo mật của thơng tin. Mã hố, trong một mức độ nhất định, có thể giải
quyết các vấn trên; một khi thông tin đã được mã hố, kẻ xấu rất khó hoặc khơng
thể giải mã để có được nội dung thơng tin ban đầu.
Khi mã hóa, thơng tin được biến đổi (được mã hóa) bằng thuật tốn mã hóa
thơng qua việc sử dụng “khóa”. Chỉ có người dùng có cùng “khóa” mới phục hồi lại
được thơng tin ban đầu (giải mã). Do vậy “khóa” cần được bảo vệ nghiêm ngặt và
được truyền từ người gửi đến người nhận trên một kênh an toàn riêng sao cho người
thứ ba khơng thể biết được khóa. Phương pháp này được gọi là mã hóa bằng khóa
riêng hoặc mật mã khóa đối xứng. Có một số chuẩn thuật tốn khóa đối xứng, ví dụ
như DES, AES, v.v… Người ta đã chứng minh được khả năng bảo mật cao của các
thuật tốn đối xứng chuẩn nói trên và chúng đã được kiểm định qua thời gian. Tuy
nhiên, vấn đề nảy sinh với các thuật toán đối xứng là việc trao đổi khóa. Các bên
tham gia giao tiếp địi hỏi được chia sẻ một bí mật là “khóa”, “khóa” cần được trao
đổi giữa họ qua một kênh thơng tin an tồn. An tồn của thuật tốn khóa đối xứng
phụ thuộc vào độ mật của khố. Khóa thường có độ dài hàng trăm bit, tùy thuộc vào
thuật tốn được sử dụng. Vì thơng tin có thể trung chuyển qua các điểm trung gian
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-2-

nên khơng thể trao đổi khóa một cách trực tuyến và an toàn. Trong một mạng rộng
kết nối hàng trăm hệ thống, việc trao đổi khóa trở thành quá khó khăn và thậm chí
khơng thực tế.
Cho đến cuối những năm 1970, tất cả các q trình truyền thơng tin bảo mật
đều sử dụng hệ mật mã đối xứng. Điều này có nghĩa rằng một ai đó có đủ thơng tin
(khóa) để mã hóa thơng tin thì cũng có thơng tin đủ để giải mã. Năm 1976 Diffe và
Hellman [5], [6] đã nêu định hướng phát triển mới cho các hệ thống mật mã bằng
việc phát minh hệ mật mã khóa cơng khai. Ý tưởng chính là sử dụng hàm một chiều
(one-way function) để mã hóa. Các hàm sử dụng để mã hóa thuộc một lớp các hàm
một chiều đặc biệt, chúng là một chiều nếu một số thông tin nhất định (khóa để giải
mã) được giữ bí mật. Nói một cách hình thức, hàm mã hóa khóa cơng khai là một
hàm ánh xạ các dãy tin (bản rõ) thành các dãy được mật mã hóa; bất cứ ai có khóa
cơng khai đều có thể thực hiện việc mã hóa này. Tuy nhiên việc tính tốn hàm
nghịch đảo (hàm để giải mã thơng tin được mã hóa thành các dãy tin ban đầu - bản
rõ) không thể thực hiện được trong một khoảng thời gian hợp lý mà không cần thêm
một số thơng tin bổ sung, gọi là khóa riêng. Điều này có nghĩa rằng mọi người có
thể gửi thơng tin đến một người nào đó bằng cách sử dụng cùng một khóa để mã
hóa bằng cách đơn giản là lấy khóa này tại một vị trí cơng khai. Người gửi khơng
cần phải thực hiện bất kỳ thỏa thuận bí mật với người nhận; người nhận khơng cần
có bất kỳ liên hệ trước nào với người gửi. Vì vậy có thể trao đổi thông tin một cách
bảo mật bằng cách sử dụng thuật tốn khóa cơng khai mà khơng cần trao đổi khóa
một cách bí mật.
Trong hệ mật mã khóa cơng khai mỗi người dùng hoặc thiết bị tham gia vào
quá trình gửi nhận thơng tin có một cặp khóa, một khóa cơng khai và một khóa

riêng, cùng với các quy tắc sử dụng khóa để thực hiện các hoạt động bảo mật dữ
liệu. Chỉ người dùng hoặc thiết bị biết khóa riêng của mình, cịn khóa cơng khai
được phân phối đến tất cả người dùnghoặc thiết bị khác tham gia vào hệ thống. Vì
việc biết khố cơng khai khơng ảnh hưởng tới sự an tồn của các thuật tốn, có thể
dễ dàng trao đổi khố cơng khai trực tuyến.
Thơng tin cần bảo mật có thể được trao đổi trực tuyến bằng cách trao đổi
thơng tin đã mã hóa và khóa cơng khai. Những người chỉ có quyền truy cập vào các
thơng tin trao đổi cơng khai sẽ khơng thể tính tốn để giải mã thơng tin, trừ khi họ
có quyền truy cập và biết khóa riêng của của các bên giao tiếp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-3-

Các hệ mật mã khóa đối xứng đã được sử dụng từ khá lâu. Sự phát triển
tương đối muộn của các hệ mật mã khóa cơng khai xuất phát từ lý do là cho đến tận
những năm 1970 mật mã chỉ được sử dụng chủ yếu cho các mục đích quân sự và
ngoại giao và mật mã khóa đối xứng là thích hợp. Với việc mở rộng các ứng dụng
của CNTT trong đời sống và kinh tế, các nhu cầu mới về mật mã phát sinh. Không
giống như trong quân đội hay ngoại giao với phân cấp cứng nhắc và số người sử
dụng hạn chế, trong các ứng dụng kinh tế - xã hội, lượng dữ liệu được trao đổi lớn
gấp nhiều lần và số người sử dụng cũng tăng nhanh, lĩnh vực ứng dụng cũng phong
phú hơn nhiều. Vì vậy trong những năm gần đây hệ mật mã khóa công khai đã được
tập trung nghiên cứu một cách mạnh mẽ trên thế giới và nhiều kết quả mới đã đạt
được cũng như được áp dụng để giải quyết các vấn đề thực tiễn trong nhiều
lĩnh vực.
Mục đích của luận văn là trình bày các kết quả tìm hiểu được về hệ mật mã

khóa cơng khai, các thuật tốn mã hóa và giải mã sử dụng trong các hệ mật mã khóa
cơng khai, đồng thời tìm hiểu khả năng ứng dụng hệ mật mã khóa cơng khai trong
quản lý đề thi trong các trường phổ thông.
Nội dung luận văn gồm 3 chương:
Chương I. TỔNG QUAN HỆ MẬT MÃ KHĨA CƠNG KHAI
Chương này trình bày các kiến thức tổng quan về các hệ mật mã nói chung
và hệ mật mã khóa cơng khai nói riêng, các u cầu về hệ mật mã khóa cơng khai
cũng như tính bảo mật của chúng.
Chương II. MỘT SỐ THUẬT TOÁN PHÂN PHỐI VÀ QUẢN LÝ KHĨA
Chương này đi sâu phân tích cơ chế hoạt động của một số hệ mật mã khóa
cơng khai đã được chấp nhận như các hệ chuẩn như RSA, ELGAMAL và RABIN.
Độ mật, hiệu suất thực hiện và ứng dụng của các hệ mật mã nói trên cũng được đề
cập và đánh giá.
Chương III. XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM
Chương này đề cập đến việc xây dựng ứng dụng thử nghiệm để giải quyết
vấn đề quản lý và bảo mật đề thi trong hệ thống các trường phổ thông dựa vào các
thuật tốn RSA và AES.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-4-

Chương 1
TỔNG QUAN HỆ MẬT MÃ KHĨA CƠNG KHAI
1.1. Khái niệm về hệ mật mã
1.1.1. Khái niệm chung về mật mã và hệ mật mã
Mật mã học là một lĩnh vực liên quan đến các kỹ thuật ngôn ngữ và tốn học

nhằm đảm bảo an tồn thơng tin. Về phương diện lịch sử, mật mã học gắn liền với
quá trình mã hóa; điều này có nghĩa là nó gắn với các cách thức để chuyển đổi
thông tin từ dạng này sang dạng khác nhưng ở đây là từ dạng thông thường có thể
nhận thức được thành dạng khơng thể nhận thức được, làm cho thông tin trở thành
dạng không thể đọc được nếu như khơng có các kiến thức bí mật. Q trình mã hố
được sử dụng chủ yếu để đảm bảo tính bí mật của các thơng tin quan trọng, chẳng
hạn trong cơng tác tình báo, qn sự hay ngoại giao cũng như các bí mật về kinh tế,
thương mại. Trong những năm gần đây, lĩnh vực hoạt động của mật mã hoá đã được
mở rộng; mật mã hoá hiện đại cung cấp nhiều ưng dụng hơn là chỉ duy nhất giữ bí
mật và có một loạt các ứng dụng như: chứng thực khố cơng khai, chữ ký số, bầu cử
điện tử hay tiền điện tử. Ngoài ra những người khơng có nhu cầu thiết yếu đặc biệt
về tính bảo mật cũng sử dụng các công nghệ mật mã hố, thơng thường được thiết
kế và tạo lập sẵn trong các cơ sở hạ tầng của cơng nghệ tính tốn và liên lạc
viễn thơng.
Mật mã học là một nghành có lịch sử từ hàng nghìn năm nay. Trong phần lớn
thời gian phát triển của mình (ngoại trừ vài thập kỉ trở lại đây), lịch sử mật mã học
chính là lịch sử của những phương pháp mật mã học cổ điển - các phương pháp mật
mã hoá với bút và giấy, đơi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản. Vào
đầu thế kỉ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn như máy
ENIGMA, đã cung cấp những những cơ chế mật mã hoá phức tạp và hiệu quả hơn.
Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính trong những thập
niên gần đây đã tạo điều kiện để mật mã học phát triển nhảy vọt lên một tầm
cao mới.
Cho trước:
 A là một tập hữu hạn các phần tử, được gọi là bảng chữ cái. Ví dụ A = {0,1}
(bảng chữ cái nhị phân). Lưu ý rằng một bảng chữ cái bất kỳ có thể được
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-5-

mã hóa vào bảng chữ cái nhị phân. Ví dụ, mỗi chữ của bảng chữ cái tiếng
Anh có thể được mã hóa như một dãy nhị phân chiều dài 5.
 P là tập hợp các dãy chữ cái (các xâu) lấy từ A. Mỗi phần tử của P được
gọi là bản rõ.
 C ký hiệu tập các dãy chữ cái lấy từ một bảng chữ cái nào đó, có thể trùng
hoặc khác bảng chữ cái A. C được gọi là tập hợp các bản mã, mỗi phần tử
của C được gọi là bản mã.
 K là tập hữu hạn các phần tử, mỗi phần tử được gọi là khóa. Bản thân K
được gọi là khơng gian khóa.
Định nghĩa 1.1 Một hệ mật mã là một bộ năm (P,C,K,E,D), trong đó P là
một tập các bản rõ, C là một tập các bản mã, K là khơng gian khố và E là tập các
song ánh {EK:PC)}, D là tập các song ánh {EK:CP)} thoả mãn các điều
kiện sau:
1. Với mỗi KK tồn tại duy nhất một song ánh EK E, EK:PC. EK được
gọi là quy tắc mã hóa tương ứng với khóa K.
2. Với mỗi KK tồn tại một một song ánh DKD, DK:CP. DK được gọi là
quy tắc giải mã tương ứng với khóa K.
3. Với mỗi KK tồn tại duy nhất một khóa kK sao cho Dk  EK1 , nghĩa là

Dk  EK  P    P với mọi bản rõ P P.
Để gửi bản rõ P, trước hết bản rõ P được mã hóa bằng EK để có bản mã C. Ở
nơi nhận C được giải mã bằng Dk và thu được bản rõ ban đầu P.
Các khóa K và k trong định nghĩa trên được gọi là cặp khóa và thường được
ký hiệu bằng (K; k). Lưu ý rằng có thể k  K .

Hình 1.1: Sơ đồ hoạt động chung của hệ mật mã
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-6-

Giả sử bản rõ là P  x1 , x2 , . . . , xn với số nguyên n  1 nào đó. Ở đây mỗi ký
hiệu của bản rõ xiA, 1  i  n. Mỗi xi sẽ được mã hố bằng quy tắc mã hóa EK với
khố K được xác định trước đó: yi = EK(xi), 1  i  n và bản mã nhận được
C  y1 , y2 , . . . , yn sẽ được gửi. Khi nhận được y1 , y2 , . . . , yn , ta sẽ giải mã bằng

hàm giải mã Dk và thu được bản rõ ban đầu x1 , x2 , . . . , xn .
Rõ ràng hàm mã hoá phải là hàm đơn ánh (tức là ánh xạ 1-1), nếu không việc
giải mã sẽ không thực hiện được một cách tường minh. Nếu P = C thì mỗi hàm mã
hố là một phép hốn vị. Nghĩa là nếu tập các bản mã và tập các bản rõ là đồng nhất
thì mỗi hàm mã hố sẽ là một sự sắp xếp lại (hay hoán vị) các phần tử của tập này.

1.1.2. Phân loại các hệ mật mã
1.1.2.1. Hệ thống mật mã đối xứng
a. Định nghĩa
Mã hóa đối xứng là phương pháp mã mà trong đó các khóa dùng cho việc mã
hóa (khố mã hố) và giải mã (khố giải mã) có quan hệ rõ ràng với nhau, nghĩa là
có thể dễ dàng tìm khóa này nếu biết khóa kia và ngược lại. Trong rất nhiều trường
hợp, khoá mã hoá và khoá giải mã là giống nhau.
Thuật tốn này cịn có nhiều tên gọi khác như thuật tốn khố bí mật, thuật
tốn khố đơn giản, thuật tốn một khoá. Sự mã hoá và giải mã của thuật toán đối
xứng được biểu thị bởi:
EK  P   C




DK  C   P

Ban đầu, bản rõ được người gửi A mã hóa với khóa K. Sau đó bản mã được
gửi tới người nhận B. Khi nhận được bản mã, người B sử dụng khóa K giải mã để
thu được bản rõ. Do đó, nếu một người khác có được khóa K thì hệ thống mã hóa
này sẽ bị tấn cơng (Hình 1.2).

Hình 1.2: Sơ đồ hoạt động của mã hóa khóa đối xứng

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-7-

Thuật toán này yêu cầu người gửi và người nhận phải thoả thuận thuật tốn
mã hóa và khóa dùng cho q trình mã hố và giải mã trước khi bản rõ được mã hóa
và được gửi đi, và khố này phải được cất giữ bí mật. Độ an tồn của thuật toán này
phụ thuộc vào khoá, nếu khoá bị lộ, bất kì người nào có khóa cũng có thể mã hoá và
giải mã. Việc trao đổi, thoả thuận về thuật tốn được sử dụng trong việc mã hố có
thể tiến hành một cách công khai, nhưng bước thoả thuận về khố trong việc mã
hố-giải mã và trao đổi khóa phải tiến hành bí mật và an tồn. Sau khi đã thỏa thuận
được thuật tốn mã hóa, thống nhất được khóa dùng để mã hóa và giải mã, bên gửi
sẽ mã hố bản rõ bằng cách sử dụng khố bí mật đã thống nhất và gửi bản mã cho
bên nhận. Sau khi nhận được bản mã, bên nhận sẽ sử dụng chính khố bí mật mà
hai bên đã thoả thuận để giải mã và khơi phục lại bản rõ.
Chúng ta có thể thấy rằng thuật toán mã hoá đối xứng sẽ rất có lợi khi được
áp dụng trong các cơ quan hay tổ chức đơn lẻ. Nhưng nếu cần phải trao đổi thơng

tin với một bên thứ ba thì việc đảm bảo tính bí mật của khố phải được đặt lên
hàng đầu.
Trong các mã hố cổ điển, ví dụ như phương pháp mã hóa Ceaser Cipher thì
khố chính là phép dịch ký tự, cụ thể là phép dịch 3 ký tự. Trong phương pháp mã
hố hốn vị thì khóa nằm ở số hàng hay số cột mà chúng ta qui định. Khố này có
thể được thay đổi tuỳ theo mục đích mã hố, nhưng nó phải nằm trong một phạm vi
cho phép nào đó.
Mã hố đối xứng có thể được phân thành hai loại:
Loại thứ nhất tác động trên bản rõ theo từng nhóm ký hiệu (chữ cái hoặc bit)
có độ dài (số các ký hiệu) bằng nhau. Từng nhóm này được gọi với một cái tên khác
là khối (block) và thuật tốn được áp dụng gọi là mã hóa khối (Block Cipher). Theo
đó, từng khối dữ liệu có cùng độ dài trong bản rõ ban đầu được thay thế bằng một
khối dữ liệu khác. Đối với các thuật toán ngày nay thì kích thước chung của một
khối là 64 bit.
Loại thứ hai mã hoá bản rõ theo từng bit. Các thuật tốn loại này được gọi là
mã hóa dịng (Stream Cipher). Các thuật tốn mã hố dịng này có tốc độ nhanh hơn
các thuật tốn mã hố khối và nó thường được áp dụng khi lượng dữ liệu cần mã
hoá chưa biết trước.
Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, Triple DES
(3DES), RC4, AES… DES là một thuật toán được sử dụng rộng rãi nhất trên thế
giới. Với thuật toán DES (Data Encryption Standard), bản rõ được mã hố theo từng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-8-

khối 64 bit và sử dụng một khố có độ dài 64 bit, nhưng thực tế thì chỉ có 56 bit là
thực sự được dùng để tạo khoá, 8 bit cịn lại dùng để kiểm tra tính chẵn, lẻ. Hiện tại

DES khơng cịn được đánh giá cao do kích thước của khoá quá nhỏ (56 bit), và dễ
dàng bị phá.
Triple DES (3DES) cải thiện độ mạnh của DES bằng quá trình mã hố và
giải mã sử dụng 3 khố. Khối 64-bits của bản rõ sẽ được mã hoá sử dụng khố thứ
nhất. Sau đó, dữ liệu bị mã hóa được giải mã bằng việc sử dụng một khoá thứ hai.
Cuối cùng, sử dụng khoá thứ ba để mã hoá kết quả của q trình trước đó:

 

C  EK3 DK2 EK1  P 

 

P  DK1 EK2 DK3  C 





AES (Advanced Encryption Standard): được sử dụng để thay thế cho DES.
Nó hỗ trợ độ dài của khố từ 128 bit cho đến 256 bit.
Nhận xét:
 Trong các giao dịch trên mạng, khóa K phải được truyền đi trên mơi
trường này, do đó nó có thể bị lấy cắp. Để an tồn, việc bảo mật cho khóa
K cần phải được chú trọng. Thường phải dùng thêm các cơ chế và giải
thuật khác trong việc quản lý, trao đổi khóa giữa các đối tượng.
 Không thể xác thực được nguồn gốc nội dung của bản rõ cũng như khơng
có tính chất không thể phủ nhận của chủ thể.
 Khi số lượng khóa bí mật tăng lên, việc quản lý các khóa này trở nên
phức tạp và khó khăn khi một người phải giữ nhiều khóa bí mật để giao

dịch với nhiều đối tượng khác nhau.
Những nhược điểm trên dẫn đến hệ mật mã khóa đối xứng khó có thể áp
dụng một cách rộng rãi.
b. Các vấn đề đối với phương pháp mã hóa đối xứng
Phương mã hóa đối xứng địi hỏi người mã hóa và người giải mã phải sử
dụng chung một khóa. Khi đó khóa phải được giữ bí mật tuyệt đối. Hệ mã hóa đối
xứng khơng an tồn nếu khóa bị lộ với xác suất cao. Trong hệ này, khóa phải được
gửi đi trên kênh an tồn. Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp
khi sử dụng hệ mã hóa đối xứng. Người gửi và nhận phải luôn thống nhất với nhau
về khóa. Việc thay đổi khóa là rất khó và dễ bị lộ. Khuynh hướng cung cấp khố dài

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-9-

và phải được thay đổi thường xuyên trong khi vẫn duy trì cả tính an tồn lẫn hiệu
quả chi phí sẽ cản trở rất nhiều tới việc áp dụng hệ mật mã này.

1.1.2.2. Hệ thống mật mã không đối xứng (mật mã khóa cơng khai)
a. Định nghĩa
Thuật tốn mã hóa cơng khai là thuật tốn được thiết kế sao cho khóa mã hóa
K khác so với khóa giải mã k và khóa giải mã khơng thể tính tốn được từ khóa mã
hóa. Khóa mã hóa K gọi là khóa cơng khai (public key), khóa giải mã k được gọi là
khóa riêng (private key).

Hình 1.3. Sơ đồ hoạt động của mã hóa khóa khơng đối xứng


Đặc trưng nổi bật của hệ mật mã cơng khai là có thể gửi cả khóa công khai
và bản mã trên một kênh thông tin không an tồn.
Với hệ mật mã khóa cơng khai, người A sử dụng khóa cơng khai K B do
người B tạo để mã hóa thơng điệp và gửi cho người B. Do biết được khóa riêng k B
nên người B có thể giải mã được thơng điệp đã được mã hóa. Trong trường hợp
người thứ ba có được bản mã, nếu chỉ kết hợp với thơng tin về khóa cơng khai K B
đã được cơng bố, cũng rất khó có khả năng giải mã được bản mã này trong khoảng
thời gian chấp nhận được do khơng biết được khóa riêng k B của B.
Khóa cơng khai K và khóa riêng k có quan hệ tốn học với nhau theo nghĩa
từ khóa riêng có thể tính tốn để suy ra được khóa cơng khai, nhưng để từ khóa
cơng khai suy ra khóa riêng sẽ rất phức tạp vì số lượng phép tính tốn là rất nhiều,
dẫn đến việc giải mã khơng khả thi trong khoảng thời gian hợp lý (nội dung thông
tin cịn có tác dụng) khi chiều dài của khóa đủ lớn.
Đây cũng là mấu chốt của vấn đề bảo mật và tấn cơng trong các hệ mã khóa
cơng khai. Đó cũng chính là vấn đề an tồn của hệ mã công khai. Nghiên cứu đưa ra
các giải pháp hỗ trợ làm tăng tính an tồn của các hệ mã này bằng cách cố gắng áp
dụng các thuật toán xử lý nhanh với số lớn. Từ đó có thể tăng chiều dài của khóa mà
vẫn đảm bảo yếu tố thời gian mã hóa và giải mã chấp nhận được.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-10-

b. Các điều kiện của một hệ mã hóa cơng khai
Việc tính tốn cặp khóa cơng khai K và bí mật k dựa trên các điều kiện ban
đầu phải thực hiện được trong khoảng thời gian hợp lý, nghĩa là thực hiện trong thời
gian đa thức.
Người gửi A có được khóa cơng khai KB của người nhận B và có bản rõ P

cần gửi đi có thể dễ dàng tạo ra được bản mã C bằng cách mã hóa

C  EKB ( P)  EB ( P)
Công việc này cũng được thực hiện trong thời gian đa thức .
Người nhận B khi nhận được bản tin đã mã hóa C, với khóa bí mật kB có thể
giải mã trong thời gian đa thức.

1.2. Lý thuyết độ phức tạp
1.2.1. Khái niệm độ phức tạp của thuật toán
Khi thực hiện cùng một thuật tốn trên nhiều máy tính với cấu hình khác
nhau ta sẽ thấy thời gian thực hiện thuật tốn có thể khác nhau. Do đó khơng thể lấy
thời gian thực hiện của thuật tốn trên một máy tính để đánh giá độ phức tạp của
thuật toán.
Độ phức tạp của một thuật tốn được tính bằng số các phép tính cơ sở (đọc,
ghi, phép so sánh, phép cộng,...) máy tính thực hiện khi tiến hành thực hiện thuật
tốn. Ngồi ra, số lượng phép tính cịn phụ thuộc vào kích cỡ dữ liệu đầu vào của
thuật toán. Như vậy, độ phức tạp của thuật toán phải là một hàm số theo độ lớn của
đầu vào. Việc xác định chính xác hàm này có thể rất phức tạp, tuy nhiên khi biết cỡ
của chúng thì ta có thể có được một ước lượng chấp nhận được.
Độ phức tạp của một thuật toán thường được đo bằng số các phép tính bit.
Phép tính bit là một phép tính logic hay số học thực hiện trên các số 0 và 1. Để ước
lượng độ phức tạp của thuật toán, ta dùng khái niệm bậc O-lớn.
Định nghĩa 1.2. Giả sử f ( n ) và g ( n) là hai hàm xác định trên tập hợp các
số nguyên dương. Ta nói f ( n ) có bậc O-lớn của g ( n) , và viết f (n)  O( g ( n))
hoặc f  O ( g ) , nếu tồn tại một hằng số C > 0 sao cho với n đủ lớn ta có

0  f ( n)  C .g ( n) .

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-11-

Định nghĩa 1.3. Một thuật tốn được gọi là có độ phức tạp đa thức, hoặc có
thời gian đa thức, nếu số các phép tính cần thiết khi thực hiện thuật tốn khơng vượt
q O(log k n) , trong đó n là độ lớn của đầu vào, và k là số nguyên dương nào đó.
Nói cách khác, nếu đầu vào là các số m-bit thì thời gian thực hiện thuật toán
là O(md ) , tức là tương đương với một đa thức của m.

 

Các thuật toán với thời gian O  n ,   1 , được gọi là các thuật toán với
độ phức tạp mũ, hoặc thời gian mũ.
Nếu một thuật tốn có độ phức tạp O ( g ) , thì cũng có thể nói nó có độ phức
tạp O ( h ) với mọi hàm h  g . Tuy nhiên, ta luôn luôn cố gắng tìm ước lượng tốt
nhất có thể được.
Tồn tại những thuật tốn có độ phức tạp trung gian giữa đa thức và mũ. Các
thuật tốn đó được gọi là thuật tốn dưới mũ.
Độ phức tạp khơng phải là tiêu chuẩn duy nhất để đánh giá thuật tốn. Có
những thuật tốn, về lý thuyết có độ phức tạp cao hơn một thuật toán khác, nhưng
khi sử dụng lại cho kết quả nhanh hơn.
Bảng dưới đây đưa ra các thông số về thời gian và số lượng phép toán trên
bit để thực hiện việc phân tích một số nguyên n ra thừa số nguyên tố áp dụng thuật
toán tốt nhất trên máy tính có tốc độ xử lý một triệu phép tính trên một giây:
Thuật tốn này có độ phức tạp dưới mũ: exp
Số chữ số thập phân n




log n log log n



Số phép tính trên bit

Thời gian

50

1,4.1010

3,9 giờ

75

9,0.1012

104 ngày

100

2,3.1015

74 năm

200

1,2.1023


3,8.109 năm

300

1,5.1029

4,9.1015 năm

500

1,3.1039

4,2.1025 năm

Bảng 1.1. Thời gian phân tích số nguyên n ra thừa số nguyên tố
Với một thuật toán dưới mũ, thời gian làm việc với các số nguyên lớn vẫn
không khả thi. Do đó, với các ứng dụng xử lý số lớn, ta thường phải cố gắng biến
đổi để thu được một thuật tốn có thời gian tính tốn đa thức. Ý tưởng này sẽ được

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-12-

áp dụng trong phần nghiên cứu của để tài để xử lý cho các phép toán số học với số
lớn trong các hệ mã hóa cơng khai.


1.2.2. Các bài tốn khó tính tốn và ứng dụng trong mật mã học
Một hệ mật mã phải cố gắng gây khó khăn cho người giải mã khi khơng biết
khóa giải mã k nhưng lại dễ dàng giải mã khi biết được khóa mã hóa K.
Một hệ mật mã như vậy sẽ có một thơng tin “cửa sập” bí mật được chèn thêm
vào bài tốn dựa trên tính khó khăn khi thực hiện việc nghịch đảo một hàm
một chiều.
Định nghĩa 1.4. Cho các tập hữu hạn S, T. Hàm f : S  T được gọi là hàm
một chiều (one-way function) nếu như:
 Hàm f dễ tính tốn, nghĩa là x  S có thể dễ dàng tính được y  f  x  .
 Việc tính tốn hàm ngược f 1 ( y) khơng khả thi về mặt tính tốn, nghĩa là
cho y T thì rất khó tính được x  f 1 ( y) .
Định nghĩa 1.5. Hàm một chiều cửa sập (trapdoor one-way function) là hàm
một chiều f được thêm vào thơng tin cửa sập (trapdoor information) để có thể dễ
dàng tính x  f 1 ( y) với bất kỳ y  T .
Ví dụ về hàm một chiều:


f ( p, q )  p.q là hàm một chiều với p, q là các số nguyên tố lớn. Như vậy,
ta có thể thực hiện phép nhân p.q với độ phức tạp đa thức; nhưng tính

f 1 (n) lại là bài tốn cực khó (bài tốn phân tích ra thừa số nguyên tố - độ
phức tạp mũ).


f g , N ( x) : x  g x mod N là hàm một chiều. Thực vậy, phép tính g x mod N
có độ phức tạp đa thức; nhưng tính f 1 (n) lại là bài tốn cực khó (bài tốn
logarit rời rạc).




f k , N ( x) : x  x x mod N là hàm một chiều, với N  p.q , p và q là các số
nguyên tố lớn. Phép tính xk mod N có độ phức tạp đa thức, nhưng tính f 1
lại cực khó. Tuy nhiên, nếu biết k ' sao cho k .k ' 1  mod   N   , có thể dễ
dàng tính được f 1 từ cơng thức ( xk )k '  x . (   n  là hàm Euler, số các số
tự nhiên nhỏ hơn hoặc bằng n và là số nguyên tố tương đối với n.)

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-13-

1.3. Hệ mật mã khóa cơng khai
Vào năm 1976, các nhà khoa học Whitfield Diffie, Martin Hellman và Ralph
Merkle tại Đại học Stanford giới thiệu ý tưởng về hệ thống mật mã khóa cơng khai
nhằm khắc phục các nhược điểm của hệ thống mật mã khố đối xứng. Năm 1977
nhóm tác giả Ronald Rivest, Adi Shamir và Leonard Adleman đã cơng bố phương
pháp RSA, phương pháp mã hóa khóa cơng khai. RSA hiện được sử dụng rất nhiều
trong các ứng dụng mã hóa và bảo mật thơng tin. RSA nhanh chóng trở thành chuẩn
mã hóa khóa cơng khai trên tồn thế giới do tính an tồn và khả năng ứng dụng
của nó.
Độ an tồn của hệ thống mật mã mới này, không phải được đo bằng độ phức
tạp của các thuật tốn mã hóa, mà nó dựa vào một khám phá mới vô cùng quan
trọng trong ngành khoa học máy tính, đó là lý thuyết độ phức tạp tính tốn: Chủ yếu
đề cập đến sự phân tích các thuật tốn và đặc biệt là số các bước tính tốn cần thiết
để phát hiện khóa bí mật. Từ đó xác định độ an tồn của bất kỳ hệ mật mã khóa
cơng khai nào.
Một hệ thống mật mã khóa cơng khai sử dụng hai loại khóa trong cùng một
cặp khóa: Khố cơng khai (public key) được công bố rộng rãi và sử dụng trong mã

hóa thơng tin, khóa riêng (private key) sử dụng để giải mã thơng tin đã được mã hóa
bằng khóa cơng khai. Các phương pháp mã hóa này khai thác những ánh xạ f mà
việc thực hiện ánh xạ ngược f 1 rất khó so với việc thực hiện ánh xạ f .
Chỉ khi biết được khóa riêng thì mới có thể thực hiện được ánh xạ f 1 .

1.3.1. Các quan điểm cơ bản của hệ mật mã khố cơng khai
‒ Hệ mật mã khố cơng khai dựa trên quan điểm hàm một chiều (one-way
function) và khố cơng khai, để biến đổi một bản rõ thành bản mã với thời gian tính
tốn hợp lý. Nhưng nếu muốn tính ngược lại (inverse function) thì phải mất nhiều
thời gian và khó thực hiện được. Vì vậy, việc thám mã rất khó có thể tính tốn để
thu được bản rõ từ bản mã lấy được.
‒ Một quan điểm khác dùng trong hệ mật mã khố cơng khai là thơng tin
“cửa sập” (trap door) mà hàm một chiều phải có. Thơng tin bí mật (khố riêng) chỉ
được đưa vào bởi người sở hữu cặp khóa. Khi có được thơng tin “cửa sập” thì cơng
việc giải mã sẽ trở nên dễ dàng.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-14-

‒ Các hệ mật mã khóa cơng khai được xây dựng dựa trên những bài tốn
khó như: bài tốn logarit rời rạc trong trường hữu hạn Z p (hệ ElGamal) và bài tốn
phân tích một số ngun lớn ra các thừa số nguyên tố (hệ RSA).

1.3.3. Hoạt động của hệ mật mã khóa cơng khai
Đối với hệ thống mã hóa khóa cơng khai: Mỗi người sử dụng phải tạo riêng
cho mình một cặp khóa. Trong đó, một khóa cơng khai (public key) cùng với thuật

tốn mã hóa E, được cơng bố rộng rãi tại thư mục dùng chung cho mọi người sử
dụng. Cịn lại là khóa riêng (private key) cùng với thuật tốn giải mã D được giữ bí
mật bởi người sử dụng.
Như vậy, khi người A muốn gửi thông điệp R đến cho người B:
Giả sử:

Khóa cơng khai của B là: K B , khóa riêng của B là: k B
Khóa cơng khai của A là: K A , Khóa riêng của A là: k A
Thuật tốn mã hóa: E , thuật tốn giải mã: D

A tìm khóa cơng khai K B của B trong thư mục dùng chung và tính
C  E ( K B , R) , sau đó gửi bản mã C cho B. Khi nhận bản mã C, B sẽ giải mã dựa

vào khóa riêng k B của mình để tính R  D(k B , C ) .

1.3.4. Các yêu cầu của hệ mật mã khóa cơng khai
Thơng qua từng lĩnh vực ứng dụng cụ thể mà người gửi sử dụng khóa bí mật
của mình, khóa cơng khai của người nhận hoặc cả hai để hình thành một số các ứng
dụng phù hợp như sau:
‒ Tính mật: Người gửi A thực hiện mã hóa thơng điệp P bằng khóa cơng
khai K B của người nhận B: C  E ( K B , P) . Cịn người nhận giải mã bằng khóa
riêng k B của mình: P  D(k B , C ) . Vậy, có duy nhất người B mới giải mã được
thơng điệp, điều này gọi là tính mật của hệ.
‒ Tính xác thực: Người gửi A thực hiện mã hóa một thơng điệp P bằng
khóa riêng k A : C  E (k A , P ) . Người nhận B giải mã bằng khóa cơng khai K A của
người gửi A: P  D ( K A , C ) . Như vậy chỉ có duy nhất A là người có khóa riêng để
mã hóa, cho nên thơng điệp nhận được là của A, điều này gọi là tính xác thực của
hệ.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên





-15-

‒ Tính mật và xác thực: Người gửi A thực hiện mã hố thơng điệp hai lần, lần
thứ nhất sử dụng khóa bí mật k A của mình: E ( k A , P ) , lần thứ hai sử dụng khóa cơng
khai K B của người nhận B: C  E ( K B , E (k A , P )) . Khi nhận bản mã, người nhận B
cũng thực hiện giải mã hai lần, lần đầu tiên dùng khóa riêng k B của mình D(k B , C ) ,
sau đó dùng khóa cơng khai K A của người gửi A: P  D ( K A , D (k B , C )) . Như vậy
chỉ người gửi mới có khóa riêng để mã hố và cũng chỉ người nhận mới có khóa
riêng để giải mã, đây chính là tính mật và tính xác thực của hệ.

1.4. Độ an tồn của hệ mật mã
Có hai quan điểm cơ bản về độ an toàn của một hệ mật mã.
Độ an tồn tính tốn: Độ an tồn này liên quan đến những nỗ lực tính tốn
cần thiết để phá một hệ mật mã. Một hệ mật là an toàn về mặt tính tốn nếu có một
thuật tốn tốt nhất để phá nó cần ít nhất N phép tốn, trong đó N là số rất lớn nào
đó. Tuy nhiên khơng có một hệ mật thực tế đã biết nào có thể được chứng tỏ là an
toàn theo định nghĩa này. Trên thực tế, người ta gọi một hệ mật là "an tồn về mặt
tính tốn" nếu có một phương pháp tốt nhất phá hệ này nhưng yêu cầu thời gian lớn
đến mức không chấp nhận được.
Một quan điểm chứng minh về độ an tồn tính tốn là quy độ an tồn của
một hệ mật mã về một bài tốn đã được nghiên cứu kỹ và bài toán này được coi là
khó. Ví dụ, ta có thể chứng minh một khẳng định có dạng " Một hệ mật đã cho là an
tồn nếu khơng thể phân tích ra thừa số một số nguyên n cho trước". Các hệ mật
loại này đôi khi gọi là " an toàn chứng minh được". Tuy nhiên quan điểm này chỉ
cung cấp một chứng minh về độ an tồn có liên quan đế một bài tốn khác chứ
khơng phải là một chứng minh hồn chỉnh về độ an tồn. (Tình hình này cũng tương

tự như việc chứng minh một bài tốn là NP đầy đủ: Có thể chứng tỏ bài tốn đã cho
chí ít cũng khó như một bài tốn NP đầy đủ khác, song khơng phải là một chứng
minh hồn chỉnh về độ khó tính tốn của bài tốn.)
Độ an tồn khơng điều kiện: Độ đo này liên quan đến độ an toàn của các hệ
mật mã khi khơng có một hạn chế nào được đặt ra về khối lượng tính tốn được
phép thực hiện. Một hệ mật được gọi là an tồn khơng điều kiện nếu nó khơng thể
bị phá thậm chí với khả năng tính tốn khơng hạn chế. Độ an tồn khơng điều kiện
của một hệ mật không thể được nghiên cứu theo quan điểm độ phức tạp tính tốn vì
thời gian tính tốn cho phép khơng hạn chế.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




-16-

Giả sử rằng khóa được chọn trước khi biết bản rõ và một khoá cụ thể chỉ
dùng cho một bản mã. Ngồi ra giả sử có một phân bố xác suất trên không gian bản
rõ P. Ký hiệu xác suất tiên nghiệm để bản rõ xuất hiện là Q( P) . Cũng giả sử rằng,
khóa K được chọn theo một phân bố xác suất xác định nào đó. (Thơng thường khoá
được chọn ngẫu nhiên, bởi vậy tất cả các khoá sẽ đồng khả năng.) Ký hiệu xác suất
để khóa K được chọn là R( K ) . Khi đó khố K và bản rõ P là các sự kiện độc lập.
Hai phân bố xác suất Q và R trên P và K sẽ tạo ra một phân bố xác suất V
trên C. Giả sử rằng V (C )  0 với mọi CC (nếu V (C )  0 thì bản mã sẽ khơng
được dùng và có thể loại khỏi C). Từ đó ta tính được xác suất có điều kiện xuất hiện
bản rõ P với điều kiện bản mã C là W ( P | C ) .
Định nghĩa 1.6. Một hệ mật mã có độ mật hồn thiện nếu W ( P | C )  Q( P)
với mọi PP , CC, tức xác suất hậu nghiệm có bản rõ là P với điều kiện đã thu
được bản mã C là đồng nhất với xác suất tiên nghiệm để bản rõ là P.
Ta có định lý sau đây [3]:

Định lý 1.1 Giả sử (P,C,K,E,D) là một hệ mật mã với K = C = P. Khi đó,
hệ mật có độ mật hồn thiện khi và mỗi khi khố K được dùng với xác suất như
nhau bằng 1/K, và mỗi PP, mỗi CC có một khố duy nhất K sao cho
EK ( P )  C .

1.2. Chữ ký số
1.2.1. Giới thiệu về chữ ký số
Chữ ký số là một bộ phận dữ liệu không thể giả mạo, để xác nhận một người
đã viết ra hoặc đồng ý với một tài liệu mà chữ ký đó được gắn vào. Chữ ký số sử
dụng cơng nghệ mã hố trên nền tảng khố cơng khai, để bảo đảm tính đúng đắn
tính toàn vẹn về nội dung của một dữ liệu hoặc một thông điệp điện tử và những
yêu cầu khác đối với các mục đích của một chữ ký.
Chữ ký số có các tính chất sau:
- Xác thực: người nhận kiểm tra được việc người gửi đã kí vào tài liệu.
- Không thể giả mạo được: chữ ký số xác nhận với người nhận tài liệu là khơng
ai khác ngồi người kí đã kí tài liệu đó.
- Khơng thể dùng lại được: chữ ký số có kèm theo nội dung và thời gian gắn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




×