You are on page 1of 23

THUT TON DES

(THE DATA ENCRYPTION


STANDARD)
Sinh vin thc hin:
Phan Cng Ngn 1063287
Trn Quc Quang 1063299

LCH S CA THUT TON


DES
- Ngy 13/5/1973 y ban quc gia v tiu
chun ca M cng b yu cu v h mt
m p dng cho ton quc. iu ny
t nn mng cho chun m ha d liu,
hay l DES.
- Lc u Des c cng ty IBM pht trin
t h m Lucifer, cng b vo nm 1975.
- Sau Des c xem nh l chun m
ha d liu cho cc ng dng.

CU TRC THUT TON


DES l thut ton m ha khi, di mi
khi l 64 bit .
Kha dng trong DES c di ton b l
64 bit. Tuy nhin ch c 56 bit thc s
c s dng; 8 bit cn li ch dng cho
vic kim tra.
Des xut ra bn m 64 bit.

M T THUT TON
Thut ton c thc hin trong 3 giai on:
1. Cho bn r x (64bit) c hon v khi to
IP (Initial Permutation) to nn xu bit x0.
x0=IP(x)=L0R0
L0 l 32 bit u tin ca x0.
R0 l 32 bit cui ca x0.

B CHUYN V IP
58
60
62
64
57
59
61
63

50
52
54
56
49
51
53
55

42
44
46
48
41
43
45
47

34
36
38
40
33
35
37
39

26
28
30
32
25
27
29
31

18
20
22
24
17
19
21
23

10
12
14
16
9
11
13
15

2
4
6
8
1
3
5
7

M T THUT TON (tt.)


2.

Tnh 16 vng lp ca mt hm xc nh. Ta s tnh LiRi


vi 1<=i<=16. Theo qui tc:
for(i=1;i<=16,i++){
Li=Ri-1
Ri=Li-1f(Ri-1,Ki)
}
vi:
l php XOR ca hai xu bit:
0 0=0 ,
1 1=0
1 0=1,
0 1=0
f l hm m ta s m t sau.
Ki l cc xu c di 48 bit c tnh nh l cc hm
ca kha K.
K1 n K16 lp nn mt lch kha.

Mt vng ca qu trnh lp m c m t qua hnh sau:

M T THUT TON
3. p dng hon v
ngc IP-1 cho xu bit
R16L16 ta nhn c
bn m y.
y= IP-1(R16L16).

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

Hon v IP-1

Hm f
Hm f ly i s u l xu nhp Ri (32 bit)
i s th hai l Ki (48bit) v to ra xu xut c
di 32 bit. Cc bc sau c thc hin.
1.

i s u Ri s c m rng thnh xu c
di 48 bit tng ng vi hm m rng E c
nh.
E(Ri) bao gm 32 bit t Ri, c hon v theo
mt cch thc xc nh, vi 16 bit c to ra
2 ln.

Hm f (tt.)
32

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

Hm m rng E

2. Tnh E(Ri) Ki v vit kt qu nh l ni ca 8


xu 6bit.
B=B1B2B3B4B5B6B7B8
3. Bc k tip l s dng 8 S-box (S1 ,S2, ,S8).
Mi Si l mt mng 4x16 c nh c cc phn t
l cc s 0 n 15.
Cho xu c di 6 bit Bj= b1b2b3b4b5b6, ta
tnh Sj(Bj) nh sau: Hai bit b1b6 xc nh biu
din nh phn ca hng r ca Sj (0<=r<=3) v 4
bit b2b3b4b5 xc nh biu din nh phn ca ct
c ca Sj (0<=c<=15).
u ra ca mi hp S l mt xu xut 4 bit.

V d: Ta c B1=011000 th b1b6=00 (xc nh r=0),


b2b3b4b5=1100 (xc nh c=12), t ta tm c phn t
v tr (0,12) --> S1(B1)=0101 (tng ng vi s 5).
b2b3b4b5=1100
b1b6=00
14 4

13 1

15 7

15 11

10 6

10 5

14 2

13 1

14 8

13 6

11 15 12 9

14 10 0

11

12 11

15 12 8

10 6

12 5

Hp S1
- Mi xu xut 4 bit ca cc hp S c a vo
cc Cj tng ng: Cj = Sj(Bj) (1<=j<=8).

13

