mã hóa thông tin
DESCRIPTION
Bảo mật thông tinTRANSCRIPT
TRNG I HC K THUT CNG NGHKHOA CNG NGH THNG TINMn: Bo Mt Thng Tin
Bi thc hnh s 2
Bi 1: Vit chng trnh m ha v gii m vn bn vi thut ton m ha DES.Chng trnh c th thc hin cc chc nng sau: Cho php nhp vn bn vo h thng.Cho php nhp kha bo v vn bn.Cho php ghi File v m File.1.1 Hng dn m ha DES: DES L mt h mt m c s dng rng ri nht trn th gii. DES c IBM phat trin vao nhng nm 1970 v c xem nh ci bin ca h mt m LUCIPHER. DES c chp nhn bi National Bureau of Standards, ngay nay goi la NIST (National Institute of Standards and Technology). DES tr thanh chun ma hoa d liu chinh thc cua chinh phu Hoa Ky vao nm 1977. M t thut ton: DES l thut ton m ha khi (block cipher), mi khi d liu c di 64 bit. Mt block bn gc sau khi m ha to ra mt block bn m. Qu trnh m ha v gii m u dng chung mt kha. Kha c di l 56 bit, cng thm 8 bit chn l c s dng kim sot li. Cc bit chn l nm cc v tr 8, 16, 2464. tc l c 8 bit th c mt bit kim sot li .
Hnh 1: S hot ng ca DESTheo s hat ng ca DES nh trn ta c th thy:DES thc hin trn tng block bn gc. Sau khi thc hin hon v khi u (Initial Permutation IP) khi d liu c chia lm hai na tri v phi, mi na 32 bit. Qu trnh c lp li qua 16 vng, mi vng l mt hm f. Sau 16 vng lp, hai na tri v phi c kt hp li v thc hin hon v cui cng (hon v ngc Inverse Initial Permutation) kt thc thut ton. Mi vng ca DES c thc hin theo cc bc sau:
Hnh 2: Mt vng hot ng ca DESBc 1: S dng hon v khi u thay i th t cc bit. Bng P3.B10: Bng hon v khi u: (hon v bit 1 thnh bit 58, bit 2 thnh bit 50.)585042342618102605244362820124
625446383022146645648403224168
57494133251791595143352719113
615345372921135635547393123157
Bc 2: Bn gc c chia lm hai na tri v phi, mi na 32 bit.Bc 3: Ban u kha 64 bit c b i 8 bit kim sot li. S lai b c thc hin theo bng sau:
Bng 1:Bng loi b 8 bit kim sot li57494133251791585042342618
10259514335271911360524436
635547393123157625446383022
1466153453729211352820124
Sau kha c chia lm hai na, mi na 28 bit.Bc 4: Cc na ca kha ln lt c dch tri (s bit dch l 1 hay 2 ty theo vng thc hin).Bng 2: Bng dch :Vng12345678910111213141516
S bit dch1122222212222221
Cc na c ghp li vi nhau, hon v v chn ra 48 bit bng cch i ch cc bit theo bng hon v nn - compression permutation ( hay cn gi l hon v la chn- permuted choice):Bng 3: Bng hon v nn: (bit v tr 14 ca kha dch c chuyn ti v tr 1 ca u ra, bit v tr 17 ca kha dch c chuyn ti v tr 2 ca u ra,, bit th 18 b lai b)14171124153281562110
23191242681672720132
415231374755304051453348
444939563453464250362932
Bc 5: 32 bit ca bn gc bn phi c m rng thnh 48 bit XOR vi 48 bit kha. Khi bit ny li thc hin hon v mt ln na, thay i th t cc bit bng cch lp li mt s bit ( hon v m rng - Expansion Permutation).Bng 4: Bng hon v m rng hp E ( bit v tr th 32 ca khi d liu vo c chuyn ti v tr th nht trong khi d liu ra, bit v tr th 4 ca khi d liu vo c chuyn ti v tr th 5 v 7 trong khi d liu ra,)3212345456789
8910111212121314151617
161718192021202122232425
24252627282928293031321
Bc 6: kt qu ca bc 3 v bc 5 c XOR vi nhau.Buc 7: Kt qu ca bc 6 c chuyn thnh 32 bit bng cch s dng hm thay th v la chn.S thay th c thc hin bi 8 hp thay th (substitution boxes, S-boxes). Khi 48 bit c chia thnh 8 khi 6 bit. Mi khi c thc hin trn mt hp S ring bit (separate S-box): khi 1 c thc hin trn hp S1, khi 2 c thc hin trn hp S2Mi hp S l mt bng gm 4 hng v 16 ct. Mi phn t ca hp l mt s 4 bit. Vi su bit vo hp S s xc nh c s hng v s ct tm ra kt qu.Cch thc xc nh kt qu: nhn vo 6 bit ln lt l b1, b2, b3, b4, b5, v b6. Bit b1v b6 c kt hp li thnh mt s 2 bit tng ng vi s hng trong bng (c gi tr t 0 n 3). Bn bit gia c kt hp li thnh mt s 4 bit tng ng vi s ct trong bng ( nhn gi tr t 0 n 15).V d : Dng hp S th 6. Nu d liu nhn vo l 110010. Bit u tin kt hp vi bit cui to thnh 10 (khi i sang s thp phn c gi tr bng 2 tng ng vi hng th 2). Bn bit gia kt hp li thnh 1001(khi i sang s thp phn c gi tr bng 9 tng ng vi ct th 9) => Gi tr cn tm hng 2 ct 9 l 0. Nh vy gi tr 0000 c thay th cho 110010.Dng hp S th nht. Nu d liu nhn vo l 011011. Bit u tin kt hp vi bit cui to thnh 01 (khi i sang s thp phn c gi tr bng 1 tng ng vi hng 1). Bn bit gia kt hp li thnh 1101(khi i sang s thp phn c gi tr bng 13 tng ng vi ct th 13) => Gi tr cn tm hng 1 ct 13 l 5. Nh vy gi tr 0101 c thay th cho 011011.Bng 5: Bng hp S:Hp S th nht.1441312151183106125907
0157414213110612119538
4114813621115129731050
1512824917511314100613
Hp S th hai.1518146113497213120510
3134715281412011069115
0147111041315812693215
1381013154211671205149
Hp S th ba.1009146315511312711428
1370934610285141211151
1364981530111212510147
1101306987415143115212
Hp S th t.7131430691012851112415
1381156150347212110149
1069012117131513145284
3150610113894511127214
Hp S th nm.2124171011685315130149
1411212471315015103986
4211110137815912563014
1181271142136150910453
Hp S th su.1211015926801334147511
1015427129561131401138
9141552812370410113116
4321295151011141760813
Hp S th by.4112141508133129751061
1301174911014351221586
1411131237141015680592
6111381410795015142312
Hp S th tm.1328461511110931450127
1151381037412561101492
7114191214206101315358
2114741081315129035611
Kt qu ca s thay th l 8 khi 4 bit c sinh ra, chng c kt hp li thnh mt khi 32 bit. Khi ny c chuyn ti bc tip theo: hp hon v P (P-box permutation). Hon v bc ny nh x mi bit d liu vo ti mt v tr trong khi d liu ra, khng c bit no b b qua cng nh c s dng hai ln. n cn c gi l hon v trc tip (straight permutation).Bng 6: Bng hp hon v P cho bit v tr ca mi bit cn chuyn (bit 1 chuyn ti bit 16, bit 2 chuyn ti bit 7) 16720212912281711523265183110
28241432273919133062211425
Buc 8: Kt qu ca bc 7 c XOR vi na tri 32 bit c to ra bc 2.Bc 9: kt qu to ra bc 8 tr thnh na phi mi, na phi c (to bc 2) tr thnh na tri mi.Sau khi thc hin ht 16 vng lp hon v cui cng c thc hin kt thc thut ton.Hon v cui cng l nghch o ca hon v khi u.Bng 7: Bng hon v cui 408481656246432397471555236331
386461454226230375451353216129
364441252206028353431151195927
34242105018582633141949175725
0. Cc ch hat ng ca DES C bn ch lm vic uc pht trin cho DES: Ch sch m in t (ECB). Ch phn hi m (CFB). Ch lin kt khi m (CBC Cipher Block Chaining). Ch phn hi u ra (OFB).1.2 Hng dn thc hnhBc 1: Thit K Form : Bc 2: Vit hm x l s kinB2.1 Hm doCopy
B2.2 Hm m Ha v gii m
B2.3 Hm thc hin
B2.4 Vit chc nng M Ha
B2.5 Vit Chc nng Gii M
B2.6 Vit chc nng Ghi FILE
B2.7 Vit chc nng M FILE
Bc 3: Kim Tra
Bi 2: Vit chng trnh m ha v gii m vn bn vi thut ton m ha 3DES.Chng trnh c th thc hin cc chc nng sau: Cho php nhp vn bn vo h thng.Cho php nhp kha bo v vn bn.Cho php ghi File v m File.2.1 Hng dn thut ton TRIPLEDES:TripleDES mt bin th an ton hn ca DES cn c gi l DESede hay 3DES. TripleDES c tnh bo mt cao hn DES do s dng 3 vng DES vi cc kha khc nhau. Vng u tin v vng th ba l vng m ha, vng th hai l vng gii m. DESede c th dng hai hoc ba kha c di 56, 112 hoc 168. nu dng hai kha th kha u tin c dng cho vng th nht v vng th ba, kha th hai dng cho vng th hai. M ha vi ba kha 56 bit ( 168 bit).Bng B1: 3DES M ha vi ba kha 56 bitNGi GINGI NHN
Bc 1: m ha plaintext bng kha th nhtBc 1:gii m bn m vi kha th ba
Bc 2: m ha vn bn c to ra bc 1 bng kha th haiBc 2: gii m vn bn c to ra bc 1 bng kha th hai
Bc 3: m ha vn bn c to ra bc 2 bng kha th ba, to ra bn m gi cho ngi nhn.Bc 3: gii m vn bn c to ra bc 2 bng kha th nht, to ra bn gc do ngi gi gi.
M ha vi hai kha 56 bit ( 112 bit)Bng B2: 3DES M ha vi hai kha 56 bitNGi GINGI NHN
Bc 1: m ha plaintext bng kha th nhtBc 1:gii m bn m vi kha th nht
Bc 2: gii m vn bn c to ra bc 1 bng kha th haiBc 2: m ha vn bn c to ra bc 1 bng kha th hai
Bc 3: m ha vn bn c to ra bc 2 bng kha th nht, to ra bn m gi cho ngi nhn.Bc 3: gii m vn bn c to ra bc 2 bng kha th nht, to ra bn gc do ngi gi gi.
M ha vi mt kha 56 bit Bng B3: 3DES M ha vi mt kha 56 bitNGi GINGI NHN
Bc 1: m ha plaintext Bc 1:gii m bn m nhn c t ngi gi.
Bc 2: gii m vn bn c to ra bc 1
Bc 3: m ha vn bn c to ra bc,to ra bn m gi cho ngi nhn.
Mc d 3DES c tnh bo mt cao hn DES, nhng thc t t c s dng v to ra c bn m phi chy ba ln DES, nn tc chm, chim nhiu ti nguyn.2.2 Hng dn thc hnhBc 1: Thit K Form :
Bc 2: Vit hm x l s kinB2.1: Khai bo cc bin sau
B2.2: Vit phng thc m ha encrypt
B2.3: Vit phng thc gii m decryptB2.4 Vit hm x l s kin m haBc 3: Kim Tra
Bi 3: Vit chng trnh m ha v gii m vn bn vi thut ton m ha AES.Chng trnh c th thc hin cc chc nng sau: Cho php nhp vn bn vo h thng.Cho php nhp kha bo v vn bn.Cho php ghi File v m File.3.1 Hng dn thut ton AES:AES ch lm vic vi khi d liu 128 bt vkhac di 128, 192 hoc 256 bt. Cc kha con s dng trong cc chu trnh c to ra biqu trnh to kha con Rijndael Rijndael c th lm vic vi d liu v kha c di bt k l bi s ca 32 bt nm trong khong t 128 ti 256 bt.Hu ht cc php ton trong thut ton AES u thc hin trong mt trng hu hn. AES lm vic vi tng khi d liu 44byte(ting Anh:state, khi trong Rijndael c th c thm ct). Qu trnhm habao gm 4 bc:a. AddRoundKey mi byte ca khi c kt hp vi kha con, cc kha con ny c to ra t qu trnh to kha con Rijndael.b. SubBytes y l php th (phi tuyn) trong mi byte s c th bng mt byte khc theo bng tra (Rijndael S-box).c. ShiftRows i ch, cc hng trong khi c dch vng.d. MixColumns qu trnh trn lm vic theo cc ct trong khi theo mt php bin i tuyn tnh.Ti chu trnh cui th bcMixColumnsc thay th bng bcAddRoundKeyBcAddRoundKey:Ti bc ny, kha con c kt hp vi cc khi. Kha con trong mi chu trnh c to ra t kha chnh vi qu trnh to kha con Rijndael; mi kha con c di ging nh cc khi. Qu trnh kt hp c thc hin bng cchXORtng bt ca kha con vi khi d liu.
BcSubBytesCc byte c th thng qua bng traS-box. y chnh l qu trnh phi tuyn ca thut ton. Hp S-box ny c to ra t mtphp nghch otrongtrng hu hnGF (28) c tnh cht phi tuyn. chng li cc tn cng da trn cc c tnh i s, hp S-box ny c to nn bng cch kt hp php nghch o vi mt php bin i affine kh nghch. Hp S-box ny cng c chn trnh cc im bt ng (fixed point).
BcShiftRowsCc hng c dch vng mt s v tr nht nh. i vi AES, hng u c gi nguyn. Mi byte ca hng th 2 c dch tri mt v tr. Tng t, cc hng th 3 v 4 c dch 2 v 3 v tr. Do vy, mi ct khi u ra ca bc ny s bao gm cc byte 4 ct khi u vo. i vi Rijndael vi di khi khc nhau th s v tr dch chuyn cng khc nhau.
BcMixColumnsBn byte trong tng ct c kt hp li theo mt php bin i tuyn tnh kh nghch. Mi khi 4 byte u vo s cho mt khi 4 byte u ra vi tnh cht l mi byte u vo u nh hng ti c 4 byte u ra. Cng vi bcShiftRows,MixColumns to ra tnh chtkhuych tncho thut ton. Mi ct c xem nh mt a thc trong trng hu hn v c nhn vi a thcc(x) = 3x3+x2+x+ 2(modulox4+ 1). V th, bc ny c th c xem l phpnhnma trntrong trng hu hn.
Tm li: Thut ton AES c khi d liu 128 bit , di kha 128,192, 256 bit , cu trc mng thay th-hon v , s chu trnh 10,12,14 ty theo di kha.3.2 Hng dn thc hnhBc 1: Thit K Form :
Bc 2: Vit hm x l s kinB2.1: Vit hm x l s kin ng nhp
B2.2: Vit hm x l s kin ng k
B2.3: Vit hm x l s kin m ha
B2.3 Vit hm x l s kin gii mB2.4 Vit hm x l s kin ghi File
B2.5 Vit hm x l s kin m FileBc 3: Kim Tra
Bi Tp: Vit phn mm m ha vn bn vi cc thut ton m ha trn.Chng trnh c th thc hin cc chc nng sau: Cho php nhp vn bn vo h thng.Cho php nhp kha bo v vn bn.Cho php m File v Ghi File. Cho php bn gi m ha d liu v bn nhn m ha d liu vi kha K. ( sinh vin nghin cu vit them chc nng..)