Giao Trinh Mat Ma Hoc

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 157

Li ni u

Trong s pht trin ca x hi loi ngi, k t khi c s trao


i thng tin, an ton thng tin tr thnh mt nhu cu gn lin vi n
nh hnh vi bng. T tha s khai, an ton thng tin c hiu n
gin l gi c b mt v iu ny c xem nh mt ngh thut ch
cha phi l mt ngnh khoa hc. Vi s pht trin ca khoa hc k
thut v cng ngh, cng vi cc nhu cu c bit c lin quan ti an
ton thng tin, ngy nay cc k thut chnh trong an ton thng tin bao
gm: K thut mt m (Cryptography), K thut ngu trang
(Steganography), K thut to bng m (Watermarking - hay xm in
t). K thut mt m nhm m bo ba dch v an ton c bn:B mt
(Confidential), Xc thc (Authentication), m bo tnh ton vn
(Integrity). C th thy rng mt m hc l mt lnh vc khoa hc rng
ln c lin quan rt nhiu n ton hc nh: i s tuyn tnh, L
thuyt thng tin, L thuyt phc tp tnh ton.
Nm bt c nhu cu tm hiu v mt m hc, Hc vin Cng
ngh Bu chnh Vin thng phi hp vi Nh xut bn Bu in xut
bn cun gio trnh "Mt m hc" do PGS.TS Nguyn Bnh ch bin.
Cun gio trnh ny s gii thiu vi bn c v cc kin thc ton hc
c bn nh: l thuyt s, cc cu trc i s nh vnh nhm, trng...;
mt s thut ton mt m c in v hin i; cc th tc v cc chun
ng dng trong thc t. Vi nhiu v d c th, cun sch gip cho bn
c thun tin trong qu trnh hc tp nghin cu nng cao kin thc
v mt m hc. y l gio trnh phc v o to ti Hc vin Cng
ngh Bu chnh Vin thng.

Hy vng cun sch s l ti liu tham kho hu ch cho ging


vin, sinh vin cc trng i hc v k thut v cng ngh.
Xin trn trng gii thiu cng bn c.
H Ni, ngy 23 thng 10 nm 2003
Hc vin cng ngh bu chnh vin thng

thut ng vit tt
DES

Data Encryption Standard

Chun m d liu

LAN

Local Area Network

Mng cc b

MDV

M dch vng

MTT

M thay th

MHV

M hon v

ECB

Electronic Code Book

Ch quyn m in t

CFB

Cripher Feedback

Ch phn hi m

CBC

Cripher Block Chaining

Ch lin kt khi m

RSA

Rivest - Shamir - Adleman

MAC

Message Authentication Code

M xc thc thng bo

OWHF

Oneway Hash Funtion

Hm bm mt chiu

CRHF

Collision Resistant hash function

Hm bm kh va chm

MDC

Manipulation Detection Code

M pht hin s sa i

LSB

Least Signification Bit

