You are on page 1of 31

1

CHUONG 4:
Data Encryption Standard v
Advanced Encryption Standard
2
Ni dung
Data Encryption Standard
Advanced Encryption Standard (Doc thm)
3
M ha tch (Product Cipher)
M ha chi su dung php thay th (substitution) hay
php di ch (transposition) khng an ton (do dc
tnh cua ngn ngu)
Su dung lin tip cc thao tc m ha don gian s
tao ra cch m ha thng tin an ton hon
Substitution kt hop voi Substitution an ton hon 1
php Substitution
Transposition kt hop voi Transposition an ton hon 1
php Transposition
Substitution kt hop Transposition cho kt qua an ton
hon nhiu so voi vic chi dng mt loai thao tc (thay
th hay di ch)
Dy l tuong mo du cho cc phuong php m
ha hin dai.
Quy trnh m ha theo khi
Key
Schedule
Key Key
Schedule Schedule
Data Path
Data Path Data Path
Secret key Secret key
PIuinTet PIuinTet
Round keys {Sub keys} Round keys {Sub keys}

5
Quy trnh m ha theo khi
Data Path: Thng thuong, quy trnh m ha bao
gm nhiu chu ky m ha (round) lin tip nhau;
mi chu ky gm nhiu thao tc m ha
Key Schedule: Tu kha gc (secret key), pht sinh
(c quy lut) cc gi tri kha s duoc su dung
trong mi chu ky m ha (round key)
6
Data Encryption Standard
7
Data Encryption Standard
M ha theo khi (block cipher)
tuong: m ha tch (product cipher)
Key: 56 bit
Block: 64 bit
Duoc IBM pht trin tu phuong php Lucifer
Chnh thuc cng b nm 1975
Duoc chon l Chun xu l thng tin lin bang
(Federal Information Processing Standard - FIPS)
nm 1976
Giai thut m ha v giai m duoc cng b
8
Data Encryption Standard
9
Thut ton bao mt DES
V mt khi nim DES l thut ton mo, nghia l
moi nguoi du bit thut ton ny.
Tuy nhin cha kho cua DES c d di toi 56
bit, nghia l s ln thu ti da d tm duoc cha
kho ln dn 2
56
, trung bnh l 2
55
=
36.028.797.018.963.968 ln, mt con s rt lon!.
DES duoc thuc hin nho cc php dich, hon vi v
cc php ton logic trn cc bit
10
Quy trnh cua thut ton DES
DES nhn vo mt thng dip M 64 bit, mt kha
K 56 bit v cho ra mt bang m C 64 bit.
Du tin, p dung mt php hon vi bit khoi tao
IP vo M cho ra M: M IP(M).
Buoc hai, chia M thnh hai phn: nua tri L
0
=
32 bit v nua phai R
0
32 bit.
Buoc ba, thi hnh cc php ton sau voi i = 1, 2,
16 (c 16 vng).
L
i
= R
i-1
R
i
= L
i-1
f(R
i-1
, K
i
)
Cui cng hon vi voi php hon vi IP
-1
d duoc
ban m cui cng C.
11
Quy trnh M ha cua giai thut DES
.
Chu k Chu k m h m h a 1 a 1
.
Chu k Chu k m h m h a a i i
Chu k Chu k m h m h a 16 a 16
InitiuI Permutution InitiuI Permutution
FinuI Permutution { FinuI Permutution {R R
1 1
L L
1 1
} }
PIuintet PIuintet
{4 {4- -bit} bit}
Ciphertet Ciphertet
{4 {4- -bit} bit}
IP: Initial Permutation IP: Initial Permutation
FP: Final Permutation FP: Final Permutation
FP = IP FP = IP
- -1 1
Ghi ch Ghi ch : :
FP v FP v IP khng c IP khng c ngh nghi ia v a v m m t t
m h m h a, chi c a, chi c t t c d c du ung d ng d n na ap p
d du u li li u v u v o v o v ra c ra c c kh c kh i d i du u li li u u
(theo (theo co ch co ch ph ph n c n cu ung gi ng giu ua th a th p p
nin 1970!!!) nin 1970!!!)
12
Hon V| Bit Khoi To
IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
V d: Bit thu 58 cua x tro thnh bit du tin cua IP(x)
Bit thu 50 cua x tro thnh bit thu hai cua IP(x)
13
Quy trnh m ha
L
L
i i- -1 1
R
R
i i- -1 1
k k
i i
L
L
i i
R
R
i i
f
f


Chu k Chu k m h m h a a i i
Chu k Chu k m h m h a a Nr Nr
.
Chu k Chu k m h m h a 1 a 1
.
L
L
i i
=
=
R
R
i i- -1 1
R
R
i i
=
=
L
L
i i- -1 1


