You are on page 1of 29

Chng 3.

M HA D LIU

3. 1. TNG QUAN V M HA D LIU


3.1.1. Khi nim M ha d liu
bo m An ton thng tin (ATTT) lu tr trong my tnh (gi gn
thng tin c nh) hay bo m An ton thng tin trn ng truyn tin (trn mng
my tnh), ngi ta phi Che Giu cc thng tin ny.
Che thng tin (d liu) hay M ha thng tin l thay i hnh dng
thng tin gc (Giu i ngha ngha TT gc), v ngi khc kh nhn ra.
Giu thng tin (d liu) l ct giu thng tin trong bn tin khc, v ngi
khc cng kh nhn ra (Giu i s hin din TT gc).
Trong chng ny chng ta bn v M ha thng tin.
1). H m ha:
Vic m ho phi theo quy tc nht nh, quy tc gi l H m ha.
H m ha c nh ngha l b nm (P, C, K, E, D), trong :

P l tp hu hn cc bn r c th. C l tp hu hn cc bn m c th.
K l tp hu hn cc kho c th.
E l tp cc hm lp m.

D l tp cc hm gii m.

Vi kha lp m ke K, c hm lp m

eke:

P C,

Vi kha gii m kd K, c hm gii m dkd D, dkd:

C P,

sao cho

dkd (eke (x)) = x,

y x c gi l bn r,

eke E,

x P.
eke (x) c gi l bn m.

2). M ha v Gii m:

Ngi gi G

eke (T)

(c kha lp m ke)

Ngi nhn N
(c kha gii m kd)

Tin tc c th trm bn m eke (T)

Ngi gi G mun gi bn tin T cho ngi nhn N. bo m b mt, G


m ho bn tin bng kha lp m ke, nhn c bn m eke (T), sau gi cho N.

47

Tin tc c th trm bn m eke (T), nhng cng kh hiu c bn tin gc T


nu khng c kho gii m kd.
Ngi N nhn c bn m, h dng kho gii m kd, gii m eke (T),
s nhn c bn tin gc T = dkd (eke (T)).

3.1.2. Phn loi h m ha


C nhiu m ho ty theo cch phn loi, sau y xin gii thiu mt s cch.
Cch 1: Phn loi m ho theo c trng ca kho.
H m ha kha i xng (M ho kho ring, b mt).
H m ha kha phi i xng (Kha cng khai).
Hin c 2 loi m ha chnh: m ha kha i xng v m ha kho cng khai.
H m ha kha i xng c kha lp m v kha gii m i xng nhau, theo
ngha bit c kha ny th d tnh c kha kia. V vy phi gi b mt c 2
kha.
H m ha kha cng khai c kha lp m khc kha gii m (ke kd), bit c
kha ny cng kh tnh c kha kia. V vy ch cn b mt kha gii m, cn
cng khai kha lp m.
Cch 2: Phn loi m ho theo c trng x l bn r.
M ho khi, M ho dng
Cch 3: Phn loi m ho theo ng dng c trng.
M ho ng cu, Ma hoa xac suat, Ma hoa tat dinh

3.1.2.1. H m ha kha i xng

48

M ha kha i xng l H m ha m bit c kha lp m th c th


d tnh c kha gii m v ngc li. c bit mt s H m ha c kho lp m
v kho gii m trng nhau (ke = kd), nh H m ha dch chuyn hay DES.
H m ha kha i xng cn gi l H m ha kho b mt, hay kha ring,
v phi gi b mt c 2 kha. Trc khi dng H m ha kha i xng, ngi gi v
ngi nhn phi tho thun thut ton m ha v kho chung (lp m hay gii m),
kho phi c gi b mt. an ton ca H m ha loi ny ph thuc vo kho.
V d:
+ H m ha c in l M ha kha i xng: d hiu, d thc thi, nhng c
an ton khng cao. V gii hn tnh ton ch trong phm vi bng ch ci, s dng
trong bn tin cn m, v d l Z26 nu dng cc ch ci ting Anh. Vi h m ha
c in, nu bit kho lp m hay thut ton lp m, c th d xc nh c
bn r, v d tm c kho gii m.
+ H m ha DES (1973) l M ha kha i xng hin i, c an ton cao.
a). c im ca H m ha kha i xng.
u im:
H m ha kha i xng m ha v gii m nhanh hn H m ha kha cng khai.
Hn ch:
1). M ha kha i xng cha tht an ton vi l do sau:
Ngi m ho v ngi gii m phi c chung mt kho. Kha phi c gi b
mt tuyt i, v bit kho ny d xc nh c kho kia v ngc li.
2). Vn tha thun kho v qun l kha chung l kh khn v phc tp. Ngi
gi v ngi nhn phi lun thng nht vi nhau v kho. Vic thay i kho l rt
kh v d b l. Kha chung phi c gi cho nhau trn knh an ton.
Mt khc khi hai ngi (lp m, gii m) cng bit chung mt b mt, th
cng kh gi c b mt !
b). Ni s dng H m ha kha i xng.
H m ha kha i xng thng c s dng trong mi trng m kho
chung c th d dng trao chuyn b mt, chng hn trong cng mt mng ni b.
H m ha kha i xng thng dng m ha nhng bn tin ln, v tc
m ha v gii m nhanh hn H m ha kha cng khai.
3.1.2.2. H m ha kha cng khai
H m ha kha phi i xng l H m ha c kha lp m v kha gii m
khc nhau (ke kd), bit c kha ny cng kh tnh c kha kia.