Bit thp nht (c gi tr nh


nht
Tiu

Header
IDEA

International Data Encryption


Algorithm

Thut ton m ha d liu


quc t

PGP

Pretty Good Privacy

Thut ton m ha PGP

SET

Secure Electronic Transaction

Giao dch in t an ton

LFSR

Linear Feedback Sequence


Register

Thanh ghi hi tip tuyn tnh

Firewall

Bc tng la

Server

My ch

Router

B nh tuyn

Phn I

Cc kin thc ton hc ph tr

b tc v l thuyt s
1.1. S nguyn

Tp cc s nguyn {K, 3, 2, 1, 0,1, 2, 3,K}= Z.


1.1.1. nh ngha 1.1
Cho a, b
a l c ca b nu c Z : b = a.c. K hiu l a b.
1.1.2. Cc tnh cht chia ht

a, b, c ta c:
(i) a a.
(ii) Nu a b v b c th a c.
(iii) Nu a b v a c th a (bx + cy ) vi x, y Z.
(iv) Nu a b v b a th a = b.
1.1.3. nh ngha 1.2 (Thut ton chia i vi cc s nguyn)

Nu a v b l cc s nguyn vi b 1
th a = qb + r; 0 r < b
q v r l nhng gi tr duy nht.

10

Gio trnh Mt m hc

Phn d ca php chia a v b c k hiu a mod b = r


Thng ca php chia a v b c k hiu a div b = q
a
a
Ta c a div b = , a mod b = a b .
b
b

V d: a = 73, b = 17.
73 div 17 = 4, 73 mod 17 = 5.
1.1.4. nh ngha 1.3 (c chung)

c l c chung ca a v b nu c a & c b.
1.1.5. nh ngha 1.4 (c chung ln nht (CLN))

S nguyn dng d l CLN ca cc s nguyn a v b (K


hiu d = (a, b)) nu:
(i) d l c chung ca a v b.
(ii) Nu c c a v c b th c d .
Nh vy (a,b) l s nguyn dng ln nht c ca c a v b
khng k (0,0) = 0.
V d: Cc c chung ca 12 v 18 l { 1, 2, 3, 6}

(12,18) = 6
1.1.6. nh ngha 1.5 (Bi chung nh nht (BCNN))

S nguyn dng d l BCNN ca cc s nguyn a v b (K


hiu d = BCNN (a,b)) nu:
(i) a d, b d.
(ii) Nu c a c, b c th d c.
Nh vy d l s nguyn dng nh nht l bi ca c a v b.

Chng 1: B tc v l thuyt s

11

1.1.7. Tnh cht

BCNN (a , b) =

a.b
(a , b)

V d: (12 ,18 ) = 6 BCNN(12 ,18 ) =

12 .18
= 36 .
6

1.1.8. nh ngha 1.6

Hai s nguyn dng a v b c gi l nguyn t cng nhau


nu: (a,b) = 1.
1.1.9. nh ngha 1.7

S nguyn p 2 c gi l s nguyn t nu cc c dng


ca n ch l 1 v p. Ngc li p c gi l hp s.
1.1.10. nh l c bn ca s hc

Vi mi s nguyn n 2 ta lun phn tch c di dng


tch ca lu tha ca cc s nguyn t.
n = p1e1 pe22 K pekk

Trong pi l cc s nguyn t khc nhau v ei l cc s


nguyn dng. Hn na phn tch trn l duy nht.
1.1.11. nh ngha 1.8

Vi n 2, hm (n ) c xc nh l s cc s nguyn trong
khong [1 , n ] nguyn t cng nhau vi n.
1.1.12. Cc tnh cht ca hm (n)

(i) Nu p l cc s nguyn t th (p) = p 1.


(ii) Nu (m, n) = 1 th (m.n) = (m). (n).

12

Gio trnh Mt m hc

(iii) Nu n = p1e1 pe22 K pekk l phn tch ra tha s nguyn t


ca n th:

1
1
1
K 1
(n ) = n1 1
p1
p2
pk

1.1.13. nh l 1.1
Vi n 5 th
(n ) >

n
6 ln (ln n )

1.2. cc thut ton trong z

Cho a v b l cc s nguyn khng m v nh hn hoc bng


n. Cn ch rng s cc bit trong biu din nh phn ca n l
[lgn] + 1 v s ny xp x bng lgn. S cc php ton bit i vi
bn php ton c bn trn cc s l cng, tr, nhn v chia s
dng cc thut ton kinh in c tm lc trn bng 1.1. Cc k
thut tinh t hn i vi cc php ton nhn v chia s c phc
tp nh hn.
Bng 1.1: phc tp bit ca cc php ton c bn trong Z
Php ton

phc tp bit

Cng

a+b

0(lga + lgb) = 0(lgn)

Tr

ab

0(lga + lgb) = 0(lgn)

Nhn

a.b

0((lga).(lgb)) = 0((lgn)2)

Chia

a = qb + r

0((lga).(lgb)) = 0((lgn)2)

CLN ca 2 s nguyn a v b c th c tnh theo nh l sau:


1.2.1. nh l 1.2

Nu a = p1e1 pe22 K pekk , b = p1f1 p2f2 ...p fkk trong e i 0, fi 0


(e2 , f2 )
(ek , fk )
K pmin
th CLN(a , b) = p1min (e1 , f1 ) p min
2
k

Chng 1: B tc v l thuyt s

13

(e2 ,f2 )
(ek ,fk )
v BCNN (a , b) = p1max (e1 ,f1 ) pmax
K pmax
.
2
k

V d: Cho a = 4864 = 28.19; b = 3458 = 2.7.13.19. Khi :


CLN(a , b) = (4864, 3458 ) = 2.19 = 38

BCNN(a , b) = (4864, 3458 ) = 28.7.13.19 = 442624 .

1.2.2. nh l 1.3

Nu a v b l cc s nguyn dng vi a > b th CLN(a,b) =


CLN (b,a mod b). Thut ton Euclide sau s cho ta cch tnh
CLN rt hiu qu m khng cn phi phn tch ra tha s
nguyn t.
1.2.3. Thut ton Euclide

Tnh CLN ca 2 s nguyn


Vo : Hai s nguyn khng m a v b vi a > b
Ra

: CLN ca a v b.

(1)

While b 0 do
r a mod b, a b, b r

(2)

Return (a).

1.2.4. nh l 1.4

Thut ton trn c thi gian chy chng 0 ( (lg n ) ) cc php


2

ton bit.
V d: Sau y l cc bc chia ca thut ton trn khi tnh:
(4864, 3458 ) = 38
4864 = 1.3458 + 1406
3458 = 2.1406 + 646
1406 = 2.646 + 76
646 = 5.114 + 38
76 = 2.38 + 0

14

Gio trnh Mt m hc

Thut ton trn c th c m rng khng nhng ch


tnh c CLN ca 2 s nguyn a v b m cn tnh c cc s
nguyn x v y tho mn ax + by = d .
1.2.5. Thut ton Euclide m rng
Vo

: Hai s nguyn khng m a v b vi a b

Ra

: d = CLN(a,b) v cc s nguyn x v y tha mn

ax + by = d .
(1) Nu b= 0 th t d a , x 1 , y 0 v return (d, x, y)
(2) t x 2 1, x1 0, y 2 0 , y1 1
(3) While b > 0 do
(3.1) q a / b , r a qb , x x 2 qx1 , y y 2 qy1
(3.2) a b, b r, x 2 x1 , x1 x, y 2 y1 , y1 y
(4) t d a, x x 2 , y y 2 v v return (d, x, y).
1.2.6. nh l 1.5

Thut ton trn c thi gian chy c 0((lgn)2) cc php ton bit.
V d: Bng 1.2 sau ch ra cc bc ca thut ton trn vi
cc gi tr vo a = 4864 v b = 3458
Bng 1.2: Thut ton Euclide m rng
Q

x2

x1

y2

y1

4864

3458

1406

3458

1406

646

1406

646

114

646

114

76

27

38

114

76

27

38

38

32

45

76

38

27

32

38

45

91

128

38

32

91

45

128

Chng 1: B tc v l thuyt s

15

Vi cc u vo a = 4864 v b = 3458
Bi vy ta c:
CLN(4864,3458) = 38 v (4864)(32) + (3458)(-45) = 38.
1.3. Cc s nguyn modulo n

1.3.1. nh ngha 1.9

Nu a v b l cc s nguyn th a c gi l ng d vi b
theo modulo (k hiu l a = b mod n) nu n (a b) .
S nguyn n c gi l modulo ng d.
V d: 24 9 mod 5 v 24 9 = 3.5
11 17 mod 7 v 11 17 = 4.7 .

1.3.2. Cc tnh cht

i vi a, a1 , b, b1 , c ta c:
(1) a b(mod n ) nu v ch nu a v b cng c phn d khi
chia cho n.
(2) Tnh phn x: a a(mod n ) .
(3) Tnh i xng: Nu a b(mod n ) th b a(mod n )
(4) Tnh bc cu: Nu a b(mod n ) v b c(mod n )
th a c(mod n )
(5) Nu a a1 (mod n ) v b b1 (mod n ) th
a + b a1 + b1 (mod n ) v a.b a1 .b1 (mod n )

Lp tng ng ca mt s nguyn a l tp cc s nguyn


ng d vi a modulo n. T cc tnh cht (2), (3) v (5) trn ta c
th thy rng i vi n c nh, quan h ng d theo modulo n s
phn hoch Z thnh cc lp tng ng.

16

Gio trnh Mt m hc

Nu a = qn + r vi 0 r n th a r(mod n ) .
Bi vy mi s nguyn a l ng d theo modulo n vi mt s
nguyn duy nht nm trong khong t 0 ti n - 1, s ny c gi
l thng d ti thiu ca a mod n. Nh vy a v r c th c
dng biu th cho lp tng ng ny.
1.3.3. nh ngha 1.10

Cc s nguyn modulo n (k hiu Zn) l tp (cc lp tng

ng) ca cc s nguyn {0,1, 2,K, n 1}. Cc php cng, tr, nhn


trong Zn c thc hin theo modulo n.
V d: Z25 = {0,1,K, 24}. Trong Z 25 ta c:

13 + 16 = 4 v 13 + 16 = 29 4 (mod 25 )
Tng t 13.16 = 8 trong Z25.
1.3.4. nh ngha 1.11 (Phn t nghch o)

Cho a Z n , Phn t nghch o (ngc theo php nhn) ca


a mod n l mt s nguyn x Z n sao cho: ax 1(mod n )
Nu x tn ti th n l duy nht, a c gi l kh nghch.
Phn t nghch o ca a c k hiu l a1.
1.3.5. nh ngha 1.12

Php chia ca a cho b mod n l tch ca a v b1 mod n tch


ny c xc nh nu b l phn t kh nghch
1.3.6. nh l 1.6

Cho a Z n , khi a l kh nghch nu v ch nu: (a, n ) = 1


V d: Cc phn t kh nghch trong Z9 l 1, 2, 3, 4, 5, 7 v 8.

Chng hn 4 1 = 7 v 4 . 7 1 (mod 9 ) .

Chng 1: B tc v l thuyt s

17

1.3.7. nh l 1.7

Cho d = (a,n). Phng trnh ng d ax b(mod n ) c nghim


x nu v ch nu d b , trong trng hp ny c ng d nghim nm
gia 0 v n - 1, nhng nghim ny l tt c cc ng d theo
modulo n d .
1.3.8. nh l 1.8 (Phn d China)

Nu cc s nguyn n1 , n 2 ,K, n k l nguyn t cng nhau tng


i mt th h cc phng trnh ng d:
x a 1 (mod n 1 )

x a 2 (mod n 2 )
.......... .......... ....
x a k (mod n k )

s c nghim duy nht theo modulo n (n = n 1 . n 2 K n k ) .


1.3.9. Thut ton Gausse

Nghim x ca h phng trnh ng d trong nh l phn


d China c th c tnh bng:
x=

a N M
i

mod n

i =1

Trong : N i = n / n i v M i = N i 1 mod n i
Cc tnh ton ny c th c thc hin trong 0 ( (lg n ) ) cc
2

php ton trn bit.


V d: Cp phng trnh ng d x 3 (mod 7 ), x 7 (mod 13 )

c nghim duy nht x 59 (mod 91 ) .

18

Gio trnh Mt m hc

1.3.10. nh l 1.9

Nu (n1 , n 2 ) = 1 th cp phng trnh ng d.


x a (mod n 1 ) , x a (mod n 2 )

c mt nghim duy nht x a (mod n 1 , n 2 ) .


1.3.11. nh ngha 1.13

Nhm nhn ca Z n l Z *n = {a Z n (a, n ) = 1}


c bit, nu n l s nguyn t th Z *n = {a 1 a n 1}.
1.3.12. nh ngha 1.14

Cp ca Z *n l s cc phn t trong Z *n (k hiu Z *n )


Theo nh ngha ca hm Phi-Euler ta thy:

Z *n = (n )
Cn rng nu a Z *n v b Z *n th a, b Z *n v bi vy

Z *n l ng i vi php nhn.
1.3.13. nh l 1.10

Cho p l mt s nguyn t:
(1) nh l Euler: Nu a Z *n th a (n ) 1 (mod n ) .
(2) Nu n l tch ca cc s nguyn khc nhau v nu
r s (mod (n )) th a r as (mod n ) i vi mi s nguyn a. Ni

mt cch khc khi lm vic vi modulo n th cc s m c th c


rt gn theo modulo (n ).

Chng 1: B tc v l thuyt s

19

1.3.14. nh l 1.11

Cho p l mt s nguyn t:
(1) nh l Ferma: Nu (a, p) = 1 th a p 1 1 (mod p ) .
(2) Nu r s (mod p 1 ) th a r a s (mod p ) i vi mi s
nguyn a. Ni mt cch khc khi lm vic vi modulo ca mt s
nguyn t p th cc lu tha c th c rt gn theo modulo p - 1.
(3) c bit a p a (mod p ) vi mi s nguyn a.
1.3.15. nh ngha 1.15

Cho a Z *n . Cp ca a (k hiu l ord(a ) ) l s nguyn dng


nh nht t sao cho a t 1 (mod n ) .
1.3.16. nh ngha 1.16

Cho a Z *n , ord(a ) = t v a s 1 (mod n ) khi t l c ca


s. c bit t (n ) .
V d: Cho n = 21, khi

Z *21 = {1, 2, 4 , 5, 8 , 10 , 11 , 13 , 16 , 17 , 19 , 20 }
Ch rng (21 ) = (7 ) (3 ) = 12 = Z *21 . Cp ca cc
phn t trong Z *21 c nu trong bng sau:
Bng 13: Cp ca cc phn t trong Z *21
*
a Z 21

10

11

13

16

17

19

20

Ord(a)

20

Gio trnh Mt m hc

1.3.17. nh ngha 1.17

Cho Z *n . Nu cp ca l (n ) th c gi l phn
t sinh hay phn t nguyn thy ca Z *n . Nu Z *n c mt phn t
sinh th Z *n c gi l cyclic.
1.3.18. Cc tnh cht ca cc phn t sinh ca

(1)

Z*n

Z*n

c phn t sinh nu v ch nu n = 2, 4, p k hoc l

2p k , trong p l mt s nguyn t l v k 1 . c bit, nu p l


*

mt s nguyn t th Z n c phn t sinh.


*

(2) Nu l mt phn t sinh ca Z n th:

Z *n = { i mod n 0 i (n ) 1 }
(3) Gi s rng l mt phn t sinh ca
b = i mod n cng l mt phn t sinh ca

(i, (n )) = 1 . T ta rt ra rng nu Z*n


t sinh l ((n )) .

Z*n

Z*n ,

khi

nu v ch nu

l cyclic th s cc phn

(4) Zn l mt phn t sinh ca Z n nu v ch nu


*

(n ) / p 1(mod n ) i vi mi nguyn t p ca (n ) .

V d:

Z*21

khng l cyclic v n khng cha mt phn t c

cp (21) = 12 (Ch rng 21 khng tha mn iu kin (1) trn).

Z *25 l cyclic v c mt phn t sinh = 2 .

Chng 1: B tc v l thuyt s

21

1.3.19. nh ngha 1.18

Cho a Z*n , a c gi l thng d bc hai modulo n (hay


bnh phng ca modulo n) nu tn ti

x Z*n

sao cho

x 2 a(mod n ) . Nu khng tn ti x nh vy th a c gi l thng


d khng bc hai mod n. Tp tt c cc thng d bc hai modulo
n c k hiu l Qn, cn tp tt c cc thng d khng bc hai
c k hiu l Q n . Cn ch rng theo nh ngha 0 Z*n . Bi
vy 0 Q n v 0 Qn .
1.3.20. nh l 1.12

Cho p l mt s nguyn t l v l mt phn t sinh ca


Z*p .

Khi a Z*p l mt thng d bc hai modulo p nu v ch

nu a = i mod p , trong i l mt s nguyn chn. T rt ra


rng Q p =

(p 1)
2

v Q p =

(p 1) , tc l mt na s phn t trong
2

Z*p l cc thng d bc hai v na cn li thng d khng bc hai.


*

V d: = 6 l mt phn t sinh ca Z13 . Cc ly tha ca

c lit k bng sau:


i

10

11

i mod 13

10

12

11

Bi vy Q13 = { 1, 3, 4, 9, 10,12 }, Q13 = { 2, 5, 6, 7, 8,11 } .


1.3.21. nh l 1.13

Cho n l tch ca hai s nguyn t l khc nhau q v p,


n = p.q, khi a Z*n l mt thng d bc hai modulo n nu v ch
nu a Q p v a Q p . iu dn ti Q n = Q q . Q p =

(p 1)(q 1)
4

22

Gio trnh Mt m hc

v Qn =

3(p 1)(q 1)
4

V d: Cho n = 21. Khi

Q 21 = { 1, 4,16 } Q 21 = {2,5, 8,10,11,13,17,19, 20}


1.3.22. nh ngha 1.19

Cho a Q n . Nu x Z*n tha mn x 2 a(mod n ) th x c gi


l cn bc hai ca a mod n.
1.3.23. nh l 1.14 (S cc cn bc hai)

(1) Nu p l mt s nguyn t l v a Q n th a c gi l
cn bc hai theo modulo p.
(2) Tng qut hn, cho n = p1e1 pe22 K pekk , trong pi l cc s
nguyn t l phn bit v e i 1 . Nu a Q n th c ng 2k cn bc
hai khc nhau theo modulo n.
V d: Cc cn bc 2 ca 12 mod 37 l 7 v 30. Cc cn bc 2

ca 121 mod 315 l 11, 74, 101, 151, 164, 214, 241 v 304.
1.4. Cc thut ton trong Zn

Cho n l mt s nguyn dng. Cc phn t ca Zn s c

biu th bi cc s nguyn Q 21 = {0,1, 2,..., n 1}.


Ta thy rng, nu a, b Z n th
a+b
a + b r

(a + b)mod n =

a+b<n
a+bn

Bi vy php cng (v tr) theo modulo c th thc hin c


m khng cn php chia di. Php nhn modulo ca a v b c th
c thc hin bng cch nhn cc s nguyn thng thng ri ly

Chng 1: B tc v l thuyt s

23

phn d ca kt qu sau khi chia cho n. Cc phn t nghch o


trong Zn c th c tnh bng cch dng thut ton Euclide m
rng c m t di y:
1.4.1. Thut ton (Tnh cc nghch o trong Zn)
Vo

: a Zn .

Ra

: a 1 mod n (nu tn ti).

(1) Dng thut ton Euclide m rng tm cc s nguyn x


v y sao cho ax + ny = d trong d = (a,n).
(2) Nu d > 1 th a1 mod n khng tn ti. Ngc li return (x).
Php ly tha theo modulo c th c thc hin c hiu qu
bng thut ton nhn v bnh phng c lp. y l mt thut
ton rt quan trng trong nhiu th tc mt m. Cho biu din
nh phn ca k l:
t

k i 2 i trong mi k i {0,1} khi

i =0
a k 2 i = (a 2

i =0
t

a =
k

) (a ) K (a )
k0

21

k1

2t

kt

1.4.2. Thut ton nhn v bnh phng c lp ly lu


tha trong Zn
Vo: a Z n v s nguyn k, (0 k < n ) c biu din nh phn:
k=

k i 2i

i =0

Ra: ak mod n.

(1) t b 1 . Nu k = 0 th return (b).


(2) t A a .

24

Gio trnh Mt m hc

(3) Nu k0 = 1 th t b a .
(4) For i from 1 to t do
(4.1) t A A 2 mod n
(4.2) Nu k i = 1 th t b A.b mod n
(5) Return (b).
V d: Bng 1.4 sau ch ra cc bc tnh ton
5596 mod 1234 = 1013

Bng 1.4: Tnh 5596 mod 1234


i

ki

25

625

681

1011

369

421

779

947

925

625

625

67

67

1059

1059

1059

1013

S cc php ton bit i vi php ton c bn trong Zn c


tm lc trong bng 1.5.
Bng 1.5: phc tp bit ca cc php ton c bn trong Zn
Php ton

phc tp bit

Cng modulo

a+b

0(lgn)

Tr modulo

a-b

0(lgn)

Nhn modulo

a.b

0((lgn)2)

a-1 mod n

0((lgn)2)

ak mod n, k < n

0((lgn)3)

Nghch o modulo
Ly tha modulo

1.5. cc k hiu legendre v jacobi

K hiu Legendre l mt cng c hu ch xem xt liu mt


s nguyn a c l mt thng d bc hai theo modulo ca mt s
nguyn t p hay khng?

Chng 1: B tc v l thuyt s

25

1.5.1. nh ngha 1.20

Cho p l mt s nguyn t l v a l mt s nguyn. K hiu


a
legendre c xc nh nh sau:
p
0
a
= 1
p
1

p a
a Qp
a Qp

1.5.2. Cc tnh cht ca k hiu Legendre

Cho p l mt s nguyn t l v a, b Z . Khi k hiu


Legendre c cc tnh cht sau:
a
1
1
(1) a (p1 ) / 2 (mod p ) . c bit = 1 v = ( 1)(p1 ) / 2
p
p
p

Bi vy 1 Q p nu p 1(mod 4 ) v 1 Q p nu p 3(mod 4 )
a2
a.b a b
(2)
. . Bi vy nu a Z *p th = 1 .
p p p
p
a b
(3) Nu a b(mod p ) th = .
p p
2
2
2
(4) = ( 1)(p 1)/ 8 . Bi vy = 1 nu p 1 hoc 7(mod 8)
p
p

2
v = 1 nu p 3 hoc 5(mod 8).
p

(5) Lut thun nghch bc 2:


Gi s p l mt s nguyn t l khc vi q, khi :
p q
(p1 )(q 1) / 4
= ( 1)
q p

26

Gio trnh Mt m hc
p q
Ni mt cch khc = tr phi c p v q l ng d vi
q p

q
p
3(mod 4), trong trng hp ny = .
p
q

Du hiu Jacobi l tng qut ho ca k hiu Legendre i


vi cc s nguyn l n khng nht thit l mt s nguyn t.
1.5.3. nh ngha 1.21

Cho n 3 l cc s nguyn t l c phn tch:


a
n = p1e1 . p e22 K p ekk . Khi k hiu Jacobi c nh ngha
n
a a
l: =
n p1

e1

p2

2 a
K

ek

Ta thy rng nu n l mt s nguyn t th k hiu Jacobi


chnh l k hiu Legendre.
1.5.4. Cc tnh cht ca k hiu Jacobi

Cho n 3 l cc s nguyn t l a, b Z . Khi k hiu


Jacobi c cc tnh cht sau:
a
a
(1) = 0,1 hoc -1. Hn na = 0 nu v ch nu
n
n

CLN(a,n) 1.
a2
a.b a b
*
(2)
. . Bi vy a Z n th = 1 .
n n n
n
a a a
. .
(3)
m.n m n

Chng 1: B tc v l thuyt s

27

a b
(4) Nu a b(mod n) th = .
n n
1
(5) = 1 .
n

1
1
(6) = ( 1)(n 1) / 2 . Bi vy = 1 nu n 1(mod 4 )
n
n
1
= 1 nu n 3(mod 4 )
n
2
2
2
(7) = ( 1)(n 1)/ 8 . Bi vy = 1 nu n 1 hoc 7(mod 8 )
n
n

2
= 1 nu n 3 hoc 5(mod 8 )
n
m n
(8) = ( 1)(m 1)(n 1) / 4
n m

m n
Ni mt cch khc = tr phi c hai s m v n u
n m
m
n
ng d vi 3(mod 4 ) , trong trng hp ny = .
n
m

T cc tnh cht ca k hiu Jacobi ta thy rng n l v a =


2ea1 trong a1 l mt s l th:
e
a 2
=
n n

a1 2 e n mod a1
=
( 1)(a1 1)(n 1) / 4
n n
a1

T cng thc ny ta c th xy dng thut ton quy sau


a
tnh m khng cn phi phn tch n ra cc tha s nguyn t.
n

28

Gio trnh Mt m hc

1.5.5. Thut ton tnh ton k hiu Jacobi (v k hiu


Legendre)

Jacobi (a, n)
Vo : S nguyn l n 3 , s nguyn a, (0 a n )

a
Ra : K hiu Jacobi (S l k hiu Legendre khi n l s
n
nguyn t)
(1) Nu a = 0 th return (0)
(2) Nu a = 1 th return (1)
(3) Vit a = 2ea1, trong a1 l mt s l
(4) Nu e chn th t s 1 . Ngc li hy t s 1 nu
n = 1 hoc 7(mod 8)
(5) Nu n 3(mod 4 ) v a1 3(mod 4 ) th t s s
(6) t r1 n mod a1
(7) Return (s.JACOBI(n1 , a1 ))
Thut ton trn c thi gian chy chng 0 ( (lg n ) ) cc php
2

ton bit.
1.5.6. Nhn xt (tm cc thng d bc hai theo modulo ca
s nguyn t p)

Cho p l mt s nguyn t l. Mc d bit rng mt na


*
cc phn t trong Z p l cc thng d khng bc hai theo modulo

p nhng khng c mt thut ton xc nh theo thi gian a thc


no c bit tm.
Mt thut ton ngu nhin tm mt thng d khng bc hai
l chn ngu nhin cc s nguyn a Z *p cho ti khi s tha

Chng 1: B tc v l thuyt s

29

a
mn = 1 . Php lp i vi s c chn trc khi tm c
p

mt thng d bc hai l 2 v bi vy thut ton c thc hin


theo thi gian a thc.
1.5.7. V d tnh ton k hiu Jacobi
158
Cho a = 158 v n = 235. Thut ton trn tnh
nh sau:
235
158 2 79
235
77
78 . 234 / 4
=

= ( 1)
( 1)
235 235 235
79
79
77
2
76 . 78 / 4
= ( 1)
= = 1
79
77

a
Khc vi k hiu Legendre, k hiu Jacobi khng cho
n

bit liu a c phi l mt thng d bc 2 theo modulo n hay khng.


a
a
S thc l nu a Q n th = 1 . Tuy nhin = 1 th khng c
n
n

ngha l a Q n .
1.5.8. V d (Cc thng d bc 2 v khng bc 2)
Bng 1.6: Cc k hiu Jacobi ca cc phn t trong

Z*21

*
a Z 21

10

11

13

16

17

19

20

a2 mod n

16

16

16

16

a

3

a

7

21

30

Gio trnh Mt m hc
*
Bng 1.6 lit k cc phn t trong Z 21 v cc k hiu Jacobi

ca chng. T v d trong phn c ta c Q 21 = { 1, 4,16 } . Ta thy


5
rng = 1 nhng 5 Q 21 .
21

1.5.9. nh ngha 1.22

a
Cho n 3 l cc s nguyn t l v cho J n = a Z *n = 1
n

) c nh
tp cc thng d gi bc 3 theo modulo n (K hiu Q
n

ngha l tp J n Q n .
1.5.10. nh l 1.15

Cho n = p.q l tch ca hai s nguyn t l khc nhau. Khi


~
Q n = Q n = (p 1)(q 1) / 4 tc l mt na cc phn t trong J n l

cc thng d gi bc hai.
1.6. Cc s nguyn blum

1.6.1. nh ngha 1.23

S nguyn Blum l mt hp s c dng

n = p.q , trong p

v q l cc s nguyn t khc nhau v tha mn:


p 3 mod 4
q 3 mod 4
1.6.2. nh l 1.16

Cho n = p.q l mt s nguyn Blum v cho a Q n . Khi a


c ng 4 cn bc hai modulo n v ch c mt s nm trong Qn.

Chng 1: B tc v l thuyt s

31

1.6.3. nh ngha 1.24

Cho n l mt s nguyn Blum v cho a Q n . Cn bc hai duy


nht ca a nm trong Qn c gi l cn bc hai chnh a mod n.
1.6.4. V d (S nguyn Blum)

i vi s nguyn Blum n = 21. Ta c J n = {1, 4, 5,16,17, 20 } v


~
Q n = {5,17, 20 } . Bn cn bc 2 ca a = 4 l 2, 5, 16 v 19, trong

ch c 16 l cng nm trong Qn. Bi vy 16 l cn bc 2 chnh ca


4 mod 21.
1.6.5. nh l 1.17

Nu n = p.q l mt s nguyn Blum th nh x.


f : Q n Q n c xc nh bi f (x ) = x 2 mod n l mt php

hon v.
nh x ngc ca f l: f 1 (x ) = x ((p1)(q 1)+4 / 8 ) mod n .

Bi tp
1. S dng thut ton Euclide m rng tm c chung ln
nht ca hai s a = 1573, b = 308.
2. Hy tnh 322 mod 23 bng cch dng thut ton nhn v
bnh phng c lp.
3. Hy tnh cc cn bc hai ca 12 mod 37.
*
.
4. Tm tt c cc phn t nguyn thy ca nhm nhn Z19

5. Tm phn t nghch o ca 3 trong Z*31 .


6. Vi m, n, s N v p i l cc s nguyn t. Hy chng minh
cc tnh cht sau ca hm -Euler

32

Gio trnh Mt m hc

( )

1
a. p s = ps 1 .
p
b. ( m, n ) = ( m ) ( n ) nu CLN (m,n) = 1.

c. ( n ) = m 1 1 ... 1 1 trong m = p1e1 ...p er1 l


p1
pr

phn tch ca m thnh tch ca tha s nguyn t.


7. Hy tnh (490) v (768).
8. Gii h phng trnh ng d sau:
5x 20 mod 6
5x 6 mod 5
4x 5 mod 77.
9. Hy dng thut ton Euclide m rng tnh cc phn t
nghch o sau:
a. 171 mod 101
b. 3571 mod 1234
c. 31251 mod 9987.
10. Ta nghin cu mt s tnh cht ca cc phn t
nguyn thy:
a. 97 l mt s nguyn t. Hy chng minh rng x 0 l mt
phn t nguyn thu theo modulo 97 khi v ch khi:
x32 1 mod 97 v x48 1 mod 97
b. Hy dng phng php ny tm phn t nguyn thy
nh nht theo modulo 97.
c. Gi s p l mt s nguyn t v p 1 c phn tch ra ly
tha ca cc nguyn t sau:

Chng 1: B tc v l thuyt s

33
n

p 1 = p eii
i =1

y pi l cc s nguyn t khc nhau. Hy chng t rng


x 0 l mt phn t nguyn thy theo modulo p khi v ch khi

x(

p 1) p i

1mod p vi 1 i n .

i s tru tng

2.1. Nhm

2.1.1. Php ton hai ngi


nh ngha 2.1: Php ton hai ngi * trn tp S l mt nh
x t

SxS

vo S. Tc l * l mt quy tc gn mi cp c sp

cc phn t trong S vi mt phn t ca S.


2.1.2. nh ngha nhm
Nhm (G, *) cha tp G l mt php ton hai ngi * trong G
tho mn ba tin sau:
(1) Php ton nhm kt hp. Tc l:
a * (b * c ) = (a * b) * c

a, b, c G .

(2) C mt phn t 1 G c gi l phn t n v tha mn.


a *1 = 1 * a

a G

(3) Vi mi a G , tn ti mt phn t a 1 G c gi l
ngc ca a sao cho a * a 1 = a 1 * a = 1
(4) Nhm c gi l giao hon (hay nhm Abel) nu
a*b = b*a

a, b, G

Cn ch rng khi nim nhm nhn c s dng cho


php ton nhm trn. Nu php ton nhm l php cng th
nhm c gi l nhm cng, phn t n v ca nhm ny c
k hiu l 0, cn phn t ngc ca a c k hiu l a.

36

Gio trnh Mt m hc

2.1.3. Nhm hu hn
nh ngha 2.2: Nhm G hu hn nu G l hu hn. S cc
phn t ca nhm G c gi l cp ca nhm.
V d v nhm:
- Tp cc s nguyn Z vi php ton cng s to nn mt
nhm. Phn t n v ca nhm ny l 0, phn t ngc ca mt
s nguyn a l s nguyn a.
- Tp
Tp

Z n vi

Zn

vi php cng modulo n to nn mt nhm cp n.

php ton nhn theo modulo n khng phi l mt

nhm v khng phi mi phn t ca nhm u c nghch o


(phn t ngc ca php nhn). Tuy nhin tp

Z*n s

l mt

nhm cp (n ) vi php ton nhn theo modulo n v c phn t


n v l 1.
2.1.4. Nhm con
nh ngha 2.3: Mt tp con khng trng H ca nhm G c
gi l mt nhm con ca G nu H l mt nhm vi php ton
nhm tng ng trong G. Nu H l mt nhm con ca G v H G
th H c gi l nhm con thc s ca nhm G.
2.1.5. Nhm Xyclic
2.1.5.1. nh ngha 2.4: Nhm G c gi l nhm xyclic nu tn
ti mt phn t G sao cho vi mi b G c mt s nguyn i vi
b = i . Phn t nh vy c gi l phn t sinh ca G.

2.1.5.2. nh l 2.1:
Nu G l mt nhm v a G th tp tt c cc ly tha ca a
s to nn mt nhm con xyclic ca G. Nhm ny c gi l nhm
con sinh bi a v c k hiu l a .

Chng 2: i s tru tng

37

2.1.6. Cp ca mt phn t
2.1.6.1. nh ngha 2.5
Cho G l mt nhm v a G . Cp ca a c xc nh bng
s nguyn dng t nh nht m bo at = 1. Nu khng tn ti t
nh vy th cp ca a c coi l .
2.1.6.2. nh l 2.2
Cho G l mt nhm v a G l mt phn t c cp t hu
hn. Khi a (lc lng ca nhm con sinh bi a) bng t.
2.1.6.3. nh l 2 (Lagrange)
Nu G l mt nhm hu hn v H l mt nhm con ca G,
khi H l c ca G . Bi vy, nu a G th cp ca a l c
ca G .
2.1.6.4. nh l 2.4
Mi nhm con ca mt nhm xyclic u l nhm xyclic. Nu
G l mt nhm xyclic cp n th i vi mi c dng d ca n, G s
cha ng mt nhm con cp d.
2.1.6.5. nh l
Cho G l mt nhm.
(1) Nu cp ca mt phn t a G l t th cp ca a k l
t/CLN(t,k).
(2) Nu G l mt nhm xyclic cp n v d n th G c ng
(d ) phn t c cp d. c bit G c (n ) phn t sinh.
*
V d: Xt nhm nhn Z19
= {1, 2, ...,18} c cp 18. Nhm ny

l nhm xyclic v c mt phn t sinh l = 2 . Cc nhm con ca


*
Z19

v cc phn t sinh ca chng c lit k bng sau:

38

Gio trnh Mt m hc
Bng 2.1: Cc nhm con ca

*
Z19

Nhm con

Cc phn t sinh

Cp

{1}

{1,18}

18

{1,7,11}

7,11

{1,7,8,11,12,18}

8,12

{1,4,5,6,7,9,11,16,17}

4,5,6,9,16,17

{1,2,3,...,18}

2,3,10,13,14,15

18

2.2. Vnh

2.2.1. nh ngha 2.6


Vnh (R, +, ) cha tp R vi hai php ton hai ngi (c k
hiu l + (cng) v (nhn)) trong R tha mn cc tin sau:
(1) (R, + ) l mt nhm Aben vi phn t n v 0.
(2) Php ton l kt hp. Tc l:
a (b c ) = (a b) c

a, b, c R

(3) Tn ti phn t n v ca php nhn (phn t 1), vi


1 0 sao cho:
1 a = a 1 = a

a R

(4) Php l phn phi i vi php +. Tc l:


a (b + c ) = (a b) + (a c )

(b + c ) a = (b a ) + (c a )

a, b, c R

Vnh c gi l giao hon nu a b = b a

a, b R .

2.2.2. Cc v d
- Tp cc s nguyn Z vi cc php ton cng v nhn thng
thng l mt vnh giao hon.

Chng 2: i s tru tng

39

- Tp Zn vi php cng v php nhn c thc hin theo


modulo n l mt vnh giao hon.
2.2.3. nh ngha 2.7
Mt phn t a R c gi l mt phn t kh nghch nu c
mt phn t b thuc R sao cho a b = 1 .
2.2.4. nh l 2.6
Tp cc phn t kh nghch trong mt vnh R s to nn mt
nhm vi php nhn c gi l nhm cc n v ca R.
V d: Nhm cc n v ca vnh Zn l Z*n .
2.3. Trng

2.3.1. nh ngha 2.8


Trng l mt vnh giao hon trong mi phn t khc
khng u c phn t nghch o (ngc ca php nhn).
2.3.2. c s ca trng
nh ngha 2.9: c s ca mt trng l 0 nu 11+42
1+K
+1
4
43
4
m l n

khng bng 0 vi bt k m 1 . Ngc li, c s ca trng l s


m

nguyn dng nh nht m sao cho

1 = 0 .
i =1

V d: Tp cc s nguyn vi cc php ton cng v nhn


thng thng khng phi l mt trng v ch c cc s nguyn
khc khng 1 v 1 l c nghch o. Tuy nhin, cc s hu t Q,
cc s thc R v cc s phc C li l cc trng c c s 0 vi cc
php ton thng thng.
2.3.3. nh l 2.7
Zn l mt trng (vi cc php ton cng v nhn theo

modulo n) nu v ch nu n l s nguyn t. Nu n l mt s
nguyn t th Zn c c s n.

40

Gio trnh Mt m hc

2.3.4. nh l 2.8
Nu c s m ca trng khng bng khng th m phi l s
nguyn t.
2.3.5. nh ngha 2.10
Mt tp con F ca trng E l mt trng con ca E nu F l
mt trng cng vi cc php ton trong E. Khi E c gi l
trng m rng ca F.
2.3.6. Trng hu hn
2.3.6.1. nh ngha 2.11
Trng hu hn l mt trng F c cha mt s hu hn cc
phn t. Cp ca trng F l s cc phn t trong F.
2.3.6.2. Cc tnh cht c bn
a. nh l 2.9: S tn ti v tnh duy nht ca cc trng hu hn.
- Nu F l mt trng hu hn th F cha

pm

phn t vi p

l mt s nguyn t no v m l mt s nguyn dng


- Vi mi gi tr

cp

pm

(m 1) .

tn ti duy nht mt trng hu hn

p m . Trng ny c k hiu l GF (p m ) .

Hai trng c gi l ng cu nu chng ging nhau v mt


cu trc mc d cch biu din cc phn t c th l khc nhau.
Cn ch rng nu p l mt s nguyn t th Zp l mt
trng v bi vy mi trng cp p u ng cu vi Zp.
b. nh l 2.10:
Nu Fq l mt trng hu hn cp q = pm , p - s nguyn t,
th c s ca Fq l p. Hn na Fq cha Zp l mt trng con. Bi
vy Fq c th c xem l m rng trng bc m ca Zp.

Chng 2: i s tru tng

41

c. nh l 2.11: Cc trng con ca mt trng hu hn


Cho Fq l mt trng hu hn cp q = pm . Khi mi trng
con ca Fq c cp

pn

vi n l c dng ca m. Ngc li, nu n l

mt c dng ca m th c ng mt trng con ca Fq c cp

( )

pn , phn t a Fq l nm trong trng con F pn nu v ch nu


n

ap = a .

d. nh ngha 2.12:
Cc phn t khc khng ca Fq to nn mt nhm vi php
nhn c gi l nhm nhn ca Fq v c k hiu l Fq* .
e. nh l 2.12:
Fq* l nhm nhn cyclic cp q 1 . Bi vy a q = a vi a Fq .

f. nh ngha 2.13:
Phn t sinh ca nhm cyclic Fq* c gi l phn t nguyn
thy hay phn t sinh ca Fq .
g. nh l 2.13:
Nu

a , b Fq l mt trng hu hn c s p, khi :

(a + b)p

= a p + bp

t 0 .

2.4. Vnh a thc

2.4.1. nh ngha a thc


Nu R l mt vnh giao hon th mt a thc ca bin x trn
vnh R l mt biu thc c dng:
f (x ) = a n x n + K + a 2 x 2 + a1 x + a 0

42

Gio trnh Mt m hc
Trong a i R v n 0 . Phn t a i c gi l h s ca x i

trong f(x).
S nguyn ln nht m sao cho a m 0 c gi l bc ca f(x)
v c k hiu l degf(x), a m c gi l h s cao nht ca f(x).
Nu f(x) = a0 (a thc hng s) v a 0 0 th f(x) c bc 0. Nu tt
c cc h s ca f(x) l 0 th f(x) c gi l a thc khng v bc
ca n ( thun tin v mt ton hc) c xc nh bng .
a thc f(x) c gi l nh chun nu h s cao nht ca n
bng 1.
2.4.2. Vnh a thc
- nh ngha 2.14: Nu R l mt vnh giao hon th vnh
a thc

R[x] l mt vnh c to bi tt c cc a thc ca bin

x c cc h s trong R. Hai php ton l php cng a thc v


nhn a thc thng thng vi s hc cc h s c thc hin
trong vnh R.
- V d vnh a thc:
Cho f (x ) = x3 + x + 1 v g (x ) = x 2 + x l cc phn t ca vnh

a thc Z2 [x ] . Cc php ton trong Z2 [x ] :


f (x ) + g (x ) = x 3 + x 2 + 1
f (x ). g (x ) = x5 + x 4 + x 3 + x

2.4.3. a thc bt kh quy


nh ngha 2.15: Cho f (x ) F[x ] vi deg f (x ) 1 . f(x) c
gi l bt kh quy trn F nu n khng th vit c bng tch ca
hai a thc trong F[x ] u c bc dng.
2.4.4. Thut ton chia i vi cc a thc
Nu g (x ), h(x ) F[x] vi h(x ) 0 th php chia a thc thng

thng ca g(x) cho h(x) s dn ti cc a thc q(x) v r(x ) F[x]

Chng 2: i s tru tng

43

tha mn: g (x ) = q (x ). h(x ) + r(x ) , trong deg r(x ) < deg h(x ) , q(x)
v r(x) l duy nht q(x) c gi l thng, r(x) c gi l phn d.
i khi r(x) c k hiu g (x )mod h(x )
g(x) c k hiu g (x ) div h(x )
V d: g (x ) = x6 + x5 + x3 + x 2 + x + 1
h(x ) = x 4 + x 3 + 1 l cc a thc trong Z2 [x ] .

Ta c

g (x ) = x 2 h(x ) + x3 + x + 1

Bi vy g (x )mod h(x ) = x3 + x + 1 v g (x ) div h(x ) = x 2 .


2.4.5. c ca mt a thc
2.4.5.1. nh ngha 2.16
Nu g (x ), h(x ) F[x] , khi h(x) l c ca g(x) (k hiu

g (x ) h(x ) ) nu g (x )mod h(x ) = 0 .

Cho f(x) l mt a thc xc nh trong F[x ] . Tng t nh


trng hp cc s nguyn ta c th nh ngha cc lp ng d ca
cc a thc trong F[x ] da trn php chia cho f(x).
2.4.5.2. nh ngha 2.17
Nu g (x ), h(x ) F[x] , khi g(x) c gi l ng d vi

h(x) mod ulof(x) nu f (x ) [g (x ) h(x )] . Ta k hiu g (x ) h(x )mod f (x ) .

2.4.6. Cc tnh cht ca ng d


i vi cc a thc g (x ), h(x ), g1 (x ), h1 (x ), s(x ) F[x] ta c:
(1) g (x ) h(x ) (mod f (x )) nu v ch nu g(x) v h(x) c cng
phn d khi chia cho f(x).
(2) Tnh cht phn x: g (x ) g (x ) (mod f (x ))
(3) Tnh cht i xng: Nu g (x ) h(x ) (mod f (x )) th
h(x ) g (x ) (mod f (x ))

44

Gio trnh Mt m hc
(4)

Tnh

cht

bc

cu:

Nu

g (x ) h(x ) (mod f (x ))

h(x ) s(x ) (mod f (x )) th g (x ) s (x ) (mod f (x ))

(5) Nu g (x ) g1 (x ) (mod f (x )) v h(x ) h1 (x ) (mod f (x )) th:


g (x ) + h(x ) (g 1 (x ) + h1 (x )) (mod f (x ))
g (x ). h(x ) (g 1 (x ). h1 (x )) (mod f (x ))

Cho f(x) l mt a thc c nh trong F[x ] , lp tng ng


ca mt a thc g (x ) F[x ] l tp tt c cc a thc trong F[x ]
ng d vi g( x ) mod ulo f(x).
T cc tnh cht b, c v d trn ta thy rng quan h ng

d mod f (x ) s phn hoch F[x ] thnh cc lp tng ng.

Nu g (x ) F[x] th php chia cho f(x) s dn ti mt cp a


thc

g (x ), r(x )F[x ]

tha mn

g (x ) = q (x ) f (x ) + r(x ) , trong

deg r(x ) < deg f (x ) . Bi vy mi a thc g(x) u ng d theo

modulo f(x) vi mt a thc duy nht c bc nh hn bc ca f(x).


a thc r(x) s c dng lm i biu cho lp tng ng ca
cc a thc (c cha g(x)).
2.4.7. Vnh cc lp ng d
2.4.7.1. nh ngha 2.18
F[x ] / (f (x )) c k hiu cho tp cc lp tng ng ca cc

a thc trong F[x ] c bc nh hn n = deg f (x ) . Php cng v php


nhn c thc hin theo mod f (x ) .
2.4.7.2. nh l 2.14
F[x ] / (f (x )) l mt vnh giao hon.

2.4.7.3. nh l 2.15

Nu f(x) l bt kh quy trn F th F[x] / (f (x)) l mt trng.

Chng 2: i s tru tng

45

2.4.8. Thut ton Euclide i vi cc a thc


2.4.8.1. a thc nh chun

a thc nh chun l a thc c h s bc cao nht bng 1.


2.4.8.2. c chung ln nht (CLN)

Cho g (x ), h(x )Z p [x ], cc a thc ny khng ng thi bng


khng. Khi CLN ca g(x) v h(x) (k hiu CLN (g(x), h(x)))
l mt a thc nh chun c bc ln nht l c ca c g(x) v h(x).
Theo nh ngha: CLN (0, 0) = 0.
2.4.8.3. nh l 2.16

Mt a thc khc khng f (x ) Z p [x ] c th phn tch di dng


f (x ) = af1 (x ) 1 f2 (x ) 2 K fk (x ) k
e

Trong fi (x) l cc a thc bt kh quy nh chun khc


nhau trong

Zp [x], ei

l cc s nguyn dng,

a Zp .

Phn tch

ny l duy nht nu khng k ti s sp xp li ca cc nhn t.


2.4.8.4. Thut ton Euclide trong Z p [x ]
Vo

: Hai a thc g (x ), h(x )Z p [x ]

Ra

: CLN

(1) While h(x ) 0 do


r(x ) g (x )mod h(x ); g (x ) h(x ) , h(x ) r(x )

(2) Return

(g(x)) .

46

Gio trnh Mt m hc

2.4.9. S hc ca cc a thc

Biu din a thc l cch biu din thng dng nht cho cc
phn t ca trng hu hn Fp vi q = pm v p l s nguyn t.
2.4.9.1. nh l 2.17

Vi mi gi tr m 1 , tn ti mt a thc bt kh quy nh
chun bc m trn Z p . Bi vy, mi trng hu hn u c biu
din a thc.

( )

Cc phn t ca hu hn F pm s c biu din bi cc a

( )

thc trong Z p [x ] c bc nh hn m. Nu g (x ), h(x )F pm th php


cng l php cng thng thng ca cc a thc trong Z p [x ] . Tch
g(x).h(x) c thc hin bng cch trc tin nhn cc a thc g(x)
v h(x) theo cch thng thng, sau ly phn d sau khi chia
cho f(x).
Cc phn t nghch o c th c tnh bng cch dng

thut ton Euclide m rng cho vnh a thc Z p [x ] .


2.4.9.2. Thut ton Eulicde m rng trn Z p [x ]
Vo

: Hai a thc g (x ), h(x )Z p [x ]

Ra

: CLN (g(x), h(x)) v cc a thc s(x ), t(x )Z p [x ]


tha mn s(x ). g (x ) + t (x ). h(x ) = d (x ) .

( )

2.4.9.3. Thut ton tnh nghch o trong F pm

( )

Vo :a thc khc khng g (x )F pm (Cc phn t trng

( )

F pm c biu din bng cc a thc trong Z p [x ] / (f (x )) , trong


f (x ) Z p [x ] l mt a thc bt kh quy bc m trn Z p ).

Chng 2: i s tru tng

47

( )

Ra : g (x )1 F pm

(1) Dng thut ton Euclide m rng i vi cc a thc


tm hai a thc s(x ), t(x )Z p [x ] sao cho s(x ). g (x ) + t(x ). f (x ) = 1
(2) Return

(s(x)).

2.4.9.4. nh ngha 2.19

a thc bt kh quy f (x ) Z p [x ] c bc m c gi l a thc

( )

nguyn thu nu x l phn t sinh ca F * pm l nhm nhn gm

( )

tt c cc phn t khc khng trong F pn = Z p [x ] / (f (x )) .


2.4.9.5. nh l 2.18

a thc bt kh quy f (x ) Z p [x ] c bc m c gi l a thc

nguyn thu nu v ch nu f(x) l c ca x k 1 vi k = pm 1


v khng l c ca nh thc ny vi s nguyn dng k nh hn.
2.4.9.6. nh l 2.19

Vi mi gi tr m 1 , tn ti mt a thc nguyn thu nh

chun bc m trn Z p . Thc s c ng pm 1 / m cc a thc


nh vy.
2.4.9.7. V d

Trng hu hn F(24) cp 16
C th thy rng f (x ) = x 4 + x + 1 l mt a thc bt kh quy
trn Z 2 . Bi vy trng hu hn F(24) c th c biu din bng
tp tt c cc a thc trn F2 c bc nh hn 4. Tc l:
F(24 ) = { a3 x 3 + a 2 x 2 + a1 x + a 0 a i {0 ,1}}

48

Gio trnh Mt m hc

Sau y l cc v d v s hc ca trng:
- Php cng

: (1 0 11) + (1 0 0 1) = (0 0 1 0 )

- Php nhn

: nhm hai phn t (11 0 1) v (1 0 0 1) ta

nhn chng nh cc a thc ri ly phn d khi chia tch nhn


c cho f(x).

(x

)(

+ x2 + 1 . x2 + 1

= x 6 + x5 + x 2 + 1 x 3 + x 2 + x + 1 (mod (x ))

Bi vy (11 0 1) + (1 0 0 1) = (1111)

( )

- Phn t n v ca php nhn trong F 24 l (0 0 0 1)


Nghch o ca (1 0 11) l (0 1 0 1) . kim tra iu ny ta
rng:

(x

)(

+ x2 + 1 . x2 + 1

= x 5 + x 2 + x + 1 1(mod (x ))

T (1 0 11). (0 1 0 1) = (0 0 0 1)
f(x)l mt a thc nguyn thy hay phn t x = (0 0 1 0 ) l

( )
khc khng trong F (2 ) c th nhn c bng cc ly tha ca x.

phn t sinh ca F 24 . Ta c th thy rng tt c cc phn t


4

Ta c bng sau:
Bng 2.2: Cc ly tha ca x theo modulo f (x ) = x 4 + x + 1
i

xi mod (x4 + x + 1)

Biu din vc t

(0001)

(0010)

(0100)

(1000)

x+1

(0011)

x2 + x

(0110)

x3 + x2

(1100)

x3 + x + 1

(1011)

Chng 2: i s tru tng

49

xi mod (x4 + x + 1)

Biu din vc t

x2 + 1

(0101)

x3 + x

(1010)

10

x + x +1
3

11
12

(0111)

x +x +x
3

(1110)

x +x +x+1

13

(1111)

x +x +1

(1101)

14

x +1

(1001)

2.4.10. Nhm nhn xyclic trn vnh a thc


2.4.10.1. Cp ca mt a thc

Ta xt vnh a thc Z 2 [x ] / x n + 1 .
- nh ngha 2.20: a thc e(x) c gi l a thc ly ng

nu e 2i (x ) = e i (x ) .
Cho a(x ) Z 2 [x ] / x n + 1 cp ca a(x) (k hiu l ord(a(x )) ) l s
nguyn dng nh nht t sao cho: [a(x )]t +1 a(x )mod x n + 1 hay

[a(x )]t e i (x )mod x n + 1 .

Trong e i (x ) l mt a thc ly ng

no trong vnh.
- nh l 2.20: Cp ln nht ca mt a thc trong vnh
Z 2 [x ] / x n + 1 c xc nh nh sau:

+ max ord(a(x )) = 2k vi n = 2k
+ max ord(a(x )) = 2m 1 vi n l l v phn tch ca x n + 1
thnh tch ca cc a thc bt kh quy c dng x n + 1 =

g (x )
i

vi m = max ord g i (x ) .
i

+ max ord(a(x )) = 2l 2m 1

tch ca x u + 1 c dng x u + 1 =

vi n = 2l u . Trong u l v phn

g (x ) v m = max ord
i

g i (x ) .

50

Gio trnh Mt m hc
- V d: Xt vnh Z 2 [x ] / x5 + 1

Ta c x5 + 1 = (1 + x ) 1 + x + x 2 + x 3 + x 4

Vy max ord(a(x )) = 24 1 = 15
Cp ca mi a thc trong vnh s l 15 hoc c ca 15.
2.4.10.2. Cc nhm nhn

Gi I l s cc a thc bt kh quy trong phn tch ca x n + 1


vi n l l. Khi s cc nhm nhn trong vnh M c xc nh
theo b sau:
- B 2.21:

S cc nhm nhn trong vnh bng s cc a thc ly ng


v bng: M = 2I 1
- V d: Xt vnh Z2 [x] / x7 + 1

)(

Ta c x 7 + 1 = (1 + x ) 1 + x + x 3 1 + x 2 + x 3

M = 23 1 = 7

C 7 nhm nhn vi cc ly ng sau:


e1 (x ) = 1 , e 2 (x ) =

x , e
i

= x + x 2 + x 4 , e 4 = 1 + x 3 + x5 + x6

i =1

e5 = 1 + x + x + x , e6 = x + x + x , e7 (x ) =
2

xi

i =0

- B : Nhm nhn vi ly ng e 0 (x ) ch c mt phn t l


e 0 (x ) . Mi a thc khc 0 u nm trong mt nhm nhn no .

Cc nhm nhn xyclic trong cc nhm nhn c cp l c ca


max ord(a(x )) .

Chng 2: i s tru tng

51

- V d: Xt vnh Z 2 [x ] / x 7 + 1 .

Mi a thc khng nm trong vnh ny (khng k cc ly


ng) u c cp l 7.
2.4.11. Cc thng d bc 2 v cc phn t lin hp
2.4.11.1. nh ngha 2.21

a thc f (x ) Z2 [x ] / x n + 1 c gi l mt thng d bc 2
trong vnh nu f (x ) 0 v tn ti g(x) sao cho:
g 2 (x ) f (x )mod x n + 1

Gi Q l tp hp cha cc thng d bc 2.
2.4.11.2. B 2.22

Vi n l mi f (x ) 0 u l thng d bc 2. Mi f(x) u c
mt cn bc 2 duy nht. Ta c: Q = 2n 1
2.4.11.3. B 2.23

Vi n chn, f (x ) Q khi v ch khi f(x) l tng ca cc n


n

thc c m chn. Ta c: Q = 2 2 1 .
2.4.11.4. B 2.24

Vi n chn, cc cn bc 2 ca mt thng d bc hai c xc


nh theo cng thc sau:
n

g (x ) = 1 + x 2
x t + (x )

tU

52

Gio trnh Mt m hc
n

Trong U l mt tp con tu trong tp S = 0 ,1 ,K, 1 .


2

Ta c U =

n
22

. Nu f (x ) =

f x

2i

th

f (x ) =

f x
i

( f (x ) c gi

l cn bc 2 chnh ca f(x)).
Cc g(x) c gi l cc phn t lin hp.
- V d: n = 8

Cc cn bc hai ca cc x 2i c cho trong bng 2.3:


Bng 2.3
x2i

x2

x4

x6

x8 = 1

(1)

(2)

(3)

(4)

(014)

(024)

(034)

(015)

(126)

(125)

(135)

(016)

(137)

(237)

(236)

(037)

(5)

(6)

(7)

(4)

(045)

(046)

(047)

(145)

(256)

(156)

(157)

(246)

(257)

(367)

(267)

(347)

(01246)

(01245)

(01345)

(01256)

10

(01347)

(02347)

(02346)

(01357)

11

(12367)

(12357)

(12356)

(02367)

12

(02456)

(01456)

(01457)

(12456)

13

(03457)

(03467)

(02467)

(13457)

14

(23567)

(13567)

(12567)

(23467)

15

(0123467)

(0123457)

(0123456)

(0123567)

16

(0234567)

(0134567)

(0124567)

(1234567)

TT

Ch : Trong bng trn ta k hiu cc a thc nh sau:


V d: (01246 ) 1 + x + x 2 + x 4 + x 6 .

Chng 2: i s tru tng

53

Bi tp
1. Tnh tt c cc cn bc hai ca a thc 1 + x2 + x 4 trong
vnh a thc Z2 [ x ] x8 + 1 .
2. Xc nh nhm nhn xyclic sinh bi phn t a ( x ) = 1 + x + x2
trong vnh a thc Z 2 [ x ] x5 + 1 .
3. Xt tp S = {0,1,2,3} vi cc php ton cng (+) v nhn (.)
c xc nh nh sau:
+

Hy chng minh S l mt trng?


4. Trong trng 6F(4) bi tp 3, hy gii phng trnh:
2x + y = 3
x + 2y = 3.
*
5. Hy xc nh cp ca phn t 2 trong Z13
.

6. Tm tt c cc cn bc 2 ca cc n thc 1, x 2 , x 4 trong
vnh a thc Z2 [ x ] x6 + 1
7. Trong trng 6F(25 )
z2 [x ] /( x5 + x 2 + 1) .

c th xy dng c theo

54

Gio trnh Mt m hc

Hy thc hin cc php tnh sau trn trng ny:

)(

a. Tnh x 4 + x 2 . x3 + x + 1 .

b. S dng thut ton Euclide m rng tnh x3 + x 2

c. S dng thut ton nhn v bnh phng tnh x 25 .


8. Vi vnh giao hon R c s pn nguyn t, hy chng t rng:

( a1 + a 2 + K as )p

= a1p n + a 2p n + K + a sp n .

Phn II

Cc thut ton mt m

mt m c in
C ba phng php chnh trong mt m c in (mt m
kha ring hay mt m kha b mt):
- Hon v;
- Thay th;
- X l bit (ch yu nm trong cc ngn ng lp trnh).
Ngoi ra cn c phng php hn hp thc hin kt hp cc
phng php trn m in hnh l chun m d liu (DES Data
Encryption Standard) ca M.
3.1. S khi mt h truyn tin mt

Thm m
Bn m

Bn r
Ngun tin
(Alice)

B m ha

Bn m

Knh m
(khng an ton)

KE

Bn r

B gii m
KD

Knh an ton
Ngun kha

Hnh 3.1

(Oscar)

Nhn tin
(Bob)

58

Gio trnh Mt m hc

nh ngha 3.1
Mt h mt l mt b 5 (P, C, K, E, D) tha mn cc iu
kin sau:
a) P l mt tp hu hn cc bn r c th
b) C l mt tp hu hn cc bn m c th
c) K l mt tp hu hn cc kha c th (khng gian kha)
d) i vi mi k K c mt quy tc m e k E
ek : P C