f
f
(
(
R
R
i i- -1 1
,
,
K
K
i i
)
)
1+
Quy tc mo rng 32 bit thnh 48 bit
B B
ng ch ng ch
n l n l
a bit E a bit E
32 32 1 1 2 2 3 3 4 4 5 5
4 4 5 5 6 6 7 7 8 8 9 9
8 8 9 9 10 10 11 11 12 12 13 13
12 12 13 13 14 14 15 15 16 16 17 17
16 16 17 17 18 18 19 19 20 20 21 21
20 20 21 21 22 22 23 23 24 24 25 25
24 24 25 25 26 26 27 27 28 28 29 29
28 28 29 29 30 30 31 31 32 32 1 1
15
Hm f trong DES
P Permutution ermutution
S
S
1 1
S
S
Z Z
S
S
3 3
S
S
4 4
S
S

S
S

S
S
7 7
S
S



E Epunsion punsion
N N a kh a kh i i
{32 bit) {32 bit)
Sub key Sub key
{4 bit} {4 bit}
4 bit 4 bit
16
S-box
S S
1 1
14 14 4 4 13 13 1 1 2 2 15 15 11 11 8 8 3 3 10 10 6 6 12 12 5 5 9 9 0 0 7 7
0 0 15 15 7 7 4 4 14 14 2 2 13 13 1 1 10 10 6 6 12 12 11 11 9 9 5 5 3 3 8 8
4 4 1 1 14 14 8 8 13 13 6 6 2 2 11 11 15 15 12 12 9 9 7 7 3 3 10 10 5 5 0 0
15 15 12 12 8 8 2 2 4 4 9 9 1 1 7 7 5 5 11 11 3 3 14 14 10 10 0 0 6 6 13 13
S S
2 2
15 15 1 1 8 8 14 14 6 6 11 11 3 3 4 4 9 9 7 7 2 2 13 13 12 12 0 0 5 5 10 10
3 3 13 13 4 4 7 7 15 15 2 2 8 8 14 14 12 12 0 0 1 1 10 10 6 6 9 9 11 11 5 5
0 0 14 14 7 7 11 11 10 10 4 4 13 13 1 1 5 5 8 8 12 12 6 6 9 9 3 3 2 2 15 15
13 13 8 8 10 10 1 1 3 3 15 15 4 4 2 2 11 11 6 6 7 7 12 12 0 0 5 5 14 14 9 9
V V d d : B : B
j j
= b = b
1 1
b b
2 2
b b
3 3
b b
4 4
b b
5 5
b b
6 6
th th S S
j j
{B {B
i i
) = S ) = S
j j
[b [b
1 1
b b
6 6
][b ][b
2 2
b b
3 3
b b
4 4
b b
5 5
] ]
17
S-box
S S
3 3
10 10 0 0 9 9 14 14 6 6 3 3 15 15 5 5 1 1 13 13 12 12 7 7 11 11 4 4 2 2 8 8
13 13 7 7 0 0 9 9 3 3 4 4 6 6 10 10 2 2 8 8 5 5 14 14 12 12 11 11 15 15 1 1
13 13 6 6 4 4 9 9 8 8 15 15 3 3 0 0 11 11 1 1 2 2 12 12 5 5 10 10 14 14 7 7
1 1 10 10 13 13 0 0 6 6 9 9 8 8 7 7 4 4 15 15 14 14 3 3 11 11 5 5 2 2 12 12
S S
4 4
7 7 13 13 14 14 3 3 0 0 6 6 9 9 10 10 1 1 2 2 8 8 5 5 11 11 12 12 4 4 15 15
13 13 8 8 11 11 5 5 6 6 15 15 0 0 3 3 4 4 7 7 2 2 12 12 1 1 10 10 14 14 9 9
10 10 6 6 9 9 0 0 12 12 11 11 7 7 13 13 15 15 1 1 3 3 14 14 5 5 2 2 8 8 4 4
3 3 15 15 0 0 6 6 10 10 1 1 13 13 8 8 9 9 4 4 5 5 11 11 12 12 7 7 2 2 14 14
18
S-box
S S
5 5
2 2 12 12 4 4 1 1 7 7 10 10 11 11 6 6 8 8 5 5 3 3 15 15 13 13 0 0 14 14 9 9
14 14 11 11 2 2 12 12 4 4 7 7 13 13 1 1 5 5 0 0 15 15 10 10 3 3 9 9 8 8 6 6
4 4 2 2 1 1 11 11 10 10 13 13 7 7 8 8 15 15 9 9 12 12 5 5 6 6 3 3 0 0 14 14
11 11 8 8 12 12 7 7 1 1 14 14 2 2 13 13 6 6 15 15 0 0 9 9 10 10 4 4 5 5 3 3
S S
6 6
12 12 1 1 10 10 15 15 9 9 2 2 6 6 8 8 0 0 13 13 3 3 4 4 14 14 7 7 5 5 11 11
10 10 15 15 4 4 2 2 7 7 12 12 9 9 5 5 6 6 1 1 13 13 14 14 0 0 11 11 3 3 8 8
9 9 14 14 15 15 5 5 2 2 8 8 12 12 3 3 7 7 0 0 4 4 10 10 1 1 13 13 11 11 6 6
4 4 3 3 2 2 12 12 9 9 5 5 15 15 10 10 11 11 14 14 1 1 7 7 6 6 0 0 8 8 13 13
19
S-box
S S
7 7
4 4 11 11 2 2 14 14 15 15 0 0 8 8 13 13 3 3 12 12 9 9 7 7 5 5 10 10 6 6 1 1
13 13 0 0 11 11 7 7 4 4 9 9 1 1 10 10 14 14 3 3 5 5 12 12 2 2 15 15 8 8 6 6
1 1 4 4 11 11 13 13 12 12 3 3 7 7 14 14 10 10 15 15 6 6 8 8 0 0 5 5 9 9 2 2
6 6 11 11 13 13 8 8 1 1 4 4 10 10 7 7 9 9 5 5 0 0 15 15 14 14 2 2 3 3 12 12
S S
8 8
13 13 2 2 8 8 4 4 6 6 15 15 11 11 1 1 10 10 9 9 3 3 14 14 5 5 0 0 12 12 7 7
1 1 15 15 13 13 8 8 10 10 3 3 7 7 4 4 12 12 5 5 6 6 11 11 0 0 14 14 9 9 2 2
7 7 11 11 4 4 1 1 9 9 12 12 14 14 2 2 0 0 6 6 10 10 13 13 15 15 3 3 5 5 8 8
2 2 1 1 14 14 7 7 4 4 10 10 8 8 13 13 15 15 12 12 9 9 0 0 3 3 5 5 6 6 11 11
20
Bang hon v| P
P
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
21
Key Schedule
Tht t, K l mt dy 64 bits trong d c 56 bits
lm kha v 8 bits dng d kim tra li (Kim tra
chn le).
Cc bit nm o vi tr 8, 16, 24 64 l cc bit dng
d kim tra chn le.
Cho mt kha K 64 bits, ta s bo cc bit kim tra
chn le ta s duoc 56 bits kha.
Cho 56 bit ny hon vi theo bang hon vi PC-1.
Ta c: PC-1(K) = C
0
D
0