49

H m ha ny cn c gi l H m ho kha cng khai, v:


Kho lp m cho cng khai, gi l kho cng khai (Public key).
Kha gii m gi b mt, cn gi l kha ring (Private key) hay kha b mt.
Mt ngi bt k c th dng kho cng khai m ho bn tin, nhng ch
ngi no c ng kho gii m th mi c kh nng c c bn r.
H m ha kho cng khai hay H m ha phi i xng do Diffie v Hellman
pht minh vo nhng nm 1970.
a). c im ca H m kho cng khai.
u im:
1). H m ha kha cng khai c u im ch yu sau:
Thut ton c vit mt ln, cng khai cho nhiu ln dng, cho nhiu ngi dng,
h ch cn gi b mt kha ring ca mnh.
2). Khi bit cc tham s ban u ca h m ha, vic tnh ra cp kho cng khai v
b mt phi l d, tc l trong thi gian a thc.
Ngi gi c bn r P v kho cng khai, th d to ra bn m C.
Ngi nhn c bn m C v kho b mt, th d gii c thnh bn r P.
3). Ngi m ho dng kha cng khai, ngi gii m gi kha b mt. Kh nng
l kha b mt kh hn v ch c mt ngi gi gn.
Nu thm m bit kho cng khai, c gng tm kho b mt, th chng phi
ng u vi bi ton kh.
4). Nu thm m bit kho cng khai v bn m C, th vic tm ra bn r P cng l
bi ton kh, s php th l v cng ln, khng kh thi.
Hn ch:
H m ha kha cng khai: m ha v gii m chm hn h m ha kha i xng.

b). Ni s dng H m ha kho cng khai.


H m ha kha cng khai thng c s dng ch yu trn cc mng cng
khai nh Internet, khi m vic trao chuyn kho b mt tng i kh khn.
c trng ni bt ca h m ho cng khai l kho cng khai (public key) v
bn m (ciphertext) u c th gi i trn mt knh truyn tin khng an ton.

50

C bit c kha cng khai v bn m, th thm m cng khng d khm ph c


bn r.
Nhng v c tc m ha v gii m chm, nn h m ha kha cng khai
ch dng m ha nhng bn tin ngn, v d nh m ha kha b mt gi i.
H m ha kha cng khai thng c s dng cho cp ngi dng tha
thun kha b mt ca H m ha kha ring.

51

3. 2. H M HA I XNG - C IN
Khi nim
H m ha i xng c dng t rt sm, nn cn gi l H m ha
di xng - c in

(gi ngn gn l H m ha di xng c in).

Bn m hay bn r l dy cc k t Latin.
Lp m: thc hin theo cc bc sau:
1/. Nhp bn r k t: R_CH.

2/. Chuyn R_CH ==> R_S.

3/. Chuyn R_S ==> M_S. 4/. Chuyn M_S

==> M_CH.

Gii m: thc hin theo cc bc sau:


1/. Nhp bn m k t: M_CH.

2/. Chuyn M_CH ==> M_S.

3/. Chuyn M_S ==> R_S.

4/. Chuyn R_S

==> R_CH.

chuyn t CH sang S hay ngc li t S tr v CH, ngi ta


theo mt qui c no , v d ch ci thay bng s theo modulo 26 nh sau:
A B C D E F G H I

J K L M

0 1 2 3 4 5 6 7 8 9 1
0

N O P Q R S T U

V X Y Z

1 12

1 1 1 1 1 1 1 2

2 2 2 2

3 4 5 6 7 8 9 0

3 4 5 6

thc hin m ha hay gii m vi cc s, ngi ta dng cc php


ton s hc theo modulo 26.
Cc h m ha c in
M ha c in gm nhiu h, v d:
H m ha dch chuyn:

Kha c

1 cha. (Th hin bng 1 gi tr).

H m Affine:

Kha c

2 cha. (Th hin bng 2 gi tr).

H m ha thay th:

Kha c 26 cha. (Th hin bng 16 gi tr).

H m ha VIGENERE:

Kha c

H m ha HILL:

Kha c ma trn cha (chm cha kha).

m cha. (Th hin bng m gi tr).

52

3.2.1. H m ha: Dch chuyn


S
t

P = C = K = Z26 . Bn m y v bn r x Z26 .

Vi kha k K, ta nh ngha:
Hm M ha:

y = ek (x) = (x + k) mod 26

Hm Gii m:

x = dk (y) = (y k) mod 26

V d
* Bn r ch:

T O I

N A Y

T H A

V I R U S

* Chn kha k = 3.
* Bn r s:

19 14

26 13 0 24 26 19 7 0

26

21 8 17 20 18