v mt quy tc gii m tng ng d k D


dk : C P

sao cho: d k (e k (x )) = x vi x P .
3.2. Mt m thay th

3.2.1. Mt m dch vng (MDV)

Gi s P = C = K = Z26 vi 0 k 25 , ta nh ngha:
e k (x ) = x + k mod 26

d k (y ) = y k mod 26

(x, y Z26 )

Ta s dng MDV (vi modulo 26) m ha mt vn bn


ting Anh thng thng bng cch thit lp s tng ng gia cc
k t v cc thng d theo mod 26 nh sau:
K t

M tng ng

10

11

12

K t

M tng ng

13

14

15

16

17

18

19

20

21

22

23

24

25

Chng 3: Mt m c in

59

V d 3.1:

Gi s kha cho MDV l k = 5 v bn r l meetmeatsunset.


Trc tin, ta bin i bn r thnh dy cc s nguyn theo
bng trn:
12.4.4.19.12.4.0.19.18.20.13.18.4.19
Sau ta cng 5 vo mi gi tr trn v rt gn tng theo
mod 26, ta c dy s sau:
17.9.9.24.17.9.5.24.23.25.18.23.9.24
Cui cng, ta li bin i dy s nguyn trn thnh cc k t
tng ng, ta c bn m sau:
RJJYRJFYXZSXJY
gii m cho bn m ny, trc tin ta bin bn m thnh
dy s nguyn ri tr mi gi tr cho 5 (rt gn theo modulo 26), v
cui cng l li bin i li dy s nhn c ny thnh cc k t.
Nhn xt:

- Khi k = 3, h mt ny thng c gi l m Caesar


tng c Hong Caesar s dng.
- MDV (theo mod 26) l khng an ton v n c th b thm
theo phng php tm kha vt cn (thm m c th d dng th
mi kha d k c th cho ti khi tm c bn r c ngha). Trung
bnh c th tm c bn r ng sau khi th khong (26 2 ) = 13
quy tc gii m.
- T v d trn ta thy rng, iu kin cn mt h mt an
ton l php tm kha vt cn phi khng th thc hin c. Tuy
nhin, mt khng gian kha ln vn cha m bo mt.

60

Gio trnh Mt m hc

3.2.2. M thay th (MTT)

Cho P = C = Z 26 . K cha mi hon v c th c ca 26 k t


t 0 n 25. Vi mi php hon v K , ta nh ngha:
e (x ) = (x )

d (y ) = 1 (y )

trong 1 l hon v ngc ca .


Sau y l mt v d v php hon v ngu nhin to nn
mt hm m ho (tng t nh trn, cc k t ca bn r c
vit bng ch thng, cn cc k t ca bn m c vit bng
ch in hoa).
K t bn r

K t bn m

K t bn r

K t bn m

Nh vy, e (a ) = X, e (b) = N, ...


Hm gii m l php hon v ngc. iu ny c thc hin
bng cch vit hng th hai ln trc ri sp xp theo th t ch
ci. Ta c:
K t bn m

K t bn r

K t bn m

K t bn r

V d 3.2:

Vi php thay th trn, t bn r:


meetmeatsunset

Chng 3: Mt m c in

61

ta thu c bn r sau:
THHMTHXMVUSHM
S dng php hon v ngc, ta d dng tm li c bn r
ban u.
Mi kha ca m thay th l mt php hon v ca 26 k t.
S cc hon v ny l 26 ! > 4.1026 . y l mt s rt ln nn kh c
th tm c kha bng php tm kha vt cn. Tuy nhin, bng
phng php thng k, ta c th d dng thm c cc bn m
loi ny.
3.2.3. Mt m Vigenre

Trong hai h MDV v MTT trn, mt khi kha c


chn th mi k t s c nh x vo mt k t duy nht. V vy,
cc h trn cn c gi l cc h thay th n biu. Sau y ta s
trnh by mt h thay th a biu c gi l h mt Vigenere.
S dng php tng ng A 0, B 1, K, Z 25 m t
trn, ta c th gn cho mi kha k mt chui k t c di m,
c gi l t kha. Mt m Vigenre s m ho ng thi m k
t: mi phn t ca bn r tng ng vi m k t.
V d 3.3:

Gi s m = 6 v t kha l CIPHER. T kha ny tng ng


vi dy s k = (2, 8, 15, 7, 4, 17). Gi s bn r l:
meetmeatsunset
Ta s bin i cc phn t ca bn r thnh cc thng d
theo mod 26, vit chng thnh cc nhm 6 ri cng vi t kha
theo modulo 26 nh sau:
12

19

12

19

18

20

13

18

19

Bn r

15

17

15

17

Kha

14

12

19

16

21

17

Bn m

62

Gio trnh Mt m hc

Nh vy, dy k t tng ng vi xu bn m s l:
OMTAQVCBHBRJGB
Ta c th m t mt m Vigenre nh sau:
Cho m l mt s nguyn dng c nh no .
Ta nh ngha P = C = K = (Z 26 )n
Vi kha k = (k 1 , k 2 , K, k m ) , ta xc nh:
e k (x1 , x 2 , K, x m ) = (x1 + k1 , x 2 + k 2 , K, x m + k m )

d k (y1 , y 2 , K, y m ) = (y1 k 1 , y 2 k 2 , K, y m k m )

trong tt c cc php ton c thc hin trong Z 26 .


Ch : gii m, ta c th dng cng t kha nhng thay

cho cng, ta tr n theo modulo 26.


Ta thy rng, s cc t kha c th vi di m trong mt
m Vigenere l 26 m . Bi vy, thm ch vi m kh nh, phng
php tm kim vt cn cng yu cu thi gian kh ln. V d, vi
m = 6 th khng gian kha cng c kch thc ln hn 3.10 8 kha.
3.3. Mt m hon v (MHV)

Khc vi MTT, tng ca MHV l gi cc k t ca bn r


khng thay i nhng s thay i v tr ca chng bng cch sp
xp li cc k t ny. y khng c mt php ton i s no
cn thc hin khi m ho v gii m.
V d 3.4:

Gi s m = 6 v kha l php hon v sau:


1

Chng 3: Mt m c in

63

Khi , php hon v ngc s l:


1

Gi s ta c bn r: asecondclasscarriageonthetrain
Trc tin, ta nhm bn r thnh cc nhm 6 k t:
a sec on dclass carria geonth etrain

Sau , mi nhm 6 ch ci li c sp xp li theo php


hon v , ta c:
EOANCS LSDSAC RICARA OTGHNE RIENAT

Cui cng, ta c bn m sau:


EOANCSLSDSACRICARAOTGHNERIENAT
Khi s dng php hon v ngc 1 trn dy bn m (sau
khi nhm li theo cc nhm 6 k t), ta s nhn li c bn r
ban u.
T v d trn, ta c th nh ngha MHV nh sau:
Cho m l mt s nguyn dng xc nh no .
Cho P = C = (Z26 )m v cho K l tt c cc hon v c th c ca

{ 1, 2, K, m } .
i vi mt kha (tc l mt php hon v no ), ta xc nh:

e = (x1 , K , x m ) = x (1 ), K , x (m )

v d = ( x1 , K , x m ) = y 1 (1), K , y 1 (m )

trong 1 l php hon v ngc ca

64

Gio trnh Mt m hc

3.4. Mt m Hill

Trong phn ny s m t mt h mt thay th a biu khc


c gi l mt m Hill. Mt m ny do Lester S.Hill a ra nm
1929. Gi s m l mt s nguyn dng, t P = C = (Z26 )m .
tng y l ly m t hp tuyn tnh ca m k t trong mt
phn t ca bn r to ra m k t mt phn t ca bn m.
V d nu m = 2 ta c th vit mt phn t ca bn r l
x = (x1 , x 2 ) v mt phn t ca bn m l y = (y1 , y2 ) . y, y1

cng nh y 2 u l mt t hp tuyn tnh ca x1 v x 2 . Chng


hn, c th ly:
y1 = 11x1 + 3x 2
y 2 = 8 x1 + 7x 2

Tt nhin c th vit gn hn theo k hiu ma trn nh sau:

(y1

11 8

y2 ) = (x1 x2 )
3 7

Ni chung, c th ly mt ma trn k kch thc m m lm


kha. Nu mt phn t hng i v ct j ca k l k i, j th c th
vit

( )

k = k i, j ,

vi

x = (x1 , x 2 , K , x m ) P

kK ,

y = ek (x ) = (y1 , y2 , K , ym ) nh sau :
k1,1

k
(y1 , K, ym )(x1 , K, xm ) 2,1
M

k m,1

Ni cch khc, y = xk .

k1, 2
k 2, 2
M
k m, 2

k1, m

K k 2, m
M

L k m, m
K

ta tnh

Chng 3: Mt m c in

65

Chng ta ni rng bn m nhn c t bn r nh php


bin i tuyn tnh. Ta s xt xem phi thc hin gii m nh th
no, tc l lm th no tnh x t y. Bn c lm quen vi i
s tuyn tnh s thy rng phi dng ma trn nghch o k 1
gii m. Bn m c gii m bng cng thc x = yk 1 .
Sau y l mt s nh ngha v nhng khi nim cn thit

ly t i s tuyn tnh. Nu A = (x i, j ) l mt ma trn cp l m v

B = b l, k

l mt ma trn cp m n th tch ma trn AB = (c l, k )

c nh ngha theo cng thc :


c l, k =

a i, j b j, k

j 1
=

vi 1 i l v 1 k l . Tc l cc phn t hng i v ct th
k ca AB c to ra bng cch ly hng th i ca A v ct th k
ca B, sau nhn tng ng cc phn t vi nhau v cng li.
Cn rng AB l mt ma trn cp l n .
Theo nh ngha ny, php nhn ma trn l kt hp (tc

(AB)C = A (BC) ) nhng ni chung l khng giao hon (khng phi


lc no AB = BA , thm ch i vi ma trn vung A v B).
Ma trn n v m m (k hiu l I m ) l ma trn cp m m
c cc s 1 nm ng cho chnh v cc s 0 v tr cn li. Nh
vy, ma trn n v 2 2 l:
1 0

I 2 =
0 1

66

Gio trnh Mt m hc
I m c gi l ma trn n v v AI m = A vi mi ma trn

cp l m v I m B = B vi mi ma trn cp m n . Ma trn nghch


o ca ma trn A cp m m (nu tn ti) l ma trn A 1 sao cho
AA 1 = A 1 A = I m . Khng phi mi ma trn u c nghch o,

nhng nu tn ti th n duy nht.


Vi cc nh ngha trn, c th d dng xy dng cng thc
gii m nu: V y = xk , ta c th nhn c hai v ca ng thc
vi k 1 v nhn c:

yk 1 = (xk )k 1 = x kk 1 = xIm = x

(Ch : s dng tnh cht kt hp)


C th thy rng, ma trn m ho trn c nghch o trong
Z 26 :
11 8

3 7

7 18

=
23 11

v
12 8 8 18 11 7 + 8 23 11 18 + 8 11

3 7 23 11 3 7 + 7 23 3 18 + 7 11
261 286 1 0

=
=
182 131 0 1

(Hy nh rng mi php ton s hc u c thc hin theo


modulo 26).
Sau y l mt v d minh ho cho vic m ho v gii m
trong h mt m Hill.

Chng 3: Mt m c in

67

V d 3.5:

Gi s kha

11 8

k =
3 7

T cc tnh ton trn, ta c:


7 18

k 1 =
23 11

Gi s cn m ho bn r "July". Ta c hai phn t ca bn


r m ho: (9, 20 ) (ng vi Ju) v (11, 24 ) (ng vi ly). Ta tnh
nh sau:

(9
(11

11 8
= (99 + 60 72 + 140 ) = (3 4 )
20 )
3 7
11 8
= (121 + 72
24 )
3 7

88 + 168 ) = (11

22)

Bi vy, bn m ca July l DELW. gii m, Bob s tnh:

(3

4 ).k 1 = (9 20 ) v (11 22).k 1 = (11 24 )

Nh vy, Bob nhn c bn ng.


Cho ti lc ny, ta ch ra rng c th thc hin php gii
m nu k c mt nghch o. Trn thc t, php gii m l c
th thc hin c, iu kin cn l k phi c nghch o. (iu
ny d dng rt ra t i s tuyn tnh s cp, tuy nhin s khng
chng minh y). Bi vy, ta ch quan tm ti cc ma trn k
kh nghch.
Tnh kh nghch ca mt ma trn vung ph thuc vo gi
tr nh thc ca n. trnh s tng qut ho khng cn thit,
ta ch gii hn trong trng hp 2 2 .

68

Gio trnh Mt m hc

nh ngha 3.2:
nh thc ca ma trn A = (ai, j ) cp 2 2 l gi tr
det A = a1,1a 2, 2 a1, 2 a 2,1

Nhn xt: nh thc ca mt ma trn vung cp mm c th


c tnh theo cc php ton hng s cp (hy xem mt gio trnh
bt k v i s tuyn tnh).
Hai tnh cht quan trng ca nh thc l det I m = 1 v quy
tc nhn det (AB ) = det A det B .
Mt ma trn thc k l c nghch o khi v ch khi nh thc
ca n khc 0. Tuy nhin, iu quan trng cn nh l ta ang lm
vic trn Z 26 . Kt qu tng ng l ma trn k c nghch o theo
modulo 26 khi v ch khi CLN(det k, 26) = 1.
Sau y s chng minh ngn gn kt qu ny.
Trc tin, gi s rng CLN(det k, 26) = 1. Khi det k c
nghch o trong Z 26 . Vi 1 i m , 1 j m , nh ngha k i j l
ma trn thu c t k bng cch loi b hng th i v ct th j. V
nh ngha ma trn k * c phn t (i, j) ca n nhn gi tr

( 1)i+ j det k ji

( k * c gi l ma trn b i s ca k). Khi , c

th chng t rng:
k 1 = (det k ) k *
1

Bi vy k l kh nghch.
Ngc li, k c nghch o k 1 . Theo quy tc nhn ca
nh thc:

Chng 3: Mt m c in

69

1 = det I = det k k 1 = det k det k 1

Bi vy det k c nghch o trong Z 26 .

Nhn xt: Cng thc i vi k 1 trn khng phi l mt


cng thc tnh ton c hiu qu tr cc trng hp m nh (chng
hn m = 2, 3). Vi m ln, phng php thch hp tnh cc ma
trn nghch o phi da vo cc php ton hng s cp.
Trong trng hp 2 2 , ta c cng thc sau:
nh l 3.1:

Gi s A = (ai j ) l mt ma trn cp 2 2 trn Z 26 sao cho


det A = a1,1 a 2, 2 a1, 2 a 2,1 c nghch o. Khi :
1 a 2, 2
A 1 = (det A )
a 2,1

a1, 2

a1,1