Trong d: C
0
chua 28 bit bn tri
D
0
chua 28 bit bn phai
22
Key Schedule
Cho i chay tu 1 cho dn 16 tnh:
C
i
= LS
i
(C
i-1
)
D
i
= LS
i
(D
i-1
)
K
i
= PC-2(C
i
D
i
)
Voi LS
i
l dich chuyn vng sang tri mt hay hai
vi tr ty thuc vo gi tri cua i.
Dich chuyn mt vi tr nu i = 1,2,9 hay 16, dich
chuyn hai vi tr trong cc truong hop cn lai,
23
Key Schedule
2+
Cc hon v| trong Key Schedule
PC-1
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
Ch Ch n 56 bit n 56 bit
{b {b bit S, 16, 24, 32, bit S, 16, 24, 32,
40, 4S, 56, 64 40, 4S, 56, 64
25
Cc hon v| trong Key Schedule
PC-2
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
Ch Ch n 4S bit n 4S bit
{b {b bit 9, 1S, 22, 25, bit 9, 1S, 22, 25,
35, 3S, 43, 54) 35, 3S, 43, 54)
26
Final Permutation
IP
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
27
V d
Dng giai thut DES d m ha bit vn ban v
kha duoc luu duoi dang s hex nhu sau:
Vn ban: 0123456789ABCDEF
Key: 133457799BBCDFF1
28
Advanced Encryption Standard
(Doc thm)
29
Phuong php m ha Rijndael
Phuong php Rijndael do Vincent Rijmen v Joan
Daeman d nghi.
Vin Tiu chun v Cng ngh Hoa Ky (National
Institute of Standards and Technology NIST)
chon lm chun m ha nng cao (Advanced
Encryption Standard) tu 02 thng 10 nm 2000
30
Phuong php m ha Rijndael
Phuong php m ha theo khi (block cipher) c
kch thuoc khi v m kha thay di linh hoat voi
cc gi tri 128, 192 hay 256 bit.
Phuong php ny thch hop ung dung trn nhiu h
thng khc nhau tu cc the thng minh cho dn cc
my tnh c nhn
31

You might also like