* Vi php m ha y = ek (x) = (x + k) mod 26 = (x + 3) mod 26, ta nhn c:


* Bn m s: 22 17 11 3

16

3 1

* Bn m ch: W R L D

D B D

22 10 3

W K D D

24

11 20 23 21
Y

V
Vi php gii m x = dk (y) = (y k) mod 26 = (y 3) mod 26, ta nhn
li c bn r s, sau l bn r ch.
an ton

an ton ca m dch chuyn:

Rt thp.

Tp kha K ch c 26 kha, nn vic ph kha (thm m) c th thc hin d


dng bng cch th kim tra tng kha:

k = 1, 2, 3, ..., 26.

53

3.3.2. H m ha: Thay th (Hon v ton cc)


S
t

P = C = Z26 . Bn m y v bn r x Z26 .

Tp kha

l tp mi hon v trn Z26.

Vi kha k = K, tc l 1 hon v trn Z26, ta nh ngha:


M ha:

y = e (x) = (x)

Gii m:

x = d (y) = -1 (y)

V d
* Bn r ch:

T O I

N A Y

T H A

V I R U S

* Chn kha k = l hon v:


A B C D E F G H I J K L MN O P Q R S T U V X Y
Y X V U T S R Q P O N ML K J I H G F E D C B A Z

* M ha theo cng thc


* Bn m ch:

E J P Z

* Gii m theo cng thc


an ton

y = e (x) = (x):
KY V Z E QY

Z C PG D F

x = d (y) = -1 (y), ta nhn li c bn r ch.

an ton ca m thay th:

Thuc loi cao.

Tp kha K c 26 ! kha ( > 4. 1026 ), nn vic ph kha (thm m) c


th thc hin bng cch duyt tun t 26 ! hon v ca 26 ch ci.
kim tra tt c 26 ! kha, tn rt nhiu thi gian !
Hin nay vi h m ny, ngi ta c phng php thm m khc nhanh hn.

3.3.3. H m ha: AFFINE


S
t

P = C = Z26 . Bn m y v bn r x Z26 .

54

Tp kha

K = {(a, b), vi a, b Z26 , UCLN(a, 26) = 1}

Vi kha

k = (a, b) K, ta nh ngha:

Php M ha

y = ek (x) = (a x + b)

mod 26

Php Gii m

x = dk (y) = a -1 ( y - b) mod 26

V d
* Bn r ch:

CHIEUNAYOVUONHOA

* Chn kha

k = (a, b) = (3, 6).

* Bn r s:

x =

2 7 8

4 20 13 0 24 14 21 20 14 13 7 14 0

M ha theo cng thc y = ek (x) = (a x + b) mod 26 = (3 x + 6) mod 26


* Bn m s:

y = 12 1 4 18 14 19 6

* Bn m ch:

22 17 14 22 19 1 22 6

MBESOTGAWROWTBWG

Gii m theo cng thc x = dk (y) = a -1 (y b) mod 26


= 3 -1 (y 6) mod 26 = 9 * (y 6) mod 26.
an ton

an ton ca H m ha Affine:

Rt thp.

+ iu kin UCLN(a, 26) = 1 bo m a c phn t nghch o a 1 mod 26, tc


l thut ton gii m dK lun thc hin c.
+ S lng a Z26 nguyn t vi 26 l (26) = 12 , l
1, 3, 5, 7 ,9, 11, 15, 17, 19, 21, 23, 25
Cc s nghch o theo (mod 26) tng ng: 1, 9, 21, 15, 3, 19, 7, 23, 11, 5, 17, 25
+ S lng b Z26

l 26 .

+ S cc kho (a, b) c th l 12 * 26 = 312.

Rt t

Nh vy vic d tm kha mt kh d dng.

3.3. 4. H m ha :

VIGENERE

S
t P = C = K = (Z26)m , m l s nguyn dng, cc php ton thc hin trong Z26 .
Bn m Y v bn r X (Z26)m . Kho k = (k1, k2, ., km) gm m phn t.
M ha Y =(y1, y2, , ym)= ek (x1, x2, , xm)=(x1 + k1, x2 + k2, , xm + km) mod m.

55

Gii m X =(x1, x2, , xm)= dk (y1, y2, , ym)=(y1 - k1, y2 - k2, , ym km) mod m.
V d
* Bn r ch:

THISISACRYPTOSYSTEM

Chn kho: k = KWORD = {10, 22, 14, 17, 3} vi di m=5.


* Bn r s: SX = 19 7 8 18 8 18 0 2 17 24 15 19 14 18 24 18 19 4 12
* M ha:
Chia bn r SX thnh cc on, mi on gm m =5 s.
Vi mi on, p dng cng thc m ha, ta nhn c bn m s.
19

18

18

17

24

10
3

22
3

14
22

17
9

3
11

10
2

22
22

14
16

17
8

3
1

15

19

14

18

24

18

19

12

10
25

22
15

14
2

17
9

3
1

10
2

22
15

14
18

17
3

* Bn m s: SY = 3 3 22 9 11 2 22 16 8 1 25 15 2 9 1
* Bn m ch:
an ton