Tr li v d xt trn. Trc ht ta c:
11 8
= 11 7 8 3 mod 2
det
3 7
= 77 24 mod 26 = 53 mod 26 = 1

V 1 1 mod 26 = 1 nn ma trn nghch o l:


11 8

3 7

7 18

=
23 11

y chnh l ma trn c trn.


By gi ta s m t chnh xc mt m Hill trn Z26 (hnh 3.2).

70

Gio trnh Mt m hc

Cho m l mt s nguyn dng c nh. Cho P = C = (Z26)m v cho


K = { cc ma trn kh nghch cp m x n trn Z26}
Vi mt kha k K, ta xc nh:
ek(x) = xk
dk(y) = yk-1

Tt c cc php ton c thc hin trong Z26

Hnh 3.2: Mt m Hill


3.5. H mt xy dng trn cc cp s nhn xyclic
trn vnh a thc

Trong phn ny ta xt mt ng dng ca nhm nhn xyclic


trn vnh a thc Z2 [x ] xn + 1 vi n = 2k . y l mt trng hp
c bit khng c xem xt ti khi xy dng cc m khng ch
sai. Tuy nhin, trng hp ny li c nhng ng dng kh l th
trong mt m [4].
3.5.1. Nhm nhn ca vnh
B 3.1:

Trong vnh Z2 [x ] xn + 1 vi n = 2k , tp cc a thc c trng s


l s to nn mt nhm nhn cc a thc theo modulo xn + 1 .
Chng minh:

V n = 2k nn: xn + 1 = (1 + x )n .
Do , mi a thc a(x) c trng s l u tha mn iu kin:

(a(x), (1 + x) ) = 1
n

(3.1)

Cc a thc ny s to nn mt nhm nhn G c ly ng


e(x ) = 1 v c cp bng: G = 2n 1 .

Chng 3: Mt m c in

71

B 3.2:

Mi phn t trong nhm nhn G c cp l 2k hoc c cp l


c ca 2k .
Chng minh:

y l mt trng hp ring ca nh l phn 2.4.10. Ta c


th chng minh bng qui np:
k = 1: vnh ny cha nhm nhn cp 2 l nhm nhn xyclic
n v I.
k = i : Gi s A = {a(x ), a2 (x ), a3 (x ),K , an (x )} l mt nhm
nhn xyclic cp n trong vnh ( n = 2i ).
k = i+1: Bnh phng cc phn t ca A ta c nhm nhn
xyclic sau:
A 2 = {a2 (x ), a4 (x ), a6 (x ), K , a2n (x )}

Nhm nhn xyclic ny hin nhin l nhm con ca nhm


nhn xyclic cp 2.2i = 2i +1 c phn t sinh l mt trong cc cn bc
hai ca a (x ) .
Gi Q l tp cc thng d bc hai trong G. Ta c b sau:
B 3.3:

S cc thng d bc hai trong nhm nhn G ca vnh c


xc nh theo biu thc sau:
Q = 22

k 1

(3.2)

Chng minh: Xt f (x ) Q . Gi s cn bc hai ca f(x) l g(x ) ,

tc l:

72

Gio trnh Mt m hc
g 2 (x ) = f (x ) mod xn + 1

Nu g (x ) =

g x

th f (x ) =

g x
i

2i

Tc l f(x) (c trng s l) ch gm mt s l cc n thc c


m chn.
S lng cc a thc ny bng:
Q = C1n 2 + C3n 2 + K + Cn(n 22 )1 = 2(n 2 )1 .

3.5.2. Cc phn t cp n v cc nhm nhn xyclic cp n

Xt a(x ) G . a(x ) =

a x . Ta c b sau:
i

B 3.4:

a thc a(x) l phn t cp n khi n c cha mt s l cc


n thc c m l c cp n v mt s chn cc n thc c m
chn c cp l c ca n. S cc a thc cp n bng 2n 2 .
Chng minh: V a(x ) G nn n c trng s l. S lng cc

n thc c cp n l (n/2) v s lng cc n thc cn li l (n/2).


Nh vy, s cc a thc a(x) c cp n bng:

C2ni 21

Cn2 j2 = 2(n 2 )12(n 2 )1 = 2n 2

V d 3.6: n = 8

C tt c 26 = 64 cc phn t cp n.
Ta c th s dng cc phn t ny xy dng cc nhm
nhn xyclic cp n.

Chng 3: Mt m c in

73

A i = { a i (x ), a2i (x ), a3i (x ), K ani 1 (x ), ani (x ) = a0i (x ) = 1 }

C tt c 2n 2 cc nhm nhn xyclic cp n v nhm nhn I


cng thuc vo lp cc nhm nhn ny. Ta gi n l nhm nhn
xyclic n v.
3.5.3. H mt xy dng trn cc cp s nhn xyclic
3.5.3.1. Cc cp s nhn xyclic cp n

Nu ta nhn cc phn t ca mt nhm nhn xyclic cp n vi


mt phn t bt k trong nhm nhm nhn G ca vnh a thc ta
s thu c mt cp s nhn xyclic c cng bi l phn t sinh ca
nhm nhn v c s hng ban u l a thc em nhn.
B 3.5:

S cc cp s nhn xyclic cp n xy dng c trong G c


xc nh theo biu thc sau:
N = 22

.22

(3.3)

V d 3.7:

n=8

N = 28 1.28 2 = 213 = 8.192

n = 16

N = 216 1.216 2 = 229 = 65.011.712

n = 32

N = 232 1.232 2 = 261

n = 64

N = 264 1.264 2 = 2125

n = 128

N = 2128 1.2128 2 = 2253

3.5.3.2. H mt xy dng trn cc cp s nhn xyclic

Mi cp s nhn xyclic cp n c th coi l mt php bin i


tuyn tnh ca vector m ban u (c coi l nhm nhn xyclic
n v I) .

74

Gio trnh Mt m hc

Gi l phn t sinh ca mt nhm nhn xyclic cp n. Ta c


b sau:
B 3.6:

Tng cc s hng ca mt cp s nhn xyclic cp n c cng


bi v s hng u c xc nh theo biu thc sau:

k 1
i
Sn =
1 + 2

i = 0

(3.4)

Hin nhin l Sn 0 .
H mt xy dng trn cc cp s nhn ny c th c m t
theo s khi sau:
H mt
I
Vo

Vo

Ra

A(, )
Kha

A(, )

A(, )

M ha

Gii m

Ra

A (, )
Kha

Hnh 3.3

Mi php bin i (m ho) A c th c c trng bi mt


ma trn vung cp n c dng sau:
.
A=

. 2
M
. 0

Chng 3: Mt m c in

75

A l mt ma trn khng suy bin v bi vy, lun tn ti A 1


tho mn:
A.A 1 = A 1 .A = I

Tp cc php bin i ny l mt tp kn i vi php tnh


(nhn ma trn) v to nn mt nhm nhn c phn t n v l
php bin i ng nht (ma trn n v I).
Nhm nhn trong vnh cc ma trn vung ny l nhm
tuyn tnh y v c k hiu l GL(n, GF(2)).
Thut ton m ho kh n gin, ch da trn php ton

nhn v bnh phng mt a thc a(x ) G theo modulo x n + 1

(a(x) c cp n) vi mt a thc b(x) bt k G .


3.5.3.3. Vn gii m

gii m ta phi tm php bin i ngc A 1 l ma trn


nghch o ca ma trn A. Tuy nhin ta c th d dng thc hin
gii m da trn b sau:
B 3.7:

Ma trn A c cp (order) hoc l n, hoc l c ca n. Tc l


ta lun c:
An = I

Hay

( )

2 2 2
A
K

1442443
k ln

y, A c xem l phn t sinh ca mt nhm nhn xyclic

c cp bng n hoc bng c ca n.

76

Gio trnh Mt m hc

V d 3.8: n = 8
A, = { (012), (024 ), 01356, (4 ), (456 ), (046 ), (12457 ), (0 ) }

Ma trn tng ng:


1 1 0 0 0 0 0 1
0 1 0 1 0 0 0 1
1 0 1 0 1 1 0 1
A=

0 0 0 1 0 0 0 0
0 0 0 1 1 1 0 0
0 0 0 1 0 1 0 1
1 1 0 1 1 0 1 0
0 0 0 0 0 0 0 1

A 2 = { (014 ), (2), (236 ), (4 ), (045 ), (6 ), (267 ), (0 ) }


A 3 = { (124 ), (024 ), (01235 ), (4 ), (046 ), (046 ), (14567 ), (0 ) } = A 1
A 4 = I = { (1), (2), (3 ), (4 ), (5 ), (6 ), (7 ), (0 ) }

Ch : y ta biu din cc a thc qua cc s m ca cc

thnh phn khc khng. V d: (012345 ) = 1 + x + x 2 + x 3 + x 5 .


Vo

M ha

Ra

Vo

Gii m

Ra

(A2)2 =

V d 3.9:

Xt cp s nhn c cng bi (023) vi s hng u (023) (012) = (015).


B = {(015), (12457), (03467), (456), (145), (01356), (02347), (012)}
B2 = {(124), (136), (346), (035), (056), (257), (027), (147)}
B3 = {(02567), (047), (167), (23567), (12346), (034), (235), (12367)}
B4 ={(02456), (13567), (02467), (01357), (01246), (12357), (02346),
(13457)}

Chng 3: Mt m c in

77

B5 = {(347), (12345), (01245), (146), (037), (01567), (012346), (013457)}


B6 = {(245), (123), (467), (345), (016), (567), (023), (017) }
B7 = {(24567), (236), (127), (01347), (01236), (267), (356), (03457)} = B1
B8 = I = {(1), (2), (3), (4), (5), (6), (7), (0)}

( )

I = B 2

Thut ton gii m ch l mt thut ton lp ca thut ton


m ho. S ln lp ti a l k.
3.5.3.4. Cc ma trn lun hon

Khi s dng cp s nhn c cng bi x v c s hng u l


mt a thc a(x ) G ta s c mt lp cc bin i c bit, c c
trng bi mt loi ma trn c bit, c gi l ma trn lun hon.
nh ngha 3.3:

Ma trn vung A nn trn trng F c gi l ma trn lun


hon nu n c dng sau:

A=

a(x )
xa(x )

a0
=

x n 1 a(x )

a n 1
M
a1

a1

K a n 1

a 0 K a n 2
M
a2 K

aF

a0

B 3.8:

i s cc ma trn lun hon cp n trn trng F ng cu

vi i s F[x ] x n 1 i vi php nh x cc ma trn lun hon


thnh cc a thc dng:
a(x ) =

n 1

a x
i

i =0

78

Gio trnh Mt m hc

B 3.9:

Tng v tch ca hai ma trn lun hon l mt ma trn


lun hon.
Ta c:

A.B = C

Trong :

c(x ) = a(x ).b(x ) mod x n 1

B 3.10:

Ma trn lun hon A l kh nghch khi v ch khi a thc

a(x) l nguyn t cng nhau vi x n 1 . Ma trn nghch o B nu


tn ti s tng ng vi b(x) tha mn iu kin:

a(x ).b(x ) 1 mod x 2 1


