Upload
kazat
View
52
Download
3
Embed Size (px)
DESCRIPTION
BỘ GIAO THÔNG VẬN TẢITRƯỜNG ĐẠI HỌC HÀNG HẢIBỘ MÔN: KHOA HỌC MÁY TÍNHKHOA: CÔNG NGHỆ THÔNG TIN
Citation preview
B GIAO THNG VN TI TRNG I HC HNG HI
B MN: KHOA HOC MAY TINH KHOA: CNG NGH THNG TIN
Gio trnh
AN TON V BO MT THNG TIN
TN HC PHN : An ton v bo mt Thng tin
M HC PHN : 17212
TRNH O TO : I HC CHNH QUY
DNG CHO SV NGNH : CNG NGH THNG TIN
HI PHNG - 2008
Tn hc phn: An toan bao mt thng tin Loi hc phn: II B mn ph trch ging dy: Khoa hc my tnh. Khoa ph trch: Cng ngh thng tin M hc phn: Tng s TC: 3
TS tit L thuyt Thc hnh/ Xemina T hc Bi tp ln n mn hc
75 45 30 0 0 0
iu kin tin quyt:
Sinh vin cn hoc xong cac hoc phn:
- Lp trinh hng i tng
- Cu truc d liu
- Phn tich, thit k va anh gia thut toan.
Mc ch ca hc phn:
Truyn t cho sinh vin nhng kin thc c bn v cc lnh vc ring trong an ton bo mt my tnh:
- Cc gii thut m ha trong truyn tin.
- Cc thut ton to hm bm v ch k in t.
- Cc m hnh trao chuyn kha.
- Cc m hnh chng thc v cc giao thc mt m.
Ni dung ch yu:
Gm 2 phn:
- Phn ly thuyt: cung cp cac ly thuyt v thut toan ma hoa , cc giao thc.
- Phn lp trinh: ci t cc h m, vit cac ng dung s dung cac h ma mt
Ni dung chi tit ca hc phn:
Tn chng mc Phn phi s tit
TS LT Xemine BT KT
Chng I. Gii thiu nhim v ca an ton v bo mt thng tin.
4 3 1 0 0
1.1. Cc khi nim m u.
1.1.1. Thnh phn ca mt h thng thng tin
1.1.2. Nhng mi e da v thit hi i vi h thng thng tin.
1.1.3. Gii php iu khin kim sot an ton bo mt
1.2. Mc tiu v nguyn tc chung ca ATBM.
1.2.1. Ba mc tiu.
1.2.2. Hai nguyn tc
1.3. Gii thiu chung v cc m hnh mt m.
1.3.1. M hnh c bn trong truyn tin v lut Kirchoff.
1.3.2. Nhng giai on pht trin ca l thuyt m ha.
1
1
1
1
Chng II. Mt s phng php m ha c in. 13 5 5 2 1
2.1. Phng php m n gin.
2.1.1. M hon v trong bng Alphabet.
2.1.2. Mt m cng tnh.
2.2.3. Mt m nhn tnh.
2.1.4. Phn tch m theo phng php thng k.
2.2. Phng php m bng phng th tn xut.
2.2.1. M vi bng th ng m.
2.2.2. M a bng th: gii thut m Vigenre v One time pad.
2.2.3. L thuyt v s b mt tuyt i.
2.2.4. nh gi mc bo mt ca mt phng php m ha.
Kim tra
2
3
2
3
1
1
1
Chng III. Mt m khi. 16 8 7 1 0
3.1. Khi nim.
3.1.1. iu kin an ton cho mt m khi
3.1.2. Nguyn tc thit k.
3.2. Chun ma hoa d liu DES
3.2.1. Lch s ca DES
3.2.2. Cu trc vng lp DES.
3.2.3. Thut ton sinh kha con
3.2.4. Cu trc hm lp.
3.2.5. Thut ton gii m DES.
3.2.6. nh gi mc an ton bo mt ca DES.
3.2.7. TripleDES
3.3. Chun ma hoa cao cp AES
3.3.1. Gii thiu v AES
3.3.2. Thut toan ma hoa
3.3.3. Thut toan giai ma
3.3.4. Ci t AES
3.4 Mt s ch s dng m khi.
3.4.1. Ch bng tra m in t
3.4.2. Ch m mc xch
3.4.3. Ch m phn hi
1
3
3
1
3
3
1
0,5
0,5
Chng IV. H thng m vi kha cng khai. 16 6 7 2 1
4.1. Khi nim kha cng khai.
4.1.1. c trng v ng dng ca h m kha cng khai.
4.1.2. Nguyn tc cu to h kha cng khai
4.2. Gii thiu mt s gii thut PKC ph bin.
4.1.1. H m Trapdoor Knapsack.
4.1.2. H m RSA
1
1
2
1
3
2
4.1.3. H m ElGamal
Kim tra
2 3
1
Chng V. Ch k in t v hm bm. 12 7 5 0 0
5.1. Ch k in t.
5.1.1. nh ngha.
5.1.2. ng dng ca ch k in t
5.2. Gii thiu mt s h ch ky in t
5.2.1. H ch ky in t RSA
5.2.2. H ch ky in t ElGamal
5.2.3. Chun ch ky in t DSA
5.3. Hm bm.
5.3.1. nh ngha.
5.3.2. Sinh ch k in t vi hm bm
5.4. Mt s ham bm thng dung
5.4.1. Hm bm MD5
5.4.2. Hm bm SHA1
0,5
3
0,5
3
2
1,5
1,5
Chng VI. Qun l kha trong h thng mt m 8 5 3 0 0
6.1. Qun l kha i vi h SKC
6.1.1. Gii thiu phng php qun l kha.
6.2. Qun l kha trong cc h PKC
6.2.1. Giao thc trao chuyn kha Needham Schoeder
6.2.2. Giao thc trao i khoa Diffie-Hellman
6.2.3. Giao thc Kerberos
1
1
1
1
1
1
2
Chng VII. Giao thc mt m 6 3 2 0 1
7.1. Khi nim giao thc mt m
7.1.1. nh ngha giao thc mt m
7.1.2. Mc ch giao thc mt m.
7.1.3. Cc bn tham gia vo giao thc mt m
7.2. Tm hiu thit k cc giao thc mt m in hnh
7.2.1. Mt s dng tn cng i vi giao thc mt m.
7.2.2. Gii thiu mt s giao thc mt m.
7.3. Kim tra.
1
2
2
1
Nhim v ca sinh vin: Ln lp y v chp hnh mi quy nh ca Nh trng.
Ti liu hc tp:
1. Phan nh Diu. L thuyt mt m v An ton thng tin. i hc Quc Gia H Ni.
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.
Hnh thc v tiu chun nh gi sinh vin: - Sinh vin phi lm cc bi kim tra trong qu trnh hc v thc hnh. Thi vn p. - Sinh vin phi bo m cc iu kin theo Quy ch ca Nh trng v ca B.
Thang im : Thang im 10.
im nh gi hc phn: Z = 0,3 X + 0,7 Y.
MUC LUC
LI NOI U .................................................................................................................... 1
CHNG I: GII THIU .................................................................................................. 2
1. An toan bao mt thng tin va mt ma hoc ................................................................. 2 2. Khai nim h thng va tai san cua h thng .............................................................. 2 3. Cac mi e doa i vi mt h thng va cac bin phap ngn chn ........................... 2 4. Muc tiu va nguyn tc chung cua an toan bao mt thng tin ................................... 3 5. Mt ma hoc (cryptology) ............................................................................................ 4 6. Khai nim h ma mt (CryptoSystem) ....................................................................... 4 7. M hinh truyn tin c ban cua mt ma hoc va lut Kirchoff ....................................... 5 8. S lc v lich s mt ma hoc .................................................................................. 6 9. Phn loai cac thut toan mt ma hoc ......................................................................... 8 10. Mt s ng dung cua mt ma hoc ........................................................................... 8
CHNG II: C S TOAN HOC ................................................................................... 10
1. Ly thuyt thng tin ................................................................................................... 10 1.1. Entropy ............................................................................................................. 10 1.2. Tc cua ngn ng. (Rate of Language) ....................................................... 11 1.3. Tinh an toan cua h thng ma hoa ................................................................... 11 1.4. Ky thut ln xn va rm ra (Confusion and Diffusion)..................................... 12
2. Ly thuyt phc tap .............................................................................................. 13 2.1. an toan tinh toan ......................................................................................... 14 2.2. an toan khng iu kin .............................................................................. 14 3.3. H mt tich ....................................................................................................... 16
3. Ly thuyt toan hoc ................................................................................................... 17 3.1. Modulo s hoc .................................................................................................. 17 3.2. S nguyn t .................................................................................................... 17 3.3. c s chung ln nht ..................................................................................... 17 3.4. Vanh ZN (vanh ng d module N) ................................................................... 18 3.5. Phn t nghich ao .......................................................................................... 18 3.6. Ham phi le ..................................................................................................... 19 3.7. Thng d bc hai.............................................................................................. 19 3.8. Thut toan luy tha nhanh ................................................................................ 20 3.9. Thut toan clit m rng .................................................................................. 21 3.10. Phng trinh ng d bc nht 1 n .............................................................. 22 3.11. inh ly phn d Trung Hoa. ............................................................................ 22
4. Cac thut toan kim tra s nguyn t. ..................................................................... 23 4.1. Mt s ky hiu toan hoc .................................................................................... 23 4.2. Thut toan Soloway-Strassen ........................................................................... 25 4.3. Thut toan Rabin-Miller..................................................................................... 26 4.4. Thut toan Lehmann. ........................................................................................ 26
5. Bai tp ..................................................................................................................... 26
CHNG III: CAC H MA KHOA BI MT ...................................................................... 28
1. Cac h ma c in ................................................................................................... 28 1.1. H ma hoa thay th (substitution cipher) ........................................................... 28 1.2. H ma Caesar .................................................................................................. 28 1.3. H ma Affine ..................................................................................................... 29 1.4. H ma Vigenere ................................................................................................ 30 1.5. H ma Hill ......................................................................................................... 30 1.6. H ma i ch (transposition cipher)................................................................. 32
2. Cac h ma khi ....................................................................................................... 34 2.1. Mt ma khi ...................................................................................................... 34 2.2. Chun ma hoa d liu DES (Data Encryption Standard) .................................. 35 2.3. Cac yu im cua DES ..................................................................................... 51
2.4. Triple DES (3DES) ............................................................................................ 52 2.5. Chun ma hoa cao cp AES ............................................................................. 54 2.6. Cac c ch, hnh thc s dung cua ma ha khi (Mode of Operation) ............. 68
3. Bai tp ..................................................................................................................... 72
CHNG IV: CAC H MA MT KHOA CNG KHAI...................................................... 77
1. Khai nim h ma mt kha cng khai ...................................................................... 77 2. Nguyn tc cu tao cua cac h ma mt khoa cng khai .......................................... 78 3. Mt s h ma khoa cng khai .................................................................................. 78
3.1. H ma knapsack ............................................................................................... 78 3.2. H ma RSA ....................................................................................................... 79 3.3. H ma El Gamal ............................................................................................... 83 3.4. Cac h ma mt da trn cac ng cong Elliptic ............................................. 85
4. Bai tp ..................................................................................................................... 96
CHNG V: CH KY IN T VA HAM BM ............................................................ 101
1. Ch ky in t ....................................................................................................... 101 1.1. Khai nim v ch ky in t ........................................................................... 101 1.2. H ch ky RSA ............................................................................................... 102 1.3. H ch ky ElGammal ...................................................................................... 103 1.4. Chun ch ky in t (Digital Signature Standard) ......................................... 106
1.5. M hinh ng dung cua ch ky in t ................................................................ 108 2. Ham Bm (Hash Function) .................................................................................... 109
2.1. Khai nim ....................................................................................................... 109 2.2. c tinh cua ham Bm ................................................................................... 109 2.3. Birthday attack ................................................................................................ 110 2.4. Mt s ham Bm ni ting .............................................................................. 111 2.5. Mt s ng dung cua ham Bm ...................................................................... 118
3. Bai tp ................................................................................................................... 119
CHNG VI: QUAN LY KHOA ..................................................................................... 120
1. Quan ly khoa trong cac mang truyn tin ................................................................ 120 2. Mt s h phn phi khoa ..................................................................................... 120
2.1. S phn phi khoa Blom ........................................................................... 120 2.2. H phn phi khoa Kerberos .......................................................................... 122 2.3. H phn phi khoa Diffe-Hellman ................................................................... 123
3. Trao i khoa va thoa thun khoa ......................................................................... 124 3.1. Giao thc trao i khoa Diffie-Hellman ........................................................... 124 3.2. Giao thc trao i khoa Diffie-Hellman c chng ch xac nhn ....................... 125 3.3. Giao thc trao i khoa Matsumoto-Takashima-Imai ...................................... 126 3.4. Giao thc Girault trao i khoa khng chng ch ............................................ 127
4.Bai tp .................................................................................................................... 128
CHNG VII: GIAO THC MT MA ........................................................................... 130
1. Giao thc .............................................................................................................. 130 2. Muc ich cua cac giao thc ................................................................................... 130 3. Cac bn tham gia vao giao thc (the players in protocol) ...................................... 131 4. Cac dang giao thc ............................................................................................... 132
4.1. Giao thc c trong tai ..................................................................................... 132 4.2. Giao thc c ngi phn x ........................................................................... 133 4.3. Giao thc t phn x ..................................................................................... 134
5. Cac dang tn cng i vi giao thc ..................................................................... 134
TAI LIU THAM KHAO.................................................................................................. 136
Danh mc hnh v
DANH MUC HINH VE
Hnh 1.1: M hnh c ban cua truyn tin bao mt .............................................................. 5 Hnh 3.1: Chun ma hoa d liu DES ............................................................................. 36 Hnh 3.2: S ma hoa DES .......................................................................................... 38 Hnh 3.3: S mt vng DES ....................................................................................... 39 Hnh 3.4: S tao khoa con cua DES .......................................................................... 41 Hnh 3.5: S ham f ..................................................................................................... 43 Hnh 3.6: S ham m rng (E) ................................................................................... 44 Hnh 3.7: Triple DES ....................................................................................................... 53 Hnh 3.8: Cac trang thai cua AES .................................................................................... 56 Hnh 3.9: Thut toan ma ha va giai ma cua AES ........................................................... 59 Hnh 3.10: Ham ShifftRows() ........................................................................................... 62 Hnh 3.11: Ham MixColumns cua AES ............................................................................ 63 Hnh 3.12: Ham AddRoundKey cua AES ......................................................................... 63 Hnh 3.13: Ham InvShiftRows() cua AES ......................................................................... 66 Hnh 3.14: C ch ECB ................................................................................................... 69 Hnh 3.15: Ch CBC ................................................................................................... 70 Hnh 3.16: Ch CFB ................................................................................................... 71 Hnh 4.1: M hinh s dung 1 cua cac h ma kha cng khai PKC .................................. 78 Hnh 4.2: M hinh s dung 2 cua cac h ma kha cng khai PKC .................................. 78 Hnh 4.3: M hinh ng dung lai ghep RSA vi cac h ma khi ........................................ 83 Hnh 4.4: Cac ng cong Elliptic trn trng s thc ................................................... 87 Hnh 4.5: Hnh biu din E2
4(g4, 1) .................................................................................. 92 Hnh 4.6: Phng phap trao i khoa Diffie-Hellman da trn ECC ................................ 94 Hnh 5.1: M hinh ng dung cua ch ky in t ........................................................... 108 Hnh 5.2: S ch ky s dung ham Bm ................................................................... 109 Hnh 5.3: S vng lp chinh cua MD5 ...................................................................... 112 Hnh 5.4: S mt vng lp MD5 ............................................................................... 113 Hnh 5.5: S mt vng lp cua SHA ......................................................................... 117
Danh mc bng
DANH MUC BANG
Bang 2.1: Bang bc cua cac phn t trn Z*21 ................................................................. 19 Bang 2.2: Bang luy tha trn Z13 ..................................................................................... 20 Bang 3.1: Bang anh s cac ch cai ting Anh ............................................................... 29 Bang 3.2: Ma hoa thay i vi tri ct ................................................................................. 32 Bang 3.3: Ma ha theo mu hnh hoc .............................................................................. 33 Bang 3.4: Vi du ma ha theo mu hnh hoc .................................................................... 33 Bang 3.5: Ma ha hoan vi theo chu ky ............................................................................ 34 Bang 3.6: Bang hoan vi IP ............................................................................................... 39 Bang 3.7: Bang hoan vi ngc IP-1 ................................................................................. 39 Bang 3.8: Bang PC-1 ...................................................................................................... 41 Bang 3.9: Bang dich bit tai cac vng lp cua DES ........................................................... 42 Bang 3.10: Bang PC-2 .................................................................................................... 42 Bang 3.11: Bang m ta ham m rng E .......................................................................... 44 Bang 3.12: Hp S1 ........................................................................................................... 45 Bang 3.13: Hp S2 ........................................................................................................... 45 Bang 3.14: Hp S3 ........................................................................................................... 45 Bang 3.15: Hp S4 ........................................................................................................... 46 Bang 3.16: Hp S5 ........................................................................................................... 46 Bang 3.17: Hp S6 ........................................................................................................... 46 Bang 3.18: Hp S7 ........................................................................................................... 46 Bang 3.19: Hp S8 ........................................................................................................... 46 Bang 3.20: Bang hoan vi P .............................................................................................. 47 Bang 3.21: Vi du v cac bc thc hin cua DES .......................................................... 50 Bang 3.22: Cac kha yu cua DES ................................................................................. 51 Bang 3.23: Cac kha na yu cua DES .......................................................................... 51 Bang 3.24: Qui c mt s t vit tt va thut ng cua AES .......................................... 54 Bang 3.25: Bang biu din cac xu 4 bit ......................................................................... 56 Bang 3.26: Bang dai kha cua AES ............................................................................ 57 Bang 3.27: Bang th S-Box cua AES .............................................................................. 61 Bang 3.28: Bang th cho ham InvSubBytes() .................................................................. 66 Bang 4.1: Tc cua thut toan Brent-Pollard ................................................................ 81 Bang 4.2: Biu din cua tp E23(1, 1) ............................................................................. 89 Bang 4.3: Bang so sanh cac h ma ECC vi h ma RSA ................................................ 95
Li noi u
1
LI NOI U
T trc cng nguyn con ngi a phai quan tm ti vic lam th nao am
bao an toan bi mt cho cac tai liu, vn ban quan trong, c bit la trong lnh vc qun
s, ngoai giao. Ngay nay vi s xut hin cua may tinh, cac tai liu vn ban giy t va
cac thng tin quan trong u c s ha va x ly trn may tinh, c truyn i trong
mt mi trng ma mc inh la khng an ton. Do yu cu v vic c mt c ch, giai
phap bao v s an toan va bi mt cua cac thng tin nhay cam, quan trong ngy cng
tr nn cp thit. Mt ma hoc chinh la nganh khoa hoc am bao cho muc ich nay. Kh
c th thy mt ng dung Tin hoc c ch no lai khng s dung cac thut toan ma ha
thng tin. Tai liu nay da trn nhng kinh nghim va nghin cu ma tac gia a c rt,
thu thp trong qua trnh giang day mn hoc An toan va Bao mt Thng tin tai khoa Cng
ngh Thng tin, ai hoc Hang hai Vit nam. Vi bay chng c chia thanh cac chu
khac nhau t c s toan hoc cua mt ma hoc cho ti cac h ma, cac giao thc mt ma,
hy vong s cung cp cho cac em sinh vin, cac ban c gia mt tai liu b ich. Mc d a
rt c gng song vn khng tranh khi mt s thiu st, hy vong s c cac ban b
ng nghip, cc em sinh vin, cac ban c gia gp y chn thanh ti c th hoan thin
hn na cun sach ny.
Xin gi li cam n chn thanh ti cac ban b ng nghip , nhng ngi thn a
lun ng vin, gp y cho ti trong qua trnh bin soan . Xin gi li cam n ti Thac sy
Nguyn inh Dng , ngi a oc va cho nhng nhn xet , gp y qui bau cho phn vit
v h ma khoa cng khai da trn cac ng cong Elliptic. Xin gi li cam n su sc ti
Thac sy Pham Tun at , ngi a hiu inh mt cach ky cang va cho rt nhiu nhn xet
c gia tri cho ban thao cua cun sach nay . Cui cung xin gi li cam n ti Ban chu
nhim khoa Cng ngh Thng tin, c bit la Tin sy L Quc inh chu nhim khoa, a
lun tao iu kin tt nht, gip cun sach nay c th hoan thanh.
Hi phng, thng 12 nm 2007
Tc gi
Nguyn Hu Tun
Chng I: Gii thiu
2
CHNG I: GII THIU
1. An toan bao mt thng tin va mt ma hoc
Trai qua nhiu th ky hang loat cac giao thc (protocol) va cac c ch (mechanism)
a c tao ra ap ng nhu cu an toan bao mt thng tin khi ma no c truyn tai
trn cac phng tin vt ly (giy, sach, bao ). Thng thi cac muc tiu cua an toan bao
mt thng tin khng th at c nu chi n thun da vao cac thut toan toan hoc va
cac giao thc, ma at c iu nay i hi cn c cac ky thut mang tinh thu tuc va
s tn trong cac iu lut . Chng han s bi mt cua cac bc th tay la do s phn phat
cac la th a c ng du bi mt dich vu th tin a c chp nhn . Tinh an toan v
mt vt ly cua cac la th la han ch (n c th bi xem trm ) nn am bao s bi m t
cua bc th phap lut a a ra qui inh : vic xem th ma khng c s ng y cua
chu nhn hoc nhng ngi c thm quyn la pham phap va s bi trng phat . i khi
muc ich cua an toan bao mt th ng tin lai at c nh chinh phng tin vt ly mang
chng, chng han nh tin giy oi hoi phai c in bng loai mc va giy tt khng
bi lam gia.
V mt y tng vic lu gi thng tin la khng co nhiu thay i ang k qua thi
gian. Ngay xa thng tin thng c lu va vn chuyn trn giy t , trong khi gi y
chng c lu di dang s ha va c vn chuyn bng cac h thng vin thng
hoc cac h thng khng dy . Tuy nhin s thay i ang k n y chinh la kha
nng sao chep va thay i thng tin. Ngi ta co th tao ra hang ngan mu tin ging nhau
va khng th phn bit c n vi ban gc . Vi cac tai liu lu tr va vn chuyn trn
giy iu nay kho khn hn nhiu. Va iu cn thit i vi mt xa hi ma thng tin hu
ht c lu tr va vn chuyn trn cac phng tin in t chinh la cac phng tin
am bao an toan bao mt thng tin c lp vi cac phng tin lu tr va vn chuyn vt
ly cua n . Phng tin o chinh la mt ma hoc , mt nganh khoa hoc co lich s lu i
da trn nn tang cac thut toan toan hoc, s hoc, xac sut va cac mn khoa hoc khac.
2. Khi nim h thng va tai sn cua h thng
Khai nim h thng : H thng la mt tp hp cac may tinh gm cac thanh phn
phn cng, phn mm va d liu lam vic c tich luy qua thi gian.
Tai san cua h thng bao gm:
Phn cng
Phn mm
D liu
Cac truyn thng gia cac may tinh cua h thng
Mi trng lam vic
Con ngi
3. Cc mi e doa i vi mt h thng va cc bin php ngn chn
Co 3 hinh thc chu yu e doa i vi h thng:
Chng I: Gii thiu
3
Pha hoai: ke th pha hng thit bi phn cng hoc phn mm hoat ng trn h
thng.
Sa i: Tai san cua h thng bi sa i trai phep . iu nay thng lam cho h
thng khng lam ung chc nng cua no . Chng han nh thay i mt khu ,
quyn ngi dung trong h thng lam ho khng th truy cp vao h thng
lam vic.
Can thip : Tai san bi truy cp bi nhng ngi khng c thm quyn . Cac
truyn thng thc hin trn h thng bi ngn chn, sa i.
Cac e doa i vi mt h thng thng tin c th n t nhiu ngun va c thc
hin bi cac i tng khac nhau . Chng ta c th chia thanh 3 loai i tng nh sau :
cac i tng t ngay bn trong h thng (insider), y la nhng ngi co quyn truy cp
hp phap i vi h thng , nhng i tng bn ngoai h thng (hacker, cracker),
thng cac i tng nay tn cng qua nhng ng kt ni vi h thng nh Internet
chng han, va th ba la cac phn mm (chng han nh spyware, adware ) chay trn h
thng.
Cc bin php ngn chn:
Thng co 3 bin phap ngn chn:
iu khin thng qua phn mm : da vao cac c ch an toan bao mt cua h
thng nn (h iu hanh), cac thut toan mt ma hoc
iu khin thng qua phn cng : cac c ch bao mt , cac thut toan mt ma
hoc c cng ha s dung
iu khin thng qua cac chinh sach cua t chc : ban hanh cac qui inh cua t
chc nhm am bao tinh an toan bao mt cua h thng.
Trong mn hoc nay chung ta tp trung xem xet cac thut toan mt ma hoc nh la
mt phng tin c ban, chu yu am bao an toan cho h thng.
4. Mc tiu va nguyn tc chung cua an toan bao mt thng tin
Ba muc tiu cua an toan bao mt thng tin:
Tinh bi mt: Tai san cua h thng ch c truy cp bi nhng ngi c thm
quyn. Cac loai truy cp gm c : oc (reading), xem (viewing), in n (printing), s dung
chng trinh, hoc hiu bit v s tn tai cua mt i tng trong t chc .Tinh bi mt c
th c bao v nh vic kim soat truy cp (theo nhiu kiu khac nhau ) hoc nh cac
thut toan ma ha d liu. Kim soat truy cp chi co th c thc hin vi cac h thng
phn cng vt ly. Cn i vi cac d liu cng cng th thng phng phap hiu qua la
cac phng phap cua mt ma hoc.
Tinh toan ven d liu: tai san cua h thng ch c thay i bi nhng ngi
c thm quyn.
Tinh sn dng : tai san lun sn sang c s dung bi nhng ngi c thm
quyn.
Hai nguyn tc cua an toan bao mt thng tin:
Chng I: Gii thiu
4
Vic thm i nh v bao mt pha i la kho va cn tinh ti tt ca cac tinh hung ,
kha nng tn cng c th c thc hin.
Tai san c bao v cho ti khi ht gia tri s dung hoc ht y ngha bi mt.
5. Mt ma hoc (cryptology)
Mt ma hoc bao gm hai lnh vc : ma ha (cryptography) va tham ma
(cryptanalysis-codebreaking) trong o:
Ma ha: nghin cu cac thut toan va phng thc am ba o tinh bi mt va
xac thc cua thng tin (thng la di dang cac vn ban lu tr trn may tinh ). Cac san
phm cua linh vc nay la cac h ma mt , cac ham bm , cac h ch ky in t , cac c
ch phn phi, quan ly kha va cac giao thc mt ma.
Tham ma: Nghin cu cac phng phap pha ma hoc tao ma gia . San phm
cua lnh vc nay la cac phng phap tham ma , cac phng phap gia mao ch ky , cac
phng phap tn cng cac ham bm va cac giao thc mt ma.
Trong gii han cua mn hoc nay chung ta chu yu tp trung vao tim hiu cac vn
ma ha vi cac h ma mt, cac ham bm, cac h ch ky in t, cac giao thc mt ma.
Ma hoa (cryptography) l mt ngnh khoa hc ca cc phng php truyn tin bo
mt. Trong ting Hy Lp, Crypto (krypte) co ngha l che du hay o ln, cn Graphy
(grafik) co ngha l t. [3]
Ngi ta quan nim rng : nhng t, nhng ky t cua ban vn ban gc c th hiu
c s cu thanh nn ban r (P-Plaintext), thng thi y la cac oan vn ban trong
mt ngn ng nao o; cn nhng t, nhng ky t dang bi mt khng th hiu c th
c goi la ban ma (C-Ciphertext).
C 2 phng thc ma hoa c ban: thay th va hoan vi:
Phng thc ma hoa thay th la phng thc ma hoa ma tng ky t gc hay
mt nhm ky t gc cua ban r c thay th bi cac t, cac ky hiu khac hay kt hp
vi nhau cho ph hp vi mt phng thc nht inh va khoa.
Phng thc ma hoa hoan vi la phng thc ma hoa ma cac t ma cua ban
r c sp xp lai theo mt phng thc nht inh.
Cac h ma mt thng s dung kt hp ca hai ky thut nay.
6. Khi nim h ma mt (CryptoSystem)
Mt h ma mt l b 5 (P, C, K, E, D) tho man cc iu kin sau:
1) P l khng gian bn r: l tp hu hn cc bn r co th co.
2) C l khng gian bn ma: l tp hu hn cc bn ma co th co.
3) K l kkhng gian kho: l tp hu hn cc kho co th co.
4) i vi mi k K, co mt quy tc ma ho ek E v mt quy tc gii ma
tng ng dk D. Vi mi ek: P C v dk: C P l nhng hm m dk(ek(x)) = x cho mi
bn r x P. Hm gii ma dk chinh l nh x ngc ca hm ma hoa ek [5]
Chng I: Gii thiu
5
Thng thi khng gian cac ban ro va khng gian cac ban ma la cac vn ban c
tao thanh t mt b ch cai A nao . o co th la b ch cai ting Anh , b ma ASCII, b
ma Unicode hoc n gian nht la cac bit 0 va 1.
Tinh cht 4 la tinh cht quan trong nht cua ma hoa. Ni dung cua n ni rng nu
ma hoa bng ek va ban ma nhn c sau c giai ma bng ham dk th kt qua nhn
c phai la ban r ban u x. R rang trong trng hp nay, ham ek(x) phai la mt n
anh, nu khng th ta s khng giai ma c. V nu tn tai x1 v x2 sao cho y = ek(x1) =
ek(x2) th khi nhn c ban ma y ta khng bit n c ma t x1 hay x2.
Trong mt h mt bt ky ta lun c |C| |P| v mi quy tc ma hoa la mt n anh.
Khi |C| = |P| th mi ham ma hoa la mt hoan vi.
7. M hinh truyn tin c ban cua mt ma hoc va lut Kirchoff
M hinh truyn tin thng thng : Trong m hinh truyn tin thng thng thng tin
c truyn (vn chuyn) t ngi gi n ngi nhn c thc hin nh mt knh vt
ly (chng han nh vic gi th) c coi la an toan.
M hnh truyn tin c ban cua mt ma hoc:
Hnh 1.1: M hnh c ban cua truyn tin bao mt
y la m hnh c ban cua truyn tin bao mt. Khac vi truyn tin thng thng, c
cac yu t mi c thm vao nh khai nim ke ich (E-Enemy), cc kho m ho v
giai ma K am bao tinh bao mt cua thng tin cn truyn i.
Trong m hinh nay ngi gi S (Sender) mun gi mt thng ip X (Message la
mt ban ro ) ti ngi nhn R (Receiver) qua mt knh truyn khng an toan (Insecured
Channel), ke ich E (Enemy) c th nghe trm, hay sa i thng tin X. V vy, S s dung
phep bin i, tc ma hoa (E-Encryption) ln thng tin X dang oc c (Plaintext)
tao ra mt oan vn ban c m ho Y (C-Ciphertext) khng th hiu c theo mt
quy lut thng thng s dung mt thng tin bi mt c goi la khoa K1 (Key), kho K1
chinh la thng s iu khin cho phep bin i t ban ro X sang ban m Y (ch cc bn
tham gia truyn tin S va R mi c th bit khoa nay). Giai ma (D-Decryption) l qu trnh
ngc lai cho phep ngi nhn thu c thng tin X ban u t oan ma hoa Y s dung
kha giai ma K2 (ch y la kha giai ma va kha ma ha c th khac nhau hoc la mt ty
thuc vao h ma s dung).
Cac phep bin i c s dung trong m hnh truyn tin trn thuc v mt h ma
mt (Cryptosytem) nao .
X Y Y X Sender Encrypt
Insecured
Channel Decrypt Receiver
K1 K2
Enemy
Chng I: Gii thiu
6
Qua trnh ma ha va giai ma yu cu cac qua trnh bin i d liu t dang nguyn
thuy thanh in put cho vic ma hoa va chuyn output cua qua trinh giai ma thanh ban ro .
Cac qua trnh nay la cac qua trnh bin i khng kha va c goi la cac qua trnh
encode va decode.
Theo lut Kirchoff (1835 - 1903) (mt nguyn tc c ban trong m ho) th: ton b
c ch ma/gii ma tr kho l khng bi mt i vi k ch [5]. R rang khi i phng
khng bit c h ma mt ang s dung thut toan ma hoa gi th vic tham ma s rt
kh khn. Nhng chng ta khng th tin vao an toan cua h ma mt ch da vao mt
gia thit khng chc chn la i phng khng bit thut toan ang s dung . V vy, khi
trnh bay mt h mt bt ky , chng ta u gia thit h mt c trnh bay di lut
Kirchoff.
Y nghia cua lut Kirchoff : s an toan cua cac h ma mt khng phai da vao s
phc tap cua thut toan ma hoa s dung.
8. S lc v lich s mt ma hoc
Mt ma hoc la mt nganh khoa hoc co mt lich s khoang 4000 nm. Cac c vt
cua nganh khao c hoc thu c a cho thy iu nay . Nhng ngi Ai cp c ai a s
dung cac ch tng hnh nh la mt dang ma ha n gian nht trn cac bia m cua ho .
Cac tai liu vit tay khac cung cho thy cac phng phap ma ha n gian u tin ma
loai ngi a s dung la cua ngi Ba T c va ngi Do Thai c.
Tuy vy co th chia lich s mt ma hoc thanh hai thi ky nh sau:
Thi ky tin khoa hoc : T trc cng nguyn cho ti nm 1949. Trong giai oan
nay mt ma hoc c coi la mt ngh thut nhiu hn la mt mn khoa hoc mc d a
c ng dung trong thc t.
Lich s cua mt ma hoc c anh du vao nm 1949 khi Claude Shannon a ra
ly thuyt thng tin . Sau thi ky nay mt loat cac nghin cu quan trong cua nghanh mt
ma hoc a c thc hin chng han nh cac nghin cu v ma khi , s ra i cua cac
h ma mt khoa cng khai va ch ky in t.
Qua nhiu th ky phat trin cua mt ma hoc chu yu c phuc vu cho cac muc
ich qun s (gian ip , ngoai giao , chin tranh ). Mt vi du in hinh la 2000 nm
trc y hoang La ma Julius Caesar a tng s dung mt thut toan thay th n
gian ma ngay nay c mang tn ng trong cuc chin tranh Gallic.
Tac phm A manuscript on Deciphering Cryptography Messages cua Abu al -Kindi
c vit vao th ky th 9 c tim thy tai Istabul vao nm 1987 a cho thy nhng nha
khoa hoc A rp la nhng ngi u tin a phat trin cac phng phap tham ma da vao
phn tich tn s xut hin cua cac ky t i vi cac h ma thay th n m (mt phng
phap c s dung rng rai trong thi ky Trung c do n gian va kha hiu qua).
chu u thi ky Trung c la mt khoang thi gian u am va tm ti cua lich s nn
khng co nhiu phat trin manh v vn hoa noi chung va mt ma hoc noi ring . Mt vai
s kin c ghi lai bi cac vi linh muc nhng ch c Roger Bacon la ngi thc s a
vit v mt ma hoc trong tac phm Secret Work of Art and the Nullity of Magic vao gia
nhng nm 1200. Vao thi Trung c mt trong nhng cai tn ni ting nht la Chaucer,
ngi a a ra cac cng trnh nghin cu nghim tc u tin v mt ma hoc trong cac
Chng I: Gii thiu
7
tac phm cua mnh chng han nh Treatise on the Astrolabe. Trong thi ky Trung c
phng Ty cun sach cua Blaise De Vegenere (ngi phat minh ra thut t oan ma ha
thay th a m tit ) c xem nh la mt tng kt cac kin thc v mt ma hoc cho ti
thi im by gi, bao gm ca thut toan thay th a m tit va mt vai s kha t
ng.
Blaise De Vegenere cung la tac gia cua h ma mang t n ng, h ma nay a tng
c xem la an toan tuyt i va c s dung trong mt thi gian dai, tuy nhin Charles
Babbages a thc hin tham ma thanh cng vao nm 1854 nhng iu nay c gi bi
mt. Mt thut toan tham ma c phat hin c lp bi mt nha khoa hoc ngi Ph
(thuc nc c ngay nay ) c tn l Friedrich Kasiski . Tuy vy do vic thiu cac thit bi
cai tin nn cac bin th cua thut toan ma ha nay vn cn c s dung trong nhng
nm u cua th ky 20 ma tiu biu nht la vic tham ma thanh cng may in tin
Zimmermann cua qun c (mt trong cac s kin tiu biu cua mt ma hoc ) trong th
chin th nht va kt qua la s tham gia cua My vao cuc chin.
Vi s xut hin cua cac h thng may tinh ca nhn va mang may tinh cac thng tin
vn ban ngay cang c lu tr va x ly nhiu hn trn cac may tinh do o nay sinh yu
cu v an toan bao mt i vi cac thng tin c lu tr , x ly va truyn gia cac may
tinh.
Vao u nhng nm 1970 la s phat trin cua cac thut toan ma ha khi u tin :
Lucipher v DES . DES sau o a co mt s phat trin ng dung rc r cho ti u
nhng nm 90.
Vao cui nhng nm 1970 chng kin s phat trin cua cac thut ton m ha
kha cng khai sau khi Whitfield Diffie va Martin Hellman cng b bai bao New Directions
in Cryptography lam nn tang cho s ra i cua cac h ma kha cng khai va cac h
ch ky in t.
Do nhc im cua cac h ma mt khoa cng khai la chm nn cac h ma khi vn
tip tuc c phat trin vi cac h ma khi mi ra i thay th cho DES vao cui th
ky 20 nh IDEA, AES hoc 3DES (mt cai tin cua DES).
Gn y nht la cac s kin lin quan ti cac ham bm MD5 (mt ham bm thuc
ho MD do Ron Rivest phat trin ) va SHA 1. Mt nhom cac nha khoa hoc ngi Trung
Quc (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) a phat trin cac phng phap cho
phep phat hin ra cac ung cua cac ham bm c s dung rng rai nht trong s cac
ham bm nay. y la mt s kin ln i vi nganh mt ma hoc do s ng dung rng rai
va c th xem la cn quan trong hn ban thn cac h ma mt cua cac ham bm . Do s
kin nay cac hang vit phn mm ln (nh Microsoft) va cac nha mt ma hoc a khuyn
cao cac lp trnh vin s dung cac ham bm manh hn (nh SHA-256, SHA-512) trong
cac ng dung.
Bruce Schneier (mt trong nhng nha mt ma hoc hang u , tac gia cua h ma
Blowfish) a tng noi rng cac hinh thc tn cng i vi cac h ma mt noi ring va tn
cng i vi cac h thng may tinh noi chung se ngay cang t r nn hoan thin hn
Attacks always get better ; they never get worse . va lich s phat trin cua mt ma hoc
chinh la lich s phat trin cua cac hnh thc tn cng i vi cac h ma mt ang c
s dung.
Chng I: Gii thiu
8
9. Phn loai cac thut toan mt ma hoc
C nhiu cach khac nhau chng ta c th phn loai cac thut toan mt ma hoc
s c hoc trong chng trnh . y chng ta s phn loai cac thut toan mt ma hoc
da vao hai loai tiu chi.
Tiu chi th nht la da vao cac dich vu an toan bao mt ma cac thut toan cung
cp, da vao s lng khoa s dung (0, 1, 2) chng ta c cac thut toan ma ha sau:
1. Cac thut toan ma ha kha bi mt tng ng vi cac h ma mt kha bi mt
hay khoa i xng SKC (Symmetric Key Cryptosytems), do vai tro cua ngi nhn va
ngi gi la nh nhau , ca hai u c th ma ha va giai ma thng ip , nh Caesar ,
DES, AES Khoa s dung cho cac thut toan nay la 1 kha cho ca vic ma ha va giai
ma.
2. Cac thut toan ma ha kha cng khai tng ng vi cac h ma kha cng
khai PKC (Public Key Cryptosystems). i khi cac h ma nay cn c goi la cac h ma
kha bt i xng (Asymmetric Key Cryptosytems). Kha s dung cho cac thut toan nay
la 2 kha, mt cho vic ma hoa va mt cho vic giai ma , kha ma ha c cng khai
ha.
3. Cac thut toa n tao ch ky in t (Digital Signature Algorithms). Cac thut
toan tao ch ky in t tao thanh cac h ch ky in t . Thng thng mi h ch ky
in t co cung c s ly thuyt vi mt h ma mt khoa cng khai nhng vi cach ap
dung khac nhau . Trong chng trinh hoc chung ta se hoc mt s h ch ky in t ph
bin la RSA, ElGammma
4. Cac ham bm (Hash functions). Cac ham bm la cac thut toan ma ha khng
kha hoc c kha va thng c s dung trong cac h ch ky in t hoc cac h ma
kha cng khai.
Tiu chi th hai phn loai cac thut toan ma hoa da trn cach thc x ly input cua
thut toan (tc la ban ro ), da trn tiu chi nay chung ta co hai loai thut toan ma hoa
sau:
1. Cac thut toan ma ha khi (chng han nh DES , AES ) x ly ban ro di
cac n vi c ban la cac khi c kich thc ging nhau.
2. Cac thut toan ma ha dng (RC4 ) coi ban ro la mt lung bit, byte lin tuc.
10. Mt s ng dung cua mt ma hoc
Ngay nay kh c th tm thy cac ng dung trn may tinh lai khng s dung ti cac
thut toan va cac giao thc mt ma hoc . T cac ng dung cho cac may tinh ca nhn
(Desktop Applications ) cho ti cac chng trinh h thng nh cac h iu hanh
(Operating Systems) hoc cac ng dung mang nh Yahoo Messenger hoc cac h c s
d liu u co s dung cac thut toan ma hoa mt khu ng i dng bng mt h ma
hoc mt ham bm nao o . c bit vi s phat trin manh m cua thng mai in t
cac m hnh ch ky in t ngay cang ng vai tr tich cc cho mt mi trng an toan
cho ngi dung. Tuy vy chng ta vn c th chia cac lnh vc ng dung cua mt ma hoc
thanh cac lnh vc nh nh sau:
Chng I: Gii thiu
9
Bao mt (Confidentiality): che du ni dung cua cac thng ip c trao i
trong mt phin truyn thng hoc giao dich hoc cac thng ip trn mt h thng may
tinh (cac file, cac d liu trong mt c s d liu ).
Xac thc ha (Authentication): am bao ngun gc cua mt thng ip , ngi
dng.
Toan ven (Integrity): am bao chi co cac t chc a c xac thc hoa mi co
th thay i cac tai san cua h thng cung nh cac thng tin trn ng truyn.
Dich vu khng th chi t (Non-Repudiation): Cac bn a c xac thc
khng th phu nhn vic tham gia vao mt giao dich hp l.
Ngoai ra cn cac dich vu quan trong khac chng han nh ch ky in t , dich
vu chng thc danh tinh (Identification) cho phep thay th hinh thc xac thc hoa ngi
dng da trn cac mt khu bng cac ky thut manh hn hoc dich vu thng mai in
t cho phep tin hanh cac giao dich an toan trn cac knh truyn thng khng an toan
nh Internet.
Chng II: C s ton hoc
10
CHNG II: C S TOAN HOC
hiu c nhng thut toan s dung trong cac h ma mt , trong cac h ch ky
in t cung nh cac giao thc mt ma , chng ta phai c nhng kin thc nn tang c
ban v toan hoc, ly thuyt thng tin c s dung trong mt ma hoc. Chng nay trinh
bay nhng khai nim c ban v ly thuyt thng tin nh Entropy , tc cua ngn ng
(Rate of Language), phc tap cua thut toan , an toan cua thut toan , va mt s
kin thc toan hoc : ng d s hoc (modulo), s nguyn t , inh ly phn d trung hoa ,
inh ly Fermat . . . va cac thut toan kim tra s nguyn t. Nhng vn chinh se c
trnh bay trong chng nay gm :
Ly thuyt thng tin
Ly thuyt phc tap
Ly thuyt s hoc.
1. Ly thuyt thng tin
Nhng khai nim m u cua ly thuyt thng tin c a ra ln u tin vao nm
1948 bi Claude Elmwood Shannon (mt nha khoa hoc c coi la cha cua ly thuyt
thng tin). Trong phn nay chung ta chi cp ti mt s chu quan trong cua ly thuyt
thng tin.
1.1. Entropy
Ly thuyt thng tin inh ngha khi lng thng tin trong mt thng bao la s bit nh
nht cn thit ma hoa tt ca nhng nghia co th cua thng bao o.
Vi du , trng ngay_thang trong mt c s d liu cha khng qua 3 bit thng tin,
bi vi thng tin ngay c th ma hoa vi 3 bit d liu:
000 = Sunday
001 = Monday
010 = Tuesday
011 = Wednesday
100 = Thursday
101 = Friday
110 = Saturday
111 is unused
Nu thng tin nay c biu din bi chui ky t ASCII tng ng , n s chim
nhiu khng gian nh hn , nhng cung khng cha nhiu thng tin hn . Tng t nh
trng gioi_tinh cua mt c s d liu ch cha 1 bit thng tin, n c th lu tr nh mt
trong hai xu ky t ASCII : Nam, N.
Khi lng thng tin trong mt thng bao M o bi Entropy cua thng bao o, ky
hiu la H(M). Entropy cua thng bao gioi _tinh la 1 bit, ky hiu H (gioi_tinh) = 1, Entropy
cua thng bao s ngay trong tun la nh hn 3 bits.
Chng II: C s ton hoc
11
Trong trng hp tng quat, Entropy cua mt thng bao la log 2n, vi n la s kha
nng co th (y ngha) cua thng bao.
1.2. Tc cua ngn ng. (Rate of Language)
i vi mt ngn ng, tc thc t (actual rate) cua ngn ng la:
r = H(M)/N
trong trng hp nay N la dai cua thng bao va M la mt thng ip c dai N.
Tc cua ting Anh binh thng la 0.28 do o mi ch cai ting Anh co 1.3 bit ngha.
Tc tuyt i (absolute rate) cua mt ngn ng la s bits ln nht cn thit
ma ha cac ky t cua ngn ng . Nu co L ky t t rong mt ngn ng , th tc tuyt
i la :
R = log2L
y la s Entropy ln nht cua mi ky t n le . i vi ting Anh gm 26 ch cai,
tc tuyt i la log 226 = 4.7bits/ch cai. S khng c iu g la ngac nhin i vi tt
ca moi ngi rng thc t tc cua ting Anh nh hn nhi u so vi tc tuyt i , va
chng ta vn thy rng i vi mt thng bao bng ting Anh c th loai b mt s ch
cai nhng ngi oc vn c th hiu c. Hin tng nay c goi la d tha cua
ngn ng (Redundancy) t nhin.
Khng chi i vi ting Anh ma vi hu ht cac ngn ng t nhin , do cu truc cua
ngn ng , do vic s dung ngn ng dn ti co m t s ch cai c s dung vi tn
sut khng ng u hoc chi co th xut hin vi mt cu truc nao o lam cho chung ta
vn co th oan c nghia cua cac thng bao nu loai bo cac ch cai nay.
d tha (Redundancy) cua mt ngn ng ky hiu la D va D = R r. i vi
ting Anh:
D = 1 - .28 = .72 letters/letter
D = 4.7 1.3 = 3.4 bits/letter
Nh vy mi ch cai co 1.3 bit nghia va 3.4 bit d tha (xp xi 72%).
1.3. Tinh an toan cua h thng ma hoa
Shannon inh nghia rt ro rang , t m cac m hnh toan hoc anh gia an toan
cua cac h ma mt s dung . Muc ich cua ngi tham ma la phat hin ra khoa s dung
cua h ma (K-Key), ban r (P-PlainText), hoc ca hai . Hn na ho co th hai long vi
mt vai thng tin co kha nng v ban ro P chng han nh o la m thanh dang s, hoc
la mt vn ban ting c, hoc la mt bang tinh d liu, v. v . . .
Trong hu ht cac ln tham ma, ngi tham ma thng c gng thu thp mt s
thng tin co kha nng v ban r P trc khi bt u. Ho c th bit ngn ng a c s
dung ma hoa. Ngn ng nay chc chn co s d tha kt hp vi chinh ngn ng o.
Nu no la mt thng bao gi ti Bob, n c th bt u vi "Dear Bob". oan vn ban
H(M) = log2n
Chng II: C s ton hoc
12
"Dear Bob" s la mt kha nng c th hn la mt chui khng mang y nghia gi chng han
"tm*h&rf". Muc ich cua vic tham ma la sa nhng tp hp kha nng co th co cua ban
ma (C-CipherText) vi mi kha nng co th cua ban ro.
Shannon phat trin ly thuyt cho rng , h thng ma hoa chi an toan tuyt i nu
nu s khoa c th s dung it nht phai bng s thng bao co th . Hiu theo mt nghia
khac, khoa ti thiu cua h ma phai dai bng thng bao cua h ma o.
Ngoai tr cac h ma an toan tuyt i , cac ban ma thng cha mt s thng tin
ung vi ban ro , iu nay la khng th tranh c . Mt thut toan mt ma tt gi cho
thng tin bi tit l mc nh nht va mt ngi tham ma gioi se khai thac tt nhng
thng tin nay phat hin ra ban r.
Ngi tham ma s dung s d tha t nhin cua ngn ng lam giam s kha
nng co th c cua ban r . Nhiu thng tin d tha cua ngn ng , s d dang hn cho
qua trnh tham ma. Chinh v ly do nay ma nhiu m hinh ma hoa s dung thut toan nen
ban r giam kich thc vn ban trc khi ma hoa chng. V qua trnh nen lam giam s
d tha cua thng bao . Entropy cua mt h ma mt la kich thc cua khng gian khoa
(Keyspace).
H(K) = log2(number of keys )
Shannon cung a ra mt khai nim goi la Unicity Distance (ky hiu la U ) anh
gia an toan cua mt h ma mt. i vi mt h ma mt U cua n la:
U = H(K)/D
y la s nho nht cac ban ma cn thit co th tin hanh tham ma theo cach th
tt ca cac khoa co th (brute-force attack) thanh cng. Chng han i vi h ma thay th
n m (nh Caesar) trn bang ch cai ting Anh ta se co:
H(K)= log226! = 87. D = 3.4 suy ra U = 25.5.
iu nay co nghia la nu chung ta co khoang 25 ch cai ban ma chung ta chi co th
th khp vi mt ban ro.
Khai nim Unicity Distance la mt khai nim mang tinh xac sut n cho chng ta
bit s lng it nht cac ban ma cn c c th xac inh duy nht 1 ban ma ch khng
phai la s ban ma u tin hanh tham ma (chc chn thanh cng ). Nu chung ta co s
ban ma it hn s U th khng th ni la d oan (phep th) cua chng ta la ng . Da
vao cng thc nay chng ta thy nu nh d tha cua ngn ng cang gn 0 th cang
kh tham ma mc d c th la mt h ma rt n gian . Cung da vao cng thc nay
suy ra tng tinh an toan cua h ma co th tng khng gian khoa cua no.
1.4. Ky thut ln xn va rm ra (Confusion and Diffusion)
Theo Shannon, c hai ky thut c ban che du s d tha thng tin trong thng
bao gc, o la: s ln xn va s rm ra.
Ky thut ln xn (Confusion): che du mi quan h gia ban ro va ban gc . Ky
thut nay lam tht bai cac c gng nghin cu ban ma tm kim thng tin d tha va
thng k mu . Phng phap d nht t hc hin iu nay la thng qua ky thut thay
th. Mt h ma hoa thay th n gian , chng han h ma dich vong Caesar , da trn nn
Chng II: C s ton hoc
13
tang cua s thay th cc ch cai cua ban r, ngha la ch cai nay c thay th bng
ch cai khac
Ky thut rm ra (Diffusion): lam mt i s d tha cua ban r bng cach tng
s phu ban ma vao ban r (va kha). Cng vic tim kim s d tha cua ngi tham ma
s rt mt thi gian va phc tap . Cach n gian nht tao ra s rm ra la thng qua vic
i ch (hay con goi la ky thut hon vi).
Thng thng cac h ma hin ai thng kt hp ca hai ky thut thay th va hoan
vi tao ra cac thut toan ma ha c an toan cao hn.
2. Ly thuyt phc tap
Ly thuyt phc tap cung cp mt phng phap phn tich phc tap tinh
toan cua thut toan va cac ky thut ma hoa khac nhau . N so sanh cac thut toan ma
hoa, ky thut va phat hin ra an toan cua cac thut toan . Ly thuyt thng tin a cho
chung ta bit rng mt thut ton ma ho co th b bi l . Cn ly thuyt phc tap cho
bit kha nng bi tham ma cua mt h ma mt.
phc tap thi gian cua thut toan la mt ham cua kich thc d liu input cua
thut toan o . Thut toan co phc tap thi gian f (n) i vi moi n va kich thc input
n, ngha la s bc thc hin cua thut toan ln hn f(n) bc.
phc tap thi gian thu t toan phu thuc vao m hnh cua cac thut toan , s cac
bc nho hn nu cac hoat ng c tp trung trong mt bc (chng han nh cac
vng lp, cac li goi ham ).
Cac lp cua thut toan , vi phc tap thi gian la mt ham mu i vi kich thc
input c coi la "khng co kha nng thc hin ". Cac thut toan c phc tap ging
nhau c phn loai vao trong cac lp tng ng . Vi du tt ca cac thut toan c
phc tap la n3 c phn vao trong lp n 3 va ky hiu bi O(n3). C hai lp tng quat s
c la lp P (Polynomial) va lp NP (NonPolynomial).
Cac thut toan thuc lp P c phc tap la ham a thc cua kich thc input .
Nu mi bc tip theo cua thut toan la duy nht thi thut toan goi la n inh . Tt ca
thut toan thuc lp P n inh co thi gian gii han la P _time, iu nay cho bit chung
s thc hin trong thi gian a thc , tng ng vi phc tap a thc cua kich
thc input.
Thut toan ma bc tip theo vic tinh toan phai la chon giai phap t nhng
gii han gia tri cua hoat ng goi la khng n inh . Ly thuyt phc tap s du ng cac
may c bit m ta c im bng cach a ra kt lun bi cac chun . My Turing la
mt may c bit , may hoat ng trong thi gian ri rac , tai mt thi im n nm trong
khoang trang thai y u s cua tt ca cac trang thai c th la hu han . Chng ta c th
inh nghia ham phc tap thi gian kt hp vi may Turing A.
fA(n) = max{m/A kt thuc sau m bc vi u vao w = n3 }
y c hng ta gia s rng A la trang thai kt thc i vi tt ca cac u vao , vn
s tr nn kh khn hn nu cac trang thai khng nm trong P . May Turing k hng
n inh hoat ng vi thut toan NP. May Turing khng n inh c th c mt vai trang
Chng II: C s ton hoc
14
thai chinh xac. S(w) la trang thai o s thanh cng ngn nht cua thut toan , (Ngha la s
tinh toan dn n trang thai cui cng)
Ham s phc tap thi gian cua may Turing khng n inh A c inh ngha :
fA(n)=max{1,m/s(w) co m bc i vi w/w=n}
mi bc may Turing khng n inh b tri nhiu ban sao cua chinh n nh c
mt vai giai phap va tinh toan c lp vi moi li giai.
Cac thut toan thuc lp NP la khng n inh va c th tinh toan trn may Turing
khng n inh trong thi gian P.
Tuy nhin khng phai thut toan ma ha cang c phc tap ln th h ma mt s
dung thut toan s cang an toan theo nh phat biu cua lut Kierchoff.
Vy co th anh gia an toan cua mt h ma mt nh th nao ? Vn nay a
c Claude Shannon tra li vi cac khai nim v an toan cu a cac h ma mt trong
mt bai bao c tiu Ly thuyt thng tin cua cac h thng bao mt (1949).
2.1. an toan tinh ton
inh nghia:
Mt h mt c gi l an ton v mt tinh ton nu co mt thut ton tt nht
ph no th cn it nht N php ton, vi N l mt s rt ln no o. [10]
Tuy nhin trong thc t, khng c mt h mt nao chng t la an toan theo inh
ngha trn. V vy, trn thc t, ngi ta goi h mt la an toan tinh toan nu c mt
thut toan pha n nhng i hi thi gian ln n mc khng chp nhn c (thut
toan c phc tap ham mu hoc thuc lp cac bai toan c phc tap NP).
Mt cach tip cn khac v an toan tinh toan la quy n v mt bai toan a c
nghin cu ky va c coi la kh. Vi du nh bai toan phn tich ra tha s nguyn t cua
mt s n cho trc c coi la bai toan kh vi n ln, v vy ta c th coi mt h mt
da trn bai toan phn tich ra tha s nguyn t la an toan (tt nhin y ch la an
toan da vao chng minh mt bai toan khac ch khng phai chng minh hoan chnh v
an toan cua h mt).
2.2. an toan khng iu kin
inh nghia 1:
Mt h mt c coi l an ton khng iu kin khi no khng th b ph ngay c vi
kh nng tinh ton khng hn ch. [10]
R rang la an toan khng iu kin khng th nghin cu theo quan im
phc tap tinh toan v thi gian tinh toan la khng han ch. V vy, y ly thuyt xac sut
s c cp nghin cu v an toan khng iu kin.
inh nghia 2:
Gia s bin X va Y la cac bin ngu nhin. Ky hiu xac sut X nhn gia tri x la
p(x) va Y nhn gia tri y la p(y). Xac sut ng thi p(x, y) la xac sut ng thi X
nhn gia tri x va Y nhn gia tri y. Xac sut c iu kin p(x/y) la xac sut X nhn gia tri
Chng II: C s ton hoc
15
x vi iu kin Y nhn gia tri y. Cac bin X va Y c goi la c lp nu p(x, y) = p(x)p(y)
vi moi gia tri c th c cua X va Y.
inh ly Bayes:
Nu p(y) 0 th ta co:
( ) ( / )( / )
( )
p x p y xp x y
p y
H qu:
X, Y l bin c lp khi v ch khi p(x/y) = p(x) vi mi x, y. [5]
y, ta gia thit rng mt khoa cu th ch c dng cho mt ban ma. Ky hiu
xac sut tin nghim ban r xut hin la pp(x). Cung gia thit rng khoa K c chon
theo mt phn b xac sut nao (thng thng khoa K c chon ngu nhin nn cac
khoa s ng kha nng). Ky hiu xac sut khoa K c chon la pk(K).
Gia thit rng khoa K va ban r x la cac bin c lp. Hai phn b xac sut trn P
v K s tao ra mt phn b xac sut trn C . Ky hiu C(K) la tp cac ban ma c th nu
K l kho.
C (K) = { eK(x): xP }
Khi vi mi yC, ta c:
C
, ( )
( ) ( ). ( ( ))K p KK y C K
p y p K p d y
Va xac sut c iu kin pC(y/x) la xac sut y la ban ma vi iu kin ban r la x
c tinh theo cng thc sau:
)(,
)()/(ydxK
KC
K
Kpxyp
By gi ta c th tinh xac sut c iu kin pP(x/y) la xac sut x la ban r khi ban
ma la y theo inh ly Bayes:
, ( )C
, ( )
( ) ( )( ) ( / )
( / )( ) ( ) ( ( ))
K
P K
K x d yPP
C K P K
K y C K
p x p Kp x p y x
p x yp y p K p d y
Lc nay, ta c th inh ngha khai nim v mt hoan thin. Ni mt cach khng
hnh thc, mt hoan thin ngha la i phng vi ban ma trong tay cung khng th
thu nhn c thng tin g v ban r. Tuy nhin ta s nu inh ngha chinh xac v mt
hon thin nh sau:
inh nghia:
Mt h mt hon thin nu pP(x/y) = pP(x) vi mi xP v mi yC. Tc l xc sut
hu nghim thu c bn r l x vi iu kin a thu c bn ma l y ng nht vi
xc sut tin nghim bn r l x. [5]
Chng II: C s ton hoc
16
Hay ni cach khac, mt hoan thin cung tng ng vi pC(y/x)= pC(y)).
inh ly Shannon:
Gi s (P, C, K, E, D) l mt h mt, khi o h mt t c mt hon thin khi
v ch khi |K| |C|. Trong trng hp |K| = |C| = |P|, h mt t mt hon thin khi v
ch khi mi kho K c dng vi xc sut bng nhau, bng 1/|K| v vi mi xP, mi y
C co mt kho K duy nht sao cho eK(x) = y. [5]
Nh vy ta thy at hoan thin i hi khoa phai rt dai, do vy rt kh khn
trong vic chuyn giao khoa gia hai bn truyn tin. V vy trong thc t, chng ta khng
th c an toan khng iu kin ma chng ta ch cn an toan thc t, tc la phu thuc vao
thng tin va thi gian cn bao mt bng cach s dung cac h mt khac nhau vi bao
mt khac nhau.
3.3. H mt tich
Mt y tng khac c Shannon a ra la y tng tao ra cac h mt mi da trn
cac h mt cu bng cach tao tich cua chng. y la mt y tng quan trong trong vic
thit k cac h mt hin ai ngay nay.
n gian, y chng ta ch xet cac h mt trong C = P, cac h mt loai nay
goi la t ng cu. Gia s S1 = (P, C, K1, E1, D1) va S2 = (P, C, K2, E2, D2) la cac h
mt t ng cu c cng khng gian ban r va ban ma. Khi h mt tich c inh
ngha la h mt S = (P, C, K1K2 ,E ,D). Khoa cua h mt tich K = (K1, K2) trong K1 K1, K2 K2. Cac ham ma hoa va giai ma c xac inh nh sau:
))(()(1221 ),(
xeexe KKKK
))(()(2121 ),(
xedxd KKKK
Nu chng ta ly tich cua S vi chinh n, ta c h mt (SS) (ky hiu S2). Nu ly
tich n ln th kt qua la Sn. Ta goi Sn la mt h mt lp. Nu S2 = S th ta goi h mt la
luy ng. Nu S la luy ng th khng nn ly tich lp v bao mt khng tng ln ma
khng gian khoa lai ln hn. ng nhin nu S khng luy ng th ta c th lp lai S
nhiu ln tng bao mt. y nay sinh mt vn la lam th nao c mt h
mt khng luy ng?
Ta bit rng nu S1 va S2 la luy ng va giao hoan th S1S2 cung luy ng, n
gian v:
(S1S2)(S1S2) = S1(S2S1)S2
= S1(S1S2)S2
= (S1S1)(S2S2)
= (S1S2)
Vy nu mun (S1S2) khng luy ng th cn phai c S1 va S2 khng giao hoan.
iu nay c th d dang thc hin bng cach ly tich cua mt h mt theo kiu thay th
va mt h mt theo kiu hoan vi. y la ky thut c dng thit k cac h ma hin
ai nh ma DES.
Chng II: C s ton hoc
17
3. Ly thuyt ton hoc
3.1. Modulo s hoc
V c ban a b(mod n) nu a = b+kn trong o k la mt s nguyn . Nu a va b
dng va a nho hn n, chng ta c th goi a la phn d cua b khi chia cho n. Ni chung a
va b u la phn d khi chia cho n . Ngi ta con go b la thng d cua a theo modulo n,
va a la ng d cua b theo modulo n.
Modulo s hoc cung ging nh s hoc binh thng , bao gm cac phep giao hoan ,
kt hp va phn phi. Mt khac giam mi gia tri trung gian trong sut qua trnh tinh toan.
(a+b) mod n = ((a mod n) + (b mod n)) mod n
(a- b) mod n = ((a mod n) - (b mod n)) mod n
(ab) 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
Cac phep tinh trong cac h ma mt hu ht u thc hin i vi mt modulo N nao
o.
3.2. S nguyn t
S nguyn t la mt s ln hn 1, nhng chi chia ht cho 1 va chinh n , ngoai ra
khng con s nao no co th chia ht na . S 2 la mt s ng uyn t u tin va la s
nguyn t chn duy nht . Do vy 7, 17, 53, 73, 2521, 2365347734339 cung la s nguyn
t. S lng s nguyn t la v tn . H mt ma thng s dung s nguyn t ln c 512
bits va thm chi ln hn nh vy.
3.3. c s chung ln nht
Hai s a va n c goi la hai s nguyn t cng nhau nu chng khng c tha s
chung nao khac 1, hay noi mt cach khac , nu c s chung ln nht cua a va n la bng
1. Chng ta c th vit nh sau :
GCD(a,n)=1, (GCD-Greatest Common Divisor)
S 15 va 28 la hai s nguyn t cung nhau , nhng 15 va 27 th khng phai la hai s
nguyn t cng nhau do co c s chung la 1 va 3, d dang thy 13 va 500 cung la mt
cp s nguyn t cng nhau. Mt s nguyn t se la nguyn t cung nhau vi tt ca cac
s nguyn khac tr cac bi s cua no.
Mt cach d nht tinh toan ra c s chung ln nht cua hai s la nh vao thut
toan Euclid. Knuth m ta thut toan va mt vai m hinh cua thut toan a c sa i.
Di y la oan ma ngun trong ngn ng C:
/* Thut toan tim c s chung ln nht cua x va y, gia s x,y>0 */
int gcd(int x, int y)
{
int g;
if(x
Chng II: C s ton hoc
18
x=-x;
if(y0){
g=x;
x=y%x;
y=g;
}
return g;
}
3.4. Vanh ZN (vanh ng d module N)
Tp cac s nguyn ZN = {0, 1, , N-1} trong o N la mt s t nhin dng vi
hai phep toan cng (+) va nhn (.) c inh nghia nh sau tao thanh mt vanh ng d
modulo N (hay con goi la tp thng d y u theo modulo N):
Phep cng:
a, b ZN: a+b = (a+b) mod N.
Phep nhn:
a, b ZN: a . b = (a * b) mod N.
Theo tinh cht cua modulo s hoc chung ta d dang nhn thy Z N la mt vanh giao
hoan va kt hp. Hu ht cac tinh toan trong cac h ma mt u c thc hin trn mt
vanh ZN nao .
Trn vanh ZN s 0 la phn t trung ha v a + 0 = 0 + a = a, a ZN, s 1 c goi
la phn t n vi v a . 1 = 1 . a = a a ZN.
3.5. Phn t nghich ao
Trn trng s thc R , s nghich ao cua 5 la 1/5, bi vi 5 1/5=1. Cn trn mt
vanh s nguyn ZN ngi ta a ra khai nim v s nghich ao cua mt s nh sau:
Gia s a ZN va tn tai b ZN sao cho a.b = (a*b) mod N = 1. Khi o b c goi la
phn t nghich ao cua a trn ZN va ky hiu la a-1 = b.
Vic tim phn t nghich ao cua mt s a ZN cho trc thc cht tng ng
vi vic tim hai s b va k sao cho: a.b = k.N + 1 trong o b, k ZN. Hay vit gon lai la:
a-1 b (mod N )
inh ly v s tn tai cua phn t nghich ao : Nu GCD(a, N) = 1 th tn tai duy
nht 1 s b ZN la phn t nghich ao cua a, ngha la tha man a.b = (a*b) mod N = 1.
Chng II: C s ton hoc
19
3.6. Ham phi le
Vi mi s nguyn N , gia tri cua ham phi le cua N la tng s tt ca cac s
nguyn ZN va nguyn t cng nhau vi N . Chng han nu P la mt s nguyn thi gia tri
ham phi le cua P: (P) = P 1 hoc nu N = p*q trong o p va q la hai s nguyn t thi
(N) = (p-1)*(q-1).
Trong trng hp tng quat nu dang phn tich ra tha s nguyn t cua N la:
1 2
1 2 ...k
kN p p p
trong o p i la cac s nguyn t cn i la cac s nguyn dng th gia tri cua ham
phi le c tinh nh sau:
1 2 11 1
1 1 2 2( ) ( 1) ( 1) ...( 1)k
k kN p p p p p p
Lin quan ti khai nim v ham phi le chng ta c inh ly le phat biu nh sau:
a Z*N = ZN {0} va GCD(a, N) = 1 ta co ( ) 1(mod )Na N . C ngha la
( )Na chinh la gia tri nghich ao cua a trn ZN.
Mt trng hp ring cua inh ly le chinh la inh ly Fermat nh : Nu P la mt s
nguyn t thi a Z*P ta co 1 1(mod )Pa P . y la mt trong nhng inh ly ep nht
cua s hoc.
Vi mi s nguyn N vanh Z *N gm cac phn t thuc Z N va nguyn t cng nhau
vi N, hay noi cach khac: Z*N = {x: xZN, (x, N) = 1} = {x: xZN, ( ) 1Nx }.
Vi mi phn t a ZN, bc t cua a (ky hiu la ord (a)) la s nh nht sao cho : at =
1. Theo inh ly le ta suy ra (N) chia ht cho t.
Cu th vi N = 21 ta co bang sau:
aZ*21 1 2 4 5 8 10 11 13 16 17 19 20
Ord(a) 1 6 3 6 2 6 6 2 3 6 6 2
Bang 2.1: Bang bc cua cac phn t trn Z*21
Nu bc cua a Z*N bng (N) th a c goi la phn t sinh hay phn t nguyn thuy
cua tp Z*N. Va nu tp Z*N ch c mt phn t sinh th n c goi la mt cyclic.
3.7. Thng d bc hai
Gia s a Z*N, khi o a c goi la thng d bc 2 theo modulo N nu tn tai x
Z*N sao cho x2 = a (mod N). Tp cac phn t thng d theo modulo N c ky hiu la QN,
tp cac phn t khng thng d theo modulo N c goi la bt thng d theo modulo N
va ky hiu la NQ .
Chng II: C s ton hoc
20
inh ly: nu p la mt s nguyn t le va la mt phn t sinh cua Z *N, khi o a la
mt thng d bc 2 theo modulo N khi va chi khi a = i mod p, trong o i la s nguyn le .
T inh ly nay suy ra ( 1) / 2 NNQ p Q .
Vi du vi p = 13, = 6 Z13 ta co bang sau:
i 0 1 2 3 4 5 6 7 8 9 10 11
i mod 13 1 6 10 8 9 2 12 7 3 5 4 11
Bang 2.2: Bang luy tha trn Z13
Do o Q13 = {1, 3, 4, 9, 10, 12} va 13Q = {2, 5, 6, 7, 8, 11}.
Vi a QN. Nu x Z*N tha man x2 = a (mod N) th a c goi la cn bc hai cua
x theo modulo N.
3.8. Thut toan luy tha nhanh
c th tm phn t nghich ao cua mt s nguyn a trn mt vanh Z N cho trc
chng ta c th s dung inh ly le tinh gia tri luy tha cua a vi s mu la gia tri ham
phi le cua N . Tuy nhin co th nhanh chong t inh c gia tri luy tha nay chng ta
cn co mt thut toan hiu qua va mt trong cac thut toan o (cn nhiu thut toan khac
phc tap hn ) la thut toan luy tha nhanh . Thut toan nay do Chivers a ra vao nm
1984. Cac bc cua thut toan nh sau:
Input: a, m, N.
Output: am mod N.
Begin
Phn tich m thanh dang nhi phn m = bkbk-1b0.
j = 0, kq = a;
while (k>=j)
{
if (bj==1)
kq = (kq * a) mod N;
a = (a * a) mod N;
j = j + 1;
}
return kq;
end
Mt cai t khac bng ngn ng C nh sau:
long modexp(long a, long x, long n)
{
Chng II: C s ton hoc
21
long r = 1;
while (x > 0){
if (x % 2 == 1) /* is x odd? */
r = (r * a) % n;
a = (a*a) % n;
x /= 2;
}
return r;
}
Thut toan nay chay khng qua log2(m+1) bc.
3.9. Thut toan clit m rng
Trong phn 3.3 chng ta a bit thut toan clit c dng tm c s chung
ln nht cua ha i s nguyn va trong phn 3.7 chng ta a bit cach tm mt phn t
nghich ao cua m t s b ng cach s dung thut toan luy tha nhanh tuy nhin vn co
mt thut toan hiu qu a khac tm phn t nghich ao goi la thut tan clit m rng
(do da trn thut toan clit). Cac bc cua thut toan nh sau:
input: a, N vi GCD(a, N) = 1
output: a-1
begin
g0=n, g1 = a, u0 = 1, u1 = 0, v0 = 0, v1 = 1, i = 1;
while (gi 0 )
{
y = gi-1 div gi;
gi+1 = gi-1 y*gi;
ui+1 = ui-1 y*ui;
vi+1 = vi-1 v*ui;
i = i + 1;
}
x = vi-1;
if(x>0) then
return x;
else
return (N+x);
end;
Chng II: C s ton hoc
22
3.10. Phng trinh ng d bc nht 1 n
Phng trinh ng d bc nht 1 n la phng trnh c dang:
ax b (mod N) trong o a, b ZN la cac h s cn x la n s.
Nu nh GCD(a, N) = 1 chng ta c th tm a-1 sau o nhn vao 2 v cua phng
trnh va tm ra nghim mt cach d dang tuy nhin nu g = GCD(a, N) la mt gia tri khac 1
th sao? Khi o bai toan co th v nghim hoc co nhiu nghim . Chng ta xet inh ly
sau:
Gia s g = GCD(a, N) va nu b chia ht cho g th phng trnh ng d bc nht 1
n:
ax b (mod N)
s c g nghim c dang
x ((b/g)x0 + t(n/g)) (mod N) trong o t = 0, , g-1,
va x0 la nghim cua phng trnh (a/g)x 1 (mod N/g).
3.11. inh ly phn d Trung Hoa.
inh ly phn d Trung Hoa la m t inh ly quan trong cua s hoc c cac nha
toan hoc Trung Quc kham pha ra vao th ky th nht. inh ly phat biu nh sau:
Nu d1, d2, , dk la cac s nguy n i mt nguyn t cung nhau va N = d1d2dk
th h phng trnh ng d:
x xi (mod di), i=1, 2, , k
s c mt nghim thuc vao ZN. Nghim cua h co tinh theo cng thc sau:
1
( / ) (mod )k
i i i
i
x N d y x N
trong o yi la cac nghim cua cac phng trnh ng d (N/di) yi 1(mod di).
Di y la oan ma inh ly phn d trung hoa trong ngn ng C :
int chinese_remainder(int r, int *m, int *u)
{
int i;
int modulus;
int n;
modulus = 1;
for ( i=0; i
Chng II: C s ton hoc
23
{
n+=u[i]*modexp(modulus/m[i],totient(m[i]),m[i]);
n%=modulus;
}
return n;
}
4. Cc thut toan kim tra s nguyn t.
Ham mt phia (one-way functions) la mt khai nim c ban cua ma hoa cng
khai. Vic nhn hai s nguyn t la mt vi du v ham mt phia , nhn cac s nguyn t
ln tao thanh mt hp s la d , nhng cng vic ngc lai phn tich mt s nguyn
ln thanh dang tha s nguyn t lai la mt bai toan kh (cha co mt thut toan tt).
Cac thut toan ma hoa kha cng khai u cn phai s dung cac s nguyn t. C
mt s phng phap sinh ra s nguyn t va hu ht chng u da trn cac thut
toan kim tra tinh nguyn t cua mt s nguyn . Tuy nhin co mt s vn c t ra
i vi s nguyn t nh sau
Trong mt h thng co th am bao hai ngi dung se c s dung hai s
nguyn t khac nhau hay khng ? Cu tra li la co th vi co ti 10150 s nguyn t co
dai 512 bits hoc nho hn.
Kha nng hai ngi dng s la chon cng mt s nguyn t la bao nhiu . Vi s
la chon t 10150 s nguyn t, iu ky xay ra vi xac xut nho hn so vi s t bc chay
cua may tinh.
Cac loai thut toan kim tra s nguyn t c chia lam hai loai : thut toan tt inh
va thut toan xac sut. Cac thut toan tt inh cho chng ta bit chinh xac cu tr a li mt
s nguyn co phai la mt s nguyn t hay khng con mt thut toan xac sut cho bit
xac sut cua mt s nguyn la mt s nguyn t la bao nhiu . Trong phn nay se trinh
bay mt s thut toan kim tra s nguyn t ph bin.
4.1. Mt s ky hiu toan hoc
4.1.1. Ky hiu Lagrng (Legendre Symbol)
Ky hiu L(a,p) c inh nghia vi a la mt s nguyn va p la mt s nguyn t ln
hn 2. N nhn ba gia tri 0, 1, -1 :
L(a,p) = 0 nu a chia ht cho p.
L(a,p) = 1 nu a QN (a la thng d bc 2 modulo p).
L(a,p) = -1 nu a NQ (a khng la thng d bc 2 modulo p).
Mt phng phap d dang tinh toan ra L(a,p) la :
L(a,p) = a (p-1)/2 mod p
Chng II: C s ton hoc
24
4.1.2. Ky hiu Jacobi (Jacobi Symbol)
Ky hiu Jacobi c vit la J (a,n), n la s khai quat hoa cua ky hiu Lagrng , n
inh nghia cho bt ky cp s nguyn a va n nao. Ky hiu Jacobi la mt chc nng trn
tp hp s thng d thp cua c s n va co th tinh toan theo cng thc sau:
Nu n la s nguyn t, th J(a,n) = 1 nu a la thng d bc hai modulo n .
Nu n la s nguyn t , th J(a,n) = -1 nu a khng la thng d bc hai modulo
n .
Nu n khn g phai la s nguyn t thi Jacobi (a,n) s c tinh theo cng thc
sau:
J(a,n)=J(h,p1) J(h,p2) . . . J(h,pm)
vi p1,p2. . .,pm la cac tha s ln nht cua n.
Thut toan nay tinh ra s Jacobi tun hoan theo cng thc sau :
1. J(1,k) = 1
2. J(ab,k) = J(a,k) J(b,k)
3. J(2,k) =1 Nu (k2-1)/8 la chia ht va J(2,k) = -1 trong cac trng hp khac.
4. J(b,a) = J((b mod a),a)
5. Nu GCD(a,b)=1 :
a. J(a,b) J(b,a) = 1 nu (a-1)(b-1)/4 la chia ht.
b. J(a,b) J(b,a) = -1 nu (a-1)(b-1)/4 la cn d.
Sau y la thut toan trong ngn ng C :
int jacobi(int a,int b)
{
int a1,a2;
if(a>=b)
a%=b;
if(a==0)
return 0;
if(a==1)
return 1;
if(a==2)
if(((b*b-1)/8)%2==0)
return 1;
else
return -1;
Chng II: C s ton hoc
25
if(a&b&1) (ca a va b u la s d)
if(((a-1)*(b-1)/4)%2==0)
return +jacobi(b,a);
else
return -jacobi(b,a);
if(gcd(a,b)==1)
if(((a-1)*(b-1)/4)%2==0)
return +jacobi(b,a);
else
return -jacobi(b,a);
return jacobi(a1,b) * jacobi(a2,b);
}
Trn thc t co th tinh c ky hiu Jacobi mt cach thun li hn nu da vao 1
trong cac tinh cht sau, gia s m, n la cac s nguyn le, a, b Z:
(i) J(a*b, n) = J(a, n) * J(b, n) do o J(a2, n) = 1.
(ii) J(a, m*n) = J(a, m) * J(a, n).
(iii) nu a b (mod n) th J(a, n) = J(b, n).
(iv) J(1, n) = 1.
(v) J(-1, n) = (-1)(n-1)/2
(vi) J(m, n) = J(n, m) * (-1)(m-1)*(n-1)/4
4.2. Thut toan Soloway-Strassen
Soloway va Strassen a phat trin thut toan co th kim tra s nguyn t . Thut
toan nay s dung ham Jacobi.
Thut toan kim tra s p la s nguyn t:
1. Chon ngu nhin mt s a nh hn p.
2. Nu c s chung ln nht gcd(a,p) 1 th p la hp s.
3. Tinh j = a(p-1)/2 mod p.
4. Tinh s Jacobi J(a,p).
5. Nu j J(a,p), th p khng phai la s nguyn t.
6. Nu j = J(a,p) th ni p c th la s nguyn t vi chc chn 50%.
Lp lai cac bc nay n ln , mi ln vi mt gia tri ngu nhin khac nhau cua a .
Phn d cua hp s vi n phep th la khng qua 2n.
Thc t khi thc hin chng trinh, thut toan chay vi tc kha nhanh.
Chng II: C s ton hoc
26
4.3. Thut toan Rabin-Miller
Thut toan nay c phat trin bi Rabin , da trn mt phn y tng cua Miller .
Thc t nhng phin ban cua thut toan a c gii thiu tai NIST . (National Institute of
Standards and Technology).
u tin la chon ngu nhin mt s p kim tra. Vit p di dang p = 1+2bm trong
o m la mt s le.
Sau y la thut toan :
1. Chon mt s ngu nhin a, va gia s a nh hn p.
2. t j=0 va z=am mod p.
3. Nu z=1, hoc z=p-1 th p a qua bc kim tra va c th la s nguyn t.
4. Nu j > 0 va z=1 th p khng phai la s nguyn t.
5. t j = j+1. Nu j < b va z p-1 th t z=z2 mod p va tr lai bc 4.
6. Nu j = b va z p-1, th p khng phai la s nguyn t.
4.4. Thut toan Lehmann.
Mt phng phap n gian hn kim tra s nguyn t c phat trin c lp bi
Lehmann. Sau y la thut toan vi s bc lp la 100.
1. Chon ngu nhin mt s n kim tra.
2. Chc chn rng n khng chia ht cho cac s nguyn t nho nh 2,3,5,7 va 11.
3. Chon ngu nhin 100 s a1, a2, . . . , a100 gia 1 va n-1.
4. Tinh ai(n-1)/2 (mod n) cho tt ca ai = a1. . . a100 . Dng lai nu ban tim thy ai sao
cho phep kim tra la sai.
5. Nu ai(n-1)/2 = 1 (mod n) vi moi i, th n c th la hp s.
Nu ai(n-1)/2 1 hoc -1 (mod n) vi i bt ky, th n la hp s.
Nu ai(n-1)/2 = 1 hoc -1 (mod n) vi moi i 1, th n la s nguyn t.
5. Bai tp
Bai tp 2.1: hy tnh 1753 mod 29, hi cn dng it nht la bao nhiu phep nhn
tm ra kt qua.
Bai tp 2.2: Tnh 876611 mod 899.
S dung mt trong cac ngn ng lp trinh C, C++, Java hoc C# lam cac bai tp sau:
Bai tp 2.3: Vit chng trinh cai t thut toan tim phn t nghich ao.
Bai tp 2.4: Vit chng trinh cai t thut toan luy tha nhanh.
Bai tp 2.5: Vit chng trinh giai h phng trinh ng d bc nht hai n.
Bai tp 2.6: Vit chng trinh cai t thut toan kim tra s nguyn t vi input la
mt s nguyn nh hn 2000000000.
Chng II: C s ton hoc
27
Bai tp 2.7: Vit chng trinh cai t th vin s nguyn ln vi cac thao tac tinh
toan c ban: nhn, chia, cng tr, ly modulo.
Bai tp 2.8: S dung th vin s ln ( bai tp 2.5 hoc mt th vin ma ngun
m) cai t cac thut toan kim tra s nguyn t c trnh bay trong phn 4 cua chng
2.
Chng III: Cc h ma khoa bi mt
28
CHNG III: CAC H MA KHOA BI MT
1. Cc h ma c in
1.1. H ma hoa thay th (substitution cipher)
H ma hoa thay th la h ma hoa trong o mi ky t cua ban ro c thay th bng
ky t khac trong ban ma (c th la mt ch cai, mt s hoc mt ky hiu).
C 4 ky thut thay th sau y:
1. Thay th n (A simple substitution cipher): la h trong mt ky t cua ban r
c thay bng mt ky t tng ng trong ban ma. Mt anh xa 1-1 t ban ro ti
ban ma c s dung ma hoa toan b thng ip.
2. Thay th ng m (A homophonic substitution cipher ): ging nh h thng ma
hoa thay th n , ngoai tr mt ky t cua ban r c th c anh xa ti mt
trong s mt vai ky t cua ban ma : s anh xa 1-n (one-to-many). Vi du, A
c th tng ng vi 5, 13, 25, hoc 56, B co th tng ng vi 7, 19, 31,
hoc 42, v.v.
3. Thay th a mu t (A polyalphbetic substitution cipher): c tao nn t nhiu
thut toan ma hoa thay th n . Anh xa 1-1 nh trong trng hp thay th n,
nhng co th thay i trong pham vi mt thng ip . Vi du, c th c nm thut
toan ma hoa n khac nhau c s dung ; c bit thut toan ma hoa n
c s dung thay i theo vi tri cua mi ky t trong ban ro.
4. Thay th a s (A polygram substitution cipher ): la thut toan trong cac
khi ky t c ma hoa theo nhom . y la thut toan tng quat nht , cho phep
thay th cac nhom ky t cua vn ban gc . Vi du , ABA co th tng ng vi
RTQ, ABB co th tng ng vi SLL, v.v.
1.2. H ma Caesar
H ma Caesar la mt h ma hoa thay th n m lam vic trn bang ch cai ting
Anh 26 ky t (A, B, ... , Z). y la h ma c in va n gian nht a tng c dung
trong thc t bi hoang La ma Caesar nn c t theo tn cua vi hoang nay.
Khng gian cac ban ro P la cac thng ip c tao t bang ch cai A ( tin trnh
bay chng ta xem y la mt bang ch cai tng quat). Tng t khng gian cac ban ma C
P. Gia s s phn t cua bang ch cai |A| = N.
ma hoa ngi ta anh s cac ch ca i t 0 ti N-1. Khng gian khoa K = ZN. Vi
mi khoa K K ham ma ha va giai ma mt ky t c s th t la i s c thc hin nh
sau:
Ma ha: EK(i) = (i + k) mod N.
Giai ma: DK(i) = (i k) mod N.
H ma Caesar vi bang ch cai ting Anh se co N = 26 ch cai, bang ch cai c
anh s nh sau:
Chng III: Cc h ma khoa bi mt
29
A B C D ... L M N ... W X Y Z
0 1 2 3 ... 11 12 13 ... 22 23 23 25
Bang 3.1: Bang anh s cac ch cai ting Anh
Cac phep tinh toan s hoc c thc hin trn vanh Z 26, s khoa co th s dung
la 26 nhng trn thc t chi co 25 kha c ich.
Vi du: vi k=3 (trng hp a c hoang Caesar s dung), ky t A c thay
bng D, B c thay bng E , ... , W c thay bng Z , ... , X c thay bng A , Y c
thay bng B, va Z c thay bng C.
Bang ch cai gc:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Bang ch cai dng ma hoa:
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Do o chng han xu ANGLES se c ma hoa thanh DQJOHV.
H ma Caesar s dung phng phap thay th n m nn co hin tng goi la
phu thuc tn sut xut hin cua ngn ng t nhin. Trong ngn ng t nhin mt s ch
cai xut hin nhiu hn so vi cac ch cai khac (chng han trong ting Anh cac ch cai
xut hin nhiu la e, t, i, h ) nn cac ch cai dung thay th cho chung cung xut hin
nhiu. iu nay co th dn ti h qua la ngi tham ma c th s dung phng phap th
thay th cac ky t xut hin nhiu trong ban ma bng cac ky t xut hin nhiu trn cac
vn ban thc t.
Trn thc t h ma Caesar co s khoa it nn hoan toan c th tham ma bng cach
th tt ca cac khoa co th (kiu tn cng Brute force).
1.3. H ma Affine
Khng gian cac ban ro va ban ma cua h ma la cac xu c hinh thanh t mt
bang ch cai A, gia s |A| = N. Khi o khng gian khoa cua h ma c xac inh nh sau:
K = { (a, b): a, b ZN, (a, N) = 1}
ma hoa ngi ta anh s cac ch cai cua bang ch cai t 0 ti N 1 va tin
hanh ma ha, giai ma tng ky t (thay th) theo cac cng thc sau:
Ma ha:
EK(x) = (a*x + b) mod N. Ky t ban r c s th t la x s c chuyn thanh ky t
c s th t la (a*x+b) mod N trong bang ch cai.
giai ma ta cn tim a -1 (do (a, N) = 1 nn lun tim c) va tin hanh cng thc
giai ma sau:
Chng III: Cc h ma khoa bi mt
30
DK(y) = a*(y - b) mod N. Ky t ban ma c s th t la y s c thay th bng ky t
c s th t la a*(y - b) mod N trong bang ch cai.
C th thy rng i vi mt h ma Affine th s kha c th s dung s la:
|K| = (N) * N. Vi du vi N = 26 tng ng vi bang ch cai ting Anh chung ta se
c (26) * 26 = 12 * 26 = 312 kha. Con s nay la tng i nho.
1.4. H ma Vigenere
H ma nay c t theo tn cua mt nha mt ma hoc ngi Phap Blaise de
Vigenre (1523-1596).
i vi h ma nay khng gian cac ban ma va ban r cung la cac thng ip c
tao thanh t mt bang ch cai A nh trong h ma Caesar, cac ch cai c anh s t 0
ti N-1 trong o N la s phn t cua bang ch cai.
Khng gian khoa K c xac inh nh sau:
Vi mi s nguyn dng M , kha c dai M la mt xu ky t c dai M , K =
k1k2kM.
ma hoa mt ban ro P ngi ta chia P thanh cac oan dai M va chuyn thanh
s th t tng ng cu a chung trong bang ch cai , chng han X = x1x2xM. Khi o vic
ma ha va giai ma c thc hin nh sau:
EK(X) = (x1 + k1, x2 + k2, , xM + kM) mod N
DK(Y) = (y1 - k1, y2 - k2, , yM - kM) mod N vi N la s phn t cua bang ch cai va Y
= y1y2yM la ban ma.
Vi du: xet A la bang ch cai ting Anh , ta co N = 26 gia s kha c dai 6 va K =
CIPHER, ban r P = THIS CRYPTOSYSTEM IS NOT SECURE . Ta co K = 2 8 15 7 4
17, P = 19 7 8 18 2 17 | 24 15 19 14 18 23 | 18 19 4 12 8 18 | 13 14 19 18 4 2 | 20 17 4.
Qua trnh ma ha thc hin nh sau:
P = 19 7 8 18 2 17 | 24 15 19 14 18 23 | 18 19 4 12 8 18 | 13 14 19 18 4 2 | 20 17 4
K = 2 8 15 7 4 17 | 2 8 15 7 4 17 | 2 8 15 7 4 17 | 2 8 15 7 4 17 | 2 8 15
C = 21 15 23 25 6 8 | 0 23 8 21 22 14 | 20 1 19 19 12 9 | 15 22 8 25 8 19 | 22 25 19
Vy ban ma la C = VPXZGI AXIVWO UBTTMJ PWIZIT WZT.
V thc cht h ma nay la kt hp cua nhiu ma Caesar , trong h ma Caesar
chng ta thay th tng ky t n le th trong h ma Vigenere nay thay th tng b M ky
t lin tip. Vi mi M chung ta co s khoa co th s dung la N M, cu th la vi bang ch
cai ting Anh s c 26M kha c th s dung.
1.5. H ma Hill
H ma hoa nay da trn ly thuyt v ai s tuyn tinh do Lester S .Hill a ra nm
1929.
Ca khng gian ban r va ban ma u la cac xu c thanh lp t mt bang ch
cai A nh trong h ma Vigenere.
Chng III: Cc h ma khoa bi mt
31
Vi mi s nguyn M khoa cua h ma la mt ma trn K vung kich thc MxM gm
cac phn t la c ac s nguyn thuc Z N trong o N la s phn t cua bang ch cai . iu
kin ma trn K co th s dung lam khoa cua h ma la K phai la mt ma trn khng suy
bin trn ZN hay noi cach khac la tn tai ma trn nghich ao cua ma trn K trn ZN.
Cac ky t cua bang ch cai cung c anh s t 0 ti N-1.
ma hoa mt ban ro ngi ta cung chia ban ro o thanh cac xu co dai M ,
chuyn cac xu nay thanh s th t cua cac ch cai trong bang ch cai di dang mt
vect hang M chiu va tin hanh ma hoa, giai ma theo cng thc sau:
Ma ha:
C = P * K.
Giai ma:
P = C * K-1.
Vi du: cho h ma Hill co M = 2 (kha la cac ma trn vung cp 2) va bang ch cai la
bang ch cai ting Anh, tc la N = 26. Cho khoa
K =
5 2
3 3
Hay ma ha xu P = HELP va giai ma ngc lai ban ma thu c.
ma hoa chung ta chia xu ban r thanh hai vecto hang 2 chiu HE (7 4) va LP
(11 15) va tin hanh ma ha ln lt.
Vi P1 = (7 4) ta co C1 = P1 * K = 7 4
5 2
3 3 = 3 15 = D P
Vi P2 = (11 15) ta co C2 = P2 * K = 11 15
5 2
3 3 = 11 4 = L E
Vy ban ma thu c la C = DPLE.
giai ma ta tinh khoa giai ma la ma trn nghich ao cua ma trn kha trn Z 26
theo cng thc sau:
Vi K = 11 12
21 22
k k
k k
va det(K) = (k11*k22 k21*k12) mod N la mt phn t co phn t
nghich ao trn ZN (ky hiu la det(K)-1) th kha giai ma s la
K-1 = det(K)-1*22 12
21 11
k -k
-k k
Chng III: Cc h ma khoa bi mt
32
Ap dung vao trng hp trn ta c det(K) = (15 - 6) mod 26 = 9. GCD(9, 26) =1 nn
ap dung thut toan clit m rng tm c det (K)-1 = 3. Vy K -1 = 3 * 5 23
24 3
=
9 20
17 15.
Qua trnh giai ma tin hanh ging nh qua trnh ma ha vi kha ma ha thay bng
kha giai ma.
Giai ma C = DP = ( 3 15 ), P = C * K-1 = (3 15) *
9 20
17 15= 3 15 = HE.
Tng t giai ma xu C = LE kt qua s c ban r P = LP.
Ch y la trong vi du trn chng ta s dung kha K c kich thc nh nn d dang
tm c kha giai ma cn trong trng hp tng quat iu nay la khng d dang.
1.6. H ma i ch (transposition cipher)
Mt h ma hoa i ch la h ma hoa trong o cac ky t cua ban ro vn c gi
nguyn, nhng th t cua chung c i ch cho nhau.
Vi du mt h ma hoa i ch ct n gian , ban r c vit theo hang ngang trn
trang giy vi dai c inh, va ban ma c oc theo hang doc.
Ban r: COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST ITS EXPENSIVE
COMPUTERGR
APHICSMAYB
ESLOWBUTAT
LEASTITSEX
PENSIVE
Ban ma: CAELPOPSEEMHLANPIOSSUCWTITSBIUEMUTERATSGYAERBTX
Bang 3.2: Ma hoa thay i vi tri ct
Phng phap nay co cac ky thut sau:
1. ao ngc toan b ban ro: ngha la ban r c vit theo th t ngc lai
tao ra ban ma . y la phng phap ma hoa n gian nht vi vy khng am
bao an toan.
Vi du : ban r TRANSPOSITION CIPHER c ma hoa thanh
REHPICNOITISOPSNART.
2. Ma ho theo mu hinh hoc : ban r c sp xp lai theo mt mu hinh hoc
nao , thng la mt mang hoc mt ma trn hai chiu.
Vi du : ban r LIECHTENSTEINER c vit thanh ma trn 35 theo hang nh
sau:
Ct 1 2 3 4 5
Ban r L I E C H
Chng III: Cc h ma khoa bi mt
33
T E N S T
E I N E R
Bang 3.3: Ma ha theo mu hnh hoc
Nu ly cac ky t ra theo s th t ct 2, 4, 1, 3, 5 th s c ban ma
IEICSELTEENNHTR.
i ch ct: u tin i ch cac ky t trong ban r thanh dang hnh ch nht theo
ct, sau