2 15 18 3

DDWJL CWQIB ZPCJB CPSD


an ton ca m VIGENERE:

Tng i cao.

Nu kho gm m k t khc nhau, mi k t c th c nh x vo 1 trong


m k t c th, do h mt ny c gi l h thay th a biu.
Nh vy s kho ( di m) c th c trong mt Vigenere l 26 m .
Nu dng phng php tn cng vt cn, thm m phi kim tra 26 m kha.
Hin nay vi h m ny, ngi ta c phng php thm m khc nhanh hn.

3.3.5. H m ha: Hon v cc b.


S
t P = C = Z26 m , m l s nguyn dng. Bn m Y v bn r X (Z26)m .
Tp kha K l tp tt c cc hon v ca {1, 2, ., m}.
Vi mi kho k = K , k = (k1, k2, ., km) gm m phn t, ta nh ngha:
* M ha Y = (y1, y2, , ym) = ek (x1, x2, , xm) = (xk(1),

xk(2) , , xk(m))

* Gii m X = (x1, x2, , xm) = dk (y1, y2, , ym) = (yk(1)-1, yk(2)-1, , yk(m)-1)

56

Trong

k -1 = -1 l hon v ngc ca .

V d
* Bn r ch

CX = SHESEL ISSEAS HELLSB YTHESE ASHO

t P = C = Z26 m , trong m = 6.
Chn kho k l mt hon v ca (1, 2, 3, 4, 5, 6):
5
4

6
2

1
2 3 4 5
3
6 1 5 2
* M ha: Tch bn r thnh tng nhm 6 k t:

6
4

Hon v ngc l -1 l :

1
3

2
5

3
1

4
6

SHESEL | ISSEAS | HELLSB | YTHESE | ASHO


Vi mi nhm 6 k t, sp xp li cc ch theo hon v , ta nhn c:
EESLSH | SALSES | LSHBLE | HSYEET | HRAE
* Bn m ch:

CY = EESLSHSALSES LSHBLEHSYEETHRAE

* Dng hon v ngc -1, ta s thu c bn r CX.


an ton
Nu dng phng php tn cng vt cn, thm m phi kim tra s kha c th l:
1 ! + 2! + 3 ! + + m ! trong m 26.
Hin nay vi h m ny, ngi ta c phng php thm m khc nhanh hn.

3.3.6. H m ha: HILL


S

Lester S. Hill a ra nm 1929.

t P = C = Z26 m , m l s nguyn dng. Bn m Y v bn r X (Z26)m .


Tp kha

K = {K

Z 26 m*m

det (K, 26) = 1}. (K phi c K -1 ).

Mi kha K l mt Chm cha kha (mt Ma trn Cc cha kha ).


Vi mi K K , nh ngha:
* Hm lp m: Y = (y1, y2, , ym) = ek (x1, x2, , xm) = (x1, x2, , xm) * K
* Hm gii m: X = (x1, x2, , xm) = dk (y1, y2, , ym) = (y1, y2, , ym) * K -1
V d
* Bn r ch:

TUDO
7

18

11 8
, bo m UCLN (det (K), 26) = 1, tnh K -1 =
3
7

Chn m = 2, kha K =

23
* Bn r s:

19

20 |

13

11

14

57

x1

x2 |

x1

x2

Vi mi b r s (x1 , x2), theo hm lp m (y1 , y2) = (x1 , x2) * K, ta tnh c:


y1 = 11 * x1 + 3 * x2 ,
* Bn m s:
* Bn m ch:

6 |

23

y2 = 8 * x1 + 7 * x2
18

FGXS

an ton
Nu dng phng php tn cng vt cn, thm m phi kim tra s kha c th
vi m ln lt l 2, 3, 4, trong m ln nht l bng di bn r.

58