k

)
(

Trong trng hp vnh GF2 [x] x n + 1 v a(x ) G , ta lun c:

(a(x), (x

2k

2k
+ 1 = a(x ), (x + 1) = 1 .

B 3.11:

Tp cc ma trn lun hon A ng vi a(x ) G s to nn mt


nhm con nhn Abel trong nhm nhn ca vnh cc ma trn
vung. Trong nhm ny tn ti cc nhm con l cc nhm nhn
xyclic c cp bng n hoc c ca n.
Mi quan h gia nhm nhn ca vnh a thc v nhm nhn
ca vnh cc ma trn vung c m t trn hnh sau (hnh 3.4).
B 3.12:

Cp ca ma trn lun hon A bng cp ca a thc a(x)


tng ng ca n.

Chng 3: Mt m c in

79

Khi ord (a(x)) = 2 th ma trn lun hon A tng ng l mt


ma trn t nghch o.

Vnh GF2 [x]/x2k + 1


Nhm nhn G
Nhm nhn
lun hon

Vnh cc ma trn vung cp 2 k

Nhm nhn ca vnh ma trn


Nhm nhn cc ma trn
lun hon c a(x) G
Ma trn n v

Hnh 3.4: Quan h gia vnh a thc v vnh ma trn


B 3.13:

S cc ma trn lun hon dng lp m bng s cc phn


t ca nhm nhn trong vnh a thc.
Trong trng hp ma trn lun hon, thut ton m ho ch
l mt php cng vi n bc dch vng.

80

Gio trnh Mt m hc

Thut ton gii m bao gm mt php tnh nghch o ca

mt a thc theo modulo x n + 1 v n bc dch vng tng ng


ca phn t nghch o ny.
a(x ) = 1 + x + x 2

V d 3.10:

A= { (012), (123), (234), (345), (456), (567) (670), (701)}


A2 = { (124), (135), (246), (357), (460), (571), (602), (713)}
A3 ={(01356), (12467), (23570), (34601), (45712), (56023), (67134),
(70245)}
A4 = {(4), (5), (6), (7), (0), (1), (2), (3)}
A5 = {(456), (567), (670), (701), (012), (123), (234), (345)}
A6 = {(460), (571), (602), (713), (024), (135), (246), (357)}
A7 = {(12457), (23560), (34671), (45702), (56031), (67124), (70235),
(01346)} = A1.
A8 = {(1), (2), (3), (4), (5), (6), (7), (0) } = I.
Vo

(7)

(6)

(5)

(4)

(3)

(2)

(1)

(0)

(10110101)
(00001000)
Ra
A = {(0)', (1)',..., (7)'}

Hnh 3.5: S thit b m ho


Vo

(7)'

(6)'

(5)'

(4)'

(3)'

(2)'

(1)'

(0)'

(00001000)
(10110101)
Ra
A = {(0), (1),..., (7)}

Hnh 3.6: S thit b gii m

Chng 3: Mt m c in

81

a 1 (x ) = x + x 2 + x 4 + x 5 + x 7

Ta c:

A.A 1 =

1 1 1 0 0 0 0 0

0 1 1 0 1 1 0 1

0 1 1 1 0 0 0 0
0 0 1 1 1 0 0 0

1 0 1 1 0 1 1 0
0 1 0 1 1 0 1 1

0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1

0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0
0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1

0 1 1 0 1 0 1 1
1 0 1 1 0 1 0 1

0 0 0 0 0 0 0 1

1 1 0 1 1 0 1 0

1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
=

0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0

=I

0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1

3.6. M Affine

MDV l mt trng hp c bit ca MTT ch gm 26 trong


s 26! cc hon v c th ca 26 phn t. Mt trng hp c bit
khc ca MTT l m Affine c m t di y. Trong m Affine,
ta gii hn ch xt cc hm m c dng:
e(x ) = ax + b mod 26
a, b Z 26 . Cc hm ny c gi l cc hm Affine (ch rng khi

a = 1, ta c MDV).

82

Gio trnh Mt m hc

vic gii m c th thc hin c, yu cu cn thit l


hm Affine phi l n nh. Ni cch khc, vi bt k y Z 26 , ta
mun c ng nht thc sau:
ax + b y (mod 26 )

phi c nghim x duy nht. ng d thc ny tng ng vi:


ax y b (mod 26 )

V y thay i trn Z 26 nn y b cng thay i trn Z 26 . Bi


vy, ta ch cn nghin cu phng trnh ng d:
ax y (mod 26 )

(y Z 26 )

Ta bit rng, phng trnh ny c mt nghim duy nht i


vi mi y khi v ch khi CLN(a, 26) = 1 ( y hm CLN l c
chung ln nht ca cc bin ca n). Trc tin ta gi s rng,
CLN(a, 26) = d > 1. Khi , ng d thc ax 0 (mod 26 ) s c t
nht hai nghim phn bit trong Z 26 l x = 0 v x = 26/d. Trong
trng hp ny, e(x ) = ax + b mod 26 khng phi l mt hm n
nh v bi vy n khng th l hm m ho hp l.
V d 3.11: Do CLN(4, 26) = 2 nn 4 x + 7 khng l hm m

ho hp l: x v x + 13 s m ho thnh cng mt gi tr i vi
bt k x Z 26 .
Ta gi thit CLN(a, 26) = 1. Gi s vi x1 v x 2 no
tha mn:
ax 1 ax 2 (mod 26 )

Khi :
a(x1 x 2 ) 0 (mod 26 )

Chng 3: Mt m c in

83

bi vy
26 a(x1 x 2 )

By gi ta s s dng mt tnh cht ca php chia sau: Nu


CLN(a, b) = 1 v

a bc

th

a c.

26 a(x1 x2 )

CLN(a, 26 ) = 1 nn ta c:
26

(x1 x2 )

tc l
x1 x2 (mod 26 )

Ti y ta chng t rng, nu CLN(a, 26) = 1 th mt


ng d thc dng ax y (mod 26 ) ch c (nhiu nht) mt nghim
trong Z 26 . Do , nu ta cho x thay i trn Z 26 th ax mod 26 s
nhn c 26 gi tr khc nhau theo modulo 26 v ng d thc
ax y (mod 26 ) ch c mt nghim y duy nht.

Khng c g c bit i vi s 26 trong khng nh ny. Bi


vy, bng cch tng t, ta c th chng minh c kt qu sau:
nh l 3.2:

ng d thc ax b mod m ch c mt nghim duy nht


x Zm vi mi b Zm khi v ch khi CLN(a, m) = 1.

V 26 = 2 13 nn cc gi tr a Z26 tha mn CLN(a, 26) =


1 l a = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 v 25. Tham s b c
th l mt phn t bt k trong Z26. Nh vy, m Affine c
12 26 = 312 kha c th (d nhin, con s ny l qu nh bo

m an ton).

84

Gio trnh Mt m hc

By gi, ta s xt bi ton chung vi modulo m. Ta cn mt


nh ngha khc trong l thuyt s.
nh ngha 3.4:

Gi s a 1 v m 2 l cc s nguyn. CLN(a, m) = 1 th
ta ni rng a v m l nguyn t cng nhau. S cc s nguyn
trong Z m nguyn t cng nhau vi m thng c k hiu l (m )
(hm ny c gi l hm phi-Euler).

Mt kt qu quan trng trong l thuyt s cho ta gi tr ca


(m ) theo cc tha s trong php phn tch theo ly tha cc s

nguyn t ca m (Mt s nguyn p > 1 l s nguyn t nu n


khng c c dng no khc ngoi 1 v p). Mi s nguyn m > 1
c th phn tch c thnh tch ca cc ly tha cc s nguyn t
theo cch duy nht. V d 60 = 23 3 5 v 98 = 2 72 ).
Ta s ghi li cng thc cho (m ) trong nh l sau:
nh l 3.3:
n

Gi s m =

p ei

i =1

Trong cc s nguyn t p i khc nhau v e i > 0, 1 i n .


Khi :
(m ) =

(pei

i =1

p ei i 1

nh l ny cho thy rng, s kha trong m Affine trn Zm


bng m(m ) , trong (m ) c cho theo cng thc trn (S cc

Chng 3: Mt m c in

85

php chn ca b l m v s cc php chn ca a l (m ) vi hm


m ho l e(x ) = ax + b ).
V d, khi m = 60, (60 ) = 2 2 4 = 16 v s cc kha trong m
Affine l 960.
By gi, ta s xt xem cc php ton gii m trong mt m
Affine vi modulo m = 26. Gi s CLN(a, m) = 1. gii m cn
gii phng trnh ng d y ax + b (mod 26 ) theo x. T tho lun
trn thy rng, phng trnh ny c mt nghim duy nht trong
Z26. Tuy nhin, ta vn cha bit mt phng php hu hiu tm
nghim. iu cn thit y l c mt thut ton hu hiu
lm vic . Rt may l mt s kt qu tip sau v s hc modulo
s cung cp mt thut ton gii m hu hiu cn tm.
nh ngha 3.5:

Gi s a Zm . Phn t nghch o (theo php nhn) ca a


l phn t a 1 Zm sao cho a.a 1 = a 1 .a = 1 (mod m ) .

Bng cc l lun tng t nh trn, c th chng t rng a c


nghch o theo modulo m khi v ch khi CLN(a, m) = 1 v nu
nghch o ny tn ti th n phi l duy nht. Ta cng thy rng,
nu b = a 1 th a = b1 . Nu p l s nguyn t th mi phn t
khc khng ca Zp u c nghch o. Mt vnh trong mi
phn t khc 0 u c nghch o c gi l mt trng.
Trong [3] c mt thut ton hu hiu tnh cc nghch o
ca Z m vi m ty . Tuy nhin, trong Z 26 , ch bng phng php
th v sai cng c th tm c cc nghch o ca cc phn t
nguyn t cng nhau vi 26:

86

Gio trnh Mt m hc
11 = 1 , 3 1 = 9, 5 1 = 21, 7 1 = 15, 111 = 19, 17 1 = 23, 25 1 = 25.

(C

th

dng

kim

chng

li

iu

ny,

d:

7 5 = 105 1 mod 26 , bi vy 71 = 15 ).

Xt phng trnh ng d y ax + b (mod 26 ) . Phng trnh


ny tng ng vi
ax y b (mod 26 )

V CLN(a, 26) = 1 nn a c nghch o theo modulo 26.


Nhn c hai v ca ng d thc vi a 1 , ta c:
a 1 (ax ) a 1 (y b) (mod 26 )

p dng tnh kt hp ca php nhn modulo:

a 1 (ax ) a 1 .a x = 1.x = x

Kt qu l x a 1 (y b) (mod 26 ) . y l mt cng thc


tng minh cho x. Nh vy hm gii m l:
d(y ) = a 1 (y b) mod 26

Hnh 3.7 cho m t y v m Affine. Sau y l mt v


d nh.
V d 3.12:

Gi s k = (7, 3 ) . Nh nu trn, 7 1 mod 26 = 15 . Hm


m ho l:

Chng 3: Mt m c in

87

e k (x ) = 7x + 3

V hm gii m tng ng l:
d k (x ) = 15(y 3 ) = 15 y 19

y, tt c cc php ton u thc hin trn Z 26 . Ta s

kim tra liu d k (e k (x )) = x vi mi x Z 26 khng? Dng cc tnh


ton trn Z 26 , ta c:
d k (e k (x )) = d k (7x + 3 )

= 15(7x + 3 ) 19

= x + 45 19
=x
Cho P = C = Z26 v gi s:
K = {(a, b) Z26 Z26: CLN(a, 26 = 1}
Vi k = (a, b) K, ta nh ngha:
ek(x) = ax + b mod 26
v dk(y) = a-1(y b) mod 26

Hnh 3.7: M Affine

minh ha, ta hy m ho bn r "hot". Trc tin, bin


i cc ch h, o, t thnh cc thng d theo modulo 26. Ta c cc
s tng ng l 7, 14 v 19. By gi s m ho:
7 7 + 3 mod 26 = 52 mod 26 = 0
7 14 + 3 mod 26 = 101 mod 26 = 23

7 19 + 3 mod 26 = 136 mod 26 = 6

Bi vy, ba k hiu ca bn m l 0, 23 v 6, tng ng vi


xu k t AXG. Vic gii m s do bn c thc hin nh mt
bi tp.

88

Gio trnh Mt m hc

3.7. CC H MT M TCH

Mt pht minh khc do Shannon a ra trong bi bo ca


mnh nm 1949 l tng kt hp cc h mt bng cch to tch
ca chng. tng ny c tm quan trng to ln trong vic thit
k cc h mt hin nay (chng hn, chun m d liu - DES ).
n gin, trong phn ny ch hn ch xt cc h mt
trong C = P : cc h mt loi ny c gi l t ng cu. Gi s
S1 = (P, P, K 1 , E1 , D1 ) v S 2 = (P, P, K 2 , E 2 , D 2 ) l hai h mt t

ng cu c cng cc khng gian bn m v r. Khi , tch ca S1


v S2 (k hiu l S1 S 2 ) c xc nh l h mt sau:

(P, P, K 1 K 2 , E, D)
Kha ca h mt tch c dng k = (k1 , k 2 ) trong k1 K 1
v k 2 K 2 . Cc quy tc m v gii m ca h mt tch c xc
nh nh sau: Vi mi k = (k1 , k 2 ) , ta c mt quy tc m e k xc
nh theo cng thc:

e (k1 , k2 ) (x ) = e k2 e k1 (x )

v quy tc gii m:
d (k1 , k2 ) (y ) = d k1 d k2 (y )

Ngha l, trc tin ta m ho x bng e k1 ri m li bn kt


qu bng e k2 . Qu trnh gii m tng t nhng thc hin theo
th t ngc li:

Chng 3: Mt m c in

89

( (
))
(d k (e k (e k (x ))))
(e k (x ))

d (k1 , k 2 ) e (k1 , k 2 ) (x ) = d (k1 , k 2 ) e k 2 e k1 (x )


= d k1
= d k1

=x

Ta bit rng, cc h mt u c cc phn b xc sut ng vi


cc khng gian kha ca chng. Bi vy, cn phi xc nh phn
b xc sut cho khng gian kha K ca h mt tch. Hin nhin
ta c th vit:
p K (k1 , k 2 ) = p K1 (k1 ) p K 2 (k 2 )

Ni mt cch khc, ta chn k1 c phn b pK1 ri chn mt


cch c lp k 2 c phn b p K 2 (k 2 ) .
Sau y l mt v d n gin minh ha khi nim h mt
tch. Gi s nh ngha h mt m nhn nh trong hnh 3.8 sau.
Gi s P = C = Z26 v gi s:
k = {a, Z26: CLN(a, 26) = 1}
Vi a K, ta xc nh:

ea(x) = ax mod 26

da(y) = a-1y mod 26


(x, y) Z

Hnh 3.8: M nhn

Cho M l mt h m nhn (vi cc kha c chn ng xc


sut) v S l MDV (vi cc kha chn ng xc sut). Khi d
dng thy rng M S chnh l h m Affine (cng vi cc kha
c chn ng xc sut). Tuy nhin, vic chng t S M cng l
h m Affine kh hn mt cht (cng vi cc kha ng xc sut).

90

Gio trnh Mt m hc

Ta s chng minh cc khng nh ny. Mt kha dch vng l


phn t k Z26 v quy tc gii m tng ng l e k (x ) = x + k mod 26 .
Cn kha trong h m nhn l phn t a Z 26 sao cho CLN(a,
26) = 1. Quy tc m tng ng l ea (x ) = a mod 26 . Bi vy, mt
kha trong m tch M S c dng (a, k ) , trong
e (a, k ) (x ) = ax + k mod 26

y chnh l nh ngha v kha trong h m Affine. Hn


na,

xc

sut

ca

mt

kha

trong

Affine

l:

1 312 = (1 12) (1 26 ) . l tch ca xc sut tng ng ca cc

kha a v k. Bi vy M S l h m Affine.
By gi ta s xt S M . Mt kha ny trong h m ny c
dng (k, a ) , trong :
e (k, a ) (x ) = a(x + k ) = ax + ak mod 26

Nh vy, kha (k, a ) ca m tch S M ng nht vi kha

(a, ak )

ca h m Affine. Vn cn li l phi chng t rng mi

kha ca m Affine xut hin vi cng xc sut 1/312 nh trong


m tch S M . Nhn thy rng ak = k1 khi v ch khi k = a 1k1 ,
(hy nh li rng CLN(a, 26) = 1, bi vy a c phn t nghch
o). Ni cch khc, kha (a, k1 ) ca h m Affine tng ng

vi kha a 1k1 , a ca m tch S M . Bi vy, ta c mt song nh


gia hai khng gian kha. V mi kha l ng xc sut nn c th
thy rng S M thc s l m Affine.
Ta chng minh rng M S = S M . Bi vy, hai h mt l
giao hon. Tuy nhin, khng phi mi cp h mt u giao hon;

Chng 3: Mt m c in

91

c th tm ra c cc cp phn v d. Mt khc ta thy rng php


tch lun kt hp:

(S1 S2 ) S3 = S1 (S2 S3 )
Nu ly tch ca mt h mt t ng cu vi chnh n th ta
thu c h mt S S (k hiu l S2 ). Nu ly tch n ln th h
mt kt qu l Sn . Ta gi Sn l h mt lp.
Mt h mt S c gi l ly ng nu S2 = S . C nhiu h
mt nghin cu trong chng 1 l h mt ly ng. Chng hn
cc h MDV, MTT, Affine, Hill, Vigenre v hon v u l ly
ng. Hin nhin l nu h mt S l ly ng th khng nn s
dng h mt tch S2 v n yu cu lng kha cc ln m khng c
bo mt cao hn.
Nu mt h mt khng phi l ly ng th c th lm tng
mt bng cch lp nhiu ln. tng ny c dng trong
chun m d liu (DES). Trong DES dng 16 php lp, tt nhin
h mt ban u phi l h mt khng ly ng. Mt phng php
c th xy dng cc h mt khng ly ng n gin l ly tch
ca hai h mt n gin khc nhau.
Nhn xt:

C th d dng chng t rng, nu c hai h mt S1 v S2 l


ly ng v giao hon th S1 v S2 cng l ly ng. iu ny rt
ra t cc php ton i s sau:

(S1 S2 ) (S1 S2 ) = S1 (S2 S1 ) S2


= S1 (S1 S2 ) S2
= (S1 S1 ) (S2 S2 )
= S1 S2

92

Gio trnh Mt m hc

(Ch : Dng tnh cht kt hp trong chng minh trn).


Bi vy, nu c S1 v S2 u l ly ng v ta mun S1 S 2
l khng ly ng th iu kin cn l S1 v S2 khng giao hon.
Rt may mn l nhiu h mt n gin tha mn iu kin
trn. K thut thng c s dng trong thc t l ly tch cc
h m kiu thay th v cc h m kiu hon v.
3.8. Cc h m dng

Trong cc h mt nghin cu trn, cc phn t lin tip ca


bn r u c m ho bng cng mt kha k. Tc xu bn m y
nhn c c dng:
y = y1 y 2 K = e k (x1 )e k (x 2 )K

Cc h mt thuc dng ny thng c gi l cc m khi.


Mt quan im s dng khc l mt m dng. tng c bn
y l to ra mt dng kha z = z1z 2 K v dng n m ho mt
xu bn r x = x1 x 2 K theo quy tc:
y = y1 y 2 K = e z1 (x1 )e z2 (x 2 )K

M dng hot ng nh sau. Gi s k K l kha v


x = x1 x 2 K l xu bn r. Hm f i c dng to z i ( z i l phn

t th i ca dng kha), trong f i l mt hm ca kha k v


i 1 l k t u tin ca bn r:

z i = fi (k, x1 , K, x i 1 )

Phn t z i ca dng kha c dng m x i to ra


y i = e iz (x i ) . Bi vy, m ho xu bn r x 1 x 2 K ta phi tnh

lin tip z1 , y1 , z 2 , y 2 , K

Chng 3: Mt m c in

93

Vic gii m xu bn m y 1 y 2 K c th c thc hin bng


cch tnh lin tip z1 , x 1 , z 2 , x 2 , K
Sau y l nh ngha di dng ton hc:
nh ngha 3.6

Mt m dng l mt b (P, C, K , L, F, E, D ) tho mn cc


iu kin sau:
1. P l mt tp hu hn cc bn r c th.
2. C l tp hu hn cc bn m c th.
3. K l tp hu hn cc kha c th (khng gian kha).
4. L l tp hu hn cc b ch ca dng kha.
5. F = (f1 f2 K) l b to dng kha . Vi i 1
fi : K P i 1 L

6. Vi mi z L c mt quy tc m e z E v mt quy tc
gii m tng ng d z D . e z : P C v d z : C P l cc hm
tho mn d z (e z (x )) = x vi mi bn r x P .

Ta c th coi m khi l mt trng hp c bit ca m


dng, trong dng kha khng i: Z i = k vi mi i 1 .
Sau y l mt s dng c bit ca m dng cng vi cc v
d minh ha. M dng c gi l ng b nu dng kha khng
ph thuc vo xu bn r, tc l nu dng kha c to ra ch l
hm ca kha k. Khi , ta coi k l mt "mm" m rng thnh
dng kha z1z 2 K
Mt h m dng c gi l tun hon vi chu k d nu
z i + d = z i vi mi s nguyn i 1 . M Vigenre vi di t kha

94

Gio trnh Mt m hc

m c th coi l m dng tun hon vi chu k m. Trong trng hp


ny, kha l k = (k1 , K, k m ) . Bn thn k s to m phn t u tin
ca dng kha: z i = k i , 1 i m . Sau , dng kha s t lp li.
Nhn thy rng, trong m dng tng ng vi mt m Vigenre,
cc hm m v gii m c dng ging nh cc hm m v gii
m c dng trong MDV:
e z (x ) = x + z v d z (y ) = y z

Cc m dng thng c m t trong cc b ch nh phn


tc l P = C = L = Z 2 . Trong trng hp ny, cc php ton m v
gii m l php cng theo modulo 2.
e z (x ) = x + z mod 2 v d z (y ) = y z mod 2

Nu ta coi "0" biu th gi tr "sai" v "1" biu th gi tr


"ng" trong i s Boolean th php cng theo modulo 2 s ng
vi php hoc c loi tr. Bi vy, php m (v gii m ) d dng
thc hin bng mch cng.
Ta xem xt mt phng php to mt dng kha (ng b)
khc. Gi s bt u vi (k1 , K, k m ) v z i = k i , 1 i m (cng
ging nh trc y), tuy nhin by gi ta to dng kha theo mt
quan h quy tuyn tnh cp m:
zi +m =

m 1

c jz i + j

j= 0

mod 2

trong c 0 , K , c m 1 Z 2 l cc hng s cho trc.


Nhn xt:

Php quy c ni l c bc m v mi s hng ph thuc


vo m s hng ng trc. Php quy ny l tuyn tnh bi v

Chng 3: Mt m c in

95

Z i + m l mt hm tuyn tnh ca cc s hng ng trc. Ch ta

c th ly c 0 = 1 m khng lm mt tnh tng qut. Trong trng


hp ngc li, php quy s c bc m - 1.
y kha k gm 2m gi tr k1 , K, k m , c 0 , K, c m1 . Nu

(k1 , K, k m ) = (0, K, 0)

th dng kha s cha ton cc s 0. D

nhin phi trnh iu ny v khi bn m s ng nht vi bn


r. Tuy nhin, nu chn thch hp cc hng s c 0 , K , c m 1 th mt
vector khi u bt k khc (k1 , K, k m ) s to nn mt dng kha
c chu k 2 m 1 . Bi vy, mt kha ngn s to nn mt dng
kha c chu k rt ln. y l mt tnh cht rt ng lu tm v
ta s thy phn sau, mt m Vigenre c th b thm nh tn
dng yu t dng kha c chu k ngn.
Sau y l mt v d minh ha:
V d 3.13:

Gi s m = 4 v dng kha c to bng quy tc:


z i +4 = z i + z i +1 mod 2

Nu dng kha bt u mt vector bt k khc vi vector

(0, 0, 0, 0)

th ta thu c dng kha c chu k 15. V d bt u

bng vector (1, 0, 0, 0 ) , dng kha s l:


1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1
Mt vector khi u khc khng bt k khc s to mt hon
v vng (cyclic) ca cng dng kha.
Mt hng ng quan tm khc ca phng php to dng
kha hiu qu bng phn cng l s dng b ghi dch hi tip

96

Gio trnh Mt m hc

tuyn tnh (hay LFSR). Ta dng mt b ghi dch c m tng.


Vector (k1 , K, k m ) s c dng khi to (t cc gi tr ban
u) cho thanh ghi dch. mi n v thi gian, cc php ton sau
s c thc hin ng thi.
1. k 1 c tnh ra dng lm bit tip theo ca dng kha.
2. k 2 , K, k m s c dch mt tng v pha tri.
3. Gi tr mi ca k m s c tnh bng:
m 1

c jk j + 1

j= 0

(y l hi tip tuyn tnh).


Ta thy rng, thao tc tuyn tnh s c tin hnh bng
cch ly tn hiu ra t mt s tng nht nh ca thanh ghi (c
xc nh bi cc hng s c j c gi tr "1") v tnh tng theo modulo
2 (l php hoc loi tr). Hnh 3.9 cho m t ca LFSR dng
to dng kha cho v d 3.13.

k1

k2

k3

k4

Hnh 3.9: Thanh ghi dch hi tip tuyn tnh (LFSR)

Mt v d v m dng khng ng b l m kha t sinh


c cho hnh 3.10. C nhiu kh nng mt m ny do
Vigenre xut.

Chng 3: Mt m c in

97

Cho P = C = k = L = Z26
Cho z1 = k v zi = xi-1 (i 2)
Vi 0 z 25, ta xc nh
ez(x) = x + z mod 26
dz(y) = y - z mod 26
(x, y) Z26

Hnh 3.10: Mt m kha t sinh

L do s dng thut ng "kha t sinh" l ch bn r c


dng lm kha (ngoi "kha khi thy" ban u k).
Sau y l mt v d minh ha.
V d 3.14:

Gi s kha l k = 8 v bn r l rendezvous. Trc tin, ta


bin i bn r thnh dy cc s nguyn:
17 4 13 3 4 25 21 14 20 18
Dng kha nh sau:
8 17 4 13 3 4 25 21 14 20
By gi ta cng cc phn t tng ng ri rt gn theo
modulo 26:
25 21 17 16 7 3

20

12

Bn m dng k t l: ZVRQHDUJIM.
By gi ta xem Alice gii m bn m ny nh th no. Trc
tin, Alice bin i xu k t thnh dy s:
25

21

17

16

20

12

98

Gio trnh Mt m hc

Sau c ta tnh:
x1 = d 8 (25 ) = 25 8 mod 26 = 17

x 2 = d17 (21) = 21 17 mod 26 = 4

v c tip tc nh vy. Mi khi Alice nhn c mt k t


ca bn r, c ta s dng n lm phn t tip theo ca dng kha.
D nhin l m dng kha t sinh l khng an ton do ch c
26 kha.
3.9. Chun m d liu

3.9.1. M u

Ngy 15/5/1973. y ban Tiu chun quc gia M cng b


mt khuyn ngh cho cc h mt trong H s qun l ca Lin
bang. iu ny cui cng dn n s pht trin ca Chun m
d liu (DES) v n tr thnh mt h mt c s dng rng
ri nht trn th gii. DES c IBM pht trin v c xem nh
mt ci bin ca h mt LUCIPHER. DES c cng b ln u
tin trong H s Lin bang vo ngy 17/3/1975. Sau nhiu cuc
tranh lun cng khai, DES c chp nhn chn lm chun
cho cc ng dng khng c coi l mt vo ngy 5/01/1977. K t
c 5 nm mt ln, DES li c y ban Tiu chun Quc gia
xem xt li. Ln i mi gn y nht ca DES l vo thng
01/1994 v tip l nm 1998. Vo nm 2001 chun mt m tin
tin (AES) c chp nhn thay th cho DES.
3.9.2. M t DES

M t y ca DES c nu trong Cng b s 46 v cc


chun x l thng tin Lin bang (M) vo ngy 15/01/1977. DES

Chng 3: Mt m c in

99

m ho mt xu bit x ca bn r di 64 bng mt kha 54 bit.


Bn m nhn c cng l mt xu bit c di 64. Trc ht ta
m t mc cao v h thng.
Thut ton tin hnh theo 3 giai on:
1. Vi bn r cho trc x, mt xu bit x 0 s c xy dng
bng cch hon v cc bit ca x theo php hon v c nh ban u
IP. Ta vit:
x0 = IP(x) = L0R0, trong L0 gm 32 bit u v R0 l 32 bit cui.
2. Sau tnh ton 16 ln lp theo mt hm xc nh. Ta s
tnh L i R i , 1 i 16 theo quy tc sau:
L i = R i 1

R i = L i 1 f (R i 1 , k i )

trong k hiu php hoc loi tr ca hai xu bit (cng


theo modulo 2). f l mt hm m ta s m t sau, cn
k1 , k 2 , K, k16 l cc xu bit di 48 c tnh nh hm ca kha

k (trn thc t mi k i l mt php chn hon v bit trong k).


k1 , k 2 , K, k16 s to thnh bng kha. Mt vng ca php m

ho c m t trn hnh 3.9.


Li-1

R i-1

Li

Ki

Ri

Hnh 3.11: Mt vng ca DES

100

Gio trnh Mt m hc

3. p dng php hon v ngc IP 1 cho xu bit R16 L16 , ta


thu c bn m y. Tc l y = IP 1 (R16 L 16 ) . Hy ch th t
o ca L 16 v R16 .
Hm f c hai bin vo: bin th nht A l xu bit di 32,
bin th hai J l mt xu bit di 48. u ra ca f l mt xu bit
di 32. Cc bc sau c thc hin:
1. Bin th nht A c m rng thnh mt xu bit di
48 theo mt hm m rng c nh E.(EA) gm 32 bit ca A (c
hon v theo cch c nh) vi 16 bit xut hin hai ln.
2. Tnh E(A ) J v vit kt qu thnh mt chui 8 xu mi
xu l 6 bit = B1B 2 B 3 B 4 B 5 B 6 B 7 B 8 .
3. Bc tip theo dng 8 bng S1 , S 2 , K, S8 (c gi l cc
hp S). Vi mi Si l mt bng 416 c nh c cc hng l cc s
nguyn t 0 n 15. Vi xu bit c di 6 (k hiu

Bi = b1b 2 b 3 b 4 b 5 b 6 ), ta tnh S j (B j ) nh sau: hai bit b1b 6 xc nh

biu din nh phn ca hng r ca S j (0 r 3 ) v bn bit

(b 2 b3b 4 b5 )

xc nh biu din nh phn ca ct c ca

S j (0 c 15 ) . Khi , S j (B j ) s xc nh phn t S j (r, c ) ; phn t

ny vit di dng nh phn l mt xu bit c di 4. (Bi vy,


mi S j c th c coi l mt hm m m u vo l mt xu bit
c di 2 v mt xu bit c di 4, cn u ra l mt xu bit c
di 4). Bng cch tng t tnh cc C j = S j (B j ), 1 j 8 .

4. Xu bit C = C1C 2 KC8 c di 32 c hon v theo php


hon v c nh P. Xu kt qu l P (C) c xc nh l f (A, J ) .

Chng 3: Mt m c in

101
J

A
E
E(A)
B1

B2

B3

B4

B5

B6

B7

B8

S1

S2

S3

S4

S5

S6

S7

S8

c1

c2

c3

c4

c5

c6

c7

c8

f(A, J)

Hnh 3.12: Hm f ca DES

Hm f c m t trong hnh 3.12. Ch yu n gm mt php


th (s dng hp S), tip sau l php hon v P. 16 php lp
ca f s to nn mt h mt tch nu nh phn 2.5.
Trong phn cn li ca mc ny, ta s m t hm c th
c dng trong DES. Php hon v ban u IP nh sau:
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

102

Gio trnh Mt m hc

Bng ny c ngha l bit th 58 ca x l bit u tin ca


IP(x); bit th 50 ca x l bit th hai ca IP(x),...
Php hon v ngc IP 1 l:
IP -1
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

Hm m rng E c xc nh theo bng sau:


Bng chn E bit
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

Tm hp S l:
S1
14

13

15

4
15

15

11

10

12

4 14

13

1 10

12

11

14

8 13

11 15

12

10

12

11

14

10

6 13

Chng 3: Mt m c in

103
S2

15

13

0
13

14

11

13

12

10

7 15

14

12

10

11

14

11 10

4 13

8 12

15

10

11

12

14

11

15

S3
10

14

15

13 12

13

10

5 14

12

11

15

13

15

11

2 12

10

14

10

13

15 14

11

12

S4
7

13

14

10

11

12

15

13

11

15

12

10

14

10

12

11

13 15

14

15

10

13

11

12

14

S5
2

12

10

11

15

13

14

0 15

14 11

12

13

11 10

13

15

11

12

14

13

6 15

10

12

14

10

14

15

11

13 14

0 11

11

13

S6
12

10

15

13

10 15

12

10

1 13

15 10

11

14

14

15

8 12

12

S7
4

11

13

11

11

11

13

14 15

13

12

10

10

14

12

15

13 12

14

10

15

4 10

15

14

12

7
8

104

Gio trnh Mt m hc
S8
13

15

11

10

14

12

15 13

10

12

11

14

11

12

14

10

13

15

14

10

8 13

15

12

11

V php hon v P c dng:


P
16

20

21

29

12

28

17

15

23

26

18

31

10

32

27

19

13

30

22

11

25

Cui cng, ta cn m t vic tnh ton bng kha t kha k.


Trn thc t, k l mt xu bit di 64, trong 56 bit l kha v
8 bit kim tra tnh chn l nhm pht hin sai. Cc bit cc v
tr 8, 16,..., 64 c xc nh sao cho mi byte cha mt s l cc
s "1". Bi vy, mt sai st n l c th pht hin c trong
mi nhm 8 bit. Cc bit kim tra b b qua trong qu trnh tnh
bng kha.
1. Vi mt kha k = 64 bit cho trc, ta loi b cc bit kim
tra tnh chn l v hon v cc bit cn li ca k theo php hon v
c nh PC-1. Ta vit:
PC 1(k ) = C 0 D0

2. Vi i thay i t 1 n 16:

Chng 3: Mt m c in

105

Ci = LSi (C i 1 )

D i = LSi (D i 1 )

Vic tnh bng kha c m t trn hnh 3.13.


K

PC - 1

C0

D0

LS1

LS1

C0

D0

LS16

LS16

C16

D16

PC - 2

K1

PC - 2

K16

Hnh 3.13: Tnh bng kha DES

Cc hon v PC-1 v PC-2 c dng trong bng kha l:


PC-1
57

49

41

33

25

17

58

50

42

34

26

18

10

59

51

43

35

27

19

11

60

52

44

36

63

55

47

39

31

23

15

62

54

46

38

30

22

14

61

53

45

37

29

21

13

28

20

12

106

Gio trnh Mt m hc
PC-2
14

17

11

24

28

15

21

10

23

19

12

26

16

27

20

13

41

52

31

37

47

55

30

40

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

By gi ta s a ra bng kha kt qu. Nh ni trn,


mi vng s dng mt kha 48 bit gm 48 bit nm trong K. Cc
phn t trong cc bng di y biu th cc bit trong K trong cc
vng kha khc nhau.
Vng 1
10 51 34 60 49 17 33 57 2 9 19 42
3 35 26 25 44 58 59 1 36 27 18 41
22 28 39 54 37 4 47 30 5 53 23 29
61 21 38 63 15 20 45 14 13 62 55 31

Vng 2
2 43 26 52 41 9 25 49 59 1 11 34
60 27 18 17 36 50 51 58 57 19 10 33
14 20 31 46 29 63 39 22 28 45 15 21
53 13 30 55 7 12 37 6 5 54 47 23

Vng 3
51 27 10 36 25 58 9 33 43 50 60 18
44 11 2

1 49 34 35 42 41 3 59 17

61 4 15 30 13 47

23 6 12 29 62 5

37 28 14 39 54 63 21 53 20 38 31 7

Chng 3: Mt m c in

107
Vng 4

35 11 59 49 9 42 58 17 27 34 44 2
57 60 51 50 33 18 19 26 25 52 43 1
45 55 62 14 28 31 7 53 63 13 46 20
21 12 61 23 38 47 5 37 4 22 15 54
Vng 5
19 60 43 33 58 26 42 1 11 18 57 51
41 44 35 34 17

3 10

36 27 50

29 39 46 61 12 15 54 37 47 28 30 4
5 63 45

7 22 31 20 21 55

62 38

Vng 6
3 44 27 17 42 10 26 50 60 2 41 35
25 57 19 18 1 51 52 59 58 49 11 34
13 23 30 45 63 62 38 21 31 12 14 55
20 47 29 54

6 15

39 53 46 22

Vng 7
52 57 11 1 26 59 10 34 44 51 25 19
9 41 3 2 50 35 36 43 42 33 60 18
28 7 14 29 47 46 22 5 15 63 61 39
4 31 13 38 53 62 55 20 23 37 30 6
Vng 8
36 41 60 50 10 43 59 18 57 35 9 3
58 25 52 51 34 19 49 27 26 17 44 2
12 54 61 13 31 30 6 20 62 47 45 23
55 15 28 22 37 46 39 4

7 21 14 53

Vng 9
57 33 52 42 2 35 51 10 49 27 1 60
50 17 44 43 26 11 41 19 18 9 36 59
4 46 53 5 23 22 61 12 54 39 37 15
47 7 20 14 29 38 31 63 62 13 6 45

108

Gio trnh Mt m hc
Vng 10
41 17 36 26 51 19 35 59 33 11
34

57 27 10 60 25 3

55 30 37 20
31 54

50 44

58 49 43

45 63 38 23 21 62

4 61 13 22 15 47 46 28 53 29
Vng 11

25 1 49 10 35 3 19 43 17 60 34 57
18 50 41 11 59 44 9 52 51 42 33 27
39 14 21 4 54 53 29 47 22 7 5 46
15 38 55 45 28 6 62 31 30 12 37 13
Vng 12
9 50 33 59 19 52 3 27 1 44 18 41
2 34 25 60 43 57 58 36 35 26 17 11
23 61 5 55 38 37 13 31

6 54 20 30

62 22 39 29 12 53 46 15 14 63 21 28
Vng 13
58 34 17 43 3 36 52 11 50 57 2 25
51 18

9 44 27 41 42 49 19 10 1 60

7 45 20 39 22 21 28 15 53 38 4 14
46 6 23 13 63 37 30 62 61 47 5 12
Vng 14
42 18 1 27 52 49 36 60 34 41 51 9
35 2 58 57 11 25 26 33

3 59 50 44

54 29 4 23 6 5 12 62 37 22

55

61

30 53 7 28 47 21 14 46 45 31 20 63
Vng 15
26 2 50 11 36 33 49 44 18 25 35 58
19 51 42 41 60 9 10 17 52 43 34 57
38 13 55 7 53 20 63 46 21 6

39 45

14 37 54 12 31 5 61 30 29 15 4 47

Chng 3: Mt m c in

109
Vng 16

18 59 42 3 57 25 41 36 10 17 27 50
11 43 34 33 52 1 2 9 44
30 5 47 62 45 12 55 38

35

26

49

13 61 31 37

6 29 46 4 23 28 53 22 21

63

39

Php gii m c thc hin nh dng cng thut ton nh


php m nu u vo l y nhng dng bng kha theo th t
ngc li K16,...K1. u ra ca thut ton s l bn r x.
3.9.2. Mt v d v DES

Sau y l mt v d v php m DES. Gi s ta m bn r


( dng m hexa - h m 16):
0123456789ABCDEF
Bng cch dng kha
123457799BBCDFF1
Kha dng nh phn (khng cha cc bit kim tra) l:
00010010011010010101101111001001101101111011011111
111000
S dng IP, ta thu c L 0 v R 0 ( dng nh phn) nh sau:
L0 = 11001100000000001100110011111111
L1 = R0 = 11110000101010101111000010101010

Sau thc hin 16 vng ca php m nh sau:

110

Gio trnh Mt m hc
E(R0) = 011110100001010101010101011110100001010101010101
K1 = 000110110000001011101111111111000111000001110010
E(R0) K1 = 011000010001011110111010100001100110010100100111
S-box outputs 01011100100000101011010110010111
f(R0,K1) = 00100011010010101010100110111011
L2 = R1 = 11101111010010100110010101000100
E(R1) = 011101011110101001010100001100001010101000001001
K2 = 011110011010111011011001110110111100100111100101
E(R1) K2 = 000011000100010010001101111010110110001111101100
S-box outputs 11111000110100000011101010101110
f(R1,K2) = 00111100101010111000011110100011
L3 = R2 = 11001100000000010111011100001001

E(R2) = 111001011000000000000010101110101110100001010011
K3 = 010101011111110010001010010000101100111110011001
E(R2) K3 = 101100000111110010001000111110000010011111001010
S-box outputs 00100111000100001110000101101111
f(R2,K3) = 01001101000101100110111010110000
L4 =R3 = 10100010010111000000101111110100
E(R3) =01010000010000101111100000000101011111111010100
K4 = 011100101010110111010110110110110011010100011101
E(R3) K4 = 001000101110111100101110110111100100101010110100
S-box outputs 00100001111011011001111100111010
f(R3,K4) = 10111011001000110111011101001100
L5 = R4 = 01110111001000100000000001000101

E(R4) = 101110101110100100000100000000000000001000001010
K5 = 011111001110110000000111111010110101001110101000
E(R4) K5 = 110001100000010100000011111010110101000110100010
S-box outputs 01010000110010000011000111101011
f(R4,K5) = 00101000000100111010110111000011
L6 = R5 = 10001010010011111010011000110111

Chng 3: Mt m c in
E(R5) = 110001010100001001011111110100001100000110101111
K6 = 011000111010010100111110010100000111101100101111
E(R5) K6 =101001101110011101100001100000001011101010000000
S-box outputs 01000001111100110100110000111101
f(R5,K6) = 10011110010001011100110100101100
L7 = R6 = 11101001011001111100110101101001

E(R6) = 111101010010101100001111111001011010101101010011
K7 = 111011001000010010110111111101100001100010111100
E(R6) K7 = 000110011010111110111000000100111011001111101111
S- box outputs 00010000011101010100000010101101
f(R6,K7) = 10001100000001010001110000100111
L8 = R7 = 00000110010010101011101000010000

E(R7) = 000000001100001001010101010111110100000010100000
K8 = 111101111000101000111010110000010011101111111011
E(R7) K8 = 111101110100100001101111100111100111101101011011
S-box outputs 01101100000110000111110010101110
f(R7,K8) = 00111100000011101000011011111001
L9 = R8 = 11010101011010010100101110010000

E(R8) = 011010101010101101010010101001010111110010100001
K9 = 111000001101101111101011111011011110011110000001
E(R8) K9 = 100010100111000010111001010010001001101100100000
S-box outputs 00010001000011000101011101110111
f(R8,K9) = 00100010001101100111110001101010
L10 = R9 = 00100100011111001100011001111010

E(R9) = 000100001000001111111001011000001100001111110100
K10 = 101100011111001101000111101110100100011001001111
E(R9) K10 = 101000010111000010111110110110101000010110111011
S-box outputs 11011010000001000101001001110101
f(R9,K10) = 01100010101111001001110000100010
L11 = R10 = 10110111110101011101011110110010

111

112

Gio trnh Mt m hc
E(R10) = 010110101111111010101011111010101111110110100101
K11 = 001000010101111111010011110111101101001110000110
E(R10) K11 = 011110111010000101111000001101000010111000100011
S-box outputs

01110011000001011101000100000001

f(R10,K11) = 11100001000001001111101000000010
L12 = R11 = 11000101011110000011110001111000
E(R11) = 011000001010101111110000000111111000001111110001
K12 = 011101010111000111110101100101000110011111101001
E(R11) K12 = 000101011101101000000101100010111110010000011000
S-box outputs 01110011000001011101000100000001
f(R11,K12) = 11000010011010001100111111101010
L13 = R12 = 01110101101111010001100001011000
E(R12) = 001110101011110111111010100011110000001011110000
K13 = 100101111100010111010001111110101011101001000001
E(R12) K13 = 101011010111100000101011011101011011100010110001
S-box outputs 10011010110100011000101101001111
f(R12,K13) = 11011101101110110010100100100010
L14 = R13 = 00011000110000110001010101011010
E(R13) = 000011110001011000000110100010101010101011110100
K13 = 010111110100001110110111111100101110011100111010
E(R13) K14 = 010100000101010110110001011110000100110111001110
S-box outputs 01100100011110011001101011110001
f(R13,K14) = 10110111001100011000111001010101
L15 = R14 = 11000010100011001001011000001101
E(R14) = 111000000101010001011001010010101100000001011011
K15 = 101111111001000110001101001111010011111100001010
E(R14) K15 = 010111111100010111010100011101111111111101010001
S-box outputs 10110010111010001000110100111100
f(R14,K15) = 01011011100000010010011101101110
R15 = 01000011010000100011001000110100

Chng 3: Mt m c in

113

E(R15) = 001000000110101000000100000110100100000110101000
K16 = 110010110011110110001011000011100001011111110101
E(R15) K16 = 111010110101011110001111000101000101011001011101
S-box outputs 10100111100000110010010000101001
f(R15,K16) = 11001000110000000100111110011000
R16 = 00001010010011001101100110010101

Cui cng, p dng IP 1 vo L16 , R16 ta nhn c bn m


hexa l:
85E813540F0AB405
3.9.3. Mt s kin tho lun v DES

Khi DES c xut nh mt chun mt m, c rt


nhiu kin ph phn. Mt l do phn i DES c lin quan n
cc hp S. Mi tnh ton lin quan n DES ngoi tr cc hp S
u tuyn tnh, tc 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 hp S - cha ng thnh phn phi tuyn ca h mt
l yu t quan trng nht i vi mt ca h thng (Ta thy
l cc h mt tuyn tnh - chng hn nh Hill - c th d dng b
thm m khi b tn cng bng bn r bit). Tuy nhin, tiu
chun xy dng cc hp S khng c bit y . Mt s ngi
gi l cc hp S phi cha cc "ca sp" c giu kn, cho
php Cc An ninh Quc gia M (NSA) gii m c cc thng bo
nhng vn gi c mc an ton ca DES. D nhin ta khng
th bc b c khng nh ny, tuy nhin khng c mt chng c
no c a ra chng t rng trong thc t c cc ca sp
nh vy.
Nm 1976 NSA khng nh rng, cc tnh cht sau ca
hp S l tiu chun thit k:

114

Gio trnh Mt m hc

- Mi hng trong mi hp S l mt hon v ca cc s nguyn


0, 1, ... , 15.
- Khng mt hp S no l mt hm Affine hoc l hm tuyn
tnh cc u vo ca n.
- Vic thay i mt bit vo ca S phi to nn s thay i t
nht l hai bit ra.
- i vi hp S bt k v vi u vo x bt k S(x ) v
S(x 001100 ) phi khc nhau ti thiu l hai bit (trong x l

xu bit di 6).
Hai tnh cht khc nhau sau y ca cc hp S c th coi l
c rt ra t tiu chun thit k ca NSA.
- Vi hp S bt k, u vo x bt k v vi
e, f { 0, 1 } : S(x ) S(x 11ef 00 ) .

- Vi hp S bt k, nu c nh mt bit vo v xem xt gi tr
ca mt bit u ra c nh th cc mu vo bit ra ny bng 0 s
xp x bng s mu ra bit bng 1. (Ch rng, nu c nh
gi tr bit vo th nht hoc bit vo th 6 th c 16 mu vo lm
cho mt bit ra c th bng 0 v c 16 mu vo lm cho bit ny
bng 1. Vi cc bit vo t bit th hai n bit th 5 th iu ny
khng cn ng na. Tuy nhin, phn b kt qu vn gn vi
phn b u. Chnh xc hn, vi mt hp S bt k, nu ta c nh
gi tr ca mt bit vo bt k th s mu vo lm cho mt bit ra
c nh no c gi tr 0 (hoc 1) lun nm trong khong t 13
n 19).
Ngi ta khng bit r l liu c cn mt chun thit k no
y hn c dng trong vic xy dng hp S hay khng.

Chng 3: Mt m c in

115

S phn i xc ng nht v DES chnh l kch thc ca


khng gian kha: 256 l qu nh m bo an ton thc s.
Nhiu thit b chuyn dng c xut nhm phc v cho
vic tn cng vi bn r bit. Php tn cng ny ch yu thc
hin tm kha theo phng php vt cn. Tc vi bn r x 64 bit
v bn m y tng ng, mi kha u c th c kim tra cho ti
khi tm c mt kha k tha mn e k (x ) = y . (Cn ch l c th
c nhiu hn mt kha k nh vy).
Ngay t nm 1977, Diffie v Hellman gi rng c th
xy dng mt chip VLSI (mch tch hp mt ln) c kh nng
kim tra c 106 kha/giy. Mt my c th tm ton b khng
gian kha c 106 trong khong 1 ngy.
Trong cuc hi tho ti hi ngh CRYPTO'93, Michael
Wiener a ra mt thit k rt c th v my tm kha. My
ny xy dng trn mt chip tm kha, c kh nng thc hin ng
thi 16 php m v tc ti 5107 kha/giy. Vi cng ngh hin
nay, chi ph ch to khong 10,5USD/chip. Gi ca mt khung
my cha 5760 chip vo khong 100.000USD v nh vy n c
kh nng tm ra mt kha ca DES trong khong 1,5 ngy. Mt
thit b dng 10 khung my nh vy c gi chng 1.000.000USD
s gim thi gian tm kim kha trung bnh xung cn 3,5 gi.
3.9.4. DES trong thc t
Mc d vic m t DES kh di dng song ngi ta c th

thc hin DES rt hu hiu bng c phn cng ln phn mm.


Cc php ton duy nht cn c thc hin l php hoc loi tr
cc xu bit. Hm m rng E, cc hp S, cc hon v IP v P v vic

116

Gio trnh Mt m hc

tnh ton cc gi tr K 1 , K, K 16 u c th thc hin c cng lc


bng tra bng (trong phn mm) hoc bng cch ni cng chng
thnh mt mch.
Cc ng dng phn cng hin thi c th t c tc m
ho cc nhanh. Cng ty Digital Equipment thng bo ti hi
ngh CRYPTO'92 rng h ch to mt chip c 50 ngn
tranzistor c th m ho vi tc 1 Gbit/s bng cch dng xung
nhp c tc 250 MHz. Gi ca chip ny vo khong 300USD.
Ti nm 1991 c 45 ng dng phn cng v chng trnh c s
ca DES c y ban Tiu chun Quc gia M (NBS) chp thun.
Mt ng dng quan trng ca DES l trong giao dch ngn
hng M - (ABA) DES c dng m ho cc s nh danh c
nhn (PIN) v vic chuyn ti khon bng my th qu t ng
(ATM). DES cng c H thng chi tr gia cc nh bng ca
Ngn hng hi oi (CHIPS) dng xc thc cc giao dch vo
khong trn 1,5 nghn t USD/tun. DES cn c s dng rng
ri trong cc t chc chnh ph. Chng hn nh B nng lng,
B T php v H thng d tr lin bang.
3.9.4.1. Cc ch hot ng ca DES

C 4 ch lm vic c pht trin cho DES: Ch


quyn m in t (ECB), ch phn hi m (CFB), ch lin
kt khi m (CBC) v ch phn hi u ra (OFB). Ch ECB
tng ng vi cch dng thng thng ca m khi: vi mt dy
cc khi bn r cho trc x 1 , x 2 , K (mi khi c 64 bit), mi x i s
c m ho bng cng mt kha k to thnh mt chui cc
khi bn m y1 , y 2 , K theo quy tc y i = e k (y i 1 x i ), i 1 . Vic s
dng ch CBC c m t trn hnh 3.14.

Chng 3: Mt m c in

117

Trong cc ch OFB v CFB dng kha c to ra s c


cng mod 2 vi bn r (tc l n hot ng nh mt h m dng,
xem phn 3.8). OFB thc s l mt h m dng ng b: dng
kha c to bi vic m lp vector khi to 64 bit (vector IV). Ta
xc nh z 0 = IV v ri tnh dng kha z1 , z 2 , K theo quy tc
z i = e k (z i 1 ), i 1 . Dy bn r x1 , x 2 , K sau s c m ho

bng cch tnh y i = x i z i , i 1 .


x1

x2

ek

ek

y1

y2

y1

y2

ek

ek

x1

x2

IV = y0
M ha
(Encrypt)

IV = y0
Gii m
(Decrypt)

Hnh 3.14: Ch CBC

Trong ch CFB, ta bt u vi y 0 = IV (l mt vector khi


to 64 bit) v to phn t z i ca dng kha bng cch m ho
khi bn m trc . Tc z i = e k (y i 1 ), i 1 . Cng nh trong ch

118

Gio trnh Mt m hc

OFB: y i = x i z i , i 1 . Vic s dng CFB c m t trn


hnh 3.15 (ch rng hm m DES e k c dng cho c php m
v php gii m cc ch CFB v OFB).
x1

IV = y0

ek

M ha
(Encrypt)

IV = y0

ek

y1

y2

y1

y2

ek

M ha
(Encrypt)

x2

ek

x1

x2

Hnh 3.15: Ch CFB

Cng cn mt s bin tu ca OFB v CFB c gi l cc


ch phn hi k bit (1 < k < 64 ) . y, ta m t cc ch
phn hi 64 bit. Cc ch phn hi 1 bit v 8 bit thng c
dng trong thc t cho php m ho ng thi 1 bit (hoc byte)
s liu.
Bn ch cng tc c nhng u, nhc im khc nhau.
ch ECB v OFB, s thay i ca mt khi bn r x i 64 bit s
lm thay i khi bn m y i tng ng, nhng cc khi bn m
khc khng b nh hng. Trong mt s tnh hung, y l mt
tnh cht ng mong mun. V d, ch OFB thng c dng
m ha khi truyn v tinh.

Chng 3: Mt m c in

119

Mt khc cc ch CBC v CFB, nu mt khi bn r x i


b thay i th y i v tt c cc khi bn m tip theo s b nh
hng. Nh vy cc ch CBC v CFB c th c s dng rt
hiu qu cho mc ch xc thc. c bit hn, cc ch ny c
th c dng to m xc thc bn tin (MAC - message
authentication code). MAC c gn thm vo cc khi bn r
thuyt phc Bob tin rng, dy bn r thc s l ca Alice m
khng b Oscar gi mo. Nh vy MAC m bo tnh ton vn
(hay tnh xc thc) ca mt bn tin (nhng tt nhin l MAC
khng m bo mt).
Ta s m t cch s dng ch BCB to ra mt MAC. Ta
bt u bng vector khi to IV cha ton s 0. Sau dng ch
CBC to cc khi bn m y1 , K, y n theo kha K. Cui cng
ta xc nh MAC l yn. Alice s pht i dy cc khi bn r
x1 , K, x n cng vi MAC. Khi Bob thu c x1. . .xn anh ta s khi

phc li y1 , K, y n bng kha K b mt v xc minh xem liu y n c


ging vi MAC m mnh thu c hay khng?
Nhn thy Oscar khng th to ra mt MAC hp l do anh ta
khng bit kha K m Alice v Bob ang dng. Hn na Oscar
thu chn c dy khi bn r x1 , K, x n v thay i t nhiu ni
dung th th chc chn l Oscar khng th thay i MAC c
Bob chp nhn.
Thng thng ta mun kt hp c tnh xc thc ln bo
mt. iu c th thc hin nh sau: Trc tin Alice dng kha
K1 to MAC cho x1 , K, x n . Sau Alice xc nh x n +1 l MAC
ri m ho dy x1 , K , x n +1 bng kha th hai K2 to ra bn

120

Gio trnh Mt m hc

m y 1 , K, y n +1 . Khi Bob thu c y1 , K, y n +1 , trc tin Bob s


gii m (bng K 2 ) v kim tra xem x n +1 c phi l MAC i vi
dy x1 , K, x n dng K1 hay khng.
Ngc li, Alice c th dng K1 m ho x1 , K, x n v to ra
c y1 , K, y n , sau dng K 2 to MAC y n +1 i vi dy
y1 , K, y n . Bob s dng K 2 xc minh MAC v dng K1 gii

m y1 , K, y n .
3.9.4.2. M ngun DES (Xem ph lc 3)

Bi tp
1. Thm m thu c bn m sau:
PSZI QIERW RIZIV LEZMRK XS WEC CSY EVI WSVVC
Bit rng y l bn m ca mt Xeda vi kha k cha bit.
Hy dng phng php tm kha vt cn tm c bn r ting
Anh tng ng.
Ghi ch: Phng php tm kha vt cn l phng php th

gii m bng mi kha c th c.


2. Di y l 4 bn m thu c t m thay th. Mt bn
thu c t m Vigenre, mt t mt m Affine v mt bn cha
xc nh. Nhim v y l xc nh bn r trong mi trng hp.
Hy m t cc bc cn thc hin gii m mi bn m (bao
gm tt c cc phn tch thng k v cc tnh ton cn thc hin).
Hai bn r u ly t cun "The Diary of Samuel
Marchbanks" ca Robertson Davies, Clack Iriwin,1947; bn r th

Chng 3: Mt m c in

121

t ly t "Lake Wobegon Days" ca Garrison Keillor, Viking


Penguin, 1985.
a. M thay th

EMGLOSUDCGDNCUSWYSFHNSFCYKDPUMLWGYICO|
XYSIPJCK
QPKUGKMGOUCGINCGACKSNISACYKZSCKXEOCKSH
YSXCG
OIDPKZCNKSHICGIWYGKKGKGOLDSILKGOIUSIGLED
SPWZU
GFZCCNDGYYSFUSZCNXEOJNCGYEOWEUPXEZGACG
NFGLKNS
ACIGOIYCKXOUOUZCFZCCNDGYYSFEUEKUZCSOCFZ
CCNC
IACZEJNCSHFZEJZEGMXCYHCIUMGKUSY
Ch dn: F s gii m thnh w.
b. H m Vigenre

KCCPKBGUFDPHQTYAVINRRTMVGRKDNBVFETDGIL
TXRGUD
DKOTFMBPVGEGLTGCKQRACQCWDNAWCRXLZAKFTL
EWRPTVC
QKYVXCHKFTPONCQQRHJVAJUWETMCMSPKQDYHJV
DAHCTRL
SVSKCGCZQDZXGSFRLSWCWSJTBHAFSLASPRJAHKJ
RJUMV

122

Gio trnh Mt m hc

GKMITZHFPDLSPZLVLGWTFPLKKEBDPGCEBSHCTJR
WXBAFS
PEZQNRWXCVYCGAONWDDKACKAWBBIKFTLOVKCG
GHJVLNHI
FFSQESVYCLACNVRWBBIREPBBVFEXOSCDYGZWPFD
TKFQLY
CWHJVTNHIQ/BTKH/VNPIST
c. H m Affine

KQEREJEBCPPCJCRKIEACUZBKRVPKRBCIBQCARBJC
VFCUP
KRLOFKPACUZQEPBKRXPEIIEABDKPBCPFCDCCAFIE
ABKP
BCPFEQPKAZBKRHALBKAPCCIBURCCDKDCCJC/DFUI
XPAFF
ERBICZDFKABICBBENEFCUPLCVKABPCYDCCDPKBC
OCPERK
IVKSCPICBRKLJPKABL
d. H m cha xc nh c

BNVSNSIHQCEELSSKKYERIFJKXUMBGVKAMQLJTYA
VFBKVT
DVBPVVRJYYLAOKYMPQSCGDLFSRLLPROYGESEBUU
ALRWXM
MASAZLGLEFJBZAVVPXWI
CGJXASCBYEHOSNMULKCEAHTQ

Chng 3: Mt m c in

123

OKMFLEBKFXLRRFDTZXCIWBJSICBGAWDVYDHAVFJ
XZIBKC
GJIWEAHTTOEWTUHKRQVVRGZBXYIREMMASCSPBN
LHJMBLR
FFJELHWEYLWISTFVVYFJCMHYUYRUFSFMGESIGRL
WALSVVM
NUHSIMYYITCCQPZSICEHBCCMZFEGVJYOCDEMMPG
HVAAUM
ELCMOEHVLTIPSUYILVGFLMVWDVYDBTHFRAYISYS
GKVSUU
HYHGGCKTMBLRX
3. a. C bao nhiu ma trn kh nghch cp 2 2 trn Z26.
b. Gi s p l s nguyn t. Hy chng t s cc ma trn
kh nghch cp 2 2 trn Zp l (p2 1)(p2 p).
Ch dn V p l s nguyn t nn Z p l mt trng. Hy s

dng khng nh sau: Mt ma trn trn mt trng l kh nghch


khi v ch khi cc hng ca n l cc vc t c lp tuyn tnh (tc
khng tn ti mt t hp tuyn tnh cc hng khc 0 m tng ca
chng l mt vc t ton s 0).
c. Vi p l s nguyn t v m l mt s nguyn m 2. Hy
tm cng thc tnh s cc ma trn kh nghch cp mm trn Zp.
4. Gi s ta bit rng bn r "conversation" s to nn bn
m "HIARRTNUYTUS" (c m theo h m Hill nhng cha
xc nh c m). Hy xc nh ma trn m ho.

124

Gio trnh Mt m hc

5. H m Affine - Hill l h m Hill c sa i nh sau:


Gi s m l mt s nguyn dng v P = C = ( Z 26 )m . Trong h mt
ny, kha K gm cc cp (L,b), trong L l mt ma trn kh
nghch cp mxm trn Z26 v b ( Z 26 )m theo cng thc y = xL + b .
Bi vy, nu L = ( l ij ) v b = ( b1 ,K, b m ) th:
l1,1 l1,2
l
l2,2
( y1,K, y m ) = ( x1,K, x m ) 2,1
.
.

l m,1 l m,2

l1,m
K l2,m
+ ( b1,K, b m )
K
.

K l m,m
K

Gi s Oscar bit bn r 1 "adisplayedequation" v bn


m tng ng l "DSRMSIOPLXLJBZULLM". Oscar cng bit
m = 3. Hy tnh kha v ch ra tt c cc tnh ton cn thit.
6. Sau y l cch thm m h m Hill s dng phng php
tn cng ch vi bn m. Gi s ta bit m = 2. Chia cc bn m
thnh cc khi c di 2 k t (cc b i). Mi b i ny l bn
m ca mt b i ca bn r nh dng mt ma trn m ho cha
bit. Hy nht ra cc b i thng gp nht trong bn m v coi
rng l m ca mt b i thng gp trong danh sch bng
1.1 (v d TH v ST). Vi mi gi nh, hy thc hin php tn
cng vi bn r bit cho ti khi tm c ma trn gii m ng.
Sau y l mt v d v bn m bn gii m theo phng
php nu:
LMQETXYEAGTXCTUIEWNCTXLZEWUAISPZYVAPEWL
MGQWVA
XFTGMSQCADAGTXLMDXNXSNPJQSYVAPRIQSMHNO
CVAXFV.

Chng 3: Mt m c in

125

7. Ta s m t mt trng hp c bit ca m hon v. Gi


s m, n l cc s nguyn dng. Hy vit bn r theo thnh tng
hng thnh mt hnh ch nht m x n. Sau to ra bn m bng
cch ly cc ct ca hnh ch nht ny V d, nu m = 4, n = 3
th ta s m ho bn r "cryptography" bng cch xy dng hnh
ch nht :
cryp
togr
aphy

Bn m s l: "CTAROPYGHPRY"
a. Hy m t cch Bob gii m mt bn m (vi m, n bit).
b. Hy gii m bn m sau: (nhn c theo phng php
nu):
MYAMRARUYIQTENCTORAHROYWSOYEOUARRGE
RNOGW
8. Hy chng minh rng php gii m DES c th thc hin
bng cch p dng thut ton m ho DES cho bn r vi bng
kha o ngc.
9. Cho DES(x,K) l php m ho DES ca bn r x vi kha
K. Gi s y = DES ( x, K ) v y ' = DES ( c ( x ) , c ( K ) ) trong c(.) k
hiu l phn b theo cc bit ca bin. Hy chng minh rng
y ' = c ( y ) (tc l nu ly phn b ca bn r v kha th bn m kt

qu cng l phn b ca bn m ban u). Ch rng kt qu


trn c th chng minh c ch bng cch s dng m t "mc
cao" ca DES - cu trc thc t ca cc hp S v cc thnh phn
khc ca h thng khng nh hng ti kt qu ny.

126

Gio trnh Mt m hc

10. M kp l mt cch lm mnh thm cho DES: vi hai


kha K1 v K 2 cho trc, ta xc nh y = eK2(eK1(x)) (d nhin y
chnh l tch ca DES vi chnh n). Nu hm m ho eK2 ging
nh hm gii m d K1 th K1 v K 2 c gi l cc kha i ngu
(y l trng hp khng mong mun i vi php m kp v bn
m kt qu li trng vi bn r). Mt kha c gi l t i ngu
nu n i ngu vi chnh n.
a. Hy chng minh rng nu C 0 gm ton cc s 0 hoc gm
ton cc s 1 v D 0 cng vy th K l t i ngu.
b. Hy t chng minh rng cc kha sau ( cho dng hexa)
l t i ngu;
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
F E E F E F E F E F E F E F E F
1 F 1 F 1 F 1 F 0 F 0 F 0 F 0 F
E 0 E 0 E 0 E 0 F 1 F 1 F 1 F 1
c. Hy chng t rng nu C 0 = 0101K 01 hoc 1010K10
( dng nh phn) th XOR cc xu bit Ci v C17-i l 111K11 , vi 1
i 16 (khng nh tng t cng ng i vi Di).

d. Hy chng t cc cp kha sau l i ngu:

E0 0 1 E0 0 1 F1 0 1 F1 0 1
FE1 FFE1 FF0 EFE0 E
E0 1 FE0 1 FFF 1 0 FF1 0

0 1 E0 0 1 E0 0 1 F1 0 1 F1
1 FFE1 FFE0 EFE0 EFE
1 FE0 1 FE0 0 EF1 0 EF1

mt m kha cng khai


4.1. gII THIU V MT M KHa CNG KHAI

Trong m hnh mt m c in trc y m hin nay ang


c nghin cu Alice (ngi gi) v Bob (ngi nhn) chn mt
cch b mt kha K. Sau dng K to lut m ha ek v lut
gii m dk. Trong h mt ny dk hoc ging ek hoc d dng nhn
c t n (v d trong h DES qu trnh gii m hon ton tng
t nh qu trnh m nhng th tc kha ngc li). Cc h mt
thuc loi ny c gi l h kha b mt, nu l ek th lm cho
h thng mt an ton.
Nhc im ca h mt ny l n yu cu phi c thng tin
trc v kha K gia Alice v Bob qua mt knh an ton trc khi
gi mt bn m bt k. Trn thc t iu ny rt kh m bo.
Chng hn khi Alice v Bob cch xa nhau v h ch c th lin
lc vi nhau bng th tn in t (Email). Trong tnh hung
Alice v Bob khng th to mt knh bo mt vi gi phi chng.
tng xy dng mt h mt kha cng khai (hay dng
chung) l tm mt h mt khng c kh nng tnh ton xc
nh d k khi bit ek. Nu thc hin c nh vy th quy tc m ek
c th c cng khai bng cch cng b n trong mt danh b

128

Gio trnh Mt m hc

(bi vy nn c thut ng h mt kha cng khai). u im ca h


mt kha cng khai l ch Alice (hoc bt k ai) c th gi mt
bn tin m cho Bob (m khng cn thng tin trc v kha
mt) bng cch dng mt m cng khai ek. Ngi nhn A s l
ngi duy nht c th gii c bn m ny bng s dng lut
gii b mt dk ca mnh.
C th hnh dung h mt ny tng t nh sau. Alice t
mt vt vo mt hp kim loi v ri kha n li bng mt kha s
do Bob li. Ch c Bob l ngi duy nht c th m c hp v
ch c anh ta mi bit t hp m ca kha s ca mnh.
tng v mt h mt kha cng khai c Diffie v
Hellman a ra vo nm 1976. Cn vic hin thc ho n th do
Rivesrt, Shamir v Adleman a ra ln u tin vo nm 1977,
h to nn h mt ni ting RSA (s c nghin cu trong
chng ny). K t cng b mt s h, mt ca chng da
trn cc bi tnh ton khc nhau. Trong , quan trng nht l cc
h mt kha cng khai sau:
- H mt RSA:
bo mt ca h RSA da trn kh ca vic phn tch
ra tha s nguyn ln. H ny s c m t trong phn 4.2.
- H mt xp ba l Merkle - Hellman:
H ny v cc h lin quan da trn tnh kh gii ca bi
ton tng cc tp con (bi ton ny l bi ton NP y - l mt
lp kh ln cc bi ton khng c gii thut c bit trong thi
gian a thc). Tuy nhin tt c cc h mt xp ba l khc nhau
u b chng t l khng mt (ngoi tr h mt Chor-Rivest).

Chng 4: Mt m kha cng khai

129

- H mt McEliece:
H ny da trn l thuyt m i s v vn cn c coi l
an ton. H mt McEliece da trn bi ton gii m cho cc m
tuyn tnh (cng l mt bi ton NP y ). H mt McEliece
c trnh by phn 4.6.
- H mt ElGamal:
H mt ElGamal da trn tnh kh gii ca bi ton
logarithm ri rc trn cc trng hu hn.
- H mt Chor-Rivest:
H mt Chor-Rivest cng c xem nh mt h mt xp ba
l. Tuy nhin n vn c coi l an ton.
- H mt trn cc ng cong Elliptic:
Cc h mt ny l bin tng ca cc h mt khc (chng hn
nh h mt ElGamal), chng lm vic trn cc ng cong Elliptic
ch khng phi l trn cc trng hu hn. H mt ny m bo
mt vi s kha nh hn cc h mt kha cng khai khc.
Mt ch quan trng l mt h mt kha cng khai khng
bao gi c th m bo c mt tuyt i (an ton v iu
kin). S d nh vy v i phng khi nghin cu mt bn m, y
c th m ln lt cc bn tin r bng lut m ho cng khai e k
cho ti khi anh ta tm c bn r duy nht x m bo y = e k (x ) .
Bn r ny chnh l kt qu gii m ca y. Bi vy, ta ch nghin
cu mt v mt tnh ton ca cc h mt ny.
Mt khi nim c ch khi nghin cu h mt kha cng khai
l khi nim v hm ca sp mt chiu. Ta s nh ngha khi
nim ny mt cch khng hnh thc.

130

Gio trnh Mt m hc
Hm m kha cng khai e k ca Bob phi l mt hm d tnh

ton. Song vic tm hm ngc (hm gii m) rt kh khn (i


vi bt k ai khng phi l Bob). c tnh d tnh ton hm ngc
thng c gi l c tnh mt chiu. Bi vy iu kin cn thit
l e k phi l hm mt chiu.
Cc hm mt chiu ng vai tr quan trng trong mt m
hc, chng rt quan trng trong cc h mt kha cng khai v
trong nhiu lnh vc khc. ng tic l mc d c rt nhiu hm
c coi l hm mt chiu nhng cho n nay vn khng tn ti
mt hm no c th chng minh c l hm mt chiu.
Sau y l mt v d v mt hm c coi l hm mt chiu.
Gi s n l tch ca hai s nguyn t ln p v q, gi s b l mt s
nguyn dng. Khi ta xc nh nh x f : Z n Z n l
f (x ) = x b mod n (vi b v n c chn thch hp th y chnh l

hm m RSA, sau ny ta s ni nhiu hn v n).


xy dng mt h mt kha cng khai th vic tm c
mt hm mt chiu vn cha . Ta khng mun e k l hm mt
chiu i vi Bob v anh ta phi c kh nng gii m cc bn tin
nhn c mt cch hiu qu. iu cn thit l Bob phi c mt
ca sp cha thng tin b mt cho php d dng tm hm ca e k .
Nh vy Bob c th gii m mt cch hu hiu v anh ta c mt
hiu bit tuyt mt no v K. Bi vy mt hm c gi l ca
sp mt chiu nu n l mt hm mt chiu v n tr nn d tnh
ngc nu bit mt ca sp nht nh.
4.2. h mt rsa

4.2.1. Thut ton 1: To kha


Tm lc: Mi u cn to mt kha cng khai v mt kha
ring tng ng theo cc bc sau:

Chng 4: Mt m kha cng khai

131

(1) To 2 s nguyn t ln ngu nhin v khc nhau p v q, p


v q c ln xp x nhau.
(2) Tnh n = p . q v (n ) = (p 1)(q 1) .
(3) Chn mt s nguyn ngu nhin e, 1 < e < , sao cho

(e , ) = 1 .
(4) S dng thut ton Euclide m rng tnh mt s
nguyn d duy nht, 1 < d < tha mn ed 1(mod ) .
(5) Kha cng khai l cp s (n , e ) . Kha ring b mt l d.
4.2.2. nh ngha
Cc s nguyn d v e trong thut ton to kha RSA c gi
l s m m ho v s m gii m. S n c gi l modulus.
4.2.3. Thut ton 2: M ha cng khai RSA
Tm lc: B m ha mt thng bo m gi cho A bn m
cn gii.
4.2.3.1. M ha
B phi thc hin:
(1) Thu nhn kha cng khai (n , e ) ca A.
(2) Biu din bn tin di dng mt s nguyn m trong
khong [0 , n 1]
(3) Tnh c = m e mod n .
(4) Gi bn m c cho A.
4.2.3.3. Gii m
Khi phc bn r m t c. A phi thc hin php tnh sau
bng cch dng kha ring m = c d mod n

132

Gio trnh Mt m hc
Chng minh hot ng gii m:
V ed 1(mod ) nn lun tn ti mt s nguyn k sao cho

ed = 1 + k . By gi nu

(m , p) = 1

theo nh l Ferma ta

c: m p1 1(mod p ) . Ly tha c hai v ca ng d thc trn vi s


m k(q 1) v ri nhn c hai v vi m ta c:
m1+k (q 1)(p1 ) m(mod p )

Mt khc nu CLN(m, p) = p th ng d thc cui cng


trn vn ng v mi v u ng d vi 0 mod p. Bi vy, trong
mi trng hp ta u c:
m ed m(mod p )

Bng lp lun tng t ta li c: m ed m(mod q )


Cui cng v p v q l cc s nguyn t khc nhau nn

( )

m ed m(mod n ) v bi vy c d m e

m(mod n ) .

4.2.4. V d
4.2.4.1. To kha
A chn cc s nguyn t

p = 2357, q = 2551

v tnh

n = p . q = 6012707 v = (p 1)(q 1) = 6007800 . A chn e = 3674911

v dng thut ton Euclide m rng tm c d = 422191 tha


mn ed 1(mod ) . Kha cng khai ca A l cp s (n = 6012707,
e = 3674911), kha b mt ca A l d = 422191.
4.2.4.2. M ha
m ha thng bo m = 5234673, B s dng thut ton ly
ly tha theo modulo tnh.
c = m e mod n = 5234673 3674911 mod 6012707 = 3650502

ri gi c cho A.

Chng 4: Mt m kha cng khai

133

4.2.4.3. Gii m
gii m bn m c, A tnh:
c d mod n = 3650502 422191 mod 6012707 = 5234673

4.2.4.4. Ch (S m vn nng)
S = BCNN(p 1, q 1) i khi c gi l s m vn nng
ca n, c th c dng thay cho = (p 1)( q 1) khi to kha
RSA. Cn ch rng l c thc s ca . S dng c th
thu c s m gii m d nh hn (lm cho gii m nhanh hn).
Tuy nhin, nu p v q c chn ngu nhin th CLN(p - 1, q - 1)
s kh nh v bi vy v s l cc s c kch thc xp x.
4.3. h mt rabin

4.3.1. Thut ton 1: To kha


Tm lc: Mi u to mt kha cng khai v mt kha b
mt tng ng theo cc bc sau:
(1) To 2 s nguyn t ln, ngu nhin v phn bit p v q c
kch thc xp x nhau.
(2) Tnh n = p.q.
(3) Kha cng khai l n, kha b mt l cc cp s (p, q).
4.3.2. Thut ton 2: M ha cng khai Rabin
4.3.2.1. M ha
B phi thc hin cc bc sau:
(1) Nhn kha cng khai ca A: n.
(2) Biu th bn tin di dng mt s nguyn m nm trong
di [0 , n 1] .

134

Gio trnh Mt m hc
(3) Tnh c = m2 mod n.
(4) Gi bn m c cho A.

4.3.2.2. Gii m:
khi phc bn r m t c, A phi thc hin cc bc sau:
Tm 4 cn bc hai ca c mod n l m1, m2, m3 hoc m4.
(1) Thng bo cho ngi gi l mt trong 4 gi tr m1, m2, m3
hoc m4. Bng mt cch no A s quyt nh m l gi tr no.
4.3.3. Ch
Tm cc cn bc 2 ca c mod n , n = p . q khi p q 3(mod 4 ) .
Trong trng hp ny, vic tm 4 cn bc 2 ca c mod n c thc
hin kh n gin nh sau:
(1) S dng thut ton Euclide m rng tm cc s nguyn
a v b tho mn ap + bq = 1 . Ch rng a v b c th c tnh
trong giai on to kha.
(2) Tnh r = c (p+1) / 4 mod p .
(3) Tnh s = c (q +1) / 4 mod q .
(4) Tnh x = (aps + bqr )mod n .
(5) Tnh y = (aps bqr ) mod n .
(6) Bn gi tr cn bc 2 ca c mod n l x, x mod n , y v
y mod n .

4.3.4. V d
4.3.4.1. To kha
A chn cc s nguyn t p = 277 v q = 331. A tnh n = p.q
= 91687. Kha cng khai ca A l 91687. Kha b mt ca A l cp
s (p = 277, q = 331).

Chng 4: Mt m kha cng khai

135

4.3.4.2. M ha
Gi s rng 6 bit cui cng ca bn tin gc c lp li trc
khi thc hin m ha. Vic thm vo tha ny nhm gip cho
bn gii m nhn bit c bn m ng.
m ho bn tin 10 bit m = 1001111001 , B s lp li 6 bit
cui cng ca m

c c bn tin 16 bit sau: m =

1001111001111001, biu din thp phn tng ng l m = 40596.


Sau B tnh c = m2 mod n = 405962 mod 91687 = 62111 ri gi
c cho A.
4.3.4.3. Gii m
gii m bn m c, A tnh bn gi tr cn bc 2 ca
c mod n :
m1 = 69654, m 2 = 22033, m 3 = 40596, m 4 = 51118

Biu din nh phn tng ng ca cc s trn l:


m1 = 1000100000 0010110, m 2 = 1010110000 10001
m 3 = 1001111001 111001,

m 4 = 1100011110 101110

V ch c m3 mi c tha cn thit nn A s gii m c bng


m3 v khi phc li bn tin gc l m = 1001111001 .
4.3.4.4. nh gi hiu qu
Thut ton m ha Rabin l mt thut ton cc nhanh v n
ch cn thc hin mt php bnh phng modulo n gin. Trong
khi , chng hn vi thut ton RSA c e = 3 phi cn ti mt
php nhn modulo v mt php bnh phng modulo. Thut ton
gii m Rabin c chm hn thut ton m ho, tuy nhin v mt
tc n cng tng ng vi thut ton gii m RSA.

136

Gio trnh Mt m hc

4.4. h mt elgamal

4.4.1. Thut ton to kha


Tm lc: Mi u lin lc to mt kha cng khai v mt
kha b mt tng ng:
(1) To 1 s nguyn t p ln v mt phn t sinh ca
nhm nhn Z *p ca cc s nguyn mod p .
(2) Chn mt s nguyn ngu nhin a, 1 a p 2 v tnh
a mod p .

(3) Kha cng khai l b 3 s p , , a , kha b mt l a.


4.4.2. Thut ton m ha cng khai ElGamal
Tm lc: B m ha mt thng tin bo m gi cho A bn
m cn gi.
4.4.2.1. M ha
B phi thc hin cc bc sau:

(1) Nhn kha cng khai p , , a ca A.


(2) Biu th bn tin di dng mt s nguyn m trong di

{0 ,1 ,K, p 1}.
(3) Chn s nguyn ngu nhin k, 1 k p 2 .

( )

(4) Tnh = k mod p v = m a

mod p .

(5) Gi bn m c = ( , ) cho A.
4.4.2.2. Gii m
khi phc bn r m t c, A phi thc hin cc bc sau:
(1) S dng kha ring a tnh p1a mod p
(Ch p1a = a = ak )

Chng 4: Mt m kha cng khai

137

( )

(2) Khi phc bn r bng cch tnh a mod p .


Chng minh hot ng gii m:
Thut ton trn cho php A thu c bn r v:
a a k .m a k m mod p .

4.4.3. V d
4.4.3.1. To kha
A chn p = 2357 v mt phn t sinh = 2 ca Z *2357 . A chn
kha b mt a = 1751 v tnh a mod p = 21751 mod 2357 = 1185 .

Kho cng khai ca A l p = 2357, = 2 , a = 1185 .


4.4.3.2. M ha
m ha bn tin m = 2035, B s chn mt s nguyn ngu
nhin k = 1520 v tnh:
= 21520 mod 2357 = 1430

= 2035.1185 1520 mod 2357 = 697

Sau B gi c = (1430 , 697 ) cho A.


4.4.3.3. Gii m
gii m A phi tnh:
p1a = 1430 605 mod 2357 = 872

Sau khi phc bn r m bng cch tnh:


m = 872.697 mod 2357 = 2035.

138

Gio trnh Mt m hc

4.5. h mt merkle - hellman

4.5.1. nh ngha dy siu tng


nh ngha: Dy cc s nguyn dng (a1 , a 2 ,K, a n ) c gi
l dy siu tng nu a i >

i 1

aj

j 1

vi i , 2 i n .

4.5.2. Bi ton xp bal


Cho mt ng cc gi c cc trng lng khc nhau, liu c
th xp mt s gi ny vo ba l ba l c mt trng lng cho
trc hay khng. V mt hnh thc ta c th pht biu bi ton
trn nh sau:
Cho tp cc gi tr M1 , M 2 ,K, M n v mt tng S. Hy tnh
cc gi tr bi :
S = b1 M1 + b 2 M 2 + K + b n M n

vi b i {0 ,1}
bi = 1: C ngha l gi Mi c xp vo ba l.
bi = 0: C ngha l gi Mi khng c xp vo ba l.
4.5.3. Gii bi ton xp ba l trong trng hp dy siu tng
Trong trng hp M = {M1 , M 2 ,K, M n } l mt dy siu tng
th vic tm b = (b1 , b 2 ,K, b n ) tng ng nh bi ton tm biu
din nh phn ca mt s S. Biu din ny s tm c sau ti a
l n bc.
Thut ton gii:
Vo: dy siu tng M = {M1 , M 2 ,K, M n } v mt s nguyn S
l tng ca mt tp con trong M.

Chng 4: Mt m kha cng khai


Ra : (b1 , b 2 ,K, b n ) trong b i {0 ,1} sao cho:

139
n

b M
i

=S

i =1

(1) i n
(2) Chng no i 1 hy thc hin
a. Nu S M i th : x i 1 v S S M i ngc li: x i 0
b. i i 1
(3) Return (b)
Nu M khng phi l dy siu tng th li gii ca bi ton
l mt trong 2n phng n c th. y l mt bi ton kh gii nu
n ln.
4.5.4. Thut ton to kha
Tm lc: Mi u lin lc to cho mnh mt kha cng khai
v mt kha b mt tng ng.
Chn mt s nguyn xc nh n c xem l mt tham s
chung ca h thng.
Mi u lin lc phi thc hin cc bc sau:

(1) Chn mt dy siu tng (M1 , M 2 , K , M n ) v mt modulo


M sao cho M > M1 , M 2 , K , M n .
(2) Chn mt s nguyn ngu nhin W, 1 W M 1 sao cho
(W , M ) = 1 .
(3) Chn mt php hon v ngu nhin ca cc s nguyn
{1 , 2 ,K, n}.
(4) Tnh a i = WM (i ) mod M vi i = 1 , 2 ,K, n .
(5) Kha cng khai l tp cc s (a1 , a 2 ,K, a n )

Kha b mt l (, M, W (M1 , M 2 , K , M n )) .

4.5.5. Thut ton m cng khai Merkle-Hellman


Tm lc: B m ha bn tin m gi cho A bn m cn gii
m.

140

Gio trnh Mt m hc

4.5.5.1. M ha
B phi thc hin cc bc sau:
(1) Nhn kha cng khai ca A: (a1 , a 2 ,K, a n )
(2) Biu th bn tin m nh mt chui nh phn c di n
m = m1 , m 2 ,K, m n .
(3) Tnh s nguyn c = m1a1 + m 2 a 2 + K + m n a n
(4) Gi bn m c cho A.
4.5.5.2. Gii m
khi phc bn r m t c, A phi thc hin cc bc sau:
(1) Tnh d = W 1c mod M
(2) S dng thut gii xp ba l trong trng hp dy siu
tng tm cc s nguyn r1 , r2 ,K, rn , ri {0 ,1} sao cho:
d = r1 M1 + r2 M 2 + K + rn M n

(3) Cc bit ca bn r l m i = r(i ) , i = 1 , 2 ,K, n


Chng minh: Thut ton trn cho php A thu c bn r v:
n

d W -1c W-1

i =1

V 0 d < M , d =

m ia i

m M ( ) mod M
i

i =1

m i M (i ) mod M ,

i =1

bi vy nghim ca bi

ton xp ba l bc (b) s cho ta cc bit ca bn r sau khi s


dng php hon v .
4.5.6. V d
4.5.6.1. To kha
Cho n = 6. A chn dy siu tng sau: (12, 17, 33, 74, 157,
316), M = 737, W = 635 tha mn (W, M) = 1.

Chng 4: Mt m kha cng khai

141

Php hon v ca {1, 2, 3, 4, 5, 6} c xc nh nh sau:


(1) = 3 , (2) = 6 , (3 ) = 1 , (4 ) = 2 , (5 ) = 5 , (6 ) = 4 .

Kha cng khai ca A l tp (319, 196, 250, 477, 200, 559).


Kha b mt ca A l (, M, W (12 ,17 , 33 , 74 ,157 , 316 )) .
4.5.6.2. M ha
m ha bn tin m = 101101, B tnh:
c = 319 + 250 + 477 + 559 = 1605
v gi c cho A.
4.5.6.3. Gii m

gii m A phi tnh: W 1 = 224 = 513

d = W 1 c mod M = 136

v gii bi ton xp ba l trong trng hp dy siu tng sau:


136 = 12r1 + 17r2 + 33r3 + 74 r4 + 157r5 + 316r6

v nhn c 136 = 12 + 17 + 33 + 74
Bi vy

r1 = r2 = r3 = r4 = 1, r5 = r6 = 0 .

S dng php hon v s tm c cc bit ca bn r nh sau:


m1 = r3 = 1 , m 2 = r6 = 0 , m 3 = r1 = 1 , m 4 = r2 = 1 , m 5 = r5 = 0,
m 6 = r4 = 1

Vy bn r m = 101101.
4.6. h mt chor-rivest (cr)

H mt CR l h mt kha cng khai xp ba l duy nht hin


nay khng s dng php nhn modulo ngy trang bi ton
tng tp con.

142

Gio trnh Mt m hc

4.6.1. Thut ton to kha


Tm lc: Mi bn lin lc to mt kha cng khai v mt
kha ring tng ng. A thc hin cc bc sau:
(1) Chn mt trng hu hn Fq c c s q, trong q = ph,
p h v i vi n bi ton logarit ri rc l kh gii.
(2) Chn mt a thc bt kh quy nh chun ngu nhin
f (x ) bc h trn Z p . Cc phn t ca Fq s c biu din bng cc

a thc trong Z p [x ] c bc nh hn h vi php nhn c thc


hin theo mod f (x ) .
(3) Chn mt phn t nguyn thu ngu nhin g (x ) ca Fq .
(4) Vi mi phn t ca trng c s i Z P , tm logarit ri
rc a i = log g (x ) (x + i ) ca cc phn t x + i theo c s g (x ) .
(5) Chn mt php hon v ngu nhin trn cc s nguyn

{1, 2 , K , p 1} .
(6) Chn mt s nguyn ngu nhin d, 0 d p h 2

(7) Tnh C i = (a (i ) + d )mod p h 1 , 0 i p 1 .


(8) Kha cng khai ca A l ((C 0 , C1 ,K, C p1 ), p , h )
Kha ring ca A l ( f (x ), g (x ), , d ) .
4.6.2. Thut ton m ha
Tm lc: B m ho thng bo m gi cho A.
4.6.2.1. M ha
B thc hin cc bc sau:
a) Nhp kha cng khai ca A ((C 0 , C1 ,K, C p1 ), p , h )

Chng 4: Mt m kha cng khai

143

p
b) Biu din thng bo nh mt xu bit c di lg
h
p
p!
trong =
.
h h ! (p h )!

c) Xem m nh l biu din nh phn ca mt s nguyn. Bin


i

nguyn

ny

thnh

mt

vct

nh

phn

M = (M 0 , M1 ,K, M p1 ) c di p v c ng h con s 1 nh sau:

i. t l h
ii. For i from 1 to n do:
P i
p i
th t M i 1 1, m m
, l l 1 .
Nu m
l
l

Nu khng th t:

Mi 1 0 CY :

n
= 1
0
0
= 0
l

vi n 0

vi l 1

p 1

c) Tnh c =

