Professional Documents
Culture Documents
r,c
s dng bng thay th (S - box), n l bng c ngc. Hnh 1.13 ch ra nh
hng ca bin i SubBytes() trn state
Hnh 1. 13. SubBytes() p dng S - box cho mi byte ca state
S - box dng trong bin i SubBytes() c trnh by dng c s 16 nh
bng 3.1 sau:
b) Bin i ShiftRows(): Hnh 1.14 ch ra bin i ShiftRows().
Hnh 1.14. Dch vng ShiftRows() ba hng cui cng trong state
8
Trong bin i ShiftRows(), cc byte trong ba hng cui cng ca trng thi
c dch vng i cc s byte khc nhau ( lch) . C th, bin i ShiftRows(), x
l nh sau:
s
rc
=s
r(c+r)
mod 4, vi 0<r<4 v 0sc<4 (trong r l s hng)
Bin i ny c tc dng dch chuyn cc byte sang bn tri, trong khi cc
byte bn tri nht c chuyn vng v cc v tr bn phi nht ca hng.
Bng 1.1. S - box c dng trong bin i SubBytes ()
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
00 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ad 76
10 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
20 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
30 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
40 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
50 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
60 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
70 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
80 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
90 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
a0 0e 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b0 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c0 ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d0 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e0 e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f0 8c a1 89 0d bf e6 42 68 41 99 ad 0f b0 54 bb 16
c. Bin i MixColumns()
Bin i MixColumns() tnh ton trn tng ct ca state. Bin i ny c th
c trnh by nh php nhn mt ma trn, m mi byte c hiu nh l mt phn
t trong trng GF(2
8
):
(
(
(
(
(
(
(
(
(
(
(
(
(
= =
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
x s x a x s
, 3
, 2
, 1
, 0
02 01 01 03
03 02 01 01
01 03 02 01
01 01 03 02
, 3
'
, 2
'
, 1
'
0
'
: ) ( ) ( ) ( ' vi 4 0 s s c
V kt qu ca php nhn ny, bn byte trong mt ct c thay th nh sau:
9
)
, 3
} 02 ({
, 2 , 1
)
, 0
} 03 ({
, 3
'
)
, 3
} 03 ({ )
, 2
} 02 ({
, 1 , 0 , 2
'
, 3
)
, 2
} 03 ({ )
, 1
} 02 ({
, 0 , 1
'
, 3 , 2
)
, 1
} 03 ({ )
, 0
} 02 ({
, 0
'
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
c
s
- - =
- - =
- - =
- - =
Php trong biu thc ny k hiu php cng trong GF(2
8
), m tng ng
vi php XOR tng bit. Cc php nhn c thc hin theo modulo vi a thc bt
kh quy ca trng. Vi thut ton AES a thc ny l x
8
+x
4
+x
3
+x+1. Hnh 1.16
ch ra bin i MixColumns ()
Hnh 1.16. MixColumns() tnh ton trn tng ct ca state
d. Bin i Addroundkey()
Trong bin i Addroundkey(), mt kha vng c cng vi state bng mt
php XOR theo tng bit n gin. Mi kha vng gm c 4 t (128 bit) c ly t
lc kha. 4 t c cng vo mi ct ca state, sao cho:
| | | | | |
c i c c c c c c c c
w s s s s s s s s
+ -
=
4 ( , 3 , 2 , 1 , 0 , 3 , 2 , 1 , 0
' , ' , ' , ' ' , ' , ' , '
vi 0 c s <4.
Trong
) 4 ( c i
w
+ -
l cc t th c ca kha vng th i
| |
) 3 4 (
,
) 2 4 (
,
) 1 4 (
,
) 4 ( + - + - + - -
=
i
w
i
w
i
w
i
w
i
W
ca lch trnh kha v i l mt gi tr nm trong khong 0si sN
r
. Trong php m ha,
php cng kha vng khi u thc hin vi i = 0, trc khi p dng u tin ca
hm vng. Vic p dng bin i Addroundkey() vo N
r
vng ca php m ha xy ra
khi 1si sN
r.
Cc php bin i SubBytes
-1
(), ShiftRows
-1
(), MixColumns
-1
() trong gii m
AES l cc php bin i ngc ca SubBytes(), ShiftRows(), MixColumns().
1.4.4. Bin i vng v s cc vng
Bin i vng ca Rijndael v cc bc ca n, thao tc trn mt kt qu trung
gian, c gi l trng thi. Trng thi c th c v nh l mt mng ch nht cc
10
byte vi 4 dng. S cc ct trong trng thi k hiu bi N
b
v bng di khi chia
cho 32 (i vi AES th N
b
bng 4).
S vng bin i, k hiu l N
r
theo cng thc: N
r
=max {N
b
, N
k
} +6
Bin i vng c k hiu l Round v l mt dy ca 4 php bin i
AddRoundKey, SubBytes, ShiftRows, MixColumns chng c gi l cc bc
(Steps). Vng cui cng ca php m c khc i mt cht, n khng c php
MixColumns.
1.4.5. Lch trnh kha
Lch trnh kha bao gm 2 thnh phn: m rng kha (Key Expansion) v
chn kha vng (Round Key Selection). M rng kha ch ra cc ExpandedKey
nhn c t kha m. Nguyn tc chnh nh sau:
- Tng s cc bit trong ExpandedKey bng di khi nhn vi s cc vng cng
thm mt, (v d di kha l 128 bit v 10 vng lp th kha ko di c 1408 bit).
- Cipher Key c ko di thnh ExpandedKey
- Ch rng ExpandedKey lun nhn c t kha m, n khng bao gi ch ra mt
cch trc tip: Round Key u tin bao gm N
b
t u tin, Round Key th hai bao
gm N
b
t tip theo, v tng t i vi Round Key th ba
Vic ko di kha c chn phi theo tiu chun v tnh hiu qu, loi b
tnh i xng, khuch tn, phi tuyn. Ngoi ra cn mt vi tiu chun khc cho lch
trnh kha nh sau:
- N s dng mt bin i c ngc, tc l vic bit bt k N
k
t lin kt ca
ExpandedKey s cho php to li ton b bng.
- Vic bit mt phn cc bit ca Cipher Key hoc Roundkey s khng cho php
tnh c nhiu bit Roundkeys khc.
- Chng li c cc tn cng trong mt phn Cipher Keys l c bit bi k
m thm.
- Cc tn cng m Cipher Keys l c bit hoc c th c chn, v d nh khi
m php c s dng nh hm nn (hm vng) ca hm bm.
c tnh hiu qu i vi cc b x l 8 bit, lc ko di n gin, nh
hng byte c chp nhn. Vic p dng php th S
RD
phi tuyn m bo tnh
phi tuyn ca lc , khng cn phi thm nhiu cc yu cu lu tr tm thi trn
b x l 8 bit.
Thut ton AES ly kha m K v thc hin mt th tc m rng kha to
ra mt lc kha. Vic m rng kha to ra tng s 4(N
r
+1) t, thut ton yu cu
mt tp 4 t khi u, v mi vng trong N
r
vng yu cu 4 t d liu kha. Lc
11
kha kt qu gm mt mng tuyn tnh ca cc t 4 byte, c k hiu l w
j
, vi j
nm trong khong 0sj s4(N
r
+1)
1.4.6. Ko di kha
Trong khi ko di kha, kha m c ko di thnh mng kha ko di, bao
gm 4 dng v N
b
(N
r
+1) ct. Mng ny c k hiu bi W[4][N
b
(N
r
+1)]. Hm
ko di kha ph thuc vo gi tr ca N
k
: C mt phin bn cho N
k
bng hoc nh
hn 6, v mt phin bn cho N
k
ln hn 6.
1.5. Phm vi, ngha v ng dng ca AES
1.5.1. Phm vi v ngha ca AES
Phm vi chnh thc ca mt chun FIPS l tng i hn ch: FIPS ch p dng
cho hnh chnh lin bang. Hn th na, AES mi ch c s dng cho cc ti liu
cha thng tin nhy cm nhng khng mt. AES t khi c chp nhn c s
dng nh mt chun mt m ngm nh trn ton th gii. Vic chp nhn Rijndael
nh mt chun chnh ph em n cho n mt b s chng thc v cht lng
Cc nhn t chnh lm cho s chp nhn nhanh chng i vi Rijndael l s
kin n khng c bn quyn, n c th c ci t mt cch d dng
1.5.2. u, nhc im ca AES
1.5.2.1. u im
+) AES c chnh ph Hoa k tuyn b l c an ton cao, v c s dng
thng tin mt;
+) AES c m t ton hc n gin;
+) Cu trc r rng n gin.
1.5.2.2. Nhc im
+) AES khng an ton i vi dng tn (side channel attack]).
+) Cu trc ton hc ca AES c m t ton hc kh n gin. Tuy iu ny cha
dn n mi nguy him no nhng mt s nh nghin cu s rng s c ngi li
dng c cu trc ny trong tng lai.
1.5.3. ng dng ca AES
+) Hin nay, AES c s dng ph bin trn ton th gii bo v d liu cc t
chc ngn hng, ti chnh, chnh ph, thng mi in t, ch k in t;
+) M ha AES c ng dng nhanh i vi c phn cng v phn mm, v ch yu
cu mt khng gian lu tr nh, l tng s dng cho vic m ha nhng thit b
cm tay nh nh USB flash, a CD;
+) S dng nh mt hm bm;
+) Xy dng cc hm bm. Hm bm Whilrpool l mt v d in hnh.
1.6. Kt lun chng 1
12
CHNG 2: HM BM MT M
2.1. t vn
2.2. Khi nim, tnh cht c bn, phn loi hm bm mt m
2.2.1. Khi nim
Hm bm mt m l hm ton hc chuyn i mt thng ip c di bt k
thnh mt dy bit c di c nh (ty thuc vo thut ton bm). Dy bit ny c
gi l thng ip rt gn (message digest) hay gi tr bm (hash value), i din cho
thng ip ban u. Cc hm bm ng vai tr c bn trong mt m hin i.
2.2.2. Tnh cht c bn ca hm bm mt m
c. Tnh kh va chm.
b. Kh tmnghch nh th hai
c. Tnh kh tnh ton nghch nh
2.2.3. Phn loi hm bm mt m
Hnh 2.1: S phn loi hm bm
2.2.3.1.Hm bm mt m c kha
Hm bm mt m c kha l hm bm c d liu u vo ngoi thng ip ra
cn c thng ip khc l mt kha b mt, nu khng c kha b mt ny th khng
th bm thng ip u vo theo ng yu cu. Cc hm bm c kho c s dng
xc thc thng bo v thng c gi l cc thut ton to m xc thc thng
bo (MAC).
2.2.3.2 Hm bm mt m khng kha (cc hm bm da trn mt m khi)
Hm bm khng kha l hm bm c d liu u vo ch l thng ip, khng
cha kha. Hm bm khng kha c mt s tnh cht nh sau:
a. Tnh kh tnh ton nghch nh
b. Kh tm nghch nh th hai
c. Tnh kh va chm
Hm bm
Khng c kha C kha
MDC Cc ng dng khc Cc ng dng khc
MAC
OWHF CRHF
13
Hm bm khng kha bao gm cc lp con MDC. Cc MDC c s dng
to ra nh c trng ca thng ip, m bo s ton vn ca d liu. Bn thn MDC
li c chia thnh hai lp hm sau:
+) Hm bm mt chiu (OWHF - One Way Hash Function) c ngha l vi mt m
bm bit trc, kh c th tnh ton tm ra thng ip u vo c m bm bng vi
m bm cho. Hm bm mt chiu tho mn tnh cht:
- Kh tm nghch nh
- Kh tm nghch nh th hai
+) Hm bm kh va chm (CRHF - Collision Resistant Hash Function) c ngha l
kh c th tnh ton tm ra hai thng ip khc nhau v c cng gi tr m bm.
Hm bm kh va chm ngoi hai tnh cht c bn cn tho mn cc tnh cht sau:
- Kh tm nghch nh th hai
- Kh v chm
M pht hin s sa i MDC c chia thnh MDC di n v MDC di kp.
2.3. Gii thiu cu trc, vai tr hm bm mt m
2.3.1. Cu trc ca hm bm mt m
Thnh phn chnh ca mt hm bm l mt hm nn v cc hm bin i khc.
Hm nn c thc thi nhiu ln bm thng ip ban u ca hm bm thnh mt
chui c chiu di c nh. Cc hm bin i khc (c th c hoc khng) nhn vo
chui bt sau ln cui cng thc thi hm nn v cho kt qu chnh l m bm cui
cng ca hm bm. Hnh 2.3 di y l cu trc tng qut ca hm bm.
Hnh 2.3: Cu trc tng qut ca hm bm.
C rt nhiu thut ton hm bm cho n nay s dng chung mt cu trc c
bn. C th, mt hm bm thng gm cc bc nh sau:
Bc 1: Phn chia thng ip u vo chiu di hu hn thnh cc khi thng ip
con lin tip c chiu di c nh r (gi s l m
1
, m
2
,
,
m
3
,,
m
k
)
14
Bc 2: Do m c di bt k nn lun c mt bc thm cc bit ph sao cho chiu
di chui mi m
=
e =
1
0
) 2 (
m
i
x GF
i
x
i
u u , trong u
i
GF(2) vi mi i = 0,,m -1 s c ghi ch gi tr s
=
1
0
2 .
m
i
i
i
u
hay c vit di
dng thp lc phn, v d 13
x
k hiu cho p4(x).
3.2.2. Cc lp ma trn
3.3. M t hm bm Whirlpool
Hm bm chuyn dng Whirlpool nhn u vo l mt thng ip d liu c
di khng qu 2
256
- 1 bit v cho ra gi tr bm c di 512 bit. Hm bm
Whirlpool c m t da trn kin trc hm bm Davies - Mayer, s dng thut
ton Rijndael vi kch thc khi v kha u l 512 bit.
u vo: Gi s chui d liu u vo c m ti hm bm l dng
mt dy cc byte. Nu chui d liu c m dng mt dy ca 8n bit, x
0
,
20
x
1
, x
8n-1
, th n s c hiu nh l mt dy ca n byte, B
0
, B
1
,B
n-1
theo cch sau.
Mi nhm ca 8 bit lin tip c xem l mt byte, bit th nht ca nhm l bit c
gi tr cao nht ca byte . Tc l: B
i
=2
7
x
8i
+2
6
x
8i+1
+.+2x
8i +7
cho mi i (0 i
<n). Bin i u ra cho hm bm l: m bm H nhn c bng cch ly L
H
bit tri
nht ca chui u ra H
q
cui cng c L
2
bit. Vic la chn L
H
nh hng ti an
ton ca hm bm.
3.3.2. Cu trc ca Whirlpool
Trc khi c bm, thng ip M c chiu di L <2
256
c thm mt bit 1
v mt s bit 0 c thm vo c chui bit c chiu di l bi s l ca 256 v
cui cng l 256 bit nh phn cha chiu di L ca thng ip trc khi thm cc bit
c thm vo to thnh mt thng ip m, thng ip kt qu ny c chia thnh t
khi m
1
,,m
t
. Cc khi ny c xem nh l cc mng byte bng cch nhm lin tc
cc bit thnh cc on 8 - bit.
Hm nn Whirlpool lp chin lc bm Miyaguchi Preneel trn t khi thng
ip thm bit m
i
, 1 i t, dng mt m ton b khi 512 - bit W.
H
0
=Initial Value
H
i
= W(H
i-1
, m
i
) +H
i-1
+m
i
=Intermediate Value
Hnh 3.2: Cu trc ca Whirlpool
3.3.3. Khi m ha Whirlpool (hm nn Whirlpool)
M khi Whirlpool c cu trc v cc hm bin i ging nh AES. Nhng
Whirlpool s dng di kha 512 bit v di khi l 512 bit, trong khi di khi
ca AES l 128 bit, v di kha l 128 bit, c th h tr n 192 bit hoc 256 bit.
Whirlpool lm vic vi ma trn c kch thc 8*8, AES lm vic vi ma trn 4*4. S
vng trong AES l 10, 11, 12, 13 hoc 14, trong khi Whirlpool s vng ch l 10.
21
3.3.3.1. Cc hm trong khi m ha Whirlpool
Thut ton m ha Whirlpool c u vo l khi bn r di 512 bit, v
di kha l 512 bit, u ra l khi bn m c m ha vi di l 512 bit. Thut
ton m ha Whirlpool s dng 4 hm (php bin i) l: AddRoundKey (AK),
hm SubBytes (SB), hm ShiftColumns (SC), v MixRows (MR). Quy trnh m ha
Whirlpool bao gm 10 vng. Mi vng c 1 kha vng c thm vo bin i
AddRoundKey. Cu trc khi m ha Whirlpool c ch ra hnh 3.3 di y.
Hnh 3.3: Cu trc khi m ha Whirlpool
h tr ci t phn mm mt dy cc hm trn c k hiu thnh c
0
, c1,
c
2
, c
3
, c
4
. i vi c
0
hm nhn u vo
l mt chui 64 phn t ca GF(2
8
), v a ra
ma trn 8*8 vi cc phn t GF(2
8
). i vi c
1
, c
2
, c
3
hm nhn u vo
l mt ma
trn 8*8 gm cc phn t t GF(2
8
) v a ra mt ma trn 8*8 gm cc phn t t
GF(2
8
). i vi c
4
hm nhn u vo
l 2 ma trn 8*8 gm cc phn t t GF(2
8
) v
a ra 1 ma trn 8*8 gm cc phn t t GF(2
8
). C 4 hm trn u c s dng 64
byte, dng trong vic nh ra hm vng. Di y trnh by c th v cc hm ny:
Hm c
0
: nhn mt dy 64 byte, B = (B
0
, B
1
, B
63
) nh u vo, v to ma trn
Z
=(z
ij
) nh u ra vi: z
ij
= B
8i+j
(0si, j s7).
iu ny c ngha rng Z
= c
0
(B) khi v ch khi z
ij
= B
8i+j
(0si, j s7).
Hm c
1
: nhn ma trn X
= (x
ij
) nh u vo v to ra mt ma trn khc
W
= c
1
(X
) khi v ch khi w
ij
= s[x
ij
] (0si, j s7). Hm c th c cho dng bng
3.1. Hp s thay th mi phn t x_GF(2
8
) bng mt phn t khc s[x] _GF(2
8
), nh
22
c ch ra bng 3.1 (cc phn t trong ct u tin l mt na c ngha ln nht
ca x v phn t trong dng u tin l mt na c ngha nh nht ca x). V d,
nu x = 01010110 = 56 (h hexa), s[x] = 49 (h hexa) = 01001001.
Bng 3.1. S - box trong Whirlpool
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 18 23 C6 E8 87 B8 01 4F 36 A6 D2 F5 79 6F 91 52
10 60 BC 9B 8E A3 0C 7B 35 1D E0 D7 C2 2E 4B FE 57
20 15 77 37 E5 9F F0 4A DA 58 C9 29 0A B1 A0 6B 84
30 BD 5D 10 F4 CB 3E 05 67 E4 27 41 8B A7 7D 95 D8
40 FB EE 7C 66 DD 17 47 9E CA 2D BF 07 AD 5A 83 33
50 63 02 AA 71 C8 19 49 D9 F2 E3 5B 88 9A 26 32 B0
60 E9 0F D5 80 BE CD 34 48 FF 7A 90 5F 20 68 1A AE
70 B4 54 93 22 64 F1 73 12 40 08 C3 EC DB A1 8D 3D
80 97 00 CF 2B 76 82 D6 1B B5 AF 6A 50 45 F3 30 EF
90 3F 55 A2 EA 65 BA 2F C0 DE 1C FD 4D 92 75 05 8A
A0 B2 E6 0E 1F 62 D4 A8 96 F9 C5 25 59 84 72 39 4C
B0 5E 78 38 8C D1 A5 E2 61 B3 21 9C 1E 43 C7 FC 04
C0 51 99 6D 0D FA DB 7E 24 3B AB CE 11 8F 4E B7 EB
D0 3C 81 94 F7 B9 13 2C D3 E7 6E C4 03 56 44 7F A9
E0 2A BB C1 53 DC 0B 9D 6C 31 74 F6 46 AC 89 14 E1
F0 16 3A 69 09 70 B6 D0 ED CC 42 98 A4 28 5C F8 86
Hm c
2
: nhn u vo l ma trn X
= (x
ij
) v to ra ma trn khc W
=(w
ij
)
nh l u ra vi w
ij
= x
(i+j)mod8,j
(0si, j s7).
iu c ngha rng W
= c
2
(X
) khi v ch khi w
ij
= x
(i+j)mod 8
(0si, j s7).
Hm c
3
: nhn ma trn X
nh l u vo v to ra ma trn khc W
u ra vi
W
= X - C y C
=
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
x x x x x x x x
C''
01 09 02 05 08 01 04 01
01 01 09 02 05 08 01 04
04 01 01 09 02 05 08 01
01 04 01 01 09 02 05 08
08 01 04 01 01 09 02 05
05 08 01 04 01 01 09 02
02 05 08 01 04 01 01 09
09 02 05 08 01 04 01 01
iu ny c ngha l W
= c
2
(X
) khi v ch khi W
= X
- C
23
3.3.3.2. M t m hm vng
Hm vng (.,.) m bin i hai chui nh phn c di L
1
v L
2
vo mt
chui nh phn c di L
2
, n c s dng lp i lp li nh mt phn ca hm
bm, n kt hp chui d liu c di L
1
vi u ra trc c di L
2
.
Hm vng hot ng nh sau. Trong m t ny, chng ta s dng cc k
hiu W
, X
, K
0
,...K
10
k hiu 13 ma trn khc nhau, mi ma trn c cc phn t
c chn t GF(2
8
), chng cha cc gi tr c yu cu trong cc tnh ton.
a) Gi s 512 bit u vo u tin i vi l c cha trong ma trn Z
vi cc
phn t c chn t GF(2
8
), ma trn ny c to nn nh phng php quy c
sp xp byte. Cng gi s 512 bit u vo th hai i vi l c cha trong ma
trn Y
:=c
4
(Z
, K
0
) v vi j c gi tr t 1 n 10 lm cc bc sau:
i) W
:=c
4
(c
3
(c
2
(c
1
(X
))),K
j
); ii) X
= W
Ch : y chnh l m khi W
Ly Y
:= W
K
0
Z
. y chnh l ch bm Miyaguchi-Preneel
Ma trn Y
biu din u ra ca hm vng . Sau vng lp cui cng ca hm
vng, ma trn Y
s c chuyn thnh mt dy c 64 byte nh php o ngc ca
th tc c ch ra trn, khi phn t dng u tin v ct u tin ca ma
trn s dn ti byte u tin, phn t dng u tin v ct th hai ca ma trn s
dn ti byte tip theo,... phn t dng th 8 v ct th 8 ca ma trn dn ti byte
cui cng. 64 byte s c chuyn thnh 512 bit nh php ngc ca th tc c
ch ra trn, tc l, bit th nht (ngoi cng bn tri) s tng ng vi bit c ngha
cao nht ca byte th nht ngoi cng bn tri, v bit th 512 (ngoi cng bn phi)
s tng ng vi bit nh nht ca byte th 64 (ngoi cng bn phi).
Hnh v 3.4 di y ch ra cc bc con a), v b) ca bc th 3 trong hm vng
ca Whirlpool, chng c thc hin 10 ln.
Hnh 3.4. Mt phn ca hm vng trong Whirlpool
3.3.4. Cc bc thc hin Whirlpool
Gi tr bm H ca d liu D s c tnh trong 4 bc nh sau:
24
a. Bc 1: m d liu (Padder)
Chui d liu D cn phi c m lm cho n cha mt s bit l bi nguyn ca
512. Th tc m hot ng nh sau:
1. D c ni vi mt bit 1;
2. Kt qu ca bc trc c ni vi mt s bit 0 (gia 0 v 511) sao cho
di (theo bit) ca chui kt qu l bi l ca 256.
3. Nu di ban u ca D l L
D
, ni chui thu c t bc trc vi biu
din nh phn 256 bit ca L
D
, bit c ngha ln nht u.
Trong m t ca hm vng sau y, mi khi d liu 512 bit D
i
, 1si sq, c
coi nh ma trn Z
=(z
ij
) (0si, j s7), tc l z
00
tng ng vi 8 bit ngoi cng bn
tri ca D
i
v z
77
tng ng vi 8 bit ngoi cng bn phi ca D
i
.
b. Bc 2: Phn chia
Phin bn c m ca chui d liu D c phn chia thnh cc khi D
1
,
D
2,
D
3
...D
q
c L
1
bit, vi D
1
biu din L
1
bit u tin ca phin bn c m ca
D
1
, D
2
biu din L
1
bit tip theo v, Cc qu trnh m v phn chia c minh ha
nh hnh v 3.5 di y:
Hnh 3.5: Cc qu trnh m v phn chia
c. Bc 3: Lp
Gi s D
1
, D
2
....
D
q
l cc khi L
1
bit ca d liu sau khi m v phn chia. Gi
s H
0
l chui bit bng vi IV. Cc chui bit L
2
bit, H
1
, H
2
,, H
q
c tnh bng lp
theo lc bm Miyaguchi - Preneel.
Vi i bng 1 ti q ta c: i i i i i i i D H D H W H D H = = 1 1 1 , ) ]( [ ) (
Trong : : l hm vng
D
i
l chui nhn c sau qu trnh m, H
i
: M bm ti thi im i
L
1
= 512 bit, l di (theo bit) ca chui u tin trong hai chui u vo ca
hm vng .
L
2
= 512 bit, l di (theo bit) ca chui th hai trong hai chui u vo ca
hm vng , cng l di ca chui u ra ca hm vng v ca gi tr khi
im.
Qu trnh lp ca Whirlpool c minh ha hnh 3.6
25
Hnh 3.6: Qu trnh lp ca Whirlpool
d. Bc 4: Bin i u ra
M bm H nhn c bng cch thc hin bin i T trn H
q
l u ra ca
bc 3, nhn c L
H
bit ca m bm cui cng. V d, bin i T c th l php
ton cht ct.
3.4. Mt s ng dng ca hm bm Whirlpool
Hm bm mt m hc c s dng trong nhiu ng dng bo mt thng tin
a dng nh trong cc h ch k in t, xc thc ha thng ip, xc thc ha ngi
dng, xc thc tnh ton vn ca d liu.
Hm bm Whirlpool khng yu cu khng gian lu tr ln v th vic ci t
ng dng bo mt thng tin trong cc th thng minh, cc thit b cm tay t c
hiu qu cao.
Hm bm Whirlpool c cng nhn cng vi phng php m ho AES l
nhng nn tng bo mt mnh m ti Hi tho v Bo Mt NESSIE vo ngy
26/2/2003. Hm bm Whirlpool c chnh ph Vit Nam chn l b chun mt
m quc gia.
3.5. nh gi hm bm Whirlpool
- Hm bm Whirlpool c kh nng m rng phm vi s dng hn cc hm bm
khc;
- Hiu qu trn a s phn cng (h tr cho cc b x l 8 bit c, cc b x l
32 bit hin ti v b x l 64 bit trong tng lai);
- Khng yu cu khng gian lu tr qu ln cho c m v S-box;
- c ci t hiu qu cho mi trng c nhng rng buc nh th thng minh,
cc thit b cm tay v hot ng hiu qu rt cao i vi cc b nh cache ln hn
ca cc b x l hin ti;
- Ch s dng nhng lnh n gin c sn trong b x l my tnh;
- Kch thc cc bn tm lc thng bo ca Whirlpool bng 512 bit, v th n
c kh nng chng li cc tn cng, c bit l tn cng ngy sinh nht.
3.6. Kt lun chng 3
26
KT LUN V KIN NGH
Ngy nay, b vi x l ca my tnh ngy cng nng cao vic thay th chun
mt m DES v TriDES bng chun mt m nng cao AES l rt cn thit. Chun
mt m nng cao AES c rt nhiu ng dng nhng ng dng xy dng hm bm
mt m c coi l quan trng v c ngha nht. V vy, lun vn vi ti
Nghin cu v ng dng chun mt m nng cao (AES) trong xy dng hm
Bm c thc hin vi mc ch nghin cu v chun mt m nng cao v mt
ng dng nh ca AES vo xy dng mt vi hm bm c th.
Lun vn thc hin c mt s vn c bn sau:
- Tng quan v chun mt m nng cao AES
- Cu trc, vai tr ca hm bm mt m, mt s hm bm thng dng cng vi
nguyn tc xy dng hm bm da trn AES.
- ng dng chun mt m nng cao AES xy dng hm bm Whirlpool.
- Cui cng, lun vn cng nu mt s kin ngh chun mt m nng cao c an
ton hn v mang li nhiu ng dng hn. Mt s kin ngh c nu ra nh sau:
Vi s pht trin ngy cng nhanh chng ca Internet v cc ng dng giao
dch in t trn mng, nhu cu bo v thng tin trong cc h thng v ng dng in
t ngy cng c quan tm v c ngha ht sc quan trng. V vy cn nng cao
an ton ca AES bng cch tng kch thc kha v kch thc khi ln 256 bit,
thm ch l 512 bit v hn th na.
Hm bm Whirlpool c chn lm chun mt m quc gia v vy cn c
trin khai v ng dng rng ri.