3. 3. H M HA I XNG DES
3. 3.1. H m ho DES
3.3.1.1. Gii thiu
Hin nay c nhiu h m ha i xng loi mi, mc ny trnh by Chun m
ha d liu DES (Data Encryption Standard).
15/05/ 1973, U ban tiu chun quc gia M (NBS) (c s thm nh ca
Cc an ninh QG (NAS) cng b mt khuyn ngh v h m ho chun.
- H m ho phi c an ton cao.
- H m ho phi c nh ngha y v d hiu.
- an ton ca H m ho phi phi nm Kho, khng nm thut ton.
- H m ho phi sn sng cho mi ngi dng cc lnh vc khc nhau.
- H m ho phi xut khu c.
DES c IBM pht trin, l mt ci bin ca h mt LUCIPHER DES, n
c cng b ln u tin vo ngy 17/03/1975. Sau nhiu cuc tranh lun cng khai,
cui cng DES c cng nhn nh mt chun lin bang vo ngy 23/11/1976 v
c cng b vo ngy 15/01/1977.
Nm 1980, Cch dng DES c cng b. T chu k 5 nm DES c
xem xt li mt ln bi U ban tiu chun quc gia M, ln gn y nht l 2004.
3.3.1.2. Qui trnh m ha theo DES.
Giai on 1 : Bn R ch

=====

Bn R s (Dng nh phn)

Chia thnh
Giai on 2 : Bn R s

=====

Cc on 64 bit R s

Giai on 3 : 64 bit R s

=====

64 bit M s

Kt ni
Giai on 4 : Cc on 64 bit M s =====

Bn M s (Dng nh phn)

Giai on 5 : Bn M s

Bn M ch

=====

3.3.2. Lp m v Gii m DES


3.3.2.1. Qui trnh lp m DES
Thut ton DES tp trung thc hin Giai on 3 .ca qui trnh m ha.
l chuyn i bn r s vi 64 bit thnh bn m vi 64 bit.

59

S
Bn r: 64 bit,

IP

L0

R0
k1

L1 = R0

R1 = L0f ( R0, k1)


k2

R2 = L1f ( R1, k2)

L2 = R1

R15 =L14 f(R14 , k15 )

L15 = R14

R16 = L15 f (R15 ,


k16 )

k16

L16 = R15
IP-1

64
3.3.2.2. Thc hin m ha DESBn
theom:
S
bit

* Bn r l xu x , Bn m l xu y, Kho l xu K, u c di 64 bit.
* Thut ton m ha DES thc hin qua 3 bc chnh nh sau:

60

Bc 1: Bn r x c hon v theo php hon v IP, thnh IP (x).


IP (x) = L0 R0 , trong L0 l 32 bit u (Left), R0 l 32 bit cui (Right).
(IP (x) tch thnh L0 R0 ).
Bc 2:

Thc hin 16 vng m ho vi nhng php ton ging nhau.

D liu c kt hp vi kho thng qua hm f :


L i = R i -1,

R i = L i -1 f (R i -1 , k i ), trong :

l php ton hoc loi tr ca hai xu bit (cng theo modulo 2).
k1, k2, ..., k16 l cc kho con (48 bit) c tnh t kha gc K.
Bc 3: Thc hin php hon v ngc IP-1 cho xu R16L16 , thu c bn m y.
y = IP -1 (R16 , L16).

(Lu th t bit R16 v L16)

* Bng hon v ban u IP:


+ bit 1 ca IP(x) l bit 58 ca x.
+ bit 2 ca IP(x) l bit 50 ca x.

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

* Bng hon v cui cng IP-1:


40
39
38
37
36
35
34
33

8
7
6
5
4
3
2
1

48
47
46
45
44
43
42
41

16
15
14
13
12
11
10
9

56
55
54
53
52
51
50
49

24
23
22
21
20
19
18
17

64
63
62
61
60
59
58
57

32
31
30
29
28
27
26
25

61

3.3.2.3. Tnh cc kha con k1 , k2, , k16 t kha gc K.


S

K
C0 PC - 1 D0
LS

LS

C1

D1

LS

LS

C2

D2

PC - 2

k1

PC - 2

k2

PC - 2

k16

LS16

C 16

LS16

D 16

62

* Tnh kho

ki

(48 bit):

1). Kho K l xu di 64 bit, trong 56 bit l kho v 8 bit kim tra tnh chn
l nhm pht hin sai, cc bit ny khng tham gia vo qu trnh tnh ton.
Cc bit kim tra tnh chn l nm v tr 8, 16, 24,, 64 c xc nh, sao
cho mi byte cha mt s l cc s 1. Bi vy mi sai st n l c xc nh
trong mi nhm 8 bit.
2). Tnh kho k i nh sau:
+ Vi kho K di 64 bit, ta loi b cc bit kim tra tnh chn l, hon v 56 bit
cn li theo php hon v

PC-1:

PC-1 (K ) = C0 D0
Trong C0 l 28 bit u, D0 l 28 bit cui cng ca PC-1( K ).
+ Vi i = 1, 2, ... , 16,

ta tnh: Ci = LSi ( Ci-1 ),

Di = LSi ( Di-1 ).

Trong LS i l php chuyn dch vng sang tri:


Dch 1 v tr nu i = 1, 2, 9, 16. Dch 2 v tr vi nhng gi tr i khc.
+ Vi i = 1, 2, ... , 16, kha k i c tnh theo php hon v PC-2 t Ci Di :
k i = PC-2 (Ci Di )

(48 bit).

* Php hon v PC - 1:

57
1
10
19
63
7
14
21

49
58
2
11
55
62
6
13

41
50
59
3
47
54
61
5

33
42
51
60
39
46
53
28

25
34
43
52
31
38
45
20

* Php hon v PC - 2:

17
26
35
44
23
30
37
12

9
18
27
36
15
22
29
4

14
3
23
16
41
30
44
46

17
28
19
7
52
40
49
42

11
15
12
27
31
51
39
50

24
6
4
20
37
45
56
36

1
21
26
13
47
33
34
29

5
10
8
2
55
48
53
32

63

3.3.2.4. Tnh hm f (R i -1 , k i )
S

Ri-1

E
E(Ri-1 )

+
B1

B2

B3

B4

B5

B6

B7

S1

S2

S3

S4

S5

S6

S7

C1

C2

C3

C4

C5