Mi ci mod (p h 1) .

i =1

d) Gi bn m c cho A.
4.6.6.2. Gii m
khi phc bn m r m t c, A phi thc hin cc bc
lnh sau:

a) Tnh r = (c hd )mod p h 1 .
b) Tnh u (x ) = g r (x ) mod (x ) .

144

Gio trnh Mt m hc
c) Tnh s(x ) = u(x ) + f (x ) l mt a thc nh chun h trn Z p .
d) Phn tch s(x ) thnh cc nhn t bc nht trn Z p .
s(x ) =

(x + t ) trong t
j

Zp .

j1

e) Cc thnh phn c gi tr 1 ca vct M c cc ch s l

(t j ) vi 1 j h .
1

Cc thnh phn cn li bng 0


f) Thng bo m c khi phc li t M nh sau:
i. t m 0 , l h
ii. For i from 1 to p do:
p i
, l l 1 .
Nu M i 1 = 1 th t m m +
l

Chng minh hot ng gii m:


Ta thy
u(x ) = g 2 (x )mod f (x )
[g (x )]

c hd

p 1

M i c i hd

i =0

[g (x )]

p 1
M i a (i ) +d

i =0

[g (x )]

)hd

p 1

M i a (i )
[g (x )]i
mod f (x )
=0

