1.1.2 Chin lc vt rng Chin lc Wide Trail Strategy, tm dch l chin lc vt rng, c J. Daemen xut trong [19] v c phn tch chi tit trong [20][21]. Chin lc vt rng c xut c th ha cch xy dng mt lp cc thut ton m ha khi theo kin trc SPN. Trong chin lc vt rng, tc gi xut mt kin trc tru tng cho thut ton m ha khi da trn kin trc SPN, ng thi chng minh cch xc nh gii hn kim tra tnh an ton i vi phng php tn cng cho cc thut ton c xy dng theo chin lc vt rng. Thut ton m ha tham s ha XAES m chng ti xut c xy dng da trn chin lc vt rng. Do , trong phn di y, chng ti trnh by tm tt v cc thnh phn ca chin lc ny. Trong chin lc vt rng, bn r c chia thnh cc khi d liu c kch thc bng nhau c nh. Mi khi c m ha vi kha chnh k cho trc v to ra mt khi c cng kch thc. Qu trnh m ha gm Nr chu k bin i. Trong chu k r, (1 r Nr ), kha ca chu k, k hiu l kr, c pht sinh t kha chnh k thng qua hm sinh kha KeySchedule. Mi chu k m ha r (1 r Nr ) gm 2 bc x l: Bin i c lp kha (k hiu l r ): gm mt s bin i bool c lp kha, Cng kha (k hiu l ): mi bit ca trng thi hin ti ca khi d liu ang c m ha s c XOr vi bit tng ng trong kha kr ca chu k r. Trong chin lc vt rng, thut ton m ha C s dng kha chnh k bt u bng thao tc cng kha, tip theo l Nr chu k m ha.
C[k] = [k Nr ] ! Nr ! [k Nr 1 ] ! Nr 1 ! ! [k1 ] ! 1 ! [k 0 ]
(1.1)
(1.2)
10
Php bin i c lp kha r c xy dng bng cch kt hp hai thao tc bin i kh nghch sau: : php thay th phi tuyn cc b. Tnh cht cc b ca c hiu l cc bit u vo (v bit u ra) c x l cc b theo tng nhm gm m bit [20] : php bin i trn tuyn tnh c kh nng to ra tnh khuch tn cao sau mt s chu k m ha. Tnh cht ny s c phn tch chi tit trong phn 3.2. So vi kin trc SPN, chin lc vt rng tin thm mt bc trong vic c th ha cch xy dng thut ton m ha khi. Tuy nhin, chin lc vt rng vn dng li mc tru tng. Trong chin lc ny cha nu ra cch c th xy dng tng thnh phn m ha, v d nh hm KeySchedule pht sinh kha cho tng chu k t kha chnh k cho trc, cc hm bin i c lp kha ( v ). Mi nhm nghin cu mt m s t xut cch xy dng c th cc thnh phn gn vo khung thut ton tng qut ny. Gii thut Rijndael l mt thut ton c th hin thc ha thnh cng chin lc vt rng. Ngoi ra, cn c nhiu thut ton m ha khi khc c xut trn c s c th ha chin lc vt rng. Cc thut ton ny s c gii thiu v phn tch trong phn 1.2-Cc thut ton m ha khi ta-Rijndael. 1.1.3 Chin lc vt rng v XAES Thut ton XAES c chng ti xut cng theo hng tip cn nhm hin thc ha chin lc vt rng. Chng ti quyt nh tng qut ha cch xy dng cc thnh phn m ha trong Rijndael gn vo khung tng qut ca chin lc vt rng do cc thnh phn m ha trong thut ton Rijndael c cc chuyn gia mt m nghin cu trong nhiu nm gn y v cc tnh cht quan trng ca nhng thnh phn ny c kho st v phn tch k. Tt c cc thnh phn m ha trong XAES khng dng li mc tru tng nh trong chin lc vt rng m u c c t chi tit cch xy dng. Tuy nhin, mc tiu ca vic xut XAES khng phi l xy dng mt thut ton m ha c th theo chin lc vt rng nh cc thut ton c trnh by trong phn 1.2.1 m nhm xut mt phng php c th to ra mt lp cc thut ton m ha khi theo chin lc vt rng. V th, chng ti xut vic tham s ha cc thnh phn m ha trong XAES.
11
So vi chin lc vt rng, XAES tin thm mt bc trong vic c th ha cch xy dng mt lp cc thut ton m ha khi. Trong XAES, cch xy dng v x l trong cc thnh phn m ha u c tham s ha nn c th chng minh c cng thc tng qut cho an ton ca XAES i vi cc phng php phn tch m hin nay. Trong khi , vi chin lc vt rng ni ring v cc kin trc thut ton m ha ni chung, cc thnh phn m ha c xut mc tru tng nn cn phi chng minh tnh an ton ca tng thut ton c th. So vi cc thut ton m ha c th, XAES c mc tru tng cao hn. Vi cc thut ton c th, vic chng minh tnh an ton i vi cc phng php phn tch m c thc hin vi cc gi tr c th . i vi XAES, tnh an ton i vi cc phng php phn tch m c chng minh tng qut, khng ph thuc vo gi tr c th ca cc tham s m ch s dng cc tnh cht, rng buc trn cc tham s. C th xem XAES nh mt cu ni gia chin lc tru tng vi cc gii thut m ha c th. Tp hp cc th hin ca XAES l mt tp con (v hn) ca tp hp cc thut ton m ha khi xy dng theo chin lc vt rng.
12
i vi Anubis, mc tiu chnh l gim ti a s khc bit trong quy trnh m ha vi quy trnh gii m c th ti s dng cc thnh phn ca module m ha trong vic gii m, nhm tit kim chi ph ci t trn phn cng. Do , Anubis ti s dng ton b cu trc thut ton ca Rijndael v ln lt thay th tng thnh phn trong quy trnh m ha bng thnh phn tng ng c tnh cht xon (bin i f trn min D c gi l c tnh cht xon nu f (f (x )) = x, x D ): Bin i MixColumns trong Anubis c to ra bng cch thay th m MDS [8,4,5] trong Rijndael bng mt m MDS [8,4,5] khc sao cho bin i MixColumns c tnh xon. Bin i ShiftRows trong Anubis c thay th bng php chuyn v ma trn vung, m bo tnh cht phn tn tt c cc byte trn mi ct ca khi d liu sang cc ct khc nhau. S-box trong Anubis c tnh xon v c xy dng vi cu trc quy. Mc d S-box ny khng c c cc tnh cht mt m ti u nh S-box trong Rijndael (c xy dng da trn nh x nghch o trn GF(28)) nhng khi kt hp vi cc thnh phn mt m khc trong Anubis vn m bo an ton i vi phng php phn tch m sai phn v tuyn tnh. Thut ton Khazad h tr kch thc khi 64 bit v kch thc kha 128 bit. Tng t Anubis, Khazad cng hng n vic gim thiu s khc bit gia quy trnh m ha vi quy trnh gii m. Do , trong thut ton Khazad cng s dng S-box xon c xy dng theo cu trc quy thay th S-box ca Rijndael, ng thi thay th m MDS [8, 4, 5] trong Rijndael bng m MDS [16, 8, 9]. T nhng phn tch trn y, chng ta c th rt ra mt s kt lun sau: C th to ra thut ton m ha khi p ng mt s yu cu hay tiu ch mi bng cch thay th mt s thnh phn m ha bng cc thnh phn c tnh nng tng ng v tha mn yu cu hay tiu ch mi. c th p ng cc yu cu hay tiu ch mi, tng thnh phn m ha c chn khng nht phi t ngng ti a i vi cc tnh cht mt m. V d nh
13
tha mn tnh xon, S-box trong Anubis hoc Khazad khng t c gi tr ti a v mc ng nht sai phn [69] nh S-box trong Rijndael. Vn chnh l thnh phn m ha c chn, khi kt hp vi cc thnh phn khc, qua nhiu chu k m ha, m bo tnh an ton cho h m i vi cc phng php phn tch m. C nhiu cch khc nhau to ra mi thnh phn trong quy trnh m ha/gii m m vn m bo vai tr v tnh cht ca thnh phn ny trong h m. iu ny cho php to ra cc bin th ca cng mt thut ton gc m vn m bo tnh an ton ca thut ton gc. Cng vi cc thut ton tin thn ca Rijndael, bao gm Shark [90] v Square [18], cc thut ton ta-Rijndael nh GrandCru, Khazad v Anubis cng l thnh vin ca h thut ton m ha ta-Rijndael. Cc thut ton c th c to ra t gii thut XAES cng l thnh vin ca h thut ton ny. Tp hp cc th hin ca XAES l mt tp con (v hn) ca h thut ton m ha ta-Rijndael. 1.2.2 Cc m rng ca AES Cu trc ca AES c cc chuyn gia trong lnh vc mt m rt quan tm v mt s m rng ca AES c xut. Tuy nhin, hu ht cc cng trnh ny u xut pht t gc phn tch m: cc phin bn m rng c xut nhm phc v vic tm hiu cc tnh cht bn trong cu trc AES vi hi vng khai thc cc tnh cht ny trong vic tn cng AES: Trong thut ton BES [68] do Murphy v Robshow xut, tt c cc thao tc m ha u c thc hin trn GF(28) nhm n gin ha vic kho st hot ng ca thut ton (trong AES s dng kt hp thao tc trn GF(28) vi thao tc trn GF(2)8). Cc m rng vi kch thc nh ca AES c xut trong [13] nhm kho st kin trc tng t AES kch thc nh, hng n kh nng th hin di dng tham s cc tnh cht ca AES vi hi vng c th p dng tn cng AES.
14
Monnerat v Vaudenay xut hai m rng CES v Big-BES trong [66] nhm phn bc vic xut BES. Theo Monnerat v Vaudenay, cc kt qu kho st da trn BES t c nh hng n vic tn cng AES. Trong lun n ny, chng ti cng tp trung nghin cu cu trc ca AES nhng t gc xy dng mt h cc thut ton m ha khi ta-Rijndael. Cc th hin vi kch thc nh ca XAES c th c dng trong thit b ubiquitous hay cc thit b cm ng, ng thi c th c s dng trong vic kho st cc tnh cht ca AES phc v phn tch m. Cc th hin vi kch thc ln c th c dng trong tng lai khi i hi v di kha tng.
15
Mi khi d liu c biu din bng ma trn 4 Nb byte vi Nb = 4, 6 hay 8. Mi vector gm 4 byte c xem l mt t, do , mi khi c th c xem l mt vector gm Nb t. Kha chnh cng c biu din bng ma trn 4 Nk byte hoc mt vector gm Nk t vi Nk =4, 6 hay 8. tham s ha cu trc cho XAES, chng ti k tha tng s dng tham s m trong chin lc vt rng [19] th hin s lng bit cho mi nhm d liu c x l, ng thi, chng ti xut thm tham s Nw l s nhm (m bit) trong mi t. Nh vy, tng ng vi hai n v d liu c bn trong AES l byte (nhm 8 bit) v t (vector gm 4 byte), chng ti s dng hai tham s cu trc cho XAES nh sau: s lng bit trong mi nhm, k hiu l m, s lng nhm (m bit) trong mi t, k hiu l Nw. Tham s m cho php XAES tng thch vi cc h thng khng s dng n v d liu byte, v d nh trong cc thit b cm ng 4-bit. Trong ng dng thc t nn chn gi tr m 4 thut ton c th t an ton i vi tn cng sai phn v tuyn tnh (xem phn 3.2). Tham s Nw cho php nh ngha cc thut ton m ha vi kch thc khi v kha ln khng gii hn, ng thi khai thc c im ca cc kin trc x l khc nhau, v d nh b x l 64 bit c th h tr Nw = 8 (vi m = 8). Chi tit v cu trc ca XAES s c trnh by trong phn 2.1. Trong phm vi lun n ny, chng ti s dng k hiu {xy} biu din gi tr dng thp lc phn trn trng Galois GF(28).
1.3.2 Thut ton m ha
Trong AES, quy trnh m ha gm Nr = max{Nb, Nk} + 6 chu k m ha. Cc php bin i trong mi chu k m ha l s hin thc ha cc php bin i tru tng c xut trong chin lc vt rng (xem phn 1.1.2): Bin i tr thnh SubBytes (xem phn 1.3.3) Bin i c xy dng bng cch kt hp 2 bin i tuyn tnh: ShiftRows, k hiu l (xem phn 1.3.4), v MixColumns, k hiu l (xem phn 1.3.5). Bin i tr thnh AddRoundKey (xem phn 1.3.6).
16
Thc hin thao tc cng kha u tin [k 0 ] Thc hin Nr1 chu k m ha s dng cng th tc m ha, k hiu l . Mi chu k m ha gm c 4 thao tc bin i: SubBytes, ShiftRows, MixColumns v AddRoundKey
[k r ] = [k r ] ! ! ! vi 1 r < Nr
vi kr l kha ca chu k th r (1 r < Nr ).
(1.3)
Thc hin chu k m ha cui cng. Trong chu k ny b qua thao tc MixColumns:
[k Nr ] = [k Nr ] ! !
Nh vy, thut ton m ha AES vi kha chnh k c biu din nh sau:
AES[k] = [k Nr ] ! ! ! Nr 1[k Nr 1 ] ! ! 2[k 2 ] ! 1[k1 ] ! [k 0 ]
(1.4)
(1.5)
Mi byte y c thay th s dng bng thay th (c nh) S-box c xc nh nh sau (xem Hnh 2.3): Ly nghch o z = y 1 GF (28 ) vi quy c 01 = 0. Cho (z0 , z1, , z7 ) l biu din nh phn ca z. Thc hin nh x affine trn nh nh sau :
t0 1 0 0 0 t1 1 1 0 0 t 1 1 1 0 2 t3 1 1 1 1 t = 1 1 1 1 4 t5 0 1 1 1 t6 0 0 1 1 t 0 0 0 1 7 1 1 1 1 z0 1 0 1 1 1 z1 1 0 0 1 1 z 2 0 0 0 0 1 z3 0 + 1 0 0 0 z 4 0 1 1 0 0 z5 1 1 1 1 0 z6 1 1 1 1 1 z7 0
(1.6)
17
ngng ti u (v mt l thuyt). iu ny gip S-box t c tnh an ton ti u i vi phng php phn tch m sai phn [6] v phng php phn tch m tuyn tnh [62]. V vy, chng ti cng chn nh x nghch o xy dng S-box cho gii thut XAES (xem phn 2.2.1). Cn lu l trong XAES, nh x nghch o c nh ngha trn GF (2 m ) thay v GF 28 trong trng hp AES. Trong AES, nh x affine trn GF(2)8 c s dng lm bc hu x l nhm loi b cc im bt bin (0 0, 1 1) trong nh x nghch o. Trong XAES s dng mm S-box (S-box vi m bit u vo v m bit u ra), chng ti thay th nh x affine trong AES bng nh x affine bt k trn GF(2)m. Bn cnh nhng u im, S-box trong AES c mt tnh cht khng mong mun l tnh n gin trong biu din i s trn trng GF 28 [90]. Biu din i s ca Sbox trong AES ch gm 9 n thc khc 0 v iu ny c kh nng dn n vic tn cng i s [14][27] hay tn cng ni suy [41]. Do , i vi XAES, chng ti xut kin trc xy dng S-box bng cch b sung thm mt nh x affine trn trng GF(2)m lm bc tin x l trc khi thc hin nh x nghch o nhm nng cao phc tp i s [28] i vi cc phng php phn tch m hin nay (xem phn 2.2.1Bin i SubBytes trong XAES). Chng ti chng minh trong phn 3.2.3 rng vi mi cp nh x affine trn GF(2)m, S-box trong XAES u bo ton cc tnh cht mt m ti u ca nh x nghch o, bao gm chn trn ti thiu ca tng quan u vo u ra [17] v
chn trn ti thiu ca lan truyn sai phn[17]. V vy, trong phn 2.2.1-Bin i
( )
( )
SubBytes trong XAES, chng ti xut vic tham s ha hai nh x affine ny cho bin i SubBytes ca XAES.
18
Trong bin i ShiftRows (xem Hnh 2.4), mi byte trn dng i c quay tri i v tr vi i =0,1,2,31. Tnh cht chnh ca thao tc ny l tt c cc byte trn mi ct c phn tn n cng nhiu ct khc nhau cng tt, v mi ct kt qu u nhn c cc byte t cng nhiu ct khc nhau cng tt. T suy ra gi tr offset ca mi dng phi phn bit. m bo iu ny, s ct trong khi d liu phi nhiu hn hay bng s dng. Chnh v vy, chng ti ngh rng buc ny trong kch thc ca khi d liu trong XAES (xem phn 2.1.1-Biu din khi v kha). Khi , danh sch cc gi tr offset cho mi dng c th c xem l tham s ca bin i ShiftRows trong XAES v gi tr offset cho mi dng c chn ngu nhin sao cho khng trng nhau t tp ch s ct (xem phn 2.2.2-Bin i ShiftRows trong XAES).
1.3.5 Bin i MixColumns trong AES
Trc khi trnh by v bin i MixColumns trong AES, chng ta cn mt s nh ngha sau:
nh ngha 1.1 [16]: Branch Number B ca bin i tuyn tnh c nh ngha nh sau:
(1.7)
vi wt l trng s Hamming ca mt vector (c xc nh bng s lng thnh phn khc 0 trong vector)
Nhn xt [16]: nu c nh ngha trn khng gian n chiu th B( ) b chn
trn bi n + 1.
nh ngha 1.2 [22]: Ma trn lun hon l ma trn vung, trong , mi dng th i > 0 c xy dng bng hon v vng quanh cc phn t ca dng th i 1 sang phi 1 v tr.
Trong thut ton Rijndael vi Nb = 8, cc byte trn dng 2 v dng 3 ln lt c quay tri 3 v 4 v tr.
19
Cho ma trn lun hon M (kch thc n n) vi Mi, j l phn t ti dng i, ct j . Ta c: Mi, j = M0,( j i ) mod n , 1 i < n,0 j < n
1 2 3 & V d: 3 1 2 l 1 ma trn lun hon. 2 3 1
(1.8)
Bin i MixColumns trong AES s dng nh x tuyn tnh trn GF(28)4 tng ng vi ma trn lun hon ma trn vung trong mi dng c to bng cch xoay gi tr dng lin trn sang phi mt v tr. Hnh 2.5 minh ha bin i MixColumns. Mi ct trong khi d liu c trn vi cng mt bin i tuyn tnh trn GF(28)4. Mi ct c biu din bng mt ma trn vi cc h s trn trng GF(28) v nhn (modulo x 4 + 1 ) vi 1 a thc c nh: c (x ) = 3x3 + x 2 + x + 2 (1.9)
Bin i MixColumns trong AES s dng nh x tuyn tnh trn GF(28)4 c Branch Number t c gi tr chn trn ti u (trn l thuyt) bng 5. Vic chng minh tnh an ton ca AES trong [16][17] ch s dng tnh cht ny ca a thc c (x ) , c lp vi gi tr c th ca cc h s trong c (x ) . V vy, mi a thc tng ng vi branch number l 5 u c th dng thay th a thc c (x ) c chn trong bin i MixColumns ca AES. iu ny dn n kh nng to ra cc bin th ca AES bng cch thay th a thc c (x ) bng a thc khc tng ng vi branch number l 5. i vi XAES, mi ct gm Nw phn t trn trng GF(2m). Tng t AES, mi ct trong khi ca XAES c biu din di dng mt a thc bc Nw 1 c cc h s trn trng GF(2m). a thc ny c nhn (module x m + 1 ) vi a thc c bc Nw1 c cc h s trn trng GF(2m). Tuy nhin, i vi XAES, trong phn 3.2, chng ti chng minh rng m bo tnh an ton ca XAES i vi phng php phn tch sai phn v tuyn tnh, branch number ca nh x tuyn tnh c dng khng cn phi t ngng ti a (trn l thuyt) l Nw + 1 m ch cn t gi tr Nw.
20
iu ny gip m rng kh nng chn la cc a thc an ton cho bin i MixColumns trong XAES. Ngoi ra, do mi ct ca khi trong bin i MixColumns c x l ring nn c th chn s dng a thc khc nhau cho tng ct. Chnh v vy, chng ti ngh tham s ha danh sch cc a thc c dng bin i tng ct trong MixColumns ca XAES (xem phn 2.2.3-Bin i MixColumns trong XAES).
1.3.6 Bin i AddRoundKey v hm sinh kha KeySchedule trong AES
T kha chnh k cho trc, thut ton AES pht sinh dy gm Nr + 1 kha cho mi chu k, mi kha ca chu k gm Nb t. Trong cho k th r, mi byte trong trng thi hin hnh c XOr vi byte tng ng trong kha kr ca chu k. Do , cn pht sinh mng kha m rng gm (Nr+1)Nb t vi cht liu u vo l Nk t ca kha k cho trc. T kha k, hm sinh kha KeySchedule ca AES ln lt pht sinh v lu li cc vector H (i) gm Nk t vo mng kha m rng cho n khi c (Nr +1) Nb t. Chng ti tng qut ha hm pht sinh kha ca AES xy dng hm pht sinh kha trong XAES: mi phn t trong XAES c x l l nhm gm m bit (thay v mt byte gm 8 bit nh trong AES) v mi t gm Nw phn t m bit (thay v mi t gm 4 byte nh trong AES). Trong phn ny, chng ti khng trnh by chi tit v hm sinh kha ca AES. Hm sinh kha ca AES hon ton c th c suy ra t hm sinh kha ca XAES (trnh by trong phn 2.2.5-Hm pht sinh kha trong XAES) bng cch thay th gi tr m =8 v Nw =4.
1.4 Kt lun
Trong chng 2, chng ti phn tch mi lin h gia kin trc thut ton m ha khi v cc thut ton m ha c th, t xut tng v vic xy dng thut ton m ha khi c tham s ha lm bc chuyn tip gia kin trc thut ton mc tru tng vi cc thut ton m ha c th. Mi thut ton m ha khi
21
c tham s ha xc nh mt lp cc thut ton m ha khi c cng kin trc v chin lc xy dng cc thnh phn m ha. Vic tham s ha thut ton Rijndael c cc tc gi ca thut ton ny xut trong c t ca thut ton Rijndael [16] v c nhc li trong phn 6.2 ca ti liu FIPS 197 [30] ca NIST cng b chun AES, bao gm 3 tham s: Nk l s t trong kha, Nb l s t trong khi v Nr l s chu k m ha. Tuy nhin, vic tham s ha ny c xy dng trong ng cnh b gii hn: cn phi gi c nh s lng bit trong mi phn t d liu c x l l 8 v s lng phn t trong mi t l 4. Trong XAES, chng ti tip tc tham s ha thut ton bng vic xut b sung 2 tham s cu trc l s bit trong mi n v d liu c x l (k hiu l m) v s phn t trong mi t (k hiu l Nw). Hai tham s ny cho php thay i hon ton cch xy dng cc thnh phn m ha trong XAES v cho php m rng khng gii hn kch thc khi v kch thc kha. Ngoi ra, chng ti cn xut vic tham s ha cc h s trong mi thnh phn m ha to ra mt lp cc thut ton m ha khi c cng kin trc v chin lc xy dng cc thnh phn m ha. Trong cc chng tip theo, chng ti s trnh by v thut ton XAES, mt thut ton m ha c tham s ha c xy dng theo kin trc SPN. Do cc thnh phn m ha trong Rijndael c nghin cu k trong nhng nm gn y, cc tnh cht mt m quan trng ca Rijndael c kho st chi tit, chng ti quyt nh chn phng n tng qut ha cc thnh phn trong Rijndael xy dng cc thnh phn trong XAES. Thng qua vic trnh by v phn tch gii thut AES, chng ti xut 2 tham s cu trc cho XAES, gm s lng bit trong mi nhm d liu c x l (k hiu l m) v s lng nhm (m bit) trong mi t (k hiu l Nw). ng thi, trn c s trnh by v phn tch vai tr ca tng bin i trong AES, chng ti xut cc tham s x l cho tng bin i trong XAES. Chi tit v cc tham s x l c trnh by trong Chng 2.
22