C6

C7

B8

S8

C8

f (Ri-1 , ki)
* Tnh hm f (R i -1 , k i )
cho n gin, ta khng ghi ch s i-1, i, v m t cch tnh f (R , k ):

64

1). M rng xu R (32 bit) thnh xu 48 bit, theo hm m rng E:


E: R (32 bit)

--- > E(R) (48 bit).

E(R) gm 32 bit ca c ca R v 16 bit ca R xut hin ln th 2.


2). Tnh E(R) k, trong E(R) (48 bit) v k (48 bit).
Kt qu gm 8 xu Bj, mi xu Bj c 6 bit (8*6 = 48):
B = B1 B2 B3 B4 B5 B6 B7 B8.
3). Tnh Cj = Sj (Bj), j = 1, , 8.

Dng 8 bng S1, S2, , S8.

Sj l bng c nh vi r * c s nguyn t 0 -> 15, (0 r 3, 0 c 15).


Sj th hin vic thay th mi Bj thnh Cj (Cj l xu 4 bit) theo qui tc sau:
* Gi s Bj = b1 b2 b3 b4 b5 b6. (6 bit).
+ b1 b6 xc nh biu din nh phn ca hng r trong Sj (0 r 3 ).
+ b2 b3 b4 b5 xc nh biu din nh phn ca ct c trong Sj (0 c 15 ).
Xu Cj (4 bit) c nh ngha l biu din nh phn ca phn t S j (r, c).
4). Thc hin 8 ln bc 3), ta nhn c xu C = C1 C2 C8 (32 bit).
Sau hon v P, cho kt qu P (C), chnh l
* Php hon v m rng E:
32
4
8
12
16
20
24
28

1
5
9
13
17
21
25
29

* Cc bng
S1

2
6
10
14
18
22
26
30

3
7
11
15
19
23
27
31

4
8
12
16
20
24
28
32

f (R, k).
* Php hon v

5
9
13
17
21
25
29
1

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

S1 , S2 , , S8:

65

1
0
0
1
1

6 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 |14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 | 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
0 | 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
1 |15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

S2
7 12 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 0 |15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
0 1 | 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
1 0 | 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
1 1 |13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

S3
13 18 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 0 |10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
0 1 |13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
1 0 |13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 1 | 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

S4
19 24 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 0 | 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
0 1 |13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
1 0 |10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
1 1 | 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

S5
25 30 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 0 | 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
0 1 |14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
1 0 | 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
1 1 |11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

S6
31 36 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 0 |12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
0 1 |10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
1 0 | 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
1 1 | 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S7
S8

37 42 |
0
1
12 13 14 15

9 10 11

|-----------------------------------------------------------------------------------0
0 |
4 11 2 14 15 0
8 13
3 12 9
7
5 10
6
1
0
1 | 13 0 11
7
4
9
1 10 14
3 5 12
2 15
8 6
1
0 | 1
4 11 13 12
3
7 14 10 15 6
8
0
5
9
2
1 1 | 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

66

43 48 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|----------------------------------------------0 0 |13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
0 1 | 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
1 0 | 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
1 1 | 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

* Qui nh lp bng Sj:


- Mi hng ca bng S phi l mt hon v ca

0, 1, ,15.

- Khng c bng S no l hm tuyn tnh hay Apphin ca cc u vo ca n.


- Thay i 1 bit vo mt bng S, s gy ra s thay i t nht 2 bit ra ca n.
- Nu 2 xu vo ca mt bng S ging nhau 2 bit u v 2 bit cui,
th 2 xu ra phi khc nhau t nht ti 2 bit.
- Nu 2 xu vo ca mt bng S khc nhau 2 bit u v ging nhau 2 bit cui,
th 2 xu ra phi khc nhau.
- Vi mi bng S, nu c nh 1 bit vo xt gi tr ca 1 bit ra no ,
th s cc xu vo to ra gi tr 0 bit ra cng phi xp x bng s cc xu vo
to ra gi tr 1 bit ra .
3.3.2.5. Qui trnh gii m DES
Qui trnh gii m ca DES tng t nh qui trnh lp m, nhng theo
dng cc kha th t ngc li:

k16 , k15, , k1 .

Xut pht (u vo) t bn m y, kt qu (u ra) l bn r x.

3.3.2.6. V d
Bn r X = 0123456789ABCDEF =
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110
1111

50

58

Bc 1: Bn r x c hon v theo php hon v IP, thnh IP (x).


IP (x) = L0 R0 , trong L0 l 32 bit u (Left), R0 l 32 bit cui (Right).
(IP (x) tch thnh L0 R0 ).
L0 = 1100 1100 0000 0000 1100 1001 1111 1111 (32 bit).
R0 = 1111 0000 1010 1010 1111 0000 1010 1010 (32 bit).

67

V d: theo hon v IP, bit 1 ca L0 l bit 58 ca x, bit 2 ca L0 l bit 50 ca x.


Bc 2:

Thc hin 16 vng m ho vi nhng php ton ging nhau.

D liu c kt hp vi kho thng qua hm f :