u(x )

[g (x ) ]
p 1
i =0

p 1

(x + (i ))

Mi

Mi

a (i )

p 1

Mi

(x + (i ))

(mod (x ))

i =0

v s(x ) l cc a thc nh chun bc h v

i =0

ng d vi nhau theo modulo f (x ) nn

Chng 4: Mt m kha cng khai


s(x ) = u(x ) + f (x ) =

145
Mi

p 1

(x + (i ))
i =0

Bi vy tt c cc cn bc h ca s(x ) u nm trong Z p v p
dng 1 i vi cc cn ny ta s c cc to ca M l 1.
4.6.3. V d
4.6.3.1. To kha:
A thc hin cc bc sau:
(1) Chn p = 7 v h = 4 .
(2) Chn a thc bt kh quy f (x ) = x 4 + 3x 3 + 5x 2 + 6x + 2 c
bc 4 trn Z 7 . Cc phn t ca trng hu hn F74 c biu din
bng cc a thc trong Z 7 [x ] .
(3) Chn phn t nguyn thy ngu nhin g (x ) = 3x 3 + 3x 2 + 6 .
(4) Tnh cc logarit ri rc sau:
a 0 = log g (x ) (x )

= 1028

a1 = log g (x ) (x + 1) = 1935

a 2 = log g (x ) (x + 2) = 2054
a 3 = log g (x ) (x + 3 ) = 1008
a 4 = log g (x ) (x + 4 ) = 379

a 5 = log g (x ) (x + 5 ) = 1780
a 6 = log g (x ) (x + 6 ) = 223

(5) Chn php hon v ngu nhin trn {0 ,1 , 2 , 3 , 4 ,5 , 6} nh sau:


(0 ) = 6
(1) = 4

(2) = 0

(3 ) = 2
(4 ) = 1

(5 ) = 5
(6 ) = 3

146

Gio trnh Mt m hc
(6) Chn s nguyn ngu nhin d = 1702
(7) Tnh:
C 0 = (a 6 + d )mod 2400 = 1925

