Giáo trình An toàn và bảo mật thông tin

Mc lc  
MC LC  
LI NÓI ĐẦU.................................................................................................................... 1  
CHƯƠNG I: GII THIU.................................................................................................. 2  
1. An toàn bo mt thông tin và mt mã hc ................................................................. 2  
2. Khái nim hthng và tài sn ca hthng.............................................................. 2  
3. Các mi đe doạ đối vi mt hthng và các bin pháp ngăn chn........................... 2  
4. Mc tiêu và nguyên tc chung ca an toàn bo mt thông tin ................................... 3  
5. Mt mã hc (cryptology)............................................................................................ 4  
6. Khái nim hmã mt (CryptoSystem)....................................................................... 4  
7. Mô hình truyn tin cơ bn ca mt mã hc và lut Kirchoff ....................................... 5  
8. Sơ lược vlch smt mã hc ................................................................................. 6  
9. Phân loi các thut toán mt mã hc ........................................................................ 8  
10. Mt số ứng dng ca mt mã hc........................................................................... 8  
CHƯƠNG II: CƠ STOÁN HC................................................................................... 10  
1. Lý thuyết thông tin................................................................................................... 10  
1.1. Entropy............................................................................................................. 10  
1.2. Tc độ ca ngôn ng. (Rate of Language)....................................................... 11  
1.3. Tính an toàn ca hthng mã hoá................................................................... 11  
1.4. Kthut ln xn và rườm rà. (Confusion and Diffusion) ................................... 12  
2. Lý thuyết độ phc tp.............................................................................................. 13  
2.1. Độ an toàn tính toán......................................................................................... 14  
2.2. Độ an toàn không điu kin.............................................................................. 14  
3.3. Hmt tích....................................................................................................... 16  
3. Lý thuyết toán hc................................................................................................... 17  
3.1. Modulo shc.................................................................................................. 17  
3.2. Snguyên t. ................................................................................................... 17  
3.3. Ước schung ln nht..................................................................................... 17  
3.4. Vành ZN (vành đồng dư module N)................................................................... 18  
3.5. Phn tnghch đảo.......................................................................................... 18  
3.6. Hàm phi Ơle..................................................................................................... 19  
3.7. Thng dư bc hai ............................................................................................. 19  
3.8. Thut toán lũy tha nhanh................................................................................ 20  
3.9. Thut toán Ơclit mrng ................................................................................. 21  
3.10. Phương trình đồng dư bc nht 1 n.............................................................. 21  
3.11. Định lý phn dư Trung Hoa. ........................................................................... 22  
4. Các thut toán kim tra snguyên t...................................................................... 23  
4.1. Mt ský hiu toán hc.................................................................................... 23  
4.2. Thut toán Soloway-Strassen........................................................................... 25  
4.3. Thut toán Rabin-Miller .................................................................................... 25  
4.4. Thut toán Lehmann. ....................................................................................... 26  
CHƯƠNG III: CÁC HMÃ KHÓA BÍ MT...................................................................... 27  
1. Các hmã cổ đin .................................................................................................. 27  
1.1. Hmã hoá thay thế (substitution cipher) .......................................................... 27  
1.2. Hmã Caesar .................................................................................................. 27  
i
Mc lc  
1.3. Hmã Affine..................................................................................................... 28  
1.4. Hmã Vigenere ............................................................................................... 29  
1.5. Hmã Hill......................................................................................................... 29  
1.6. Hđổi ch(transposition cipher) ................................................................ 31  
2. Các hmã khi ....................................................................................................... 33  
2.1. Mt mã khi...................................................................................................... 33  
2.2. Chun mã hoá dliu DES (Data Encryption Standard) .................................. 34  
2.3. Các yếu đim ca DES .................................................................................... 48  
2.4. Các cơ chế, hình thc sdng ca mã hóa khi (Mode of Operation)............. 50  
CHƯƠNG IV: CÁC HMÃ MT KHÓA CÔNG KHAI..................................................... 55  
1. Khái nim hmã mt khóa công khai...................................................................... 55  
2. Nguyên tc cu to ca các hmã mt khóa công khai.......................................... 56  
3. Mt shmã khóa công khai.................................................................................. 56  
3.1. Hmã knapsack............................................................................................... 56  
3.2. Hmã RSA ...................................................................................................... 57  
3.3. Hmã El Gammal ............................................................................................ 60  
CHƯƠNG V: CHĐIN TVÀ HÀM BĂM ............................................................. 62  
1. Chđin t........................................................................................................ 62  
1.1. Khái nim vchđin t............................................................................. 62  
1.2. Hchký RSA................................................................................................. 63  
1.3. Hchký ElGammal ....................................................................................... 64  
1.4. Chun chđin t(Digital Signature Standard)........................................... 67  
2. Hàm Băm (Hash Function)...................................................................................... 69  
2.1. Khái nim ......................................................................................................... 69  
2.2. Đặc tính ca hàm Băm..................................................................................... 70  
2.3. Birthday attack.................................................................................................. 71  
2.4. Mt shàm Băm ni tiếng................................................................................ 72  
2.5. Mt số ứng dng ca hàm Băm........................................................................ 78  
CHƯƠNG VI: QUN LÝ KHÓA ...................................................................................... 80  
1. Qun lý khoá trong các mng truyn tin .................................................................. 80  
2. Mt shphân phi khoá ....................................................................................... 80  
2.1. Sơ đồ phân phi khoá Blom ............................................................................. 80  
2.2. Hphân phi khoá Kerberos............................................................................ 82  
2.3. Hphân phi khoá Diffe-Hellman..................................................................... 83  
3. Trao đổi khoá và thothun khoá ........................................................................... 84  
3.1. Giao thc trao đổi khoá Diffie-Hellman............................................................. 84  
3.2. Giao thc trao đổi khoá Diffie-Hellman có chng chxác nhn ........................ 85  
3.3. Giao thc trao đổi khoá Matsumoto-Takashima-Imai ....................................... 86  
3.4. Giao thc Girault trao đổi khoá không chng ch.............................................. 87  
CHƯƠNG VII: GIAO THC MT MÃ ............................................................................. 89  
1. Giao thc ................................................................................................................ 89  
2. Mc đích ca các giao thc..................................................................................... 89  
3. Các bên tham gia vào giao thc (the players in protocol)........................................ 90  
4. Các dng giao thc................................................................................................. 91  
ii  
Mc lc  
4.1. Giao thc có trng tài....................................................................................... 91  
4.2. Giao thc có người phân x............................................................................ 92  
4.3. Giao thc tphân x....................................................................................... 93  
5. Các dng tn công đối vi giao thc....................................................................... 93  
TÀI LIU THAM KHO ................................................................................................... 95  
iii  
Li nói đầu  
LI NÓI ĐẦU  
Ttrước công nguyên con người đã phi quan tâm ti vic làm thế nào để đảm  
bo an toàn bí mt cho các tài liu, văn bn quan trng, đặc bit là trong lĩnh vc quân  
s, ngoi giao. Ngày nay vi sxut hin ca máy tính, các tài liu văn bn giy tvà  
các thông tin quan trng đều được shóa và xlý trên máy tính, được truyn đi trong  
mt môi trường mà mc định là không an toàn. Do đó yêu cu vvic có mt cơ chế, gii  
pháp để bo vsan toàn và bí mt ca các thông tin nhy cm, quan trng ngày càng  
trnên cp thiết. Mt mã hc chính là ngành khoa hc đảm bo cho mc đích này. Khó  
có ththy mt ng dng Tin hc có ích nào li không sdng các thut toán mã hóa  
thông tin. Tài liu này da trên nhng kinh nghim và nghiên cu mà tác giả đã đúc rút,  
thu thp trong quá trình ging dy môn hc An toàn và Bo mt Thông tin ti khoa Công  
nghThông tin, Đại hc Hàng hi Vit nam. Vi by chương được chia thành các chủ đề  
khác nhau tcơ stoán hc ca mt mã hc cho ti các hmã, các giao thc mt mã,  
hy vng scung cp cho các em sinh viên, các bn độc gimt tài liu bích. Mc dù đã  
rt cgng song vn không tránh khi mt sthiếu sót, hy vng sẽ được các bn bè  
đồng nghip, các em sinh viên, các bn độc gigóp ý chân thành để tôi có thhoàn thin  
hơn na tài liu này.  
Xin gi li cm ơn chân thành ti các bn bè đồng nghip và Ban chnhim khoa  
Công nghThông tin đã to điu kin giúp đỡ để tài liu này có thhoàn thành.  
Hi phòng, tháng 10 năm 2006  
Tác giả  
Nguyn Hu Tuân  
1
Chương I: Gii thiu  
CHƯƠNG I: GII THIU  
1. An toàn bo mt thông tin và mt mã hc  
Tri qua nhiu thế khàng lot các giao thc (protocol) và các cơ chế (mechanism)  
đã được to ra để đáp ng nhu cu an toàn bo mt thông tin khi mà nó được truyn ti  
trên các phương tin vt lý (giy, sách, báo …). Thường thì các mc tiêu ca an toàn bo  
mt thông tin không thể đạt được nếu chỉ đơn thun da vào các thut toán toán hc và  
các giao thc, mà để đạt được điu này đòi hi cn có các kthut mang tính thtc và  
stôn trng các điu lut. Chng hn sbí mt ca các bc thư tay là do sphân phát  
các lá thư đã có đóng du bi mt dch vthư tín đã được chp nhn. Tính an toàn về  
mt vt lý ca các lá thư là hn chế (nó có thbxem trm) nên để đảm bo sbí mt  
ca bc thư pháp lut đã đưa ra qui định: vic xem thư mà không được sự đồng ý ca  
chnhân hoc nhng người có thm quyn là phm pháp và sbtrng pht. Đôi khi  
mc đích ca an toàn bo mt thông tin li đạt được nhchính phương tin vt lý mang  
chúng, chng hn như tin giy đòi hi phi được in bng loi mc và giy tt để không  
blàm gi.  
Vmt ý tưởng vic lưu githông tin là không có nhiu thay đổi đáng kqua thi  
gian. Ngày xưa thông tin thường được lưu và vn chuyn trên giy t, trong khi giờ đây  
chúng được lưu dưới dng shóa và được vn chuyn bng các hthng vin thông  
hoc các hthng không dây. Tuy nhiên sthay đổi đáng kể đến ở đây chính là khả  
năng sao chép và thay đổi thông tin. Người ta có thto ra hàng ngàn mu tin ging nhau  
và không thphân bit được nó vi bn gc. Vi các tài liu lưu trvà vn chuyn trên  
giy điu này khó khăn hơn nhiu. Và điu cn thiết đối vi mt xã hi mà thông tin hu  
hết được lưu trvà vn chuyn trên các phương tin đin tchính là các phương tin  
đảm bo an toàn bo mt thông tin độc lp vi các phương tin lưu trvà vn chuyn vt  
lý ca nó. Phương tin đó chính là mt mã hc, mt ngành khoa hc có lch slâu đời  
da trên nn tng các thut toán toán hc, shc, xác sut và các môn khoa hc khác.  
2. Khái nim hthng và tài sn ca hthng  
Khái nim hthng: Hthng là mt tp hp các máy tính gm các thành phn  
phn cng, phn mm và dliu làm vic được tích luqua thi gian.  
Tài sn ca hthng bao gm:  
Phn cng  
Phn mm  
Dliu  
Các truyn thông gia các máy tính ca hthng  
Môi trường làm vic  
Con người  
3. Các mi đe doạ đối vi mt hthng và các bin pháp ngăn chn  
Có 3 hình thc chyếu đe da đối vi hthng:  
2
Chương I: Gii thiu  
Phá hoi: kthù phá hng thiết bphn cng hoc phn mm hot động trên hệ  
thng.  
Sa đổi: Tài sn ca hthng bsa đổi trái phép. Điu này thường làm cho hệ  
thng không làm đúng chc năng ca nó. Chng hn như thay đổi mt khu,  
quyn người dùng trong hthng làm hkhông thtruy cp vào hthng để  
làm vic.  
Can thip: Tài sn btruy cp bi nhng người không có thm quyn. Các  
truyn thông thc hin trên hthng bngăn chn, sa đổi.  
Các đe da đối vi mt hthng thông tin có thể đến tnhiu ngun và được thc  
hin bi các đối tượng khác nhau. Chúng ta có thchia thành 3 loi đối tượng như sau:  
các đối tượng tngay bên trong hthng (insider), đây là nhng người có quyn truy cp  
hp pháp đối vi hthng, nhng đối tượng bên ngoài hthng (hacker, cracker),  
thường các đối tượng này tn công qua nhng đường kết ni vi hthng như Internet  
chng hn, và thba là các phn mm (chng hn như spyware, adware …) chy trên hệ  
thng.  
Các bin pháp ngăn chn:  
Thường có 3 bin pháp ngăn chn:  
Điu khin thông qua phn mm: da vào các cơ chế an toàn bo mt ca hệ  
thng nn (hệ điu hành), các thut toán mt mã hc  
Điu khin thông qua phn cng: các cơ chế bo mt, các thut toán mt mã  
hc được cng hóa để sdng  
Điu khin thông qua các chính sách ca tchc: ban hành các qui định ca tổ  
chc nhm đảm bo tính an toàn bo mt ca hthng.  
Trong môn hc này chúng ta tp trung xem xét các thut toán mt mã hc như là  
mt phương tin cơ bn, chyếu để đảm bo an toàn cho hthng.  
4. Mc tiêu và nguyên tc chung ca an toàn bo mt thông tin  
Ba mc tiêu ca an toàn bo mt thông tin:  
Tính bí mt: Tài sn ca hthng chỉ được truy cp bi nhng người có thm  
quyn. Các loi truy cp gm có: đọc (reading), xem (viewing), in n (printing), sdng  
chương trình, hoc hiu biết vstn ti ca mt đối tượng trong tchc.Tính bí mt có  
thể được bo vnhvic kim soát truy cp (theo nhiu kiu khác nhau) hoc nhcác  
thut toán mã hóa dliu. Kiếm soát truy cp chcó thể được thc hin vi các hthng  
phn cng vt lý. Còn đối vi các dliu công cng thì thường phương pháp hiu qulà  
các phương pháp ca mt mã hc.  
Tính toàn vn dliu: tài sn ca hthng chỉ được thay đổi bi nhng người  
có thm quyn.  
Tính sn dùng: tài sn luôn sn sàng được sdng bi nhng người có thm  
quyn.  
Hai nguyên tc ca an toàn bo mt thông tin:  
3
Chương I: Gii thiu  
Vic thm định vbo mt phi là khó và cn tính ti tt ccác tình hung,  
khnăng tn công có thể được thc hin.  
Tài sn được bo vcho ti khi hết gía trsdng hoc hết ý nghĩa bí mt.  
5. Mt mã hc (cryptology)  
Mt mã hc bao gm hai lĩnh vc: mã hóa (cryptography) và thám mã  
(cryptanalysis-codebreaking) trong đó:  
Mã hóa: nghiên cu các thut toán và phương thc để đảm bo tính bí mt và  
xác thc ca thông tin (thường là dưới dng các văn bn lưu trtrên máy tính). Các sn  
phm ca lĩnh vc này là các hmã mt, các hàm băm, các hchđin t, các cơ  
chế phân phi, qun lý khóa và các giao thc mt mã.  
Thám mã: Nghiên cu các phương pháp phá mã hoc to mã gi. Sn phm  
ca lĩnh vc này là các phương pháp thám mã, các phương pháp gimo chký, các  
phương pháp tn công các hàm băm và các giao thc mt mã.  
Trong gii hn ca môn hc này chúng ta chyếu tp trung vào tìm hiu các vn đề  
mã hóa vi các hmã mt, các hàm băm, các hchđin t, các giao thc mt mã.  
Mã hóa (cryptography) là mt ngành khoa hc ca các phương pháp truyn tin bo  
mt. Trong tiếng Hy Lp, “Crypto” (krypte) có nghĩa là che du hay đảo ln, còn “Graphy”  
(grafik) có nghĩa là t. [3]  
Người ta quan nim rng: nhng t, nhng ký tca bn văn bn gc có thhiu  
được scu thành nên bn rõ (P-Plaintext), thường thì đây là các đon văn bn trong  
mt ngôn ngnào đó; còn nhng t, nhng ký tự ở dng bí mt không thhiu được thì  
được gi là bn mã (C-Ciphertext).  
Có 2 phương thc mã hoá cơ bn: thay thế và hoán v:  
Phương thc mã hoá thay thế là phương thc mã hoá mà tng ký tgc hay  
mt nhóm ký tgc ca bn rõ được thay thế bi các t, các ký hiu khác hay kết hp  
vi nhau cho phù hp vi mt phương thc nht định và khoá.  
Phương thc mã hoá hoán vlà phương thc mã hoá mà các tmã ca bn  
được sp xếp li theo mt phương thc nht định.  
Các hmã mt thường sdng kết hp chai kthut này.  
6. Khái nim hmã mt (CryptoSystem)  
Mt hmã mt là b5 (P, C, K, E, D) thomãn các điu kin sau:  
1)  
2)  
3)  
4)  
P là không gian bn rõ: là tp hu hn các bn rõ có thcó.  
C là không gian bn mã: là tp hu hn các bn mã có thcó.  
K là kkhông gian khoá: là tp hu hn các khoá có thcó.  
Đối vi mi k K, có mt quy tc mã hoá ek E và mt quy tc gii mã  
tương ng dk D. Vi mi ek: P C và dk: C P là nhng hàm mà dk(ek(x)) = x cho mi  
bn rõ x P. Hàm gii mã dk chính là ánh xngược ca hàm mã hóa ek [5]  
4
Chương I: Gii thiu  
Thường thì không gian các bn rõ và không gian các bn mã là các văn bn được  
to thành tmt bchcái A nào đó. Đó có thlà bchcái tiếng Anh, bmã ASCII,  
bmã Unicode hoc đơn gin nht là các bit 0 và 1.  
Tính cht 4 là tính cht quan trng nht ca mã hoá. Ni dung ca nó nói rng nếu  
mã hoá bng ek và bn mã nhn được sau đó được gii mã bng hàm dk thì kết qunhn  
được phi là bn rõ ban đầu x. Rõ ràng trong trường hp này, hàm ek(x) phi là mt đơn  
ánh, nếu không thì ta skhông gii mã được. Vì nếu tn ti x1 và x2 sao cho y = ek(x1) =  
ek(x2) thì khi nhn được bn mã y ta không biết nó được mã tx1 hay x2.  
Trong mt hmt bt kta luôn có |C| |P| vì mi quy tc mã hoá là mt đơn ánh.  
Khi |C| = |P| thì mi hàm mã hoá là mt hoán v.  
7. Mô hình truyn tin cơ bn ca mt mã hc và lut Kirchoff  
Mô hình truyn tin thông thường: Trong mô hình truyn tin thông thường thông tin  
được truyn (vn chuyn) tngười gi đến người nhn được thc hin nhmt kênh vt  
lý (chng hn như vic gi thư) được coi là an toàn.  
Mô hình truyn tin cơ bn ca mt mã hc:  
K1  
K2  
Insecured  
Channel  
Encrypt  
Decrypt  
Sender  
Receiver  
X
Y
Y
X
Enemy  
Hình 1.1: Mô hình cơ bn ca truyn tin bo mt  
Đây là mô hình cơ bn ca truyn tin bo mt. Khác vi truyn tin thông thường, có  
các yếu tmi được thêm vào như khái nim kẻ địch (E-Enemy), các khoá mã hoá và  
gii mã K để đảm bo tính bo mt ca thông tin cn truyn đi.  
Trong mô hình này người gi S (Sender) mun gi mt thông đip X (Message – là  
mt bn rõ) ti người nhn R (Receiver) qua mt kênh truyn không an toàn (Insecured  
Channel), kẻ địch E (Enemy) có thnghe trm, hay sa đổi thông tin X. Vì vy, S sdng  
phép biến đổi, tc mã hoá (E-Encryption) lên thông tin X dng đọc được (Plaintext) để  
to ra mt đon văn bn được mã hoá Y (C-Ciphertext) không thhiu được theo mt  
quy lut thông thường sdng mt thông tin bí mt được gi là khoá K1 (Key), khoá K1  
chính là thông số điu khin cho phép biến đổi tbn rõ X sang bn mã Y (chcác bên  
tham gia truyn tin S và R mi có thbiết khóa này). Gii mã (D-Decryption) là quá trình  
ngược li cho phép người nhn thu được thông tin X ban đầu từ đon mã hoá Y sdng  
khóa gii mã K2 (chú ý là khóa gii mã và khóa mã hóa có thkhác nhau hoc là mt tùy  
thuc vào hmã sdng).  
Các phép biến đổi được sdng trong mô hình truyn tin trên thuc vmt hmã  
mt (Cryptosytem) nào đó.  
5
Chương I: Gii thiu  
Quá trình mã hóa và gii mã yêu cu các quá trình biến đổi dliu tdng nguyên  
thuthành in put cho vic mã hóa và chuyn output ca quá trình gii mã thành bn rõ.  
Các quá trình này là các quá trình biến đổi không khóa và được gi là các quá trình  
encode và decode.  
Theo lut Kirchoff (1835 - 1903) (mt nguyên tc cơ bn trong mã hoá) thì: toàn bộ  
cơ chế mã/gii mã trkhoá là không bí mt đối vi kẻ địch [5]. Rõ ràng khi đối phương  
không biết được hmã mt đang sdng thut toán mã hóa gì thì vic thám mã srt  
khó khăn. Nhưng chúng ta không thtin vào độ an toàn ca hmã mt chda vào mt  
githiết không chc chn là đối phương không biết thut toán đang sdng. Vì vy, khi  
trình bày mt hmt bt k, chúng ta đều githiết hmt đó được trình bày dưới lut  
Kirchoff.  
Ý nghĩa ca lut Kirchoff: san toàn ca các hmã mt không phi da vào sự  
phc tp ca thut toán mã hóa sdng.  
8. Sơ lược vlch smt mã hc  
Mt mã hc là mt ngành khoa hc có mt lch skhong 4000 năm. Các cvt  
ca ngành kho chc thu được đã cho thy điu này. Nhng người Ai cp cổ đại đã sử  
dng các chtượng hình như là mt dng mã hóa đơn gin nht trên các bia mca h.  
Các tài liu viết tay khác cũng cho thy các phương pháp mã hóa đơn gin đầu tiên mà  
loài người đã sdng là ca người Ba Tư cvà người Do Thái c.  
Tuy vy có thchia lch smt mã hc thành hai thi knhư sau:  
Thi ktin khoa hc: Ttrước công nguyên cho ti năm 1949. Trong giai đon  
này mt mã hc được coi là mt nghthut nhiu hơn là mt môn khoa hc mc dù đã  
được ng dng trong thc tế.  
Lch sca mt mã hc được đánh du vào năm 1949 khi Claude Shannon đưa ra  
lý thuyết thông tin. Sau thi knày mt lot các nghiên cu quan trng ca nghành mt  
mã hc đã được thc hin chng hn như các nghiên cu vmã khi, sra đời ca các  
hmã mt khóa công khai và chđin t.  
Qua nhiu thế kphát trin ca mt mã hc chyếu được phc vcho các mc  
đích quân s(gián đip, ngoi giao, chiến tranh…). Mt ví dụ đin hình là 2000 năm  
trước đây hoàng đế La mã Julius Caesar đã tng sdng mt thut toán thay thế đơn  
gin mà ngày nay được mang tên ông trong cuc chiến tranh Gallic.  
Tác phm “A manuscript on Deciphering Cryptography Messages” ca Abu al-Kindi  
được viết vào thế kth9 được tìm thy ti Istabul vào năm 1987 đã cho thy nhng nhà  
khoa hc rp là nhng người đầu tiên đã phát trin các phương pháp thám mã da vào  
phân tích tn sxut hin ca các ký tự đối vi các hmã thay thế đơn âm (mt phương  
pháp được sdng rng rãi trong thi kTrung cdo đơn gin và khá hiu qu).  
châu Âu thi kTrung clà mt khong thi gian u ám và tăm ti ca lch snên  
không có nhiu phát trin mnh vvăn hóa nói chung và mt mã hc nói riêng. Mt vài  
skin được ghi li bi các vlinh mc nhưng chcó Roger Bacon là người thc sự đã  
viết vmt mã hc trong tác phm “Secret Work of Art and the Nullity of Magic” vào gia  
nhng năm 1200. Vào thi Trung cmt trong nhng cái tên ni tiếng nht là Chaucer,  
người đã đưa ra các công trình nghiên cu nghiêm túc đầu tiên vmt mã hc trong các  
6
Chương I: Gii thiu  
tác phm ca mình chng hn như “Treatise on the Astrolabe”. Trong thi kTrung cổ ở  
phương Tây cun sách ca Blaise De Vegenere (người phát minh ra thut toán mã hóa  
thay thế đa âm tiết) được xem như là mt tng kết các kiến thc vmt mã hc cho ti  
thi đim by gi, bao gm cthut toán thay thế đa âm tiết và mt vài sơ đồ khóa tự  
động.  
Blaise De Vegenere cũng là tác gica hmã mang tên ông, hmã này đã tng  
được xem là an toàn tuyt đối và được sdng trong mt thi gian dài tuy nhiên Charles  
Babbages đã thc hin thám mã thành công vào năm 1854 nhưng điu này được gibí  
mt. Mt thut toán thám mã được phát hin độc lp bi mt nhà khoa hc người Nga có  
tên là Friedrich Kasiski. Tuy vy do vic thiếu các thiết bci tiến nên các biến thca  
thut toán mã hóa này vn còn được sdng trong nhng năm đầu ca thế k20 mà  
tiêu biu nht là vic thám mã thành công máy đin tín Zimmermann ca quân Đức (mt  
trong các skin tiêu biu ca mt mã hc) trong thế chiến thnht và kết qulà sự  
tham gia ca Mvào cuc chiến.  
Vi sxut hin ca các hthng máy tính cá nhân và mng máy tính các thông tin  
văn bn ngày càng được lưu trvà xlý nhiu hơn trên các máy tính do đó ny sinh yêu  
cu van toàn bo mt đối vi các thông tin được lưu tr, xlý và truyn gia các máy  
tính.  
Vào đầu nhng năm 1970 là sphát trin ca các thut toán mã hóa khi đầu tiên:  
Lucipher và DES. DES sau đó đã có mt sphát trin ng dng rc rcho ti đầu  
nhng năm 90.  
Vào cui nhng năm 1970 chng kiến sphát trin ca các thut toán mã hóa  
khóa công khai sau khi Whitfield Diffie và Martin Hellman công bbài báo làm nn tng  
cho sra đời ca các hmã khóa công khai và các hchđin t.  
Do nhược đim ca các hmã mt khóa công khai là chm nên các hmã khi vn  
tiếp tc được phát trin vi các hmã khi mi ra đời để thay thế cho DES vào cui thế  
k20.  
Gn đây nht là các skin liên quan ti các hàm băm MD5 (mt hàm băm thuc  
hMD do Ron Rivest phát trin) và SHA1. Mt nhóm các nhà khoa hc người Trung  
Quc (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) đã phát trin các phương pháp cho  
phép phát hin ra các đụng độ ca các hàm băm được sdng rng rãi nht trong scác  
hàm băm này. Đây là mt skin ln đối vi ngành mt mã hc do sự ứng dng rng rãi  
và có thxem là còn quan trng hơn bn thân các hmã mt ca các hàm băm. Do sự  
kin này các hãng viết phn mm ln (như Microsoft) và các nhà mt mã hc đã khuyến  
cáo các lp trình viên sdng các hàm băm mnh hơn (như SHA-256, SHA-512) trong  
các ng dng.  
Bruce Schneier (mt trong nhng nhà mt mã hc hàng đầu, tác gica hmã  
Blowfish) đã tng nói rng các hình thc tn công đối vi các hmã mt nói riêng và tn  
công đối vi các hthng máy tính nói chung sngày càng trnên hoàn thin hơn  
“Attacks always get better; they never get worse.” và lch sphát trin ca mt mã hc  
chính là lch sphát trin ca các hình thc tn công đối vi các hmã mt đang được  
sdng.  
7
Chương I: Gii thiu  
9. Phân loi các thut toán mt mã hc  
Có nhiu cách khác nhau để chúng ta có thphân loi các thut toán mt mã hc  
sẽ được hc trong chương trình. Ở đây chúng ta sphân loi các thut toán mt mã hc  
da vào hai loi tiêu chí.  
Tiêu chí thnht là da vào các dch van toàn bo mt mà các thut toán cung  
cp, da vào slượng khóa sdng (0, 1, 2) chúng ta có các thut toán mã hóa sau:  
1. Các thut toán mã hóa khóa bí mt tương ng vi các hmã mt khóa bí mt  
hay khóa đối xng SKC (Symmetric Key Cryptosytems), do vai trò ca người nhn và  
người gi là như nhau, chai đều có thmã hóa và gii mã thông đip, như Caesar,  
DES, AES … Khóa sdng cho các thut toán này là 1 khóa cho cvic mã hóa và gii  
mã.  
2. Các thut toán mã hóa khóa công khai tương ng vi các hmã khóa công  
khai PKC (Public Key Cryptosystems). Đôi khi các hmã này còn được gi là các hmã  
khóa bt đối xng (Asymmetric Key Cryptosytems). Khóa sdng cho các thut toán này  
là 2 khóa, mt cho vic mã hóa và mt cho vic gii mã, khóa mã hóa được công khai  
hóa.  
3. Các thut toán to chđin t(Digital Signature Algorithms). Các thut  
toán to chđin tto thành các hchđin t. Thông thường mi hchký  
đin tcó cùng cơ slý thuyết vi mt hmã mt khóa công khai nhưng vi cách áp  
dng khác nhau. Trong chương trình hc chúng ta shc mt shchđin tphổ  
biến là RSA, ElGammma…  
4. Các hàm băm (Hash functions). Các hàm băm là các thut toán mã hóa không  
khóa hoc có khóa và thường được sdng trong các hchđin thoc các hmã  
khóa công khai.  
Tiêu chí thhai phân loi các thut toán mã hóa da trên cách thc xlý input ca  
thut toán (tc là bn rõ), da trên tiêu chí này chúng ta có hai loi thut toán mã hóa  
sau:  
1. Các thut toán mã hóa khi (chng hn như DES, AES …) xlý bn rõ dưới  
các đơn vcơ bn là các khi có kích thước ging nhau.  
2. Các thut toán mã hóa dòng (RC4 …) coi bn rõ là mt lung bit, byte liên tc.  
10. Mt số ứng dng ca mt mã hc  
Ngày nay khó có thtìm thy các ng dng trên máy tính li không sdng ti các  
thut toán và các giao thc mt mã hc. Tcác ng dng cho các máy tính cá nhân  
(Desktop Applications) cho ti các chương trình hthng như các hệ điu hành  
(Operating Systems) hoc các ng dng mng như Yahoo Messenger hoc các hcơ sở  
dliu đều có sdng các thut toán mã hóa mt khu người dùng bng mt hmã  
hoc mt hàm băm nào đó. Đặc bit vi sphát trin mnh mca thương mi đin tử  
các mô hình chđin tngày càng đóng vai trò tích cc cho mt môi trường an toàn  
cho người dùng. Tuy vy chúng ta vn có thchia các lĩnh vc ng dng ca mt mã hc  
thành các lĩnh vc nhnhư sau:  
8
Chương I: Gii thiu  
Bo mt (Confidentiality): che du ni dung ca các thông đip được trao đổi  
trong mt phiên truyn thông hoc giao dch hoc các thông đip trên mt hthng máy  
tính (các file, các dliu trong mt cơ sdliu …).  
Xác thc hóa (Authentication): đảm bo ngun gc ca mt thông đip, người  
dùng.  
Toàn vn (Integrity): đảm bo chcó các tchc đã được xác thc hóa mi có  
ththay đổi các tài sn ca hthng cũng như các thông tin trên đường truyn.  
Dch vkhông thchi t(Non-Repudiation): Các bên đã được xác thc  
không thphnhn vic tham gia vào mt giao dch hp l.  
Ngoài ra còn các dch vquan trng khác chng hn như chđin t, dch  
vchng thc danh tính (Identification) cho phép thay thế hình thc xác thc hóa người  
dùng da trên các mt khu bng các kthut mnh hơn hoc dch vthương mi đin  
tcho phép tiến hành các giao dch an toàn trên các kênh truyn thông không an toàn  
như Internet.  
9
Chương II: Cơ stoán hc  
CHƯƠNG II: CƠ STOÁN HC  
Để hiu được nhng thut toán sdng trong các hmã mt, trong các hchký  
đin tcũng như các giao thc mt mã, chúng ta phi có nhng kiến thc nn tng cơ  
bn vtoán hc, lý thuyết thông tin … được sdng trong mt mã hc. Chương này trình  
bày nhng khái nim cơ bn vlý thuyết thông tin như Entropy, tc độ ca ngôn ngữ  
(Rate of Language), độ phc tp ca thut toán, độ an toàn ca thut toán, và mt số  
kiến thc toán hc: đồng dư shc (modulo), snguyên t, định lý phn dư trung hoa,  
định lý Fermat . . . và các thut toán kim tra snguyên t. Nhng vn đề chính sẽ được  
trình bày trong chương này gm :  
Lý thuyết thông tin  
Lý thuyết độ phc tp  
Lý thuyết shc.  
1. Lý thuyết thông tin  
Nhng khái nim mở đầu ca lý thuyết thông tin được đưa ra ln đầu tiên vào năm  
1948 bi Claude Elmwood Shannon (mt nhà khoa hc được coi là cha để ca lý thuyết  
thông tin). Trong phn này chúng ta chỉ đề cp ti mt schủ đề quan trng ca lý thuyết  
thông tin.  
1.1. Entropy  
Lý thuyết thông tin định nghĩa khi lượng thông tin trong mt thông báo là sbít nhỏ  
nht cn thiết để mã hoá tt cnhng nghĩa có thca thông báo đó.  
Ví d, trường ngay_thang trong mt cơ sdliu cha không quá 3 bít thông tin,  
bi vì thông tin ngày có thmã hoá vi 3 bít dliu:  
000 = Sunday  
001 = Monday  
010 = Tuesday  
011 = Wednesday  
100 = Thursday  
101 = Friday  
110 = Saturday  
111 is unused  
Nếu thông tin này được biu din bi chui ký tASCII tương ng, nó schiếm  
nhiu không gian nhhơn, nhưng cũng không cha nhiu thông tin hơn. Tương tnhư  
trường gioi_tinh ca mt cơ sdliu chcha 1 bít thông tin, nó có thlưu trnhư mt  
trong hai xâu ký tASCII : Nam, N.  
Khi lượng thông tin trong mt thông báo M đo bi Entropy ca thông báo đó, ký  
hiu là H(M). Entropy ca thông báo gioi_tinh là 1 bít, ký hiu H(gioi_tinh) = 1, Entropy  
ca thông báo sngày trong tun là nhhơn 3bits.  
10  
Chương II: Cơ stoán hc  
Trong trường hp tng quát, Entropy ca mt thông báo là log2n, vi n là skhả  
năng có th(ý nghĩa) ca thông báo.  
H(M) = log2n  
1.2. Tc độ ca ngôn ng. (Rate of Language)  
Đối vi mt ngôn ng, tc độ thc tế (actual rate) ca ngôn nglà:  
r = H(M)/N  
trong trường hp này N là độ dài ca thông báo và M là mt thông đip có độ dài N.  
Tc độ ca tiếng Anh bình thường là 0.28 do đó mi chcái tiếng Anh có 1.3 bit nghĩa.  
Tc độ tuyt đối (absolute rate) ca mt ngôn nglà sbits ln nht cn thiết để  
mã hóa các ký tca ngôn ngữ đó. Nếu có L ký ttrong mt ngôn ng, thì tc độ tuyt  
đối là :  
R = log2L  
Đây là sEntropy ln nht ca mi ký tự đơn l. Đối vi tiếng Anh gm 26 chcái,  
tc độ tuyt đối là log226 = 4.7bits/chcái. Skhông có điu gì là ngc nhiên đối vi tt  
cmi người rng thc tế tc độ ca tiếng Anh nhhơn nhiu so vi tc độ tuyt đối, và  
chúng ta vn thy rng đối vi mt thông báo bng tiếng Anh có thloi bmt schữ  
cái nhưng người đọc vn có thhiu được. Hin tượng này được gi là độ dư tha ca  
ngôn ng(Redundancy) tnhiên.  
Không chỉ đối vi tiếng Anh mà vi hu hết các ngôn ngtnhiên, do cu trúc ca  
ngôn ng, do vic sdng ngôn ngdn ti có mt schcái được sdng vi tn  
sut không đồng đều hoc chcó thxut hin vi mt cu trúc nào đó làm cho chúng ta  
vn có thể đoán được nghĩa ca các thông báo nếu loi bcác chcái này.  
Độ dư tha (Redundancy) ca mt ngôn ngký hiu là D và D = R – r. Đối vi  
tiếng Anh:  
D = 1 - .28 = .72 letters/letter  
D = 4.7 – 1.3 = 3.4 bits/letter  
Như vy mi chcái có 1.3 bit nghĩa và 3.4 bit dư tha (xp x72%).  
1.3. Tính an toàn ca hthng mã hoá  
Shannon định nghĩa rt rõ ràng, tmcác mô hình toán hc để đánh giá độ an toàn  
ca các hmã mt sdng. Mc đích ca người thám mã là phát hin ra khoá sdng  
ca h(K-Key), bn rõ (P-PlainText), hoc chai. Hơn na hcó thhài lòng vi  
mt vài thông tin có khnăng vbn rõ P chng hn như đó là âm thanh dng s, hoc  
là mt văn bn tiếng Đức, hoc là mt bng tính dliu, v. v . . .  
Trong hu hết các ln thám mã, người thám mã thường cgng thu thp mt số  
thông tin có khnăng vbn rõ P trước khi bt đầu. Hcó thbiết ngôn ngữ đã được sử  
dng để mã hoá. Ngôn ngnày chc chn có sdư tha kết hp vi chính ngôn ngữ đó.  
11  
Chương II: Cơ stoán hc  
Nếu nó là mt thông báo gi ti Bob, nó có thbt đầu vi "Dear Bob". Đon văn bn  
"Dear Bob" slà mt khnăng có thhơn là mt chui không mang ý nghĩa gì chng hn  
"tm*h&rf". Mc đích ca vic thám mã là sa nhng tp hp khnăng có thcó ca bn  
mã (C-CipherText) vi mi khnăng có thca bn rõ.  
Shannon phát trin lý thuyết cho rng, hthng mã hoá chan toàn tuyt đối nếu  
nếu skhoá có thsdng ít nht phi bng sthông báo có th. Hiu theo mt nghĩa  
khác, khoá ti thiu ca hmã phi dài bng thông báo ca hđó.  
Ngoi trcác hmã an toàn tuyt đối, các bn mã thường cha mt sthông tin  
đúng vi bn rõ, điu này là không thtránh được. Mt thut toán mt mã tt gicho  
thông tin btiết lộ ở mc nhnht và mt người thám mã gii skhai thác tt nhng  
thông tin này để phát hin ra bn rõ.  
Người thám mã sdng sdư tha tnhiên ca ngôn ngữ để làm gim skhả  
năng có thcó ca bn rõ. Nhiu thông tin dư tha ca ngôn ng, sddàng hơn cho  
quá trình thám mã. Chính vì lý do này mà nhiu mô hình mã hóa sdng thut toán nén  
bn rõ để gim kích thước văn bn trước khi mã hoá chúng. Vì quá trình nén làm gim sự  
dư tha ca thông báo. Entropy ca mt hmã mt là kích thước ca không gian khoá  
(Keyspace).  
H(K) = log2(number of keys )  
Shannon cũng đưa ra mt khái nim gi là Unicity Distance (ký hiu là U) để đánh  
giá độ an toàn ca mt hmã mt. Đối vi mt hmã mt U ca nó là:  
U = H(K)/D  
Đây là snhnht các bn mã cn thiết để có thtiến hành thám mã theo cách thử  
tt ccác khóa có th(brute-force attack) thành công. Chng hn đối vi hmã thay thế  
đơn âm (như Caesar) trên bng chcái tiếng Anh ta scó:  
H(K)= log226! = 87. D = 3.4 suy ra U = 25.5.  
Điu này có nghĩa là nếu chúng ta có khong 25 chcái bn mã chúng ta chcó thể  
thử để khp vi mt bn rõ.  
Khái nim Unicity Distance là mt khái nim mang tính xác sut nó cho chúng ta  
biết slượng ít nht các bn mã cn có để có thxác định duy nht 1 bn mã chkhông  
phi là sbn mã đủ để tiến hành thám mã (chc chn thành công). Nếu chúng ta có số  
bn mã ít hơn sU thì không thnói là dự đoán (phép th) ca chúng ta là đúng. Da  
vào công thc này chúng ta thy nếu như độ dư tha ca ngôn ngcàng gn 0 thì càng  
khó thám mã mc dù đó có thlà mt hmã rt đơn gin. Cũng da vào công thc này  
suy ra để tăng tính an toàn ca hmã có thtăng không gian khóa ca nó.  
1.4. Kthut ln xn và rườm rà (Confusion and Diffusion)  
Theo Shannon, có hai kthut cơ bn để che du sdư tha thông tin trong thông  
báo gc, đó là: sln xn và srườm rà.  
Kthut ln xn (Confusion): che du mi quan hgia bn rõ và bn gc. Kỹ  
thut này làm tht bi các cgng nghiên cu bn mã để tìm kiếm thông tin dư tha và  
thng kê mu. Phương pháp dnht để thc hin điu này là thông qua kthut thay  
12  
Chương II: Cơ stoán hc  
thế. Mt hmã hoá thay thế đơn gin, chng hn hmã dch vòng Caesar, da trên nn  
tng ca sthay thế các chcái ca bn rõ, nghĩa là chcái này được thay thế bng  
chcái khác  
Kthut rườm rà (Diffusion): làm mt đi sdư tha ca bn rõ bng cách tăng  
sphbn mã vào bn rõ (và khóa). Công vic tìm kiếm sdư tha ca người thám mã  
srt mt thi gian và phc tp. Cách đơn gin nht to ra srườm rà là thông qua vic  
đổi ch(hay còn gi là kthut hoán v).  
Thông thường các hmã hin đại thường kết hp chai kthut thay thế và hoán  
vị để to ra các thut toán mã hóa có độ an toàn cao hơn.  
2. Lý thuyết độ phc tp  
Lý thuyết độ phc tp cung cp mt phương pháp để phân tích độ phc tp tính  
toán ca thut toán và các kthut mã hoá khác nhau. Nó so sánh các thut toán mã  
hoá, kthut và phát hin ra độ an toàn ca các thut toán đó. Lý thuyết thông tin đã cho  
chúng ta biết rng mt thut toán mã hoá có thbbi l. Còn lý thuyết độ phc tp cho  
biết khnăng bthám mã ca mt hmã mt.  
Độ phc tp thi gian ca thut toán là mt hàm ca kích thước dliu input ca  
thut toán đó. Thut toán có độ phc tp thi gian f(n) đối vi mi n và kích thước input  
n, nghĩa là sbước thc hin ca thut toán ln hơn f(n) bước.  
Độ phc tp thi gian thut toán phthuc vào mô hình ca các thut toán, scác  
bước nhhơn nếu các hot động được tp trung trong mt bước (chng hn như các  
vòng lp, các li gi hàm …).  
Các lp ca thut toán, vi độ phc tp thi gian là mt hàm mũ đối vi kích thước  
input được coi là "không có khnăng thc hin". Các thut toán có độ phc tp ging  
nhau được phân loi vào trong các lp tương đương. Ví dtt ccác thut toán có độ  
phc tp là n3 được phân vào trong lp n3 và ký hiu bi O(n3). Có hai lp tng quát sẽ  
được là lp P (Polynomial) và lp NP (NonPolynomial).  
Các thut toán thuc lp P có độ phc tp là hàm đa thc ca kích thước input.  
Nếu mi bước tiếp theo ca thut toán là duy nht thì thut toán gi là đơn định. Tt cả  
thut toán thuc lp P đơn định có thi gian gii hn là P_time, điu này cho biết chúng  
sthc hin trong thi gian đa thc, tương đương vi độ phc tp đa thc ca kích  
thước input.  
Thut toán mà bước tiếp theo vic tính toán phi la chn gii pháp tnhng  
gii hn giá trca hot động gi là không đơn định. Lý thuyết độ phc tp sdng các  
máy đặc bit mô tả đặc đim bng cách đưa ra kết lun bi các chun. Máy Turing là  
mt máy đặc bit, máy hot động trong thi gian ri rc, ti mt thi đim nó nm trong  
khong trng thái đầy đủ sca tt ccác trng thái có thlà hu hn. Chúng ta có thể  
định nghĩa hàm độ phc tp thi gian kết hp vi máy Turing A.  
fA(n) = max{m/A kết thúc sau m bước vi đầu vào w = n3 }  
Ở đây chúng ta gisrng A là trng thái kết thúc đối vi tt ccác đầu vào, vn  
đề strnên khó khăn hơn nếu các trng thái không nm trong P . Máy Turing không  
đơn định hot động vi thut toán NP. Máy Turing không đơn định có thcó mt vài trng  
13  
Chương II: Cơ stoán hc  
thái chính xác. S(w) là trng thái đo sthành công ngn nht ca thut toán, (Nghĩa là sự  
tính toán dn đến trng thái cui cùng)  
Hàm số độ phc tp thi gian ca máy Turing không đơn định A được định nghĩa :  
fA(n)=max{1,m/s(w) có m bước đối vi w/w=n}  
mi bước máy Turing không đơn định btrí nhiu bn sao ca chính nó như có  
mt vài gii pháp và tính toán độc lp vi mi li gii.  
Các thut toán thuc lp NP là không đơn định và có thtính toán trên máy Turing  
không đơn định trong thi gian P.  
Tuy nhiên không phi thut toán mã hóa càng có độ phc tp ln thì hmã mt sử  
dng thut toán đó scàng an toàn theo như phát biu ca lut Kierchoff.  
Vy có thể đánh giá độ an toàn ca mt hmã mt như thế nào? Vn đề này đã  
được Claude Shannon trli vi các khái nim về độ an toàn ca các hmã mt trong  
mt bài báo có tiêu đề “Lý thuyết thông tin ca các hthng bo mt” (1949).  
2.1. Độ an toàn tính toán  
Đnh nghĩa:  
Mt hmt được gi là an toàn vmt tính toán nếu có mt thut toán tt nht để  
phá nó thì cn ít nht N phép toán, vi N là mt srt ln nào đó. [10]  
Tuy nhiên trong thc tế, không có mt hmt nào chng tlà an toàn theo định  
nghĩa trên. Vì vy, trên thc tế, người ta gi hmt là “an toàn tính toán” nếu có mt  
thut toán để phá nó nhưng đòi hi thi gian ln đến mc không chp nhn được (thut  
toán có độ phc tp hàm mũ hoc thuc lp các bài toán có độ phc tp NP).  
Mt cách tiếp cn khác về độ “an toàn tính toán” là quy nó vmt bài toán đã được  
nghiên cu kđược coi là khó. Ví dnhư bài toán “phân tích ra tha snguyên tca  
mt sn cho trước” được coi là bài toán khó vi n ln, vì vy ta có thcoi mt hmt  
da trên bài toán “phân tích ra tha snguyên t” là an toàn (tt nhiên đây chđộ an  
toàn da vào chng minh mt bài toán khác chkhông phi chng minh hoàn chnh về  
độ an toàn ca hmt).  
2.2. Độ an toàn không điu kin  
Định nghĩa 1:  
Mt hmt được coi là an toàn không điu kin khi nó không thbphá ngay cvi  
khnăng tính toán không hn chế. [10]  
Rõ ràng là “độ an toàn không điu kin” không thnghiên cu theo quan đim độ  
phc tp tính toán vì thi gian tính toán là không hn chế. Vì vy, ở đây lý thuyết xác sut  
sẽ được đề cp để nghiên cu v“an toàn không điu kin”.  
Định nghĩa 2:  
Gisbiến X và Y là các biến ngu nhiên. Ký hiu xác sut để X nhn giá trx là  
p(x) và để Y nhn giá try là p(y). Xác sut đồng thi p(x, y) là xác sut để đồng thi X  
nhn giá trx và Y nhn giá try. Xác sut có điu kin p(x/y) là xác sut để X nhn giá trị  
14  
Chương II: Cơ stoán hc  
x vi điu kin Y nhn giá try. Các biến X và Y được gi là độc lp nếu p(x, y) = p(x)p(y)  
vi mi giá trcó thcó ca X và Y.  
Định lý Bayes:  
Nếu p(y) 0 thì ta có:  
p(x) p(y / x)  
p(x / y) =  
p(y)  
Hqu:  
X, Y là biến độc lp khi và chkhi p(x/y) = p(x) vi mi x, y. [5]  
Ở đây, ta githiết rng mt khoá cthchỉ được dùng cho mt bn mã. Ký hiu  
xác sut tiên nghim để bn rõ xut hin là pp(x). Cũng githiết rng khoá K được chn  
theo mt phân bxác sut nào đó (thông thường khoá K được chn ngu nhiên nên các  
khoá sẽ đồng khnăng). Ký hiu xác sut khoá K được chn là pk(K).  
Githiết rng khoá K và bn rõ x là các biến độc lp. Hai phân bxác sut trên P  
K sto ra mt phân bxác sut trên C . Ký hiu C(K) là tp các bn mã có thnếu  
K là khoá.  
C (K) = { eK(x): x P }  
Khi đó vi mi y C, ta có:  
pC (y) =  
pK (K).pp (dK (y))  
K ,yC(K )  
Và xác sut có điu kin pC(y/x) là xác sut để y là bn mã vi điu kin bn rõ là x  
được tính theo công thc sau:  
pC (y / x) =  
p (K)  
K
K ,x=dK ( y)  
Bây gita có thtính xác sut có điu kin pP(x/y) là xác sut để x là bn rõ khi  
bn mã là y theo định lý Bayes:  
pP (x)  
pK (K)  
pP (x)pC (y / x)  
pC (y)  
K,x=dK ( y)  
pP (x / y) =  
=
pK (K)pP (dK (y))  
K ,yC(K )  
Lúc này, ta có thể định nghĩa khái nim về độ mt hoàn thin. Nói mt cách không  
hình thc, độ mt hoàn thin nghĩa là đối phương vi bn mã trong tay cũng không thể  
thu nhn được thông tin gì vbn rõ. Tuy nhiên ta snêu định nghĩa chính xác về độ mt  
hoàn thin như sau:  
Định nghĩa:  
Mt hmt hoàn thin nếu pP(x/y) = pP(x) vi mi x P và mi y C. Tc là xác  
sut hu nghim để thu được bn rõ là x vi điu kin đã thu được bn mã là y đồng nht  
vi xác sut tiên nghim để bn rõ là x. [5]  
15  
Chương II: Cơ stoán hc  
Hay nói cách khác, độ mt hoàn thin cũng tương đương vi pC(y/x)= pC(y)).  
Định lý Shannon:  
Gis(P, C, K, E, D) là mt hmt, khi đó hmt đạt được độ mt hoàn thin khi  
và chkhi |K| |C|. Trong trường hp |K| = |C| = |P|, hmt đạt độ mt hoàn thin khi và  
chkhi mi khoá K được dùng vi xác sut bng nhau, bng 1/|K| và vi mi x P, mi  
y C có mt khoá K duy nht sao cho eK(x) = y. [5]  
Như vy ta thy để đạt độ hoàn thin đòi hi khoá phi rt dài, do vy rt khó khăn  
trong vic chuyn giao khoá gia hai bên truyn tin. Vì vy trong thc tế, chúng ta không  
thcó an toàn không điu kin mà chúng ta chcn an toàn thc tế, tc là phthuc vào  
thông tin và thi gian cn bo mt bng cách sdng các hmt khác nhau vi độ bo  
mt khác nhau.  
3.3. Hmt tích  
Mt ý tưởng khác được Shannon đưa ra là ý tưởng to ra các hmt mi da trên  
các hmt cũ bng cách to tích ca chúng. Đây là mt ý tưởng quan trng trong vic  
thiết kế các hmt hin đại ngày nay.  
Để đơn gin, ở đây chúng ta chxét các hmt trong đó C = P, các hmt loi này  
gi là tự đồng cu. GisS1 = (P, C, K1, E1, D1) và S2 = (P, C, K2, E2, D2) là các hệ  
mt tự đồng cu có cùng không gian bn rõ và bn mã. Khi đó hmt tích được định  
×
nghĩa là hmt S = (P, C, K1 K2 ,E ,D). Khoá ca hmt tích K = (K1, K2) trong đó K1  
K1, K2 K2. Các hàm mã hoá và gii mã được xác định như sau:  
e
(K ,K ) (x) = eK (eK (x))  
1
2
2
1
d
(K ,K ) (x) = dK (eK (x))  
1
2
1
2
Nếu chúng ta ly tích ca S vi chính nó, ta có hmt (S×S) (ký hiu S2). Nếu ly  
tích n ln thì kết qulà Sn. Ta gi Sn là mt hmt lp. Nếu S2 = S thì ta gi hmt là  
luỹ đẳng. Nếu S là luỹ đẳng thì không nên ly tích lp vì độ bo mt không tăng lên mà  
không gian khoá li ln hơn. Đương nhiên nếu S không luỹ đẳng thì ta có thlp li S  
nhiu ln để tăng độ bo mt. Ở đây ny sinh mt vn đề là làm thế nào để có mt hệ  
mt không luỹ đẳng?  
Ta biết rng nếu S1 và S2 là luỹ đẳng và giao hoán thì S1×S2 cũng luỹ đẳng, đơn  
gin vì:  
(S1×S2)×(S1×S2) = S1×(S2×S1)×S2  
= S1×(S1×S2)×S2  
= (S1×S1)×(S2×S2)  
= (S1×S2)  
Vy nếu mun (S1×S2) không luỹ đẳng thì cn phi có S1 và S2 không giao hoán.  
Điu này có thddàng thc hin bng cách ly tích ca mt hmt theo kiu thay thế  
và mt hmt theo kiu hoán v. Đây là kthut được dùng để thiết kế các hmã hin  
đại như mã DES.  
16  
Chương II: Cơ stoán hc  
3. Lý thuyết toán hc  
3.1. Modulo shc  
Vcơ bn a b(mod n) nếu a = b+kn trong đó k là mt snguyên. Nếu a và b  
dương và a nhhơn n, chúng ta có thgi a là phn dư ca b khi chia cho n. Nói chung a  
và b đều là phn dư khi chia cho n. Người ta còn gb là thng dư ca a theo modulo n,  
và a là đồng dư ca b theo modulo n.  
Modulo shc cũng ging như shc bình thường, bao gm các phép giao hoán,  
kết hp và phân phi. Mt khác gim mi giá trtrung gian trong sut quá trình tính toán.  
(a+b) mod n = ((a mod n) + (b mod n)) mod n  
(a- b) mod n = ((a mod n) - (b mod n)) mod n  
(a×b) mod n = ((a mod n) × (b mod n)) mod n  
(a×(b + c)) mod n = (((a × b) mod n) + ((a × c) mod n)) mod n  
Các phép tính trong các hmã mt hu hết đều thc hin đối vi mt modulo N nào  
đó.  
3.2. Snguyên tố  
Snguyên tlà mt sln hơn 1, nhưng chchia hết cho 1 và chính nó, ngoài ra  
không còn snào nó có thchia hết na. S2 là mt snguyên tố đầu tiên và là số  
nguyên tchn duy nht. Do vy 7, 17, 53, 73, 2521, 2365347734339 cũng là snguyên  
t. Slượng snguyên tlà vô tn. Hmt mã thường sdng snguyên tln c512  
bits và thm chí ln hơn như vy.  
3.3. Ước schung ln nht  
Hai sa và n được gi là hai snguyên tcùng nhau nếu chúng không có tha số  
chung nào khác 1, hay nói mt cách khác, nếu ước schung ln nht ca a và n là bng  
1. Chúng ta có thviết như sau :  
GCD(a,n)=1, (GCD-Greatest Common Divisor)  
S15 và 28 là hai snguyên tcùng nhau, nhưng 15 và 27 thì không phi là hai số  
nguyên tcùng nhau do có ước schung là 1 và 3, ddàng thy 13 và 500 cũng là mt  
cp snguyên tcùng nhau. Mt snguyên tslà nguyên tcùng nhau vi tt ccác  
snguyên khác trcác bi sca nó.  
Mt cách dnht để tính toán ra ước schung ln nht ca hai slà nhvào thut  
toán Euclid. Knuth mô tthut toán và mt vài mô hình ca thut toán đã được sa đổi.  
Dưới đây là đon mã ngun trong ngôn ngC:  
/* Thut toán tìm ước schung ln nht ca x và y, gisx,y>0 */  
int gcd(int x, int y)  
{
int g;  
if(x<0)  
17  
Tải về để xem bản đầy đủ
pdf 98 trang Thùy Anh 04/05/2022 4000
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", để 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:

  • pdfgiao_trinh_an_toan_va_bao_mat_thong_tin.pdf