R i = L i -1 f (R i -1 , k i ), trong :

L i = R i -1,

k1, k2, ..., k16 l cc kho con (48 bit) c tnh t kha gc K.
a). Tnh kha con k1 (48 bit) t kha gc K = 133457799BBCDFF1 (64 bit)=
0001 0011 0011 0100 0101 0111 0111 1001 1001 1011 1011 1100 1101 1111 1111
0001
* Hon v PC-1: K C0 D0 (T K qua PC-1, nhn c C0 D0).
C0 = 1111000 0110011 0010101 0101111

(28 bit)

D0 = 0101010 1011001 1001111 0001111

(28 bit)

C1 = LS1(C0 ) = 1110000 1100110 0101010 1011111

(28 bit)

D1 = LS1(D0 ) = 1010101 0110011 0011110 0011110

(28 bit)

* Hon vi PC-2: C1 D1 k1 (48 bit)


k1 = 000110 110000 001011 101111 111111 000111 000001 110010

b). Tnh hm f (R 0 , k1 )
+ Theo bc 1: R0 = 1111 0000 1010 1010 1111 0000 1010 1010 (32 bit).
1). M rng xu R0 (32 bit) thnh xu E(R0 ) (48 bit), theo hm m rng E:
+ Hon v E: R0 E(R0 ):
E(R0 ) = 011110 100001 010101 010101 011110 100001 010101 010101 (48 bit).
+ Theo a):
k1

= 000110 110000 001011 101111 111111 000111 000001 110010 (48 bit).

2). Tnh E(R0 ) k1

= B1 B2 B3 B4 B5

B6 B7 B8

(48 bit)

011000 010001 100010 110010 100001 100110 010100 100111

68

3). Tnh C1 = S1 (B1), dng bng S1.


S1 th hin vic thay th B1 (6 bit) thnh C1 (4 bit) theo qui tc sau:
B1 = b1 b2 b3 b4 b5 b6 = 011000
+ b1 b6

(00)2 = (00)10 = Hng 0 trong S1 .

+ b2 b3 b4 b5 = (1100)2 = (12)10 = Ct 12 trong S1 .


Xu C1 (4 bit) c nh ngha l biu din nh phn ca phn t S 1 (0, 12).
C1 = S 1 (0, 12) = (5)10 = (0101)2
+ Tng t ta tnh c Cj , j = 2, 3, , 8.
4). Thc hin 8 ln 3), ta nhn c xu C = C1 C2 C8 (32 bit).
C

0101 1100 1000 0010 1011 0101 1001 0111

Sau hon v P, cho kt qu P (C), chnh l f (R0, k1).


f (R0, k1) = P(C) = 0010 0011 0100 1010 1010 1001 1011 1011
Bc 3:

Kt qu l bn m

85E813540F0AB405

69

3.3.3. an ton ca H m ha DES

1). an ton ca H m ha DES c lin quan n cc bng Sj:


Ngoi tr cc bng S, mi tnh ton trong DES u tuyn tnh, tc l vic
tnh php hoc loi tr ca hai u ra cng ging nh php hoc loi tr ca hai u
vo, ri tnh ton u ra.
Cc bng S cha ng nhiu thnh phn phi tuyn ca h mt, l yu t quan
trng nht i vi mt ca h thng.
Khi mi xy dng h mt DES, th tiu chun xy dng cc hp S khng
c bit y . V c th cc hp S ny c th cha cc ca sp c giu kn.
V cng l mt im m bo tnh bo mt ca h DES.
2). Hn ch ca DES chnh l kch thc khng gian kho:
S kha c th l 256 , khng gian ny l nh m bo an ton thc s.
Nhiu thit b chuyn dng c xut nhm phc v cho php tn cng vi
bn r bit. Php tn cng ny ch yu thc hin theo phng php vt cn.
Tc l vi bn r x v bn m y tng ng (64 bit), mi kho c th u c
kim tra cho ti khi tm c mt kho K tho mn eK (x) = y.

70

3. 4. H M HA KHA CNG KHAI


3.4. 1. H m ha RSA.
S

(Rivest, Shamir, Adleman xut nm 1977)

*To cp kha (b mt, cng khai) (a, b) :


Chn b mt s nguyn t ln p, q, tnh n = p * q, cng khai n, t

P = C = Zn

