1
Li gii thiu
Mt mã (Cryptography) là ngành khoa hc là ngành nghiên cu các k thut toán hc
nhm cung cp các dch v bo v thông tin [44]. Đây là ngành khoa hc quan trng,
có nhiu ng dng trong đời sng – xã hi.
Khoa hc mt mã đã ra đời t hàng nghìn năm. Tuy nhiên, trong sut nhiu thế k, các
kết qu ca lĩnh vc này hu như không đưc ng dng trong các lĩnh vc dân s
thông thường ca đời sng – xã hi mà ch yếu được s dng trong lĩnh vc quân s,
chính tr, ngoi giao... Ngày nay, các ng dng mã hóa và bo mt thông tin đang được
s dng ngày càng ph biến trong các lĩnh vc khác nhau trên thế gii, t các lĩnh vc
an ninh, quân s, quc phòng…, cho đến các lĩnh vc dân s như thương mi đin t,
ngân hàng…
Vi s phát trin ngày càng nhanh chóng ca Internet và các ng dng giao dch đin
t trên mng, nhu cu bo v thông tin trong các h thngng dng đin t ngày
càng đưc quan tâm và ý nghĩa hết sc quan trng.c kết qu ca khoa hc mt
ngày càng được trin khai trong nhiu lĩnh vc khác nhau ca đời sng – hi,
trong đó phi k đến rt nhiu nhng ng dng đa dng trong lĩnh vc dân s, thương
mi...Các ng dng mã hóa thông tin cá nhân, trao đổi thông tin kinh doanh, thc hin
các giao dch đin t qua mng... đã tr nên gn gũi và quen thuc vi mi người.
Cùng vi s phát trin ca khoa hc máy tính và Internet, các nghiên cu và ng dng
ca mt mã hc ngày càng tr nên đa dng hơn, m ra nhiu hướng nghiên cu chuyên
sâu vào tng lĩnh vc ng dng đặc thù vi nhng đặc trưng rng. ng dng ca khoa
hc mt mã không ch đơn thun là mã hóa và gii mã thông tin mà còn bao gm nhiu
vn đề khác nhau cn được nghiên cu và gii quyết, ví d như chng thc ngun gc
2
ni dung thông tin (k thut chđin t), chng nhn tính xác thc v người s hu
mã khóa (chng nhn khóa công cng), các quy trình giúp trao đổi thông tin và thc
hin giao dch đin t an toàn trên mng...
Các ng dng ca mt mã hc và khoa hc bo v thông tin rt đa dng và phong phú;
tùy vào nh đặc thù ca mi h thng bo v thông tin ng dng s có các tính
năng vi đặc trưng riêng. Trong đó, chúng ta có th k ra mt s tính năng chính ca
h thng bo v thông tin:
Tính bo mt thông tin: h thng đảm bo thông tin được gi bí mt. Thông
tin có th b phát hin, ví d như trong quá trình truyn nhn, nhưng người tn
công không th hiu đưc ni dung thông tin b đánh cp này.
Tính toàn vn thông tin: h thng bo đảm tính toàn vn thông tin trong liên
lc hoc giúp phát hin rng tng tin đã b sa đổi.
Xác thc các đối tác trong liên lc và xác thc ni dung thông tin trong liên
lc.
Chng li s thoái thác trách nhim: h thng đảm bo mt đối tác bt k
trong h thng không th t chi trách nhim v hành động mình đã thc
hin
Nhng kết qu nghiên cu v mt mã cũng đã được đưa vào trong các h thng phc
tp hơn, kết hp vi nhng k thut khác để đáp ng yêu cu đa dng ca các h thng
ng dng khác nhau trong thc tế, ví d như h thng b phiếu bu c qua mng, h
thng đào to t xa, h thng qun lý an ninh ca các đơn v vi hướng tiếp cn sinh
trc hc, h thng cung cp dch v đa phương tin trên mng vi yêu cu cung cp
dch v và bo v bn quyn s hu trí tu đối vi thông tin s...
3
Khi biên son tp sách này, nhóm tác gi chúng tôi mong mun gii thiu vi quý độc
gi nhng kiến thc tng quan v mã hóa và ng dng, đồng thi trình bày và phân
tích mt s phương pháp mã hóa và quy trình bo v thông tin an toàn và hiu qu
trong thc tế.
Bên cnh các phương pp mã hóa kinh đin ni tiếng đã được s dng rng rãi trong
nhiu thp niên qua như DES, RSA, MD5…, chúng tôi cũng gii thiu vi bn đọc
các phương pháp mi, có độ an toàn cao như chun mã hóa AES, phương pháp ECC,
chun hàm băm mt mã SHA224/256/384/512… Các mô hình và quy trình chng
nhn khóa công cng cũng được trình bày trong tp sách này.
Ni dung ca sách gm 10 chương. Sau phn gii thiu tng quan v mt mã hc và
khái nim v h thng mã hóa chương 1, t chương 2 đến chương 5, chúng ta s đi
sâu vào tìm hiu h thng mã hóa quy ước, t các khái nim cơ bn, các phương pháp
đơn gin, đến các phương pháp mi như Rijndael và các thut toán ng c viên AES.
Ni dung ca chương 6 gii thiu h thng hóa khóa công cng và phương pháp
RSA. Chương 7 s trình bày v khái nim ch đin t cùng vi mt s phương
pháp ph biến như RSA, DSS, ElGamal. Các kết qu nghiên cu ng dng thuyết
đường cong elliptic trên trường hu hn vào mt mã hc được trình bày trong chương
8. Chương 9 gii thiu v các hàm băm mt mã hin đang được s dng ph biến như
MD5, SHS cùng vi các phương pháp mi được công b trong thi gian gn đây như
SHA-256/384/512. Trong chương 10, chúng ta s tìm hiu v h thng chng nhn
khóa công cng, t các mô hình đến quy trình trong thc tế ca h thng chng nhn
khóa công cng, cùng vi mt ví d v vic kết hp h thng mã hóa quy ước, h
thng mã hóa khóa công cng và chng nhn khóa công cng để xây dng h thng
thư đin t an toàn.
4
Vi b cc và ni dung nêu trên, chúngi hi vng các kiến thc trình bày trong tp
ch này s ngun tham kho hu ích cho quý độc gi quan tâm đến lĩnh vc mã hóa
ng dng.
Mc dù đã c gng hoàn thành sách vi tt c s n lc nhưng chc chn chúng tôi vn
còn nhng thiếu sót nht định. Kính mong s cm thôngs góp ý ca quý độc gi.
NHÓM TÁC GI: TS. Dương Anh Đức - ThS. Trn Minh Triết
cùng vi s đóng góp ca các sinh viên Khoa Công ngh Thông tin, Trường Đại hc
Khoa hc T nhiên, Đại hc Quc gia thành ph H Chí Minh.
Văn Đức Phương Hng Phan Th Minh Đức
Nguyn Minh Huy Lương Vĩ Minh
Nguyn Ngc Tùng
Thành ph H Chí Minh, tháng 01 năm 2005
5
Mc lc
Chương 1 Tng quan 15
1.1 Mt mã hc 15
1.2 H thng hóa (cryptosystem) 16
1.3 H thng hóa quy ước (mã hóa đối xng) 18
1.4 H thng mã hóa khóa công cng (mã hóa bt đối xng) 19
1.5 Kết hp mã hóa quy ước và mã hóa khóa công cng 19
Chương 2 Mt s phương pháp mã hóa quy ước 20
2.1 H thng hóa quy ước 20
2.2 Phương pháp mã hóa dch chuyn 21
2.3 Phương pháp mã hóa thay thế 22
2.4 Phương pháp Affine 23
2.5 Phương pháp Vigenere 28
2.6 Phương pháp Hill 29
2.7 Phương pháp mã hóa hoán v 30
2.8 Phương pháp mã hóa bng phép nhân 31
2.8.1 Phương pháp mã hóa bng phép nhân 31
2.8.2 Xs hc 32
2.9 Phương pháp DES (Data Encryption Standard) 33
2.9.1 Phương pháp DES 33
2.9.2 Nhn xét 36
2.10 Phương pp chun mã hóa nâng cao AES 37
Chương 3 Phương pháp mã hóa Rijndael 39
3.1 Gii thiu 39
3.2 Tham s, ký hiu, thut ng và hàm 40
3.3 Mt s khái nim toán hc 42