Giáo trình An toàn và bảo mật thông tin - Nguyễn Hữu Tuân
BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC HÀNG HẢI
́ ́
BỘ MÔN: KHOA HOC MAY TINH
̣
KHOA: CÔNG NGHỆ THÔNG TIN
Giáo trình
AN TOÀN VÀ BẢO MẬT THÔNG TIN
TÊN HỌC PHẦN : An toàn và bảo mật Thông tin
MÃ HỌC PHẦN : 17212
TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY
DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN
HẢI PHÒNG - 2008
Tên học phần: An toan bao mât
̣
thông tin
Loại học phần: II
̉
̀
Bộ môn phụ trách giảng dạy: Khoa học máy tính.
Khoa phụ trách: Công nghệ thông tin
Mã học phần:
Tổng số TC: 3
TS tiết
Lý thuyết Thực hành/ Xemina Tự học Bài tập lớn Đồ án môn học
45 30
75
0
0
0
Điều kiện tiên quyết:
Sinh viên cân hoc
trinh hương đô
̀
̣ ̣
xong cac hoc phần:
́
-
-
-
Lâp
Câu truc dư liêu
̣
Phân tich, thiêt kế va đanh gia thuât toan.
̀ ́ ́ ́
̣
́
i tươn
̣
g
́
̀
́
̣
́
̃
́
́
Mục đích của học phần:
Truyền đạt cho sinh viên những kiến thức cơ bản về các lĩnh vực riêng trong an
toàn bảo mật máy tính:
-
-
-
-
Các giải thuật mã hóa trong truyền tin.
Các thuật toán tạo hàm băm và chữ ký điện tử.
Các mô hình trao chuyển khóa.
Các mô hình chứng thực và các giao thức mật mã.
Nội dung chủ yếu:
Gôm 2 phân:
-Phân ly thuyê
-Phân lâp
Nội dung chi tiết của học phần:
̀
̀
̀
́
t: cung câ
́
p cac ly thuyê
́
t vê
̣
̀ thuât toan ma hoa, các giao thức.
́ ́
̃
́
́
́
̀
̣
trinh: cài đꢀt các hệ mã, viê
́
t cac ưng dun
̣
g sư dun
̣
g cac hê
̣
ma mât
̣
̉
̃
́
́
́
̀
Phân phối số tiết
Tên chương mục
TS
4
LT Xemine BT
KT
0
3
1
0
Chương I. Giới thiệu nhiệm vụ của an toàn và bảo
mật thông tin.
1.1. Các khái niệm mở đầu.
1
1.1.1. Thành phần của một hệ thống thông tin
1.1.2. Những mối đe dọa và thiệt hại đối với hệ thống
thông tin.
1.1.3. Giải pháp điều khiển kiểm soát an toàn bảo mật
1.2. Mục tiêu và nguyên tắc chung của ATBM.
1.2.1. Ba mục tiêu.
1.2.2. Hai nguyên tắc
1.3. Giới thiệu chung về các mô hình mật mã.
1.3.1. Mô hình cơ bản trong truyền tin và luật Kirchoff.
1.3.2. Những giai đoạn phát triển của lý thuyết mã hóa.
1
1
1
13
5
2
5
2
2
1
1
Chương II. Một số phương pháp mã hóa cổ điển.
2.1. Phương pháp mã đơn giản.
2.1.1. Mã hoán vị trong bảng Alphabet.
2.1.2. Mật mã cộng tính.
2.2.3. Mật mã nhân tính.
2.1.4. Phân tích mã theo phương pháp thống kê.
2.2. Phương pháp mã bằng phẳng đồ thị tần xuất.
2.2.1. Mã với bảng thế đồng âm.
3
3
1
2.2.2. Mã đa bảng thế: giải thuật mã Vigenre và One time
pad.
2.2.3. Lý thuyết về sự bí mật tuyệt đối.
2.2.4. Đánh giá mức độ bảo mật của một phương pháp
mã hóa.
̉
Kiêm tra
1
0
16
8
1
7
3
1
Chương III. Mật mã khối.
3.1. Khái niệm.
3.1.1. Điều kiện an toàn cho mật mã khối
3.1.2. Nguyên tắc thiết kế.
̉
3.2. Chuân ma hoa dư liêu
̣
DES
3
0,5
̃
́
̃
3.2.1. Lịch sử của DES
3.2.2. Cấu trúc vòng lꢀp DES.
3.2.3. Thuật toán sinh khóa con
3.2.4. Cấu trúc hàm lꢀp.
3.2.5. Thuật toán giải mã DES.
3.2.6. Đánh giá mức độ an toàn bảo mật của DES.
3.2.7. TripleDES
̉
3.3. Chuân ma hoa cao câ
́
p AES
3
1
3
0,5
̃
́
3.3.1. Giơi thiêu
̣
về AES
́
3.3.2. Thuât
3.3.3. Thuât
3.3.4. Cài đꢀt AES
3.4 Một số chế độ sử dụng mã khối.
3.4.1. Chế độ bảng tra mã điện tử
3.4.2. Chế độ mã móc xích
̣
toan ma hoa
́
̃
́
̣
toan giai ma
̉
̃
́
1
7
3.4.3. Chế độ mã phản hồi
16
6
1
2
2
1
Chương IV. Hệ thống mã với khóa công khai.
4.1. Khái niệm khóa công khai.
4.1.1. Đꢀc trưng và ứng dụng của hệ mã khóa công khai.
4.1.2. Nguyên tắc cấu tạo hệ khóa công khai
4.2. Giới thiệu một số giải thuật PKC phổ biến.
4.1.1. Hệ mã Trapdoor Knapsack.
1
2
1
3
4.1.2. Hệ mã RSA
4.1.3. Hệ mã ElGamal
Kiểm tra
2
3
5
1
0
12
7
0
Chương V. Chữ ký điện tử và hàm băm.
5.1. Chữ ký điện tử.
0,5
5.1.1. Định nghĩa.
5.1.2. Ứng dụng của chữ ký điện tử
5.2. Giơi thiêu
̣
môt
̣
số
hê
̣
chư ky điên
̣
tư
̉
3
́
̃
́
5.2.1. Hê
5.2.2. Hê
̣
̣
chư ky điên
̣
tư RSA
tư ElGamal
̉
2
̃
́
̉
chư ky điên
̣
̃
́
̉
̣
5.2.3. Chuân chư ky điên tư DSA
̉
̃
́
5.3. Hàm băm.
5.3.1. Định nghĩa.
5.3.2. Sinh chữ ký điện tử với hàm băm
5.4. Môt sô ham băm thông dun
0,5
3
̣
́
̣
g
̀
5.4.1. Hàm băm MD5
5.4.2. Hàm băm SHA1
1,5
1,5
8
6
5
1
3
0
0
0
1
Chương VI. Quản lý khóa trong hệ thống mật mã
6.1. Quản lý khóa đối với hệ SKC
6.1.1. Giới thiệu phương pháp quản lý khóa.
6.2. Quản lý khóa trong các hệ PKC
1
1
1
1
6.2.1. Giao thức trao chuyển khóa Needham – Schoeder
̉
6.2.2. Giao thưc trao đôi khoa Diffie-Hellman
1
2
́
́
6.2.3. Giao thưc Kerberos
́
3
1
2
Chương VII. Giao thức mật mã
7.1. Khái niệm giao thức mật mã
7.1.1. Định nghĩa giao thức mật mã
7.1.2. Mục đích giao thức mật mã.
7.1.3. Các bên tham gia vào giao thức mật mã
7.2. Tìm hiểu thiết kế các giao thức mật mã điển hình
7.2.1. Một số dạng tấn công đối với giao thức mật mã.
7.2.2. Giới thiệu một số giao thức mật mã.
7.3. Kiểm tra.
2
2
1
Nhiệm vụ của sinh viên: Lên lớp đầy đủ và chấp hành mọi quy định của Nhà trường.
Tài liệu học tập:
1. Phan Đình Diệu. Lý thuyết mật mã và An toàn thông tin. Đại học Quốc Gia Hà
Nội.
2. Douglas R. Stinson. Cryptography Theory and practice. CRC Press. 1995.
3. A. Menezes, P. VanOorschot, and S. Vanstone. Handbook of Applied
Cryptography. CRC Press. 1996.
4. William Stallings. Cryptography and Network Security Principles and Practices,
Fourth Edition. Prentice Hall. 2005.
5. MichaelWelschenbach. Cryptography in C and C++. Apress. 2005.
Hình thức và tiêu chuẩn đánh giá sinh viên:
- Sinh viên phải làm các bài kiểm tra trong quá trình học và thực hành. Thi vấn đáp.
- Sinh viên phải bảo đảm các điều kiện theo Quy chế của Nhà trường và của Bộ.
Thang điểm : Thang điểm 10.
Điểm đánh giá học phần: Z = 0,3 X + 0,7 Y.
MꢀC LꢀC
I ĐÂU....................................................................................................................1
I THIÊU..................................................................................................2
6. Khꢀi niꢅm hꢅ mꢍ mꢌt (CryptoSystem) .......................................................................4
7. Mô hinh truyên tin cơ ban cua mât ma hoc va luât Kirchoff .......................................5
̣ ma hoc̣ (cryptology) ............................................................................................4
1. Lꢐ thuyꢑt thông tin ................................................................................................... 10
1.1. Entropy............................................................................................................. 10
1.3. Tꢒnh an toꢆn cꢊa hꢅ thꢁng mꢍ hoꢀ ................................................................... 11
2. Lꢐ thuyꢑt đꢄ phꢔc tꢂp.............................................................................................. 13
2.1. Đꢄ an toꢆn tꢒnh toꢀn ......................................................................................... 14
2.2. Đꢄ an toꢆn không điều kiꢅn .............................................................................. 14
3.3. Hꢅ mꢌt tꢒch ....................................................................................................... 16
3. Lꢐ thuyꢑt toꢀn hꢕc ................................................................................................... 17
́ .................................................................................................... 17
3.3. Ƣꢃc sꢁ chung lꢃn nhꢖt..................................................................................... 17
3.4. Vꢆnh ZN (vꢆnh đꢗng dƣ module N)................................................................... 18
3.6. Hꢆm phi Ơle ..................................................................................................... 19
3.7. Thăng dƣ bâc hai.............................................................................................. 19
3.8. Thuât toan luy thƣa nhanh................................................................................ 20
̀n tƣ nghic̣ h đao .......................................................................................... 18
4. Cꢀc thuꢌt toꢀn kiꢙm tra sꢁ nguyên tꢁ. ..................................................................... 23
4.1. Môt sô ky hiêu toan hoc.................................................................................... 23
4.2. Thuât toan Soloway-Strassen........................................................................... 25
toan Rabin-Miller..................................................................................... 26
toan Lehmann......................................................................................... 26
5. Bꢆi tꢌp..................................................................................................................... 26
CHƢƠNG III: CꢎC Hꢚ Mꢛ KHꢜA Bꢝ MꢞT...................................................................... 28
1. Cꢀc hꢅ mꢍ cꢟ điꢙn................................................................................................... 28
ma Caesar .................................................................................................. 28
ma Affine..................................................................................................... 29
ma Vigenere................................................................................................ 30
ma Hill......................................................................................................... 30
ma đôi chỗ (transposition cipher)................................................................. 32
2. Cꢀc hꢅ mꢍ khꢁi ....................................................................................................... 34
2.5. Chuân ma hoa cao câp AES............................................................................. 54
3. Bꢆi tꢌp..................................................................................................................... 72
1. Khꢀi niꢅm hꢅ mꢍ mꢌt khóa công khai...................................................................... 77
ma knapsack............................................................................................... 78
̣ ma khoa công khai.................................................................................. 78
ma RSA....................................................................................................... 79
ma El Gamal ............................................................................................... 83
4. Bꢆi tꢌp..................................................................................................................... 96
CHƢƠNG V: CHƢ̃ KÝ ĐIÊṆ TƢ VÀ HÀ M BĂM............................................................ 101
1. Chƣ ky điên tƣ....................................................................................................... 101
1.1. Khꢀi niꢅm về chữ kꢐ điꢅn tử ........................................................................... 101
1.2. Hꢅ chữ kꢐ RSA............................................................................................... 102
1.3. Hꢅ chữ kꢐ ElGammal...................................................................................... 103
1.5. Mô hinh ƣng duṇ g cua chƣ ky điêṇ tƣ................................................................ 108
2. Hꢆm Băm (Hash Function) .................................................................................... 109
2.1. Khꢀi niꢅm ....................................................................................................... 109
2.2. Đꢇc tꢒnh cꢊa hꢆm Băm ................................................................................... 109
2.3. Birthday attack................................................................................................ 110
2.4. Mꢄt sꢁ hꢆm Băm nꢟi tiꢑng .............................................................................. 111
2.5. Mꢄt sꢁ ƣng duṇ g cua hꢆm Băm...................................................................... 118
3. Bꢆi tꢌp................................................................................................................... 119
CHƢƠNG VI: QUꢢN Lꢣ KHꢜA..................................................................................... 120
1. Quꢋn ly khoꢀ trong cꢀc mꢂng truyền tin ................................................................ 120
2. Mꢄt sꢁ hꢅ phân phꢁi khoá ..................................................................................... 120
2.1. Sơ đꢗ phân phꢁi khoꢀ Blom ........................................................................... 120
2.2. Hꢅ phân phꢁi khoꢀ Kerberos .......................................................................... 122
2.3. Hꢅ phân phꢁi khoa Diffe-Hellman ................................................................... 123
3. Trao đꢟi khoꢀ vꢆ thoꢋ thuꢌn khoꢀ ......................................................................... 124
3.1. Giao thꢔc trao đꢟi khoꢀ Diffie-Hellman ........................................................... 124
3.4. Giao thꢔc Girault trao đꢟi khoꢀ không chꢔng chỉ............................................ 127
4.Bꢆi tꢌp.................................................................................................................... 128
CHƢƠNG VII: GIAO THƢ́ C MẬT MÃ ........................................................................... 130
1. Giao thꢔc .............................................................................................................. 130
2. Mꢈc đꢒch cꢊa cꢀc giao thꢔc................................................................................... 130
3. Cꢀc bên tham gia vꢆo giao thꢔc (the players in protocol) ...................................... 131
4. Cꢀc dꢂng giao thꢔc ............................................................................................... 132
4.1. Giao thꢔc có trꢕng tꢆi ..................................................................................... 132
4.2. Giao thꢔc có ngƣꢡi phân xử........................................................................... 133
4.3. Giao thꢔc tƣ̣ phân xƣ ..................................................................................... 134
Danh mục hình vẽ
DANH MU
Hình 1.1: Mô hình cơ bꢋn cꢊa truyền tin bꢋo mꢌt..............................................................5
Hình 3.1: Chuân ma hoa dƣ liêu DES ............................................................................. 35
̣C HÌNH VẼ
Hình 3.2: Sơ đꢗ mꢍ hoꢀ DES.......................................................................................... 38
Hình 3.3: Sơ đꢗ mꢄt vòng DES ....................................................................................... 39
Hình 3.4: Sơ đꢗ tꢂo khoꢀ con cua DES.......................................................................... 41
Hình 3.5: Sơ đꢗ hꢆm f..................................................................................................... 43
Hình 3.6: Sơ đꢗ hꢆm mở rꢄng (E)................................................................................... 44
Hình 3.7: Triple DES ....................................................................................................... 53
Hình 3.8: Cꢀc trꢂng thꢀi cꢊa AES.................................................................................... 56
Hình 3.9: Thuâṭ toꢀn mꢍ hóa vꢆ giꢋi mꢍ cꢊa AES........................................................... 59
Hình 3.10: Hꢆm ShifftRows()........................................................................................... 62
Hình 3.11: Hꢆm MixColumns cꢊa AES............................................................................ 63
Hình 3.12: Hꢆm AddRoundKey cꢊa AES......................................................................... 63
Hình 3.13: Hꢆm InvShiftRows() cꢊa AES ........................................................................ 66
ECB................................................................................................... 69
̣ CBC................................................................................................... 70
Hình 3.16: Chꢑ đꢄ CFB................................................................................................... 71
Hình 4.4: Cꢀc đƣꢡng cong Elliptic trên trƣꢡng sꢁ thꢠc................................................... 87
Hình 4.5: Hình biꢙu diꢥn E2 (g4, 1) .................................................................................. 92
Hình 5.1: Mô hinh ƣng duṇ g cua chƣ ky điêṇ tƣ ........................................................... 108
Hình 5.2: Sơ đꢗ chữ kꢐ sử dꢈng hꢆm Băm ................................................................... 109
Hình 5.3: Sơ đꢗ vòng lꢇp chꢒnh cꢊa MD5...................................................................... 112
Danh mục bảng
DANH MỤC BANG
̉
Bꢋng 2.1: Bꢋng bꢌc cꢊa cꢀc phꢦn tử trên Z*21 ................................................................. 19
Bꢋng 2.2: Bꢋng lꢧy thꢨa trên Z13 ..................................................................................... 20
Bꢋng 3.1: Bꢋng đanh số cac chƣ cai tiếng Anh............................................................... 29
Bꢋng 3.2: Mꢍ hoꢀ thay đꢟi vꢩ trꢒ cꢄt ................................................................................. 32
Bꢋng 3.3: Mꢍ hóa theo mꢪu hình hꢕc.............................................................................. 32
Bꢋng 3.4: Vꢒ dꢈ mꢍ hóa theo mꢪu hình hꢕc .................................................................... 33
Bꢋng 3.5: Mꢍ hóa hoꢀn vꢩ theo chu kꢫ ............................................................................ 33
Bꢋng 3.6: Bꢋng hoꢀn vꢩ IP............................................................................................... 39
Bꢋng 3.7: Bꢋng hoꢀn vꢩ ngƣꢬc IP-1 ................................................................................. 39
Bꢋng 3.8: Bꢋng PC-1 ...................................................................................................... 41
Bꢋng 3.9: Bꢋng dꢩch bit tꢂi cꢀc vòng lꢇp cꢊa DES........................................................... 42
Bꢋng 3.10: Bꢋng PC-2 .................................................................................................... 42
Bꢋng 3.11: Bꢋng mô tꢋ hꢆm mở rꢄng E.......................................................................... 44
Bꢋng 3.12: Hꢄp S1........................................................................................................... 45
Bꢋng 3.13: Hꢄp S2........................................................................................................... 45
Bꢋng 3.14: Hꢄp S3........................................................................................................... 45
Bꢋng 3.15: Hꢄp S4........................................................................................................... 46
Bꢋng 3.16: Hꢄp S5........................................................................................................... 46
Bꢋng 3.17: Hꢄp S6........................................................................................................... 46
Bꢋng 3.18: Hꢄp S7........................................................................................................... 46
Bꢋng 3.19: Hꢄp S8........................................................................................................... 46
Bꢋng 3.20: Bꢋng hoꢀn vꢩ P.............................................................................................. 47
Bꢋng 3.21: Vꢒ dꢈ về cꢀc bƣꢃc thꢠc hiꢅn cꢊa DES .......................................................... 50
Bꢋng 3.22: Cꢀc khóa yꢑu cꢊa DES ................................................................................. 51
Bꢋng 3.23: Cꢀc khóa nửa yꢑu cꢊa DES.......................................................................... 51
Bꢋng 3.24: Qui ƣơc môṭ số tƣ viết tắt va thuâṭ ngƣ cua AES.......................................... 54
Bꢋng 3.25: Bꢋng biꢙu diꢥn cꢀc xâu 4 bit ......................................................................... 56
Bꢋng 3.26: Bꢋng đꢄ dꢆi khóa cꢊa AES............................................................................ 57
Bꢋng 3.27: Bꢋng thꢑ S-Box cua AES .............................................................................. 61
Lơi nꢁi đꢂu
̀
̀
I NÓ I ĐÂU
LƠ
̀
Tꢨ trƣꢃc công nguyên con ngƣꢡi đꢍ phꢋi quan tâm tꢃi viꢅc lꢆm thꢑ nꢆo đꢙ đꢋm
bꢋo an toꢆn bꢒ mꢌt cho cꢀc tꢆi liꢅu, văn bꢋn quan trꢕng, đꢇc biꢅt lꢆ trong lĩnh vꢠc quân
sꢠ, ngoꢂi giao. Ngày nay vꢃi sꢠ xuꢖt hiꢅn cꢊa mꢀy tꢒnh, cꢀc tꢆi liꢅu văn bꢋn giꢖy tꢡ vꢆ
cꢀc thông tin quan trꢕng đều đƣꢬc sꢁ hóa vꢆ xử lꢐ trên mꢀy tꢒnh, đƣơ
mꢄt môi trƣꢡng mꢆ mꢇc đꢩnh lꢆ không an toꢆn. Do đó yêu cꢦu về viꢅc có mꢄt cơ chꢑ, giꢋi
phꢀp đꢙ bꢋo vꢅ sꢠ an toꢆn vꢆ bꢒ mꢌt cꢊa cꢀc thông tin nhꢂy cꢋm, quan trong ngày càng
trở nên cꢖp thiꢑt. Mꢌt mꢍ hꢕc chꢒnh lꢆ ngꢆnh khoa hꢕc đꢋm bꢋo cho mꢈc đꢒch nꢆy. Khó
có thꢙ thꢖy mꢄt ꢔng dꢈng Tin hoc có ꢒch nꢆo lꢂi không sử dꢈng cꢀc thuꢌt toꢀn mꢍ hóa
̣c truyền đi trong
̣
̣
thông tin. Tài liꢅu nꢆy dꢠa trên những kinh nghiꢅm vꢆ nghiên cꢔu mꢆ tꢀc giꢋ đꢍ đúc rút,
thu thꢌp trong quꢀ trình giꢋng dꢂy môn hꢕc An toꢆn vꢆ Bꢋo mꢌt Thông tin tꢂi khoa Công
nghꢅ Thông tin, Đꢂi hꢕc Hꢆng hꢋi Viꢅt nam. Vꢃi bꢋy chƣơng đƣꢬc chia thꢆnh cꢀc chꢊ đề
khꢀc nhau tꢨ cơ sở toꢀn hꢕc cꢊa mꢌt mꢍ hꢕc cho tꢃi cꢀc hꢅ mꢍ, cꢀc giao thꢔc mꢌt mꢍ,
hy vꢕng sẽ cung cꢖp cho cꢀc em sinh viên, cꢀc bꢂn đꢄc giꢋ mꢄt tꢆi liꢅu bꢟ ꢒch. Mꢇc dù đꢍ
rꢖt cꢁ gꢉng song vꢪn không trꢀnh khỏi mꢄt sꢁ thiꢑu sót, hy vꢕng sẽ đƣꢬc cꢀc bꢂn bè
đꢗng nghiꢅp, các em sinh viên, cꢀc bꢂn đꢄc giꢋ góp ꢐ chân thꢆnh đꢙ tôi có thꢙ hoꢆn thiꢅn
hơn nữa cuốn sach này.
́
Xin gửi lꢡi cꢋm ơn chân thꢆnh tꢃi cꢀc bꢂn bè đꢗng nghiꢅp , nhƣng ngƣơi thân đa
̃
̀
̃
luôn đôn
Nguyên Đinh Dƣơng, ngƣơi đa đoc
vê hê ma khoa công khai dƣ
Thꢂc sꢓ Phꢂm Tuꢖn Đat
có giꢀ trꢩ cho bꢋn thꢋo cꢊa cuꢁn sꢀch nꢆy . Cuô
nhiꢅm khoa Công nghꢅ Thông tin, đăc biêt la Tiên sy Lê Quô
luôn tꢂo điều kiꢅn tôt nhât, giúp đỡ đꢙ cuô
̣ g viên , góp ꢐ cho tôi trong quꢀ trình biên soꢂn . Xin gƣi lơi cam ơn tơi Thac̣ sy
̉
̉
̃
̣ va cho nhƣng nhâṇ xet , góp ꢐ quꢒ bꢀu cho phꢦn viꢑt
̀ ̃ ́
̀
̀
̃
̀
̣
̣a trên cac đƣơng cong Elliptic. Xin gƣi lơi cam ơn sâu sắc tơi
́ ̀ ̀ ́
̉ ̉
̃
́
̣
, ngƣơi đa hiêu
̣
đinh môt
̣
cach ky cang va cho râ
́
t nhiều nhâṇ xet
́
̀
̃
́
́
̃
̀
̀
́
i cung xin gƣi lơi cam ơn tơi Ban chꢊ
̀
̉
̀
̉
́
̣
̣
́
́
c Điṇ h – chꢊ nhiꢅm khoa, đꢍ
̀
̃
́
́
́n sach nꢆy có thꢙ hoꢆn thꢆnh.
́
Hải phòng, tháng 12 năm 2007
Tác giả
Nguyꢥn Hữu Tuân
1
Chƣơng I: Giơi thiêu
̣
́
CHƢƠNG I: GIƠ
́
I THIÊU
thông tin va mâṭ ma hoc̣
̃
̣
1. An toan bao mât
̣
̀
̉
̀
Trꢋi qua nhiều thꢑ kꢭ hꢆng loꢂt cꢀc giao thꢔc (protocol) vꢆ cꢀc cơ chꢑ (mechanism)
đa đƣơc tao ra đê đap ƣng nhu câu an toan bao mât thông tin kh i ma no đƣơc truyên tai
trên cac phƣơng tiên tiêu cua an toan bao
̣
̣
̉
̀
̣
̣
̀
̃
́
́
̀
̉
̀
́
̉
̣
vâṭ ly (giấy, sꢀch, bꢀo …). Thƣơng thi cac muc̣
́ ̀ ̀ ́
́
̉
̀
̉
mât
cꢀc giao thꢔc, mꢆ đꢙ đat
sƣ tôn trong cac điêu luât
cꢀc lꢀ thƣ đꢍ có đóng dꢖu bởi mꢄt dꢩch vꢈ thƣ tꢒn đꢍ đƣꢬ c châ
măt vât ly cua cac la thƣ la han chê (nó có thꢙ bꢩ xem trꢄm ) nên đê
cꢊa bꢔc thƣ phꢀp luꢌt đꢍ đƣa ra qui đꢩnh : viêc xem thƣ ma không đƣơ
chꢊ nhân hoꢇc nhữ ng ngƣơi co thâm quyên la pham
mꢈc đꢒch cꢊa an toꢆn bꢋo mꢌt thô ng tin lai
chúng, chăng han nhƣ tiên giây đoi hoi phai đƣơ
bꢩ lꢆm giꢋ.
̣
thông tin không thê
̉
đat
đƣơ
. Chă
̣
đƣơ
c điê
ng han
̣
c nê
́
u chi đơn thuâ
̀
n dƣ
n co cac ky thuâṭ mang tinh thu tuc̣ va
́ ̀
̉
̣a vao cac thuâṭ toan toan hoc̣ va
̉
̀
́
́
́
̀
̣
̣
̀
u nay đoi hoi câ
̀
̀
̀
̉
́
́
̃
̣
̣
̀
̣
̉
̣ sƣ̣ bi mâṭ cua cac bƣc thƣ tay la do sƣ̣ phân phat
́ ́ ́ ̀ ́
̉
́
́
p nhân
̣
. Tꢒnh an toꢆn về
̣
̣
̣
́
̉
đam bao sƣ
̣
bi mât
̣
́
̉
́
́
̀
̉
̉
́
̣
̣
c sƣ̣ đồng y cua
́
̉
̀
̉
̀
̣
phap va se bi
̣
trƣng phat
̣
. Đôi khi
̣c nhơ chꢒ nh phƣơng tiêṇ vâṭ ly mang
̀ ́
̀
́
̀
́
̀
̃
̀
̣
đat
̣
đƣơ
c in bằng loaị mƣ̣c va giấy tốt đê không
̉
̀
̉
̣
̀
́
̣
̀
̉
̉
Vê măt
̀
̣ y tƣơng viêc̣ lƣu giƣ thông tin la không co nhiều thay đôi đang kê qua thơi
̉ ̉
́ ̃ ̀ ́ ́ ̀
̉
gian. Ngꢆy xƣa thông tin thƣꢡng đƣꢬc lƣu vꢆ vꢌn chuyꢙn trên giꢖy tꢡ , trong khi giơ đây
̀
chúng đƣꢬc lƣu dƣꢃi dꢂn g sô
hoăc cac hê thông không dây . Tuy nhiên sƣ
năng sao chep va thay đôi thông tin. Ngƣơi ta co thê
́
hoa va đƣơ
̣
c vân
thay đô
tao
vꢆ không thꢙ phân biꢅt đƣꢬc nó vꢃi bꢋn gꢁc . Vơi cac tai liêu
̣
chuyê
̉
n bằng cac hệ thống viễn thông
́
̀
́
̣
̣
́
̣
̉
i đang kê
̉
đê
́
n ơ đây chinh la kha
́
́
̉
́
̀
̉
̉
̉
̣
ra hang ngan mâ
̉
u tin giô
́
ng nhau
́
̀
̀
́
̀
̀
̣
lƣu trƣ va vân n trên
̣
chuyê
u . Vꢆ điều cꢦn thiꢑt đꢁi vꢃi mꢄt xꢍ hꢄi mꢆ thông tin hꢦu
n trên cꢀc phƣơng tiꢅn điꢅn tử chꢒnh lꢆ cꢀc phƣơng tiꢅn
thông tin đôc lâp vơi cac phƣơng tiên lƣu trƣ va vân chuyên vât
đo chinh la mât ma hoc h sƣ lâ u đơi
̉
́
́
̀
̃
̀
giâ
hêt đƣơ
đam bao an toan bao mât
́y điều nay kho khăn hơn nhiề
̀
́
́
̣c lƣu trƣ va vâṇ chuyê
̉
̃ ̀
̣
̣
̣
̣
̣
̉
̣
̉
̉
̀
̉
́
́
̃
̀
lꢐ cꢊa nó . Phƣơng tiên
̣
̣
̣
, môt
̣ nganh khoa hoc̣ co lic̣
̀ ́
́
́
̀
̃
̉
̀
dƣa trên nên tang cac thuât
̣
̀
̣
toan toan hoc
̣
, sô
́
hoc, xꢀc suꢖt vꢆ cꢀc môn khoa hꢕc khꢀc.
̣
̉
́
́
́
2. Khái niꢃm hꢃ thꢄng vꢅ tꢅi sản cꢆa hꢃ thꢄng
Khꢀi niꢅm hꢅ thꢁng : Hê thông la môt tâp hơ
n cƣng, phân mêm va dƣ liêu lam viêc đƣơc tich luy qua thơi gian.
Tꢆi sꢋn cꢊa hꢅ thꢁng bao gꢗm:
̣
́
̣
̣
̣
p cac may tinh gô
̀
m cac thanh phâ
̀
n
̀
́
́
́
́
̀
phâ
́
̀
̀
̣
̣
̣
́
̀
̃
̀
́
̃
̀
Phâ
Phân mê
Dƣ liêu
̀
n cƣng
́
̀
̀m
̣
̃
Cꢀc truyền thông giữa cꢀc mꢀy tꢒnh cꢊa hꢅ thꢁng
Môi trƣơng lam viêc
̣
̀
̀
Con ngƣơi
̀
3. Các mꢄi đe doa
̣ đố i vơi môṭ hệthố ng va cac biêṇ phap ngăn chăṇ
́ ̀ ́ ́
Cꢁ 3 hꢇnh thꢈc chꢆ yꢉu đe dꢊa đꢄi vꢋi hꢃ thꢄng:
2
Chƣơng I: Giơi thiêu
̣
́
Phꢀ hoꢂi: kꢮ thù phꢀ hỏng thiꢑt bꢩ phꢦn cꢔng hoꢇc phꢦn mềm hoꢂt đꢄng trên hꢅ
thống.
Sƣa đô
̉
i: Tꢆi sꢋn cꢊa hꢅ thô
́
ng bi
̣
sƣa đô
̉
i trai phep. Điê
̀
u nay thƣơng lam cho hê
̣
̉
̉
́
́
̀
̀
̀
thô
́
ng không lam đung chƣc năng cua no . Chă
̉
ng han
̣
nhƣ thay đô
̉
i mât
̣
khâ
̉
u ,
̀
́
́
̉
́
quyê
̀
n ngƣơi dung trong hê
̣
thô
́
ng lam ho
̣
không thê truy câp
̉
̣
vao hê
̀
̣
thông đê
́
̉
̀
̀
̀
lꢆm viꢅc.
Can thiê
̣
p: Tꢆi sꢋn bꢩ truy cꢌp bởi những ngƣꢡi không có thꢘm quyền
c hiên trên hê thông bi ngăn chăn, sƣa đôi.
. Cꢀc
truyên thông thƣ
̀
̣
̣
̣
́
̣
̣
̉
̉
Cꢀc đe dꢕa đꢁi vꢃi mꢄt hꢅ thꢁng thông tin có thꢙ đꢑn tꢨ nhiều nguꢗn vꢆ đƣꢬc thꢠc
bơi cac đôi tƣơng khac nhau . Chúng ta có thꢙ chia thꢆnh 3 loꢂi đꢁi tƣꢬng nhƣ sau :
cꢀc đꢁi tƣꢬng tꢨ ngay bên trong hꢅ thꢁng (insider), đây la nhƣng ngƣơi co quyê
hiên
̣
́
̣
̉
́
́
̀
n truy câp
th ꢁng (hacker, cracker),
i tƣơ i vơi hê thông nhƣ Internet
̉
, vꢆ thꢔ ba lꢆ cꢀc phꢦn mềm (chăng haṇ nhƣ spyware, adware …) chꢂy trên hꢅ
̣
̀
̃
̀
́
hơ
̣
p phap đô
́
i vơi hê
̣
thô
́
ng , nhƣng đô
́
i tƣơ
̣ng bên ngoai hệ
̀
n công qua nhƣng đƣơng kê
́
́
̃
thƣơng cac đô
́
̣
ng nay tâ
́
́
t nô
́
̣
́
̀
́
̀
̃
̀
́
chă
̉
ng han
̣
thông.
́
Các biꢃn pháp ngăn chꢌn:
Thƣꢡng có 3 biên phap ngăn chăṇ :
̣
́
Điê
̀
u khiê
̉
n thông qua phâ
̀n mềm : dƣ̣a vao cac cơ chế an toan bao mâṭ cua hệ
̀ ́ ̀
̉ ̉
thông nê
́
̀
n (hê
̣
điêu hanh), cꢀc thuꢌt toꢀn mꢌt mꢍ hꢕc
̀
̀
Điêu khiê
hꢕc đƣꢬc cꢔng hóa đꢙ sử dꢈng
Điêu khiên thông qua cac chinh sach cua tô
chƣc nhă
̉
̀
̉
n thông qua phần cƣng : cꢀc cơ chꢑ bꢋo mꢌt , cꢀc thuꢌt toꢀn mꢌt mꢍ
́
̀
̉
chƣc : ban hanh cac qui điṇ h cua tô
̉ ̉
́ ̀ ́
̉
́
́
́
̉
̀
m đam bao tinh an toan bao mât
̣
cua hê
̣
thô
̣ nay chung ta tâp̣ trung xem xet cꢀc thuꢌt toꢀn mꢌt mꢍ hꢕc nhƣ lꢆ
̀ ́
́ng.
́
̉
̉
́
̀
̉
Trong môn hoc
phƣơng tiên cơ ban, chꢊ yꢑu đꢙ đꢋm bꢋo an toꢆn cho hꢅ thꢁng.
́
môt
̣
̣
̉
4. Mục tiêu vꢅ nguyên tꢍc chung cꢆa an toꢅn bảo mꢎt thông tin
Ba muc tiêu cua an toan bao mât thông tin:
Tꢒnh bꢒ mꢌt: Tꢆi sꢋn cꢊa hꢅ thꢁng chỉ đƣꢬc truy cꢌp bởi những ngƣꢡi có thꢘm
n. Cꢀc loꢂi truy cꢌp gꢗm có : đoc (reading), xem (viewing), in ân (printing), sƣ dun
chƣơng trinh, hoăc hiêu biêt vê sƣ tôn tai cua môt đôi tƣơng trong tô
nhơ viêc kiêm soat truy câp (theo nhiêu kiêu khac nhau ) hoăc
. Kiê chi co thê đƣơc thƣ
i vơi cac dƣ liêu g thi thƣơng phƣơng phap hiêu
̣
̣
̉
̀
̉
quyê
̀
̣
́
̣ g
̉
̣
̉
́
̀
̣
̀
̣
̣
́
̣
̉
chƣ c.Tꢒnh bꢒ mꢌt có
́
̀
̉
thê
thuât
phân cƣng vât
cꢀc phƣơng phꢀp cꢊa mꢌt mꢍ hꢕc.
̉
đƣơ
̣
c bao vê
̣
̣
̉
̣
̀
̉
̣
nhơ cac
̉
̀
́
́
̀
́
̣
toan ma hoa dƣ liêu
̣
́
m soat truy câp
̣
̉
̣
̣
c hiên
̣
vơi cac hê
̣
thô
́
ng
́
̃
́
̃
́
̉
́
́
́
̀
̣
ly. Còn đô
́
́
̣
công côn
̣
̣
qua la
́
́
́
̃
̀
̀
́
̉
̀
Tꢒnh toꢆn vꢯn dữ liꢅu: tꢆi sꢋn cꢊa hꢅ thꢁng chỉ đƣꢬc thay đꢟi bởi những ngƣꢡi
có thꢘm quyền.
Tꢒnh sꢰn dùng: tꢆi sꢋn luôn să
̃
n sang đƣơ
̣
c sƣ dun
̣
g bơi nhƣng ngƣơi co thâ
̉
m
̀
̉
̉
̃
̀
́
quyê
̀
n.
Hai nguyên tă
́
c cua an toan bao mât
̣
thông tin:
̉
̀
̉
3
Chƣơng I: Giơi thiêu
̣
́
Viêc
̣
thâ
̉
m đin
̣
h vê
̀
bao mât
̣
phꢋ i la kho va câ
̀
n tinh tơi tâ
́
t ca cac tinh huô
́
ng
,
̉
̀
́
̀
́
́
̉
́
̀
khꢋ năng tꢖn công có thꢙ đƣꢬc thꢠc hiꢅn.
Tꢆi sꢋn đƣꢬc bꢋo vꢅ cho tꢃi khi hꢑt gꢒa trꢩ sử dꢈng hoꢇc hꢑt ꢐ nghĩa bꢒ mꢌt.
5. Mât
Mât
(cryptanalysis-codebreaking) trong đo:
̣
ma hoc
̣
(cryptology)
̃
̣
ma hoc bao gôm hai linh vƣ
̣
̀
̣
c
: mꢍ hóa (cryptography) vꢆ thꢀm mꢍ
̃
̃
́
Mꢍ hóa: nghiên cƣu cac thuâṭ toan va phƣơng thƣc đê đam ba o tinh bi mâṭ va
̉
́ ́ ́ ̀ ́ ́ ́ ̀
̉ ̉
xꢀc thꢠc cꢊa thông tin (thƣơng la dƣơi daṇ g cac văn ban lƣu trƣ trên may tinh ). Cꢀc sꢋn
́ ̃ ́ ́
̉
̀
̀
́
phâ
̉
m cua linh vƣ̣c nay la cac hệ ma mâṭ , cꢀc hꢆm băm, cꢀc hꢅ chƣ ky điêṇ tƣ , cꢀc cơ
̃ ̀ ̀ ́ ̃ ̃ ́
̉ ̉
chê
́
phân phối, quꢋn lꢐ khóa vꢆ cꢀc giao thꢔc mꢌt mꢍ.
Thꢀm mꢍ: Nghiên cƣu cac phƣơng phap pha ma hoăc
̣
taọ ma gia . Sꢋn phꢘm
̃
̉
́
́
́
́
̃
cꢊa lĩnh vꢠc nꢆy lꢆ cꢀc phƣơng phꢀp thꢀm mꢍ , cꢀc phƣơng phꢀp giꢋ mꢂo c hƣ ky, cꢀc
̃
́
phƣơng phap tấn công cac ham băm va cac giao thƣc mâṭ ma.
́ ̀ ̀ ́ ́ ̃
́
Trong giơi han
̣
cua môn hoc
̣
nay chung ta chu yê
́
u tâp̣ trung vao tim hiêu cac vấn đề
̉
̀ ̀ ́
́
̉
̀
́
̉
mꢍ hóa vꢃi cꢀc hꢅ mꢍ mꢌt, cꢀc hꢆm băm, cꢀc hꢅ chữ kꢐ điꢅn tử, cꢀc giao thꢔc mꢌt mꢍ.
Mꢀ hꢁa (cryptography) là một ngành khoa học của các phương pháp truyền tin bảo
mật. Trong tiếng Hy Lạp, “Crypto” (krypte) cꢁ nghĩa là che dấu hay đảo lộn, còn “Graphy”
(grafik) cꢁ nghĩa là từ. [3]
Ngƣꢡi ta quan niꢅm rằng: những tꢨ, những kꢐ tꢠ cꢊa bꢋn văn ban gꢁc có thꢙ hiꢙu
̉
đƣꢬc sẽ cꢖu thꢆnh nên bꢋn rõ (P-Plaintext), thƣơng thi đây la cac đoaṇ văn ban trong
̉
̀
̀
̀
́
môṭ ngôn ngƣ nao đo; còn những tꢨ, những kꢐ tꢠ ở dꢂng bꢒ mꢌt không thꢙ hiꢙu đƣꢬc thì
̃ ̀ ́
đƣꢬc gꢕi lꢆ bꢋn mꢍ (C-Ciphertext).
Có 2 phƣơng thꢔc mꢍ hoꢀ cơ bꢋn: thay thꢑ vꢆ hoꢀn vꢩ:
Phƣơng thꢔc mꢍ hoꢀ thay thꢑ lꢆ phƣơng thꢔc mꢍ hoꢀ mꢆ tꢨng kꢐ tꢠ gꢁc hay
mꢄt nhóm kꢐ tꢠ gꢁc cꢊa bꢋn rõ đƣꢬc thay thꢑ bởi cꢀc tꢨ, cꢀc kꢐ hiꢅu khꢀc hay kꢑt hꢬp
vꢃi nhau cho phù hꢬp vꢃi mꢄt phƣơng thꢔc nhꢖt đꢩnh vꢆ khoꢀ.
Phƣơng thꢔc mꢍ hoꢀ hoꢀn vꢩ lꢆ phƣơng thꢔc mꢍ hoꢀ mꢆ cꢀc tꢨ mꢍ cꢊa bꢋn
rõ đƣꢬc sꢉp xꢑp lꢂi theo mꢄt phƣơng thꢔc nhꢖt đꢩnh.
Cꢀc hꢅ mꢍ mât thƣơng sƣ dung kêt hơp ca hai ky thuâṭ nay.
̣
̣
́
̣
̀
̉
̉
̃
̀
6. Khái niꢃm hꢃ mꢏ mꢎt (CryptoSystem)
Một hệ mꢀ mật là bộ 5 (P, C, K, E, D) thoả mꢀn các điều kiện sau:
1)
2)
3)
Plà không gian bản rõ: là tập hữu hạn các bản rõ cꢁ thể cꢁ.
Clà không gian bản mꢀ: là tập hữu hạn các bản mꢀ cꢁ thể cꢁ.
K là kkhông gian khoá: là tập hữu hạn các khoá cꢁ thể cꢁ.
4)
Đối với mỗi k
K, cꢁ một quy tắc mꢀ hoá ek Evà một quy tắc giải mꢀ
tương ứng dk
D. Với mỗi ek: P →Cvà dk: C →Plà những hàm mà dk(ek(x)) = x cho mọi
bản rõ x P. Hàm giải mꢀ dk chꢂnh là ánh xạ ngưꢃc của hàm mꢀ hꢁa ek [5]
4
Chƣơng I: Giơi thiêu
̣
́
Thƣơng thi không gian cac ban ro va không gian cac ban ma la cac văn ban đƣợc
̀
̀
́
̉
̃
̀
́
̉
̃
̀
́
̉
tꢂo thꢆnh tꢨ mꢄt bꢄ chữ cꢀi Anꢆo đó. Đo co thê la bộ chƣ cai tiếng Anh, bộ ma ASCII, bộ
̉
̀ ̃ ́ ̃
́
́
mꢍ Unicode hoꢇc đơn giꢋn nhꢖt lꢆ cꢀc bit 0 vꢆ 1.
Tꢒnh chꢖt 4 lꢆ tꢒnh chꢖt quan trꢕng nhꢖt cꢊa mꢍ hoꢀ. Nꢄi dung cꢊa nó nói rằng nꢑu
mꢍ hoꢀ bằng ek vꢆ bꢋn mꢍ nhꢌn đƣꢬc sau đó đƣꢬc giꢋi mꢍ bằng hꢆm dk thì kꢑt quꢋ nhꢌn
đƣꢬc phꢋi lꢆ bꢋn rõ ban đꢦu x. Rõ rꢆng trong trƣꢡng hꢬp nꢆy, hꢆm ek(x) phꢋi lꢆ mꢄt đơn
ꢀnh, nꢑu không thì ta sẽ không giꢋi mꢍ đƣꢬc. Vì nꢑu tꢗn tꢂi x1 và x2 sao cho y = ek(x1) =
ek(x2) thì khi nhꢌn đƣꢬc bꢋn mꢍ y ta không biꢑt nó đƣꢬc mꢍ tꢨ x1 hay x2.
Trong mꢄt hꢅ mꢌt bꢖt kꢫ ta luôn có |C| ≥ |P| vì mỗi quy tꢉc mꢍ hoꢀ lꢆ mꢄt đơn ꢀnh.
Khi |C| = |P| thì mỗi hꢆm mꢍ hoꢀ lꢆ mꢄt hoꢀn vꢩ.
7. Mô hinh truyê
̀
n tin cơ ban cua mât
̣
ma hoc
̣
vꢅ luꢎt Kirchoff
̀
̉
̉
̃
Mô hinh truyê
̀
n tin thông thƣơng : Trong mô hinh truyên tin thông thƣơng thông tin
̀
̀
̀
̀
̀
đƣơ
̣
c truyê
̀
n (vân
̣
chuyê
gƣi thƣ) đƣợc coi la an toan.
̀ ̀
̉
n) tƣ ngƣơi gƣi đê
́
n ngƣơi nhân
̣
đƣợc thƣ̣c hiêṇ nhơ môṭ kênh vâṭ
̀
̀
̀
̉
̀
lꢐ (chă
̉
ng han
̣
nhƣ viêc
̣
̉
Mô hình truyên tin cơ bꢋn cua mâṭ ma hoc̣ :
̀
̉
̃
K1
K2
Insecured
Channel
Encrypt
Decrypt
Sender
Receiver
X
Y
Y
X
Enemy
Hình 1.1: Mô hình cơ bꢋn cꢊa truyền tin bꢋo mꢌt
Đây lꢆ mô hình cơ bꢋn cꢊa truyền tin bꢋo mꢌt. Khꢀc vꢃi truyền tin thông thƣꢡng, có
cꢀc yꢑu tꢁ mꢃi đƣꢬc thêm vꢆo nhƣ khꢀi niꢅm kꢮ đꢩch (E-Enemy), các khoá mã hoá và
giꢋi mꢍ K đꢙ đꢋm bꢋo tinh bao mꢌt cꢊa thông tin cꢦn truyền đi.
́
̉
Trong mô hinh nay ngƣꢡi gƣi S (Sender) muꢁn gửi mꢄt thông điêp
̣
X (Message – lꢆ
̀
̀
̉
môt
̣ ban ro) tꢃi ngƣꢡi nhꢌn R (Receiver) qua mꢄt kênh truyền không an toan (Insecured
̉
̃
̀
Channel), kꢮ đꢩch E (Enemy) có thꢙ nghe trꢄm, hay sửa đꢟi thông tin X. Vì vꢌy, S sử dꢈng
phép biꢑn đꢟi, tꢔc mꢍ hoꢀ (E-Encryption) lên thông tin X ở dꢂng đꢕc đƣꢬc (Plaintext) đꢙ
tꢂo ra mꢄt đoꢂn văn ban đƣơ
̣
c mã hoá Y (C-Ciphertext) không thꢙ hiê
quy luꢌt thông thƣơng sƣ dung môt thông tin bi mât đƣꢬc gꢕi lꢆ khoꢀ K1 (Key), khoá K1
chꢒnh lꢆ thông sꢁ điều khiꢙn cho phép biꢑn đꢟi tꢨ ban ro X sang ban mã Y (chỉ các bên
̉
u đƣꢬc theo mꢄt
̉
̣
̣
̣
̀
̉
́
̉
̃
̉
tham gia truyền tin S vꢆ R mơi có thꢙ biết khoa nay). Giꢋi mꢍ (D-Decryption) là quá trình
́ ̀
́
ngƣꢬc lꢂi cho phép ngƣꢡi nhꢌn thu đƣꢬc thông tin X ban đꢦu tꢨ đoꢂn mꢍ hoꢀ Y sƣ dun
̣
g
̉
khóa giꢋi mꢍ K2 (chú ꢐ lꢆ khóa giꢋi mꢍ vꢆ khóa mꢍ hóa có thꢙ khꢀc nhau hoăc
̣
la môt
̣
tùy
̀
thuôc
̣
vao hê
̣
ma sƣ dun
̣
g).
Cꢀc phép biꢑn đꢟi đƣꢬc sử dꢈng trong mô hình truyền tin trên thuꢄc về mꢄt hꢅ mꢍ
̣ (Cryptosytem) nꢆo đó.
̀
̃
̉
mât
5
Chƣơng I: Giơi thiêu
̣
́
Quꢀ trình mꢍ hóa vꢆ giꢋi mꢍ yêu cꢦu cꢀc quꢀ trình biꢑn đꢟi dữ liꢅu tꢨ dꢂng nguyên
thuꢭ thꢆnh in put cho viꢅc mꢍ hóa vꢆ chuyꢙn output cꢊa q uꢀ trình giꢋi mꢍ thꢆnh bꢋn rõ .
Cꢀc quꢀ trình nꢆy lꢆ cꢀc quꢀ trình biꢑn đꢟi không khóa vꢆ đƣꢬc gꢕi lꢆ cꢀc quꢀ trình
encode va decode.
̀
Theo luât
cơ chế mꢀ/giải mꢀ trừ khoá là không bꢂ mật đối với kẻ địch [5]. Rõ rꢆng khi đꢁi phƣơng
không biꢑt đƣꢬc hꢅ ma mꢌt đang sử dꢈng thuât toan ma hoa gi thì viꢅc tham mꢍ sẽ rꢖt
̣ Kirchoff (1835 - 1903) (mꢄt nguyên tắc cơ bꢋn trong mꢍ hoꢀ ) thì: toàn bộ
̣
̃
́
̃
́
̀
́
khó khăn. Nhƣng chúng ta không thꢙ tin vꢆo đꢄ an toꢆn cꢊa hꢅ ma mꢌt chỉ dꢠa vꢆo mꢄt
̃
giꢋ thiꢑt không chꢉc chꢉn lꢆ đꢁi phƣơng không biꢑt thuât
trình bꢆy mꢄt hꢅ mꢌt bꢖt kꢫ , chúng ta đều giꢋ thiꢑt hꢅ mꢌt đó đƣꢬc trình bꢆy dƣꢃi luât
Kirchoff.
̣ toan đang sử dꢈng . Vì vꢌy, khi
́
̣
ꢐ nghꢑa cꢆa luꢎt Kirchoff : sƣ
̣
an toan cua cac hê
̣
ma mât
̣
không phꢋi dꢠa vꢆo sꢠ
̀
̉
́
̃
phƣc tap cua thuât toan ma hoa sƣ duṇ g.
̣
̣
́
̉
́
̃
́
̉
8. Sơ lƣơ
Mât
cꢊa ngꢆnh khꢋo cꢟ hꢕc thu đƣơ
̣
̀ lic̣ h sƣ mâṭ ma hoc̣
̉
̃
̣
̣
la môt
̣
nganh khoa hoc
̣
co môt
̣
lic
y điề u nay. Nhƣng ngƣơi Ai câp̣ cô đaị đa sƣ
̉
̀ ̃ ̀ ̃
̉
̣
h sƣ khoang
4000 năm. Cꢀc cꢟ vꢌt
̃
̀
̀
́
̉
̉
̣
c đa cho thâ
́
̃
dꢈng cꢀc chữ tƣꢬng hình nhƣ lꢆ mꢄt dꢂng mꢍ hóa đơn giꢋn nhꢖt trên cꢀc bia mꢄ cꢊa hꢕ .
Cꢀc tꢆi liꢅu viꢑt tay khꢀc cꢧng cho thꢖy cꢀc phƣơng phꢀp mꢍ hóa đơn giꢋn đꢦu tiên mꢆ
loꢆi ngƣꢡi đꢍ sử dꢈng lꢆ cꢊa ngƣꢡi Ba Tƣ cꢟ vꢆ ngƣꢡi Do Thꢀi cꢟ.
Tuy vây
̣
co thê
̉
chia lic
n khoa hoc
nꢆy mꢌt mꢍ hꢕc đƣꢬc coi la môt
̣ h sƣ mâṭ ma hoc̣ thanh hai thơi ky nhƣ sau:
́
̉
̃
̀
̀
̀
Thơi ky tiê
̀
̣
: Tƣ trƣơc công nguyên cho tơi năm 1949. Trong giai đoan
̣
̀
̀
̀
́
́
̣
nghệ thuâṭ nhiều hơn la môṭ môn khoa hoc̣ măc̣ du đa
̀ ̀ ̃
̀
đƣơ
̣
c ƣng dun
̣
g trong thƣ
Lꢩch sử cꢊa mꢌt mꢍ hꢕc đƣꢬc đꢀnh dꢖu vꢆo năm 1949 khi Claude Shannon đƣa ra
lꢐ thuyꢑt thông tin . Sau thơi ky nay môt loat cac nghi ên cƣu quan trong cua nghanh mât
mꢍ hꢕc đꢍ đƣꢬc thꢠc hiꢅn chꢱng hꢂn nhƣ cꢀc nghiên cꢔu về mꢍ khꢁi , sƣ
hê ma mât khoa công khai va chƣ ky điên tƣ.
̣c tế.
́
̣
̣
̣
̣
̀
̀
̀
́
́
̉
̀
̣
ra đơi cua cac
̀ ́
̉
̣
̣
̣
̃
́
̀
̃
́
̉
Qua nhiê
đich quân sƣ (giꢀn điꢅp, ngoꢂi giao, chiê
trƣơc đây hoang đê La ma Julius Caesar đa tƣng sƣ dun
̀
u thê
́
ky phat triê
̉
n cua mât
̣
ma hoc
̣
chu yê
́
u đƣ ꢬc phꢈc vꢈ cho cꢀc mꢈc
n tranh …). Môt vi du điên hinh la 2000 năm
g môt thuât
n tranh Gallic.
̉
́
̉
̃
̉
̣
́
̣
̣
̉
́
́
̀
̀
́
̣
̣
̣ toan thay thế đơn
́
́
̀
̃
̃
̀
̉
giꢋn mꢆ ngꢆy nay đƣꢬc mang tên ông trong cuôc̣ chiế
Tꢀc phꢘm “A manuscript on Deciphering Cryptography Messages” cꢊa Abu al -Kindi
đƣꢬc viꢑt vꢆo thꢑ kꢭ thꢔ 9 đƣơc tim thây tai Istabul vao năm 1987 đa cho thây nhƣng nha
khoa hoc râp la nhƣng ngƣơi đâu tiên đa phat triê
phân tich tâ
̣
́
̣
́
̀
̀
̃
̃
̀
̣
A
̉
̣
̀
̉
n cac phƣơng phap tham ma dƣ̣a vao
́ ́ ́ ̃ ̀
̀
̃
̀
̃
́
̀
n số xuất hiêṇ cua cac ky tƣ̣ đối vơi cac hệ ma thay thế đơn âm (môṭ phƣơng
̉
́ ́ ́ ́ ̃
́
phꢀp đƣꢬc sử dꢈng rꢄng rꢍi trong thꢡi kꢫ Trung cꢟ do đơn giꢋn vꢆ khꢀ hiꢅu quꢋ).
ꢲ châu Âu thơi ky Trung cô la môt khoang thơi gian u am va tăm tôi cua lich sƣ nên
̉
̣
́
̣
̀
̀
̀
̉
̀
́
̀
̉
̉
không co nhiều phat triên maṇ h về văn hoa noi chung va mâṭ ma hoc̣ noi riêng . Mꢄt vꢆi
̉
́ ́ ́ ̀ ̃ ́
́
sꢠ kiꢅn đƣꢬc ghi lꢂi bởi cꢀc vꢩ linh mꢈc nhƣng chỉ có Roger Bacon lꢆ ngƣꢡi thꢠc sꢠ đꢍ
viꢑt về mꢌt mꢍ hꢕc trong tꢀc phꢘm “Secret Work of Art and the Nullity of Magic” vꢆo giữa
những năm 1200. Vꢆo thꢡi Trung cꢟ mꢄt trong những cꢀi tên nꢟi tiꢑng nhꢖt lꢆ Chaucer,
ngƣơi đꢍ đƣa ra cꢀc công trình nghiên cꢔu nghiêm túc đꢦu tiên về mꢌt mꢍ hꢕc trong cꢀc
̀
6
Chƣơng I: Giơi thiêu
̣
́
tꢀc phꢘm cꢊa mình chꢱng hꢂn nhƣ “Treatise on the Astrolabe”. Trong thơi ky Trung cô ơ
̉
̉
̀
̀
phƣơng Tây cuꢁn sꢀch cꢊa Blaise De Vegenere (ngƣơi phat minh ra thuâṭ toan ma hoa
́ ̃ ́
̀
́
thay thế đa âm tiết ) đƣợc xem nhƣ la môṭ tꢟng kꢑt cꢀc kiꢑn thꢔc về mꢌt mꢍ hꢕc cho tꢃi
̀
thꢡi điꢙm bꢖy giꢡ, bao gꢗm cꢋ thuꢌt toꢀn thay thꢑ đa âm tiꢑt vꢆ mꢄt vꢆi sơ đꢗ khóa tꢠ
đꢄng.
Blaise De Vegenere cung la tac gia cua hệ ma mang tên ông , hệ ma nay đa tƣng
̃ ̃ ̀ ̃ ̀
̃
̀
́
̉
̉
đƣơ
Babbages đꢍ thꢠc hiꢅn thꢀm mꢍ thꢆnh công vꢆo năm 1854 nhƣng điều nꢆy đƣꢬc giữ bꢒ
mꢌt. Môt thuꢌt toꢀn thꢀm mꢍ đƣꢬc phꢀt hiꢅn đꢄc lꢌ p bởi mꢄt nhꢆ khoa hꢕc ngƣꢡi Phô
(thuôc nƣơc Đƣc ngay nay) có tên là Friedrich Kasiski . Tuy vây do viꢅc thiꢑu cꢀc thiꢑt bꢩ
̣c xem la an toan tuyêṭ đố i va đƣợc sƣ duṇ g trong môṭ thơi gian dai, tuy nhiên Charles
̀
̀
̀
̉
̀
̀
̣
̉
̣
̣
́
́
̀
cꢋi tiꢑn nên cꢀc biꢑn thꢙ cꢊa thuꢌt toꢀn mꢍ hóa nꢆy vꢪn còn đƣꢬc sử dꢈng trong những
năm đꢦu cꢊa thꢑ kꢭ 20 mꢆ tiêu biꢙu nhꢖt lꢆ viꢅc thꢀm mꢍ thꢆnh công mꢀy điꢅn tꢒn
Zimmermann cua quân Đƣc (môt
̣
trong cac sƣ
̣
kiêṇ tiêu biêu cua mâṭ ma hoc̣ ) trong thꢑ
̉
̉
̃
̉
́
́
chiꢑn thꢔ nhꢖt vꢆ kꢑt quꢋ lꢆ sꢠ tham gia cꢊa Mꢓ vꢆo cuꢄc chiꢑn.
Vơi sƣ xuât hiên cua cac hê thông may tinh ca nhân va man
văn ban ngay cang đƣơc lƣu trƣ va xƣ ly nhiều hơn trên cac may tinh do đo nay sinh yêu
́ ́ ́ ́
̉
̣
́
̣
̣
́
̣ g may tinh cac thông tin
́
̉
́
́
́
́
̀
́
́
́
̣
̉
̀
̀
̃
̀
̉
́
câ
̀
u vê
̀
an toan bao mât
̣
đô
́
i vơi cac thông tin đƣơ
̣
c lƣu trƣ , xƣ ly va truyê
̀
n giƣa cac may
̀
̉
́
́
̃
̉
́
̀
̃
́
́
tꢒnh.
Vꢆo đꢦu những năm 1970 lꢆ sꢠ phꢀt triꢙn cꢊa cꢀc thuꢌt toꢀn mꢍ hóa khꢁi đꢦu tiên:
Lucipher và DES . DES sau đo đa co môt sƣ phat triên ƣng dung rƣc rơ cho tơi đâ
̣
̣
̉
̣
̣
̀u
́
̃
́
́
́
̃
́
nhƣng năm 90.
̃
Vꢆo cuꢁi những năm 1970 chꢔng kiꢑn sꢠ phꢀt triꢙn cꢊa cꢀc thuꢌt toꢀn mꢍ hóa
khóa công khai sau khi Whitfield Diffie va Martin Hellman công bô bai bao “New Directions
́
̀
̀
́
in Cryptography” lꢆm nền tꢋng cho sꢠ ra đꢡi cꢊa cꢀc hꢅ mꢍ khóa công khai vꢆ cꢀc hꢅ
chƣ ky điên tƣ.
̣
̃
́
̉
Do nhƣơ
̣
c điê
̉
m cua cac hê
̣
ma mât
̣
khoa công khai la châm
̣
nên cac hê
̣
ma khô
́
i vâ
̃
n
̉
́
̃
́
̀
́
̃
tiê
́
p tꢈc đƣꢬc phꢀt triꢙn vꢃi cꢀc hꢅ mꢍ khꢁi mꢃi ra đꢡi đꢙ thay thꢑ cho DES vao cuô
́
i thê
́
̀
kꢭ 20 nhƣ IDEA, AES hoăc
̣
3DES (môṭ cai tiến cꢊa DES).
̉
Gân đây nhât lꢆ cꢀc sꢠ kiꢅn liên quan tꢃi cꢀc hꢆm băm MD5 (môt
hꢕ MD d o Ron Rivest phat triên ) vꢆ SHA1. Môt nhom cac nhꢆ khoa hꢕc ngƣꢡi Trung
c (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) đa phat triê
̀
́
̣ ham băm thuôc̣
̀
̉
̣
́
́
́
Quô
phép phꢀt hiꢅn ra cꢀc đꢈng đꢄ cꢊa cꢀc hꢆm băm đƣꢬc sử dꢈng rꢄng rꢍi nhꢖt trong sô
hꢆm băm nꢆy. Đây la môt sƣ kiên lơn đôi vơi nganh mât ma hoc do sƣ ƣng dung rông rai
vꢆ có thꢙ xem lꢆ còn quan trꢕng hơn bꢋn thân cꢀc hꢅ mꢍ mꢌt cꢊa cꢀc hꢆm băm . Do sƣ
kiên nay cac hang viêt phân mêm lơ n (nhƣ Microsoft) vꢆ cꢀc nhꢆ mꢌt mꢍ hꢕc đꢍ khuyꢑn
́
̉
n cꢀc phƣơng phꢀp cho
̃
́
́
cac
́
̣
̣
̣
́
̣
̣
̣
̣
̣
̀
́
́
̀
̃
́
̃
̣
̣
́
̀
̀
̀
́
̃
́
cꢀo cꢀc lꢌp trình viên sử dꢈng cꢀc hꢆm băm mꢂnh hơn (nhƣ SHA-256, SHA-512) trong
cꢀc ꢔng dꢈng.
Bruce Schneier (môt
̣
trong nhƣng nha mât
̣
ma hoc
̣
hang đâ
̀
u
, tꢀc giꢋ cꢊa hꢅ mꢍ
̃
̀
̃
̀
Blowfish) đa tƣng noi răng cac hinh thƣc tâ
̀
́
n công đô
́
i vơi cac hê
̣
ma mât noi riêng va tấn
̣
̃
̀
́
́
̀
́
́
́
̃
́
̀
công đô
́
i vơi cac hê
̣
thô
́
ng may tinh noi chung se ngay cang trơ nên hoan thiên
̣
hơn
́
́
́
́
́
̃
̀
̀
̉
̀
“Attacks always get better ; they never get worse .” va li c
̣
h sƣ phat triê
̉
n cua mât ma hoc
̣
̣
̀
̉
́
̉
̃
chꢒnh lꢆ lꢩch sử phꢀt triꢙn cꢊa cꢀc hình thꢔc tꢖn công đꢁi vꢃi cꢀc hꢅ mꢍ mꢌt đang đƣꢬc
sƣ dung.
̣
̉
7
Chƣơng I: Giơi thiêu
̣
́
9. Phân loai
Có nhiều cꢀch khꢀc nhau đꢙ chúng ta có thꢙ phâ n loai
sẽ đƣꢬc hꢕc trong chƣơng trình. ꢲ đây chúng ta sẽ phân loꢂi cꢀc thuꢌt toꢀn mꢌt mꢍ hꢕc
dƣa vao hai loai tiêu chi.
̣ cac thuâṭ toan mâṭ ma hoc̣
́
́
̃
̣
cac thuâṭ toan mâṭ ma hoc̣
́ ́ ̃
̣
̣
̀
́
Tiêu chi thƣ nhâ
́
t la dƣ
̣
a vao cac dic
̣
h vu
cấp, dƣ̣a vao số lƣợng khoa sƣ duṇ g (0, 1, 2) chúng ta có cꢀc thuꢌt toꢀn mꢍ hóa sau:
̀ ́
̉
̣
an toan bao mât
̣
ma cac thuât
̣
toꢀn cung
́
́
̀
̀
́
̀
̉
̀
́
1. Cꢀc thuꢌt toꢀn mꢍ hóa khóa bꢒ mꢌt tƣơng ꢔng vꢃi cꢀc hꢅ mꢍ mꢌt khóa bꢒ mꢌt
hay khoa đôi xƣng SKC (Symmetric Key Cryptosytems), do vai tro cua ngƣơi nhân va
́
̣
́
́
̀
̉
̀
̀
ngƣơi gƣi la nhƣ nhau , cꢋ hai đều có thꢙ mꢍ hóa vꢆ giꢋi mꢍ thông điꢅp , nhƣ Caesar,
̀
̉
̀
DES, AES … Khoa sƣ duṇ g cho cac thuâṭ toan nay la 1 khóa cho cꢋ viꢅc mꢍ hóa vꢆ giꢋi
́ ́ ̀ ̀
́
̉
mꢍ.
2. Cꢀc thuꢌt toꢀn mꢍ hóa khóa công khai tƣơng ꢔng vꢃi cꢀc hꢅ mꢍ khóa công
khai PKC (Public Key Cryptosystems). Đôi khi cac hê ma nay con đƣơc goi la cac hê ma
̣
̣
̣
̣
́
̃
̀
̀
̀
́
̃
khóa bꢖt đꢁi xꢔng (Asymmetric Key Cryptosytems). Khóa sử dꢈng cho cꢀc thuꢌt toꢀn nꢆy
lꢆ 2 khóa, môt cho viêc ma hoa va môt cho viêc giai ma , khóa mꢍ hóa đƣꢬc công khai
hóa.
̣
̣
̣
̣
̃
́
̀
̉
̃
3. Cꢀc thuꢌt toꢀn tꢂo chữ kꢐ điꢅn tử
(Digital Signature Algorithms). Cꢀc thuꢌt
i hê chƣ ky
̣ ma mâṭ khoa công khai nhƣng vơi cach ap
̃
toꢀn tꢂo chữ kꢐ điꢅn tử tꢂo thꢆnh cꢀc hꢅ chữ kꢐ điꢅn tử . Thông thƣơng mô
̃
̣
̀
̃
́
điên
̣
tƣ co cung cơ sơ ly thuyê
́
t vơi môt
̣
hê
dꢈng khꢀc nhau. Trong chƣơng trinh hoc chung ta se hoc̣ môṭ số hệ chƣ ky điêṇ tƣ phô
̉
̃ ́
̉
̉
́
̀
̉
́
́
́
́
́
́
̣
̀
́
̃
biến la RSA, ElGammma…
̀
4. Cꢀc hꢆm băm (Hash functions). Cꢀc hꢆm băm lꢆ cꢀc thuꢌt toꢀn mꢍ hóa không
khóa hoꢇc có khóa vꢆ thƣꢡng đƣꢬc sử dꢈng trong cꢀc hꢅ chữ kꢐ điꢅn tử hoꢇc cꢀc hꢅ mꢍ
khóa công khai.
Tiêu chi thƣ hai phân loaị cac thuâṭ toan ma hóa dꢠa trên cꢀch thꢔc xử lꢐ input cꢊa
́ ́ ̃
́
́
thuât
̣
toan (tƣc la ban ro ), dƣ
̣
a trên tiêu chi nay chung ta co hai loai
̣
thuât
̣
toan ma hoa
́
́
̀
̉
̃
́
̀
́
́
́
̃
́
sau:
̉
1. Cꢀc thuꢌt toꢀn mꢍ hóa khꢁi (chăng haṇ nhƣ DES , AES …) xƣ ly ban ro dƣơi
́ ̃ ́
̉ ̉
cꢀc đơn vꢩ cơ bꢋn lꢆ cꢀc khꢁi có kꢒch thƣꢃc giꢁng nhau.
2. Cꢀc thuꢌt toꢀn mꢍ hóa dòng (RC4 …) coi ban ro la môṭ luồng bit, byte liên tuc̣ .
̉
̃
̀
10. Môṭ số ƣng duṇ g cua mâṭ ma hoc̣
́ ̃
̉
Ngꢆy nay khó có thꢙ tìm thꢖy cꢀc ꢔng dꢈng trên mꢀy tꢒnh lꢂi không sƣ dun
̣
g tơi cac
́ ́
̉
thuât
̣
toan va cac giao thƣc mât
̣
ma hoc
̣
. Tƣ cac ƣng duṇ g cho cac may tinh ca nhân
̀ ́ ́ ́ ́ ́ ́
́
̀
́
́
̃
(Desktop Applications ) cho tơi cac chƣơng trinh hê
̣
thô
g nhƣ Yahoo Messenger hoăc
toan ma hoa mât khâu ngƣơi dung băng môt
̣ ham băm nao đo . Đꢇc biꢅt vꢃi sꢠ phꢀt triꢙn mꢂnh mẽ cꢊa thƣơng mꢂi điꢅn tử
́ng nhƣ cac hệ điều hanh
́
́
̀
́
̀
(Operating Systems) hoăc
dƣ liêu đêu co sƣ dung cac thuât
môt
cꢀc mô hình chƣ ky điên
̣
cac ƣng dun
̣
g man
̣
̣ cac hệ cơ sơ
́
̉
́
́
̣
̀
̣
̣
̣
̉
̀
̣ hệ ma
̃
̃
́
̉
́
́
̃
́
̀
̀
hoăc
̣
̀
̀
́
̣
tƣ ngay cang đong vai tro tich cƣ
̣
c cho môt
̉
cho ngƣơi dung. Tuy vâỵ chung ta vẫn co thê chia cac linh vꢠc ꢔng dꢈng cꢊa mꢌt mꢍ hꢕc
́ ́
̣ môi trƣơng an toan
̃
́
̉
̀
̀
́
̀
́
̀
̀
̀
̀
́
̃
thꢆnh cꢀc lĩnh vꢠc nhỏ nhƣ sau:
8
Chƣơng I: Giơi thiêu
̣
́
Bꢋo mꢌt (Confidentiality): che dâ
phiên truyên thông hoăc giao dich hoăc
tꢒnh (cꢀc file, cꢀc dữ liꢅu trong mꢄt cơ sở dữ liꢅu …).
́
u nôi
̣
dung cua cac thông điêp
̣
đƣơ
̣
c trao đô
̉
i
̉
́
trong môt
̣
̀
̣
̣
̣
cac thông điêp
̣
trên môt
̣
hê thô
̣
́
ng may
́
́
Xꢀc thꢠc hóa (Authentication): đam bao nguồn gốc cua môṭ thông điêp̣ , ngƣơi
̉ ̉ ̉
̀
dùng.
Toꢆn vꢯn (Integrity): đam bao chi co cac tô chƣc đa đƣợc xac thƣ̣c hoa mơi co
̉
́ ̃ ́ ́ ́ ́
̉
̉
̉
́
́
thê
̉
thay đô
Dꢩch vꢈ khôn g thê
phu nhân viêc tham gia vao môt
Ngoꢆi ra còn cꢀc dꢩch vꢈ quan trꢕng khꢀc chꢱng hꢂn nhƣ chữ kꢐ điꢅn tử , dꢩch
̉
i cac tai san cua hê
̣
thô
́
ng cung nhƣ cac thông tin trên đƣơng truyê
̀
n.
́
̀
̉
̉
̃
́
̀
̉
chô
́
i tƣ (Non-Repudiation): Cꢀc bên đꢍ đƣꢬc xꢀc thꢠc
̀
không thê
̉
̣
̣
̣ giao dic̣ h hợp lê.̣
̉
̀
vꢈ chꢔng thꢠc danh tꢒnh (Identification) cho phep thay thê
́
hinh thƣc xac thƣ
̣
c hoa ngƣơi
́
̀
́
́
́
̀
dùng dꢠa trên cꢀc mꢌt khꢘu bằng cꢀc kꢓ thuꢌt mꢂnh hơn hoăc
̣
dic
̣
h vu
̣
thƣơng mai
̣
điên
̣
tƣ cho phep tiên hanh cac giao dich an toan trên cac kênh truyền thông không an t
́
̣
oꢆn
̉
́
̀
́
̀
́
nhƣ Internet.
9
Chƣơng II: Cơ sơ toán hꢊc
̉
CHƢƠNG II: CƠ SƠ
Đê hiêu đƣơc nhƣng thuât
tƣ cung nhƣ cac giao thƣc mâṭ ma , chúng ta phꢋi có những kiꢑn thꢔc nền tang cơ
̃
̉
̉
TOꢒN HꢓC
toan sƣ duṇ g trong cac hệ ma mâṭ , trong cac hệ chƣ ky
́ ̃ ́ ̃ ́
̉
̉
̣
̣
̃
́
̉
điên
̣
̉
̃
́
́
bꢋn về toꢀn hoc
̣
, lꢐ thuyꢑt thông tin … đƣơ
cơ ban vê ly thuyêt thông tin nhƣ Entropy , tô
cua thuât toan , đô an toan cua thuât
̣c sƣ duṇ g trong mâṭ ma hoc̣ . Chƣơng nay trinh
̉
̃
̀
̀
bꢆy nhƣng khai niêm
̣
̀
́
́c độ cua ngôn ngƣ
̉
̃
̃
́
̉
́
(Rate of Language), đô
kiên thƣc toꢀn hꢕc: đông dƣ sô
đinh ly Fermat . . . vꢆ cꢀc thuꢌt toꢀn kiê
trình bꢆy trong chƣơng nꢆy gô
̣
phƣc tap
̣
̣
̣
̣
toan, vꢆ mꢄt sꢁ
́
̉
́
̀
̉
́
́
̀
́
hoc
̣
(modulo), sô
́
nguyên tô
. Nhƣng vấn đề chinh se đƣợc
́ ̃
́
, đin
̣
h ly phâ
̀
n dƣ trung hoa ,
́
́
̣
̉
m tra sô nguyên tô
́
́
́
̃
̀
m :
Lꢔ thuyꢉt thông tin
Lꢔ thuyꢉt đꢕ phꢈc tꢖp
Lꢔ thuyꢉt sꢄ hꢊc.
1. Lꢔ thuyꢉt thông tin
Nhƣng khai niêm
̣
mơ đâ
̀
u cua lꢐ thuyꢑt thông tin đƣꢬc đƣa ra lâ
̀
n đâ
đƣꢬc coi lꢆ cha đꢙ cꢊa lꢐ thuyꢑt
sô chu đê quan trong cua ly thuyê
̀u tiên vao năm
̃
́
̉
̉
̀
1948 bơi Claude Elmwood Shannon (môṭ nha khoa hoc̣
̀
̉
thông tin). Trong phâ
̀
n nay chung ta chi đê
̀
câp
̣
tơi môt
̣
́
̀
̣
́t
̀
́
̉
́
̉
̉
́
thông tin.
1.1. Entropy
Lꢐ thuyꢑt thông tin đꢩnh nghĩa khô
́
i lƣơ
̣
ng thông tin trong môṭ thông bao lꢆ sꢁ bꢒt nho
́
̉
nhâ
́
t cân thiêt đê ma hoa tât ca nhƣng nghia co thê
̀
́
̉
́
̉
cua thông bao đo.
̃
́
̉
̃
̃
́
̉
́
́
Vꢒ dꢈ, trƣơng ngay_thang trong môṭ cơ sơ dƣ liêụ chƣa không qua 3 bꢒt thông tin,
̉
̃ ́ ́
̀
bơi vi thông tin ngay có thꢙ mꢍ hoꢀ vꢃi 3 bꢒt dữ liꢅu:
̉
̀
̀
000 = Sunday
001 = Monday
010 = Tuesday
011 = Wednesday
100 = Thursday
101 = Friday
110 = Saturday
111 is unused
Nếu thông tin nay đƣợc biêu diễn bơi chuỗi ky tƣ̣ ASCII tƣơng ƣng , nó sẽ chiꢑm
̉
̀ ́ ́
̉
nhiê
̀
u không gian nhơ hơn , nhƣng cung không chƣa nhiê
̀
u thông tin hơn . Tƣơng tƣ
cơ sơ dƣ liêụ chỉ chꢔa 1 bꢒt thông tin, nó có thꢙ lƣu trữ nhƣ mꢄt
̉
̃
̣ nhƣ
́
̃
́
trƣơng gioi_tinh cua môt
̣
̀
̉
trong hai xâu ky tƣ̣ ASCII : Nam, Nƣ.
̃
́
Khối lƣợng thông tin trong môṭ thông bao M đo bơi Entropy cu a thông bao đo, kꢐ
́ ́ ́
̉ ̉
hiêu
̣ la H(M). Entropy cua thông bao gioi _tinh la 1 bꢒt, kꢐ hiꢅu H (gioi_tinh) = 1, Entropy
̀
̉
́
̀
cꢊa thông bꢀo sꢁ ngꢆy trong tuꢦn lꢆ nhỏ hơn 3 bits.
10
Chƣơng II: Cơ sơ toán hꢊc
̉
Trong trƣơng hơ
̣
p tô
̉
ng quꢀt, Entropy cꢊa mꢄt thông bꢀo lꢆ log n, vơi n la sô
́
kha
2
̉
̀
́
̀
năng co thê
̉
(ꢐ nghĩa) cꢊa thông bꢀo.
́
H(M) = log2n
1.2. Tô
́
c độ cua ngôn ngƣ. (Rate of Language)
̉
̃
Đꢁi vꢃi mꢄt ngôn ngữ, tô
́
c đô
̣
thƣ
̣
c tê
́
(actual rate) cꢊa ngôn ngữ lꢆ:
r = H(M)/N
trong trƣơng hợp nay N la độ dai cua thông bao vꢆ M lꢆ mꢄt thông điꢅp có đꢄ dꢆi N.
̀ ̀ ̀ ́
̉
̀
Tô
́
c đô
̣
cua tiê
́
ng Anh binh thƣơng lꢆ 0.28 do đo mô
̃
i chƣ cai tiê
́
ng Anh co 1.3 bit nghĩa.
̉
̀
̀
́
̃
́
́
Tô
́
c đô
̣
tuyêt
̣
đô
́
i (absolute rate) cꢊa môt t câ
̣
ngôn ngƣ la sô
́
bits lơn nhâ
́
̀n thiết đê
̉
̃
̀
́
mꢍ hóa cꢀc kꢐ tƣ
̣
cua ngôn ngƣ đo . Nê
́
u co L ky tƣ̣ trong môṭ ngôn ngƣ , thì tꢁc đꢄ tuyꢅt
̉
̃
́
́
́
̃
đôi la :
́
̀
R = log2L
i ky tƣ đơn le . Đꢁi vꢃi tiꢑng Anh gꢗm 26 chƣ cai,
Đây la sô
́
Entropy lơn nhâ
́
t cua mô
̃
̣
̀
́
̉
́
̉
̃
́
tốc độ tuyêṭ đối la log 226 = 4.7bits/chƣ cꢀi. Sẽ không có điều gì lꢆ ngꢂc nhiên đꢁi vꢃi tꢖt
̀ ̃
cꢋ mꢕi ngƣꢡi rằng thꢠc tꢑ tꢁc đꢄ cꢊa tiꢑng Anh nhỏ hơn nhiề u so vơi tô
́
c đô
chúng ta vꢪn thꢖy rằng đꢁi vꢃi mꢄt thông bꢀo bằng tiꢑng Anh có thꢙ loꢂi bỏ môt
cꢀi nhƣng ngƣꢡi đꢕc vꢪn có thꢙ hiꢙu đƣꢬc . Hiên tƣơng nay đƣơc goi la đô dƣ thƣa cua
ngôn ngƣ (Redundancy) tƣ nhiên.
̣
tuyêt
̣
đô
́
i , vꢆ
́
̣
số
chƣ
̃
̣
̣
̣
̣
̣
̀
̀
̀
̉
̣
̃
Không chi đô
́
i vơi tiê
́
ng Anh ma vơi hâ
̀
u hê
́
t cac ngôn ngƣ tƣ
̣
nhiên , do cấu truc cua
́
̉
̉
́
̀
́
́
̃
ngôn ngƣ, do viêc
̣
sƣ dun
̣
g ngôn ngƣ dâ
̃
n tơi co môt
̣
sô
vơi môt câ
i bo cac chƣ cai nay.
́
chƣ cai đƣơc sƣ dung vơi tần
̣
̣
̃
̉
̃
́
́
̃
́
̉
́
suâ
́
t không đô
̀
ng đê
̀
u hoăc
̣
chi co thê
̉
xuâ
́
t hiên
̣
̣
́u truc nao đo lam cho chung ta
́ ̀ ́ ̀ ́
̉
́
́
vân co thê
̃
̉
đoan đƣơ
̣
c nghia cua cac thông bao nê
́
u loa
Đꢄ dƣ thꢨa (Redundancy) cꢊa mꢄt ngôn ngữ kꢐ hiꢅu lꢆ D vꢆ D = R – r. Đꢁi vꢃi
́ng Anh:
̣
́
́
̃
̉
́
́
̉
́
̃
́
̀
tiê
D = 1 - .28 = .72 letters/letter
D = 4.7 – 1.3 = 3.4 bits/letter
Nhƣ vâỵ mỗi chƣ cai co 1.3 bit nghia vꢆ 3.4 bit dƣ thƣa (xấp xi 72%).
̃ ́ ́ ̃ ̀
̉
1.3. Tꢗnh an toan cua hê
̣
thố ng ma hoa
̃ ́
̀
̉
Shannon điṇ h nghia rất ro rang , tỉ mỉ cꢀc mô hình toꢀn hꢕc đꢙ đꢀnh giꢀ đꢄ an toan
̃ ̃ ̀ ̀
cꢊa cꢀc hꢅ mꢍ mꢌt sử dꢈng . Mꢈc đꢒch cꢊa ngƣꢡi thꢀm mꢍ lꢆ phꢀt hiꢅn ra khoꢀ sƣ dꢈng
̉
cꢊa hꢅ mꢍ (K-Key), bꢋn rõ (P-PlainText), hoăc
môt vai thông tin co kha năng vê ban ro P chăng han
lꢆ mꢄt văn ban tiê bꢋng tꢒnh dữ liꢅu, v. v . . .
̣ ca hai . Hơn nƣa họ co thê hai long vơi
̉
̉
̃
́
̀
̀
́
̣
̀
̉
̣ nhƣ đo la âm thanh dꢂng số, hoăc̣
́ ̀
̀
́
̉
̉
̃
́
ng Đƣc, hoăc
̣
lꢆ môt
̣
̉
́
Trong hâ
̀
u hê
́
t cac lâ
̀
n thꢀm mꢍ, ngƣơi thꢀm mꢍ thƣơng cô
́
gắng thu thâp̣ môṭ số
́
̀
̀
thông tin co kha năng vê
̀
bꢋn rõ P trƣơc khi bă
́
t đâ
n co sƣ dƣ thƣa kết hợp vơi chinh ngôn ngƣ đo.
́ ́ ̃ ́
̀u. Hꢕ có thꢙ biꢑt ngôn ngữ đꢍ đƣꢬc sƣ
́
̉
́
̉
dꢈng đꢙ mꢍ hoꢀ. Ngôn ngƣ nay chă
́
c chă
́
̣
̃
̀
́
̀
Nê
́
u no la môt
̣
thông bao gƣi tơi Bob, nó có thꢙ bꢉt đꢦu vꢃi "Dear Bob". Đoan
̣
văn ban
̉
́
̀
́
̉
́
11
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình An toàn và bảo mật thông tin - Nguyễn Hữu Tuân", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_an_toan_va_bao_mat_thong_tin_nguyen_huu_tuan.pdf