Tnh b mt (n) = (p-1).(q-1). Chn kha cng khai b < (n), nguyn t vi
(n).
Kha b mt a l phn t nghch o ca b theo mod (n): a*b 1 (mod (n).

K = {(a, b)/ a, b Zn , a*b 1 (mod (n))}.

Tp cp kha (b mt, cng khai)


Vi Bn r x P

v Bn m y C, nh ngha:

* Hm M ho:

y = ek (x) = x b mod n

* Hm Gii m:

x = dk (y) = y a mod n

V d
* Bn r ch:

RENAISSANCE

*Sinh kha:
Chn b mt s nguyn t p= 53, q= 61, tnh n = p * q = 3233, cng khai n.
t

P = C = Zn , tnh b mt (n) = (p-1). (q-1) = 52 * 60 = 3120.

+ Chn kha cng khai b l nguyn t vi (n), tc l CLN(b, (n)) = 1,


v d chn b = 71.
+ Kha b mt a l phn t nghch o ca b theo mod (n): a*b 1 (mod (n)).
T a*b 1 (mod (n)), ta nhn c kha b mt a = 791.
* Bn r s:
R

N A

17 04
m1

13 00

08 18

18

00

13

02

04

m2

m3

m4

m5

(Du cch)
26

m6

* Theo php lp m: ci = mi b mod n = mi 71 mod 3233, ta nhn c:


* Bn m s:
c1
3106

c2
0100

* Theo php gii m:

c3

c4
0931

c5
2691

c6
1984

2927

mi = ci a mod n = ci 791 mod 3233, ta nhn li bn r.

an ton

71

1). H m ha RSA l tt nh, tc l vi mt bn r x v mt kha b mt a, th


ch c mt bn m y.
2). H mt RSA an ton, khi gi c b mt kho gii m a, p, q, (n).
Nu bit c p v q, th thm m d dng tnh c (n) = (q-1)*(p-1).
Nu bit c (n), th thm m s tnh c a theo thut ton Euclide m rng.
Nhng phn tch n thnh tch ca p v q l bi ton kh.
an ton ca H mt RSA da vo kh nng gii bi ton phn tch s
nguyn dng n thnh tch ca 2 s nguyn t ln p v q.

72

3. 4. 2. H m ha Elgamal.
S

(Elgamal xut nm 1985)

*To cp kha (b mt, cng khai) (a, h) :


Chn s nguyn t p sao cho bi ton logarit ri rc trong Zp l kh gii.
Chn phn t nguyn thu g Zp* .

t P = Z p*, C = Z p* Z p*.

Chn kha b mt l a Zp* . Tnh kha cng khai h g a mod p.


nh ngha tp kha:

= {(p, g, a, h): h g a mod p}.

Cc gi tr p, g, h c cng khai, phi gi b mt a.


Vi Bn r x P

v Bn m y C, vi kha k nh ngha:

* Lp m: Chn ngu nhin b mt r Zp-1, bn m l y = ek (x, r) = (y1, y2)


Trong y1 = g r mod p
* Gii m:
V d

y2 = x * h r mod p

dk (y1, y2) = y2 (y1 a) -1 mod p.


* Bn r

x = 1299.

Chn p = 2579, g = 2, a = 765. Tnh kha cng khai h = 2 765 mod 2579 = 949.
* Lp m: Chn ngu nhin r = 853.
y1 = 2853 mod 2579 = 435 v
* Gii m:

Bn m l y = (435, 2369), trong


y2 = 1299 * 949 853 mod 2579 = 2396

x = y2 (y1 a) -1 mod p = 2369 * (435 765) -1 mod 2579 = 1299.

an ton
1). H m ha Elgamal l khng tt nh, tc l vi mt bn r x v 1 kha b mt a,
th c th c nhiu hn mt bn m y, v trong cng thc lp m cn c thnh phn
ngu nhin r.
2). an ton ca H mt Elgamal da vo kh nng gii bi ton logarit ri rc
trong Zp. Theo gi thit trong s , th bi ton ny phi l kh gii.
C th nh sau: Theo cng thc lp m: y = ek (x, r) = (y1, y2), trong
y1 = g r mod p

y2 = x * h r mod p

Nh vy mun xc nh bn r x t cng thc y2 , thm m phi bit c r.


Gi tr ny c th tnh c t cng thc y1 , nhng li gp bi ton logarit ri rc.

BI TP CHNG 3. M HO D LIU.
hiu cch thc m ha v gii m i vi tng h m ha c th, bi tp
chng 3 tp trung vo vic lp chng trnh m ha v gii m cho cc h m ha.

73

Bi tp
Vit chng trnh M ha d liu theo cc H m ho sau:
1/. H m ho Dch chuyn.
2/. H m ho Thay th.
3/. H m ho Hon v.
4/. H m ho Affine.
5/. H m ho Vigenere.
6/. H m ho Hill.
7/. H m ho RSA.
8/. H m ho Elgamal.
9/. H m ho Rabin.
10/. H m ho chun DES.
+ S m ha, gii m.
+ Tnh kha Ki.
+ Tnh Hm f(Ri , Ki ).

74

Mu Chng trnh
Mi chng trnh m ha phi thc hin cc cng vic theo thc n sau:
Thc n chnh.
L. Lp m.
G. Gii m.
K. Kt thc.
L. Thc n Lp m.
1.

Nhp bn tin (Xu k t):

R_CH.

2.

Chuyn R_CH

=====> R_S.

3.

Chuyn R_S

=====> M_S.

4.

Chuyn M_S

=====> M_CH.

0.

V thc n chnh.

G. Thc n Gii m.
1.

Nhp bn tin (Xu k t):

M_CH.

2.

Chuyn M_CH

=====> M_S.

3.

Chuyn M_S

=====> R_S.

4.

Chuyn R_S

=====> R_CH.

0.

V thc n chnh.

75

You might also like