C1 = (a 4 + d )mod 2400 = 2081


C 2 = (a 0 + d )mod 2400 = 330

C 3 = (a 2 + d )mod 2400 = 1356

C 4 = (a 1 + d ) mod 2400 = 1237

C5 = (a 5 + d )mod 2400 = 1082


C 6 = (a 3 + d )mod 2400 = 310

(8) Kha cng khai ca A l:

((C0 , C1 , C2 , C3 , C4 , C5 , C6 ), p = 7 , h = 4 )
Kha b mt ca A l ( f (x ), g (x ), , d ) .
4.6.3.2. M ha
m ha bn tin m = 22 gi cho A, B lm nh sau:
(1) Nhn kha cng khai ca A.
(2) Biu din m nh mt xu bit di 5: m = 1 0 11 0 (Ch
7
rng lg = 5 )
4

(3) Dng phng php nu trn bc c trong thut ton


trn bin i m thnh vct nh phn M c di M:
M = (1, 0,1,1, 0, 0,1)
(4) Tnh C = (C 0 + C 2 + C 3 + C 6 )mod 2400 = 1521
(5) Gi C = 1521 cho A.
4.6.3.3. Gii m
(1) Tnh r = (c hd )mod 2400 = 1913
(2) Tnh u(x ) = g (x )1913 mod (x ) = x 3 + 3x 2 + 2x + 5

Chng 4: Mt m kha cng khai

147

(3) Tnh g (x ) = u(x ) + f (x ) = x 4 + 4 x 3 + x 2 + x


(4) Phn tch s(x ) = x(x + 2)(x + 3 )(x + 6 )
(Do t 1 = 0, t 2 = 2 , t 3 = 3 , t 4 = 6 )
(5) Cc thnh phn ca M bng 1 c cc ch s
1 (0 ) = 2

1 (2) = 3

1 (3 ) = 6

1 (6 ) = 0

Bi vy M = (1, 0,1,1, 0, 0,1)


(6) S dng bc f trong thut ton gii m bin i M
thnh s nguyn m = 22 v nh vy khi phc c bn r ban u.
4.6.4. Ch
- H mt ny c xem l an ton nu khng b l kha b mt.
- C th m rng h mt ny cho trng hp Z p vi p l lu
tha ca mt s nguyn t.
- lm cho bi ton logarit ri rc l d gii, cc tham s p
v h phi chn sao cho q = p h 1 ch c cc nhn t c gi tr nh.
- Trong thc t, kch thc khuyn ngh ca cc tham s l
p 200 , h 25 (V d p = 197 v h = 24 ).

- Tr ngi ln nht ca thut ton l kha cng khai vi kch


thc chng p . h log p bit l qu ln. V d vi p = 197 v h = 24
kha cng khai c chng 36.000 bit.
4.7. h mt McElice

H mt McEliece s dng nguyn l tng t nh h mt


Merkle-Hellman. Php gii m l mt trng hp c bit ca bi
ton NP y nhng n c ngy trang ging nh trng hp

148

Gio trnh Mt m hc

chung ca bi ton. Trong h thng ny bi ton NP c p dng


y l bi ton gii m cho mt m sa sai (nh phn) tuyn
tnh ni chung. Tuy nhin, i vi nhiu lp m c bit u tn
ti cc thut ton gii m vi thi gian a thc. Mt trong nhng
lp m ny l m Goppa, chng c dng lm c s cho h mt
McEliece.
4.7.1. nh ngha 1
Gii s k, n l cc s nguyn dng, k n . M C[n , k ] l mt
khng gian k chiu ca (Z 2 )n (khng gian vct ca tt c cc
vct nh phn n chiu).
Ma trn sinh ca m C[n , k ] l ma trn nh phn k n , cc
hng ca ma trn ny to nn c s ca C.
Gi s x , y (Z 2 )n , trong x = (x1 ,K, x n ) v y = (y1 ,K, y n ) .
Ta xc nh khong cch Hamming: d(x , y ) = {i : 1 i n , x i y i }
tc l s cc to m x v y khc nhau.
Khong cch m C c nh ngha nh sau:
d(C) = min{d (x , y ) : x , y C , x y}

M [n , k ] c khong cch d c k hiu l m [n , k , d ] .


M sa sai c dng sa cc sai ngu nhin xy ra khi
truyn s liu (nh phn) qua knh c nhiu. iu c thc
hin nh sau: Gi s G l mt ma trn sinh i vi m [n , k , d ] , x
l vct nh phn k chiu cn truyn i. Ngi gi Alice s m ho
x thnh mt vct n chiu y = x G ri truyn y qua knh.
Gi s Bob nhn c vct n chiu r khng ging y, Bob s
gii m r bng chin thut gii m "ngi lng ging gn nht".

Chng 4: Mt m kha cng khai

149

Theo chin thut ny, Bob s tm thy t y' c khong cch ti r


nh nht. Sau anh ta gii m r thnh y', ri xc nh vct k
chiu x' sao cho y' = x' G . Bob hy vng y' = y v bi vy x' = x (tc
l Bob tin rng cc sai s trn ng truyn c sa).
D dng thy rng, nu sai s trn ng truyn nhiu nht
l (d 1) / 2 th trn thc t chin thut ny s sa c tt c
cc sai.
Ta xt trn thc t, thut ton gii m ny c thc hin
nh th no? V C = 2 k nn Bob so snh r vi mi t m anh ta
phi kim tra 2 k vct l mt s ln theo hm m so vi k. Ni
cch khc, thut ton ny khng phi l thut ton chy trong
thi gian a thc.
Mt bin php khc (to c s cho nhiu thut ton gii m
thc t) da trn khi nim v syndrom. Ma trn kim tra tnh
chn l ca m C[n , k , d ] (c ma trn sinh G) l mt m trn nh
phn (n k ) n chiu (k hiu l H). Cc hng ca H s to c s
cho cc phn b trc giao ca C (k hiu l C ) v c gi l m
i ngu vi C. Ni cch khc, cc hng ca H l nhng vct c
lp tuyn tnh, cn G H l mt ma trn khng cp k (n k).
Cho vct r (Z 2 )n , ta xc nh syndrom ca r l H r .
Syndrom H r l mt vct ct c (n k ) thnh phn.
4.7.2. nh l 2
Gi s C l mt m [n , k ] c ma trn sinh G v ma trn kim
tra tnh chn l H. Khi x (Z 2 )n l mt t m khi v ch khi
H x T = [0 0 K 0] .
T

150

Gio trnh Mt m hc
Hn na nu x C , e (Z 2 )n v r = x + e th H x T = H e T .
Ta coi e l vct sai xut hin trong qu trnh truyn t m

x. Khi r biu din vct thu c. nh l trn pht biu rng


syndrom ch ph thuc vo cc sai s m khng ph thuc vo t
m c th no c truyn i.
iu ny gi ti mt cch gii m gi l gii m theo
syndrom. Trc tin tnh s = H r T nu s l mt vct khng, th ta
gii m r thnh r. Nu khng th ta s ln lt to tt c cc vct
sai c trng s 1. Vi mi vct ny, ta tnh H e T . Nu c mt
vct e no tha mn H e T = s th ta gii m r thnh r e .
Ngc li, li tip tc to cc vct sai c trng s 2, 3,K, [(d 1) / 2] .
Theo thut ton ny, c th gii m cho mt vct nhn c
n
n

trong nhiu nht 1 + + K + d 1 bc.


2
1

Phng php ny lm vic trn mt m tuyn tnh bt k.


i vi mt s loi m c bit, th tc gii m c th nhanh
chng hn. Tuy nhin, trn thc t, cch gii quyt ny cho chin
thut gii m "ngi lng ging gn nht" vn l mt bi ton NP
y . Nh vy, vn cha c mt thut ton gii trong thi gian
a thc bit no cho bi ton gii m theo "ngi lng ging
gn nht" tng qut. (Khi s cc sai s khng b gii hn bi

[(d 1) / 2] ).
Cng ging nh bi ton tng tp con, c th ch ra mt
trng hp c bit "d", sau ngy trang sao cho n ging vi
bi ton chung "kh". a ra l thuyt s rt di dng, bi vy

Chng 4: Mt m kha cng khai

151

ta s ch tm lc cc kt qu y. Mt trng hp kh d c
McEliece ngh l dng mt m trong lp cc m Goppa. Trn
thc t, cc m ny c mt thut ton gii m hu hiu. Hn na
cc, cc m ny rt d to v c mt s lng ln cc m Goppa
tng ng c cng tham s.
Cc tham s ca m Goppa c dng n = 2 m , d = 2t + 1 v
k = n mt . p dng trong thc t cho mt h mt kha cng

khai, McEliece ngh chn m = 10 v t = 50 . iu ny ng vi


m Goppa [1024 , 524 ,101]. Mi bn r l mt vct nh phn cp
524 v mi bn m l mt vct nh phn cp 1024. Kho cng
khai l mt ma trn nh phn cp 524 1024. Hnh 4.1 s m t
h mt McEliece.
Cho G l mt ma trn sinh ca mt m Goppa C[n, k, d], trong
n = 2m, d = 2t + 1 v k = n - mt. Cho s l mt ma trn kh nghch cp k k trn
Z2. Gi s P l mt ma trn hon v cp n n, ta t G' = SGP. Cho P = (Z2)2,
C = (Z2)n v k hiu: K = {(G, S, P, G')}
Trong G, S, P c xy dng nh m t trn v c gi kn, cn G'
c cng khai. Vi K = (G, S, P, G'), ta nh ngha: ek(x, e) = xG' + e. y, e
(Z2)n l mt vct ngu nhin c trng s t.
Bob gii m bn m y (Z2)n theo cc bc sau:
1. Tnh y1 = yP-1.
2. Gii m (Decode) y1, Bob tm c y1 = x1 + e1, x1 C.
3. Tnh x0 (Z2)k sao cho x0G = x1.
4. Tnh x = x0S-1.

Hnh 4.1: H mt McEliece


minh ha cho cc th tc m v gii m (code and
decode), xt v d sau:

152

Gio trnh Mt m hc
V d 1: Ma trn:
1

0
G=
0

0 0 0 1 1 0

1 0 0 1 0 1
0 1 0 0 1 1

0 0 1 1 1 1

l ma trn sinh ca m Hamming [7 , 4 , 3] . Gi s Bob chn


ma trn S v ma trn P nh sau:

1
S=
0

1
0
1
1

0
0 1
0

0 1
v
P
=
1
1 1

0
0 0
0

1 0 0 0 0 0

0 0 1 0 0 0
0 0 0 0 0 1

0 0 0 0 0 0

0 1 0 0 0 0
0 0 0 0 1 0

0 0 0 1 0 0

Khi ma trn sinh cng khai l:


1

1
G' =
1

1 1 1 0 0 0

1 0 0 1 0 0
0 0 1 1 0 1

1 0 1 1 1 0

By gi gi s Alice m ha bn r x = (1, 1, 0, 1) bng cch


dng mt vct sai ngu nhin trng s 1 c dng: e = (0, 0, 0, 1, 0, 0)
Bn m tnh c l:
y = x G' + e
1 1 1 1 0 0 0

1 1 0 0 1 0 0
+ (0, 0, 0, 0, 1, 0, 0 )
= (1, 1, 0, 1)
1 0 0 1 1 0 1

0 1 0 1 1 1 0

= (0, 1, 1, 0, 0, 1, 0 ) + (0, 0, 0, 0, 1, 0, 0 )

= (0, 1, 1, 0, 1, 1, 0 )

Chng 4: Mt m kha cng khai

153

Khi Bob nhn c bn m y, trc ht anh ta tnh


0

1
0

y 1 = y P 1 = (0, 1, 1, 0, 1, 1, 0 ) 0

0
0

0
= (1, 0, 0, 0, 1, 1, 1)

0 0 1 0 0 0

0 0 0 0 0 0
0 0 0 1 0 0

1 0 0 0 0 0

0 0 0 0 0 1
0 0 0 0 1 0

0 1 0 0 0 0

Tip theo Bob gii m y1 nhn c x1 = (1, 0, 0, 0, 1, 1, 0 )


(Cn l e1 e do php nhn vi P 1 )
Sau anh ta lp x 0 = (1, 0, 0, 0 ) (bn thnh phn u tin
ca x1 ).
Cui cng Bob tnh:
1

1
1
x = S x0 =
0

1 0 1

1 0 0
(1, 0, 0, 0) = (1, 1, 0, 1)
1 1 1

0 0 1

y chnh l bn r m Alice m.
4.8. cc hm bm v tnh ton vn ca d liu

4.8.1. M u
Cc hm bm ng vai tr c bn trong mt m hin i.
Hm bm s to ra mt u ra t bn tin u vo. u ra ny
c nh ngha l m bm (kt qu bm, gi tr bm).

154

Gio trnh Mt m hc
Ni mt cch chnh xc hn, hm bm h s to ra nh x

cc xu bit c di hu hn tu thnh cc xu bit c di n


c nh.
Hm bm h l mt nh x c di n c nh h : D R v
D > R iu ny c ngha l khng th trnh khi cc va chm

(tc l cng mt gi tr u ra c th c nhiu b gi tr vo khc


nhau). Nu hm h l ngu nhin theo ngha tt c cc u ra l
ng xc sut th c chng 2 t n cc u vo nh x ti mi u ra
(t: s bit u vo, n: s bit u ra, t > n) v 2 u vo c chn
ngu nhin s c cng u ra vi xc sut 2 n (khng ph thuc
vo t).
tng c bn ca vic s dng cc hm bm trong mt m
l s dng chng nh mt nh biu din rt gn (i khi cn c
gi l vt, du tay s hay tm lc thng bo) ca mt xu vo v
c th c dng nh th n chnh l xu vo .
Cc hm bm c dng cho cc s ch k s kt hp vi
vic m bo tnh ton vn ca d liu, khi bn tin trc ht
c bm v ri gi tr bm (c xem nh i din cho bn tin)
s c k thay cho v tr bn tin gc.
Mt lp cc hm bm c gi l cc m xc thc thng bo
(MAC - Message Authentication Codes) s cho php xc thc
thng bo bng k thut i xng (mt m c in).
Cc thut ton MAC s dng 2 u vo (bao gm bn tin v
mt kha b mt) to ra mt u ra c kch c c nh (n bit) vi
m bo rng nu khng bit kha th vic to ra cng mt

Chng 4: Mt m kha cng khai

155

u ra l khng kh thi. MAC c th c dng m bo tnh


ton vn ca d liu, xc thc tnh nguyn bn ca s liu cng
nh nh danh trong s mt m c in.
Mt ng dng in hnh ca hm bm (khng dng kha)
m bo tnh ton vn ca d liu c th c m t nh sau:
Gi tr bm tng ng vi mt bn tin ring x s c tnh
thi im T1. Tnh ton vn ca gi tr bm ny (ch khng phi
l bn thn bn tin) s c bo v theo mt cch no . thi
im tip theo sau T2, php kim tra sau s c tin hnh xc
nh xem liu thng bo c b sa i hay khng, tc l xem liu
bn tin x ' c ging bn tin gc hay khng. Gi tr bm ca x ' s
c tnh ton v so snh vi gi tr bm c bo v, nu
chng bng nhau th bn thu s chp nhn rng x v x ' l nh
nhau v nh vy c ngha l bn tin khng b sa i. Nh vy
vn m bo tnh vn ton ca mt bn tin ln s c gi v
m bo cho mt gi tr bm c kch c c nh (v nh).
ng dng trn thng c gi l m pht hin s sa i
(MDC - Manipulation Detection Codes).
4.8.2. Cc nh ngha v tnh cht c bn
4.8.2.1. nh ngha hm bm
Hm bm l mt hm h c t nht hai tnh cht sau:
a) Tnh cht nn: h s nh x mt u vo x c di bit hu
hn ty ti mt u ra h(x) c di bit n hu hn.
b) Tnh cht d dng tnh ton: Vi h cho trc v mt u
vo x, c th d dng tnh c h(x).

156

Gio trnh Mt m hc

4.8.2.2. Mt s tnh cht ca cc hm bm khng c kha


Gi s h l mt hm bm khng c kha, x v x ' l cc u
vo y v y' l cc u ra. Ngoi hai tnh cht c bn trn ta cn c
3 tnh cht sau:
a) Tnh kh tnh ton nghch nh:
i vi hu ht cc u ra c xc nh trc, khng c kh
nng tnh ton tm mt u vo bt k m khi bm s cho ra
u ra tng ng (Tc l tm mt nghch nh x' sao cho h(x') = y
vi y cho trc v khng bin u vo tng ng).
b) Tnh kh tm nghch nh th hai:
Khng c kh nng tnh ton tm mt u vo cho
trc (Tc l vi x cho trc phi tm x' x sao cho h(x ) = h(x') ).
c) Tnh kh va chm
Khng c kh nng v tnh ton tm hai u vo khc
nhau bt k x v x ' h(x ) = h(x') .
4.8.2.3. nh ngha hm bm mt chiu (OWHF - oneway
hash function)
OWHF l mt hm bm (c hai tnh cht c bn) c tnh cht
b sung l :
- Kh tm nghch nh
- Kh tm nghch nh th hai.
4.8.2.4. nh ngha hm bm kh va chm (CRHF: Collision
resistant HF)
CRHF l mt hm bm (c hai tnh cht c bn) c tnh cht
b sung l:

Chng 4: Mt m kha cng khai

157

- Kh tm nghch nh th hai
- Kh v chm.
4.8.2.5. Ch v cc thut ng
Kh tm nghch nh Mt chiu.
Kh tm nghch nh th hai Kh va chm yu.
Kh va chm Kh va chm mnh.
OWHF Hm bm mt chiu yu.
CRHF Hm bm mt chiu mnh.
4.8.2.6. V d
r bit kim tra ca mt m xyclic (n , k ) vi k > r c th coi l
mt hm bm tho mn hai tnh cht c bn (d tnh ton v
nn). Tuy nhin n khng tho mn tnh cht kh tm nghch nh
th hai.
4.2.8.7. nh ngha thut ton m xc thc thng bo (MAC)
Thut ton MAC l mt h cc hm h k (c tham s ha
bng mt kha b mt k) c cc tnh cht sau:
(1) D dng tnh ton: Vi h k bit v gi tr k cho trc v
mt u vo x, h k (x ) c th c tnh d dng ( h k (x ) c gi l
gi tr MAC hay MAC).
(2) Nn: h k nh x mt u vo x c di bit hu hn tu
ti mt u ra h k (x ) c di bit n c nh.
(3) Kh tnh ton: Vi cc cp gi tr (x i , h k (x i )) khng c kh
nng tnh mt cp

(x , h k (x ))

h k (x ) = h k (x i ) vi mt i no ).

vi x x i (k c c kh nng

158

Gio trnh Mt m hc
Nu tnh cht c khng tha mn th thut ton c coi l

gi mo MAC.
4.8.2.8. Phn loi cc hm bm mt m v ng dng
Hm bm

Khng c kha

MDC

OWHF

C kha

Cc ng dng khc

Cc ng dng khc

MDC

CRHF

Hnh 4.2
4.8.3. Cc hm bm khng c kha
(Cc hm bm da trn mt m khi).
4.8.3.1. nh ngha 1
Mt m khi (n, r) l mt m khi xc nh mt hm kh
nghch t cc bn r n bit sang cc bn r n bit bng cch s dng
mt kha r bit. Nu E l mt php m ho nh vy th E k (x ) k
hiu cho php m ho x bng kha k.
4.8.3.2. nh ngha 2
Cho h l mt hm bm c lp c xy dng t mt mt m
khi vi hm nn f thc hin s php m ho khi x l tng
khi bn tin n bit. Khi tc ca h l 1/s.

Chng 4: Mt m kha cng khai

159

4.8.3.3. MDC di n
Ba s di y c lin quan cht ch vi cc hm bm
di n, xy dng trn cc mt m khi. Cc s ny c s dng
cc thnh phn c xc nh trc nh sau:
- Mt mt m khi n bit khi sinh E k c tham s ha bng
mt kha i xng k.
- Mt hm g nh x n bit vo thnh kha k s dng cho E
(Nu cc kha cho E cng c di n th g c th l hm ng nht).
- Mt gi tr ban u c nh IV thch hp dng vi E.
Hi-1

xi
g
Hi-1

xi

Hi
Matyas - Mayer - Oseas

xi
Hi-1

Hi
Davies - Mayer

Hi
Miyaguchi - Preneel

Hnh 4.3
4.8.3.3.1. Thut ton bm Matyas - Mayer - Oseas
Vo: Xu bit x.
Ra : M bm n bit ca x.
(1) u vo x c phn chia thnh cc khi n bit v c
n nu cn thit nhm to khi cui cng hon chnh. Ta c t
khi n bit: x1 x 2 K x t . Phi xc nh trc mt gi tr ban u n
bit (k hiu IV).

160

Gio trnh Mt m hc
(2) u ra l H t c xc nh nh sau:
H 0 = IV, H i = E g (Hi 1 ) (x i ) x i , 1 i t .

4.8.3.3.2. Thut ton bm Davies - Mayer


Vo: Xu bit x
Ra : M bm n bit ca x
(1) u vo x c phn thnh cc khi k bit (k l kch thc
kha) v c n nu cn thit to khi cui cng hon chnh.
Biu th thng bo n thnh t khi n bit: x1 x 2 K x t . Xc
nh trc mt gi tr ban u n bit (k hiu IV).
(2) u ra l H t c xc nh nh sau:
H 0 = IV, H i = E xi (H i 1 ) H i 1 , 1 i t .

4.8.3.3.3. Thut ton bm Miyaguchi - Preneel


S ny tng t nh C1 ngoi tr H i 1 (u ra giai
on trc) c cng mod 2 vi tn hiu ra giai on hin thi.
Nh vy:
H 0 = IV, H i = E g (Hi 1 ) (x i ) x i H i 1 , 1 i t .

Nhn xt: S D_M c th coi l s i ngu vi s


M - M - O theo ngha x i v H i 1 i ln vai tr.
4.8.3.4. MDC di kp: MDC - 2 v MDC - 4
MDC -2 v MDC - 4 l cc m pht hin s sa i yu cu
tng ng l 2 v 4 php ton m ho khi trn mi khi u vo
hm bm. Chng s dng 2 hoc 4 php lp ca s M - D - O
to ra hm bm c d di kp. Khi dng DES chng s to ra m
bm 128 bit. Tuy nhin trong cu trc tng qut c th dng cc

Chng 4: Mt m kha cng khai

161

h mt m khi khc MDC-2 v MDC4 s dng cc thnh phn


xc nh nh sau:
- DES c dng lm mt m khi Ek c u vo/ra 64 bit v
c tham s ho bng kha k 56 bit.
- Hai hm g v ~
g nh x cc gi tr 64 bit U thnh cc kha
DES 56 bit nh sau:
Cho U = u1 u 2 K u 64 , xa mi bit th 8 bt u t u8 v t
cc bit th 2 v th 3 v "10" i vi g v "01" i vi ~
g.
g (U ) = u1 1 0 u 4 u 5 u 6 u 7 u 9 u10 K u 63
~
g (U ) = u 0 1 u u u u u u K u
1

10

63

ng thi iu ny cng phi m bo rng chng khng


phi l cc kha DES yu hoc na yu v cc kha loi ny c bit
th hai bng bit th ba. ng thi iu ny cng m bo yu cu
g (IV ) .
bo mt l g (IV ) ~
Thut ton MDC - 2 c th c m t theo s sau:
int 1
Hi-1

xi

int 2

int 3

int 4

D
out 2

out 1
Hi

Hi

Hnh 4.4

Hi-1

162

Gio trnh Mt m hc

4.8.3.4.1. Thut ton MDC - 2


Vo: Xu bit x c di r = 64t vi t 2 .
Ra : M bm 128 bit ca x
(1) Phn x thnh cc khi 64 bit x i : x1 x 2 K x t .
~
(2) Chn cc hng s khng b mt IV v IV t mt tp cc

gi tr khuyn ngh c m t trc. Tp ngm nh cc gi


tr cho trc ny l ( dng HEXA):
IV = 0x52 52 52 52 52 52 52 52
~
IV = 0x25 25 25 25 25 25 25 25

(3) K hiu l php ghp v CiL , CiR l cc na 32 bit phi


v tri ca Ci
~
u ra h(x ) = H t H t c xc nh nh sau: (vi 1 i t )
~
H 0 = IV, k i = g (H i 1 ), C i = E ki (x i ) x i , H i = C Li C R
i

~
~
~
~ ~
~
~
H 0 = IV, k i = ~
g H i 1 , C i = E ~ki (x i ) x i , H i = C Li C R
i

Thut ton MDC - 4 c th c m t theo s sau:


xi
int 1
Gi-1

int 2
Gi-1

MDC - 2

Hi
int 3

int 1 Gi-1

int 2

Gi-1

MDC - 2

int 4 H i

out 2

out 1
Gi

Gi

Hnh 4.5

Chng 4: Mt m kha cng khai

163

4.8.4.Cc hm bm c kha (MAC)


Cc hm bm c kha c s dng xc thc thng bo v
thng c gi l cc thut ton to m xc thc thng bo
(MAC).
MAC da trn cc mt m khi.
Thut ton
Vo: D liu x, mt m khi E, kha MAC b mt k ca E.
Ra : n bit MAC trn x (n l di khi ca E)
(1) n v chia khi: n thm cc bit vo x nu cn. Chia
d liu n thnh tng khi n bit : x1 x 2 K x t .
(2) X l theo ch CBC.
K hiu E k l php m ha E vi kha k.
Tnh khi H t nh sau:
H1 E k (x 1 )

H i K k (H i 1 x i ); 2 i t.

(3) X l thm tng sc mnh ca MAC


Dng mt kha b mt th hai k' k . Tnh

( )

H 't E k1' (H t ), H t = E k H 't

(4) Kt thc: MAC l khi n bit Ht.


xt
x1

x2
H1

IV = 0

x3
H2

H3

X
l
thm

K'
K

E
Ht
E
H't
E
Ht

Hnh 4.6: Thut ton MAC dng CBC

You might also like