4. Xu bit C = C1C2C3C4C5C6C7C8 c di 32
bit c hon v tng ng vi hon v c
nh P. Kt qu c P(C)= f(Ri,Ki).

Hon v P

16

20

21

29

12

28

17

15

23

26

18

31

10

24

14

32

27

19

13

30

22

11

25

S hm f

Kha K
- K l mt xu c di 64 bit trong 56
bit dng lm kha v 8 bit dng kim
tra s bng nhau (pht hin li).
- Cc bit cc v tr 8, 16,, 64 c xc
nh, sao cho mi byte cha s l cc s
1, v vy tng li c th c pht hin
trong mi 8 bit.
- Cc bit kim tra s bng nhau l c b
qua khi tnh lch kha.

Qu trnh to cc kha con (subkeys) t kha K


c m t nh sau:

1. Cho kha K 64 bit, loi b cc bit kim


tra v hon v cc bit cn li ca K tng
ng vi hon v c nh PC-1. Ta vit
PC1(K) = C0D0, vi C0 bao gm 28 bt
u tin ca PC-1(k) v D0 l 28 bit cn
li.

Cc hon v c nh PC-1 v PC-2:

PC1

PC2

57

49

41

33

25

17

58

50

42

34

26

18

10

59

51

43

35

27

19

11

34

60

52

44

36

63

55

39

31

23

15

62

54

46

38

30

22

14

61

53

45

37

29

21

13

28

20

12

14

17

11

24

28

15

21

10

23

19

12

26

16

27

20

13

41

50

31

37

47

55

30

40

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

2. Vi i nm trong khong t 1 n 16, ta tnh Ci, Di


nh sau:
for(i=1;i<=16;i++){
Ci = LSi(Ci-1)
Di = LSi(Di-1)
}
V Ki = PC-2(CiDi).
- PC-2 l 1 hon v c nh khc.
- LSi biu din php chuyn chu trnh sang tri
ca 1 hoc ca 2 vi tr ty thuc vo gi tr ca i.
- y sang tri 1 v tr nu i= 1, 2, 9 hoc 16, v
y 2 v tr trong nhng trng hp cn li.

S to cc kha con

Gii m
Vic gii m dng cng mt thut ton
nh vic m ho.
gii m d liu c m ho, qu
trnh ging nh m ho c lp li nhng
cc cha kho ph c dng theo th t
ngc li t K16 n K1, ngha l trong
bc 2 ca qu trnh m ho d liu u
vo trn Ri-1 s c XOR vi K17-i ch
khng phi vi Ki.

c im ca m DES
1. Tnh cht b ca m DES:
DES c tnh cht b:

trong :
l phn b ca A theo tng bt (1 thay bng
0 v ngc li).
EK l bn m ha ca E vi kha K. P v C l vn
bn r (trc khi m ha) v vn bn m (sau khi m
ha).
Do tnh b, ta c th gim phc tp ca tn cng
duyt ton b xung 2 ln (tng ng vi 1 bt) vi
iu kin l ta c th la chn bn r.

2. Cc kha yu trong m Des:


Ngoi ra DES cn c 4 kha yu (weak keys).
Khi s dng kha yu th m ha (E) v gii m
(D) s cho ra cng kt qu:
EK(EK(P)) = P or equivalently, EK = DK

Bn cnh , cn c 6 cp kha na yu
(semi-weak keys). M ha vi mt kha trong
cp, K1, tng ng vi gii m vi kha cn
li, K2:
EK1(EK2(P))=P or equivalently EK1=DK2

Tuy nhin c th d dng trnh c nhng


kha ny khi thc hin thut ton, c th bng
cch th hoc chn kha mt cch ngu nhin.
Khi kh nng chn phi kha yu l rt nh.

3. Triple DES:
Triple-DES chnh l DES vi hai cha kho 56 bit.
Cho mt bn tin cn m ho, cha kho u tin c
dng m ho DES bn tin .
Kt qu thu c li c cho qua qu trnh gii m
DES nhng vi cha kho l cha kho th hai.
Bn tin sau qua c bin i bng thut ton
DES hai ln nh vy li c m ho DES mt ln na
vi cha kho u tin ra c bn tin m ho cui
cng.
Qu trnh m ho DES ba bc ny c gi l
Triple-DES.

You might also like