You are on page 1of 64

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

LI NI U
Trong xu hng pht trin ca th gii v Vit Nam hin nay, mng Internet ang
em n s bng n thng tin mt cch mnh m. N c s dng truyn th in
t, truy cp cc website, kt ni cc cng s, lin lc vi cc khch hng v s dng
cc dch v ngn hng, cc giao dch in t
Tim nng ca mng Internet l rt ln. Nh ta bit cc giao tip, trao i thng
tin qua Internet u s dng giao thc TCP/IP. Cc gi tin truyn t im ngun ti
im ch s i qua rt nhiu my tnh trung gian, v vy an ton thp, n rt d b
xm phm, theo di v gi mo trn ng truyn. Vn khng an ton cho thng tin
trn ng truyn khin nhiu ngi n o trong vic s dng mng Internet cho
nhng ng dng v ti chnh, giao dch ngn hng, hot ng mua bn v khi truyn
cc thng tin kinh t, chnh tr vv
Nhng bin php m bo an ton thng tin a ra u nhm p ng 3 yu cu:
bo mt thng tin, xc thc thng tin v ton vn thng tin trn ng truyn. Cc
h m ha thng tin bo m tnh b mt ni dung thng tin, cc s ch k s bo
m xc thc thng tin trn ng truyn.
Tuy nhin, nhu cu ca con ngi khng ch dng li vic giao dch gia cc c
nhn vi nhau, m cn giao dch thng qua mng gia cc nhm ngi, cc cng ty,
cc t chc khc nhau trn th gii. Da trn nhng yu cu thc t cc nh khoa
hc nghin cu v xut ra mt kiu ch k mi, chnh l ch k nhm.
Trong n ny ti tm hiu v nghin cu v ch k nhm. y l mt loi
ch k in t cho php mt nhm ngi to cc ch k i din cho nhm, v ch
nhng thnh vin trong nhm mi c th k vo cc thng ip ca nhm. Ngi qun
tr ca nhm c trch nhim thnh lp nhm v trong trng hp cn thit phi bit
c ai l ngi k vo thng ip.
Trong qu trnh lm n tt nghip, em nhn c s hng dn tn tnh ca
TS.L Ph . Em xin chn thnh cm n! ng thi, em xin cm n cc thy c gio
b mn Tin hc trng i hc Dn lp Hi Phng trang b cho em nhng kin
thc c bn trong qu trnh hc tp ti trng.

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Chng I
CC KHI NIM C BN
1.1 C s ton hc
1.1.1. c s - Bi s
nh ngha : c s ca a v b l c nu c|a v c|b
c s chung ln nht : L s ln nht m a v b chia ht
K hiu : c = gcd (a,b) ; (great common divisor)
Bi s chung nh nht : d l BCNN ca a v b nu c m a|c , b|c d|c
K hiu : d = lcm (a,b) ; (least common multiple)
Tnh cht: lcm (a,b) = a.b/gcd(a,b)
1.1.2. S nguyn t
nh ngha : S nguyn t l s ch chia ht cho 1 v chnh n, ngoi ra khng cn
s no n c th chia ht na. H mt thng s dng s nguyn t ln c 512bits v
thm ch cn ln hn na.
Hai s m v n gi l hai s nguyn t cng nhau khi c s chung ln nht ca
chng bng 1. Chng ta c th vit nh sau:
UCLN(m,n) = 1
1.1.3. Khi nim nhm
nh ngha : Nhm l b i (G, ), trong G l tp v l mt php ton
hai ngi trong G tha mn ba tin sau
1. Php ton nhm kt hp
a, b, c G
a * (b * c) = (a * b) * c
2. C mt phn t 0 G c gi l phn t n v tha mn
a G
a*0=0*a
3. Vi mi a G, tn ti mt phn t a-1 G c gi l nghch o
a * a-1 = a-1 * a = 0
Nhm c gi l giao hon (hay nhm Abel) nu
a, b G
a*b=b*a
1.1.4. Nhm hu hn
nh ngha : Nhm (G, ) hu hn nu |G| l hu hn. S cc phn t ca nhm G
c gi l cp ca nhm.
V d :
Tp cc s nguyn Z vi php cng s to nn mt nhm. Phn t n v
ca nhm ny c k hiu l 0, phn t ngc ca mt s nguyn a l
s nguyn a.

Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

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


ton nhn theo modulo n khng phi l mt nhm v khng phi mi
phn t ca nhm u c nghch o. 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.
1.1.5. Nhm con
nh ngha : B i (S, ) c gi l nhm con ca (G, ) nu:
S G, phn t trung gan e S
x, y S x * y S
1.1.6. Nhm Cyclic
nh ngha : Nhm G c gi l nhm cyclic nu tn ti mt phn t G sao
cho vi mi b G c mt s nguyn I sao cho b = i. Phn t nh vy c gi l
phn t sinh ca G
Nu G l mt nhm v a G th tp tt c cc ly tha ca a s to nn mt nhm
con cyclic ca G. Nhm ny c gi l nhm con sinh bi a v c k hiu l a
1.1.7. 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 lg n. 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 sau. Cc k thut tinh t hn
i vi cc php ton nhn v chia s c phc tp nh hn.

Php ton

phc tp bit

Cng

a+b

0(lg a + lg b) = 0 (lg n)

Tr

ab

0(lg a + lg b) = 0 (lg n)

Nhn

a*b

0 ((lg a) * (lg b)) = 0 ((lg n)2)

Chia

a = qb + r

0 ((lg a) * (lg b)) = 0 ((lg n)2)

1.1.8. Thut ton Euclide : Tnh UCLN ca 2 s nguyn


VO : Hai s nguyn khng m a v b vi a > b
RA
: UCLN ca a v b
(1). while b 0 do
R a mod b, a b, b r
(2). Return (a)
Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

1.1.9. Thut ton Euclide m rng


VO : Hai s nguyn khng m a v b vi a > b
RA
: d = UCLN (a, b) v cc s nguyn x v y tha mn ax + by = d
(1) Nu b = 0 th t d a, x l, y 0 v return (d, x, y)
(2) t x2 l, x1 0, y2 0, y1 l
(3) while b > 0 do
1. q [a/b], r a qb, x x2 qx1 , y y2 qy1
2. a b, b r, x2 x1, x1 x, y2 y1 , y1 y
(4) t d a, x x2, y y2 v return (d, x, y)
1.1.10. nh ngha hm Euler
nh ngha : Vi n1 chng ta gi (n) l tp cc s nguyn t cng nhau vi n
nm trong khong [1,n].
Tnh cht :
Nu p l s nguyn t (p) = p-1
Nu p=m.n , gcd(m,n)=1
(p)= (m). (n)
Nu n = p1e p2e p3e .... pke l tha s nguyn t ca n th
1

(n) = n 1

1
1
1

1
...1
p1
p2
p k

1.1.11. ng d thc
nh ngha : Cho a v b l hai s nguyn t, a c gi l ng d vi b theo
modulo n, k hiu l a b(mod n) nu a, b chia cho n c cng s d.
V d : 24 9 mod 5 v 24 - 9 = 3 * 5
-11 17 mod 7 v -11 - 17 = -4 * 7
Tnh cht :
i vi a, a1, b, b1, c Z ta c :
a a (mod n)
a b (mod n) b a (mod n)
a b (mod n) , b c (mod n) a c (mod n)
a a1 (mod n) , b b1 (mod n)
a+b a1+b1 (mod n)
a.b a1.b1 (mod n)
1.1.12. S nghch o
nh ngha : Cho a Zn. Mt s nguyn x Zn gi l nghch o ca a theo mod n
nu a.x 1mod n..
-1

Nu c s x nh vy th n l duy nht v ta ni a l kh nghch. K hiu l a . C


th suy ra rng a kh nghch theo mod n khi v ch khi gcd (a,n)=1.

Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

1.1.13. Nhm nhn Z*n


nh ngha : Nhm nhn ca Zn k hiu l Z*n l tp hp cc phn t sao cho gcd
(a,n)=1. c bit vi n l s nguyn t th Z*n={ a Zn | 1an-1}
nh ngha : Cho a Z*n khi bc ca a k hiu l ord (a) l mt s nguyn
dng t nh nht sao cho a t 1(mod n).
1.1.14. nh ngha thng d bc 2
nh ngha : Cho a Z*n gi a l thng d bc 2 theo modulo n nu tn ti x sao
cho x2 a (mod n) . Nu khng tn ti th gi a l bt thng d bc 2. 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 .
1.1.15. Phn d China CRT ( Chinese Remainder Theorem)
Nu cc s nguyn n1, n2, , nk l nguyn t cng nhau tng th h cc phng
trnh ng d:
x a1 (mod n1)
x a2 (mod n2)

x ak (mod nk)
s c nghim duy nht theo modulo n (n = n1, n2, , nk)
x=

ai Ni Mi mod n

i =1

Trong Ni = n / ni v Mi = N i1 mod ni
Cc tnh ton ny c th c thc hin bi 0 ((lg n )2) cc php ton trn bit.
V d : Cp phng trnh ng d
x 5 (mod 9)
x 19 (mod 23) c nghim duy nht x 203 (mod 207)
Tnh cht
Nu (n1, n2) = 1 th cp phng trnh ng d
x a (mod n1), x a (mod n2)
c mt nghim duy nht x a (mod n1, n2)
1.1.16. phc tp tnh ton
L thuyt thut ton v cc hm s tnh c ra i t nhng nm 30 ca th k 20
t nn mng cho vic nghin cu cc vn tnh c , gii c trong ton
hc. Tuy nhin t cc tnh c n vic tnh ton thc t l mt khong cch rt
ln. C rt nhiu vn chng minh l c th tnh c nhng khng tnh c trong
thc t d c s tr gip ca my tnh. Vo nhng nm 1960 l thuyt phc tp
Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

tnh ton c hnh thnh v pht trin nhanh chng, cung cp nhiu hiu bit su sc
v bn cht phc tp ca cc thut ton v cc bi ton, c nhng bi ton thun ty l
thuyt n nhng bi ton thng gp trong thc t.
phc tp tnh ton ca mt tin trnh tnh ton l s nh c dng hay s cc
php ton s cp c thc hin trong tin trnh tnh ton . D liu u vo i vi
mt thut ton thng c biu din qua cc t trong mt bng k t no . di
ca mt t l s k t trong t .
1.1.17. 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 Q21 = {0, 1, 2, n-1}.
Ta thy rng, nu a, b Zn th
(a + b) mod n =

a+b
vi a + b < n
a + b r.n vi a + b n

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


php chia. Php nhn modulo ca a v b c th c thc hin bng cch nhn cc s
nguyn thng thng ri ly 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.1.18. 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 a-1 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 a l :
t

ki2i trong mi ki {0, 1} khi

i =0

Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

ak =

ki

i =0

( ) (a ) ...(a )

2k = a 2

k0

21

k1

2t

kt

Thut ton nhn v bnh phng c lp ly ly tha trong Z n


VO

: a Zn v s nguyn k, (0 k < n) c biu din nh phn :


k=

k 2
i =0

RA

: ak mod n
1. t b l. Nu k = 0 th return (b)
2. t A a
3. Nu k0 = 1 th t b a
4. for i from l to t do
1. t A A2 mod n
2. Nu ki = l th t b A*b mod n
5. Return (b).
S cc php ton bit i vi php ton c bn trong Zn

Php ton

phc tp bit

Cng modulo

0(lg n)

Tr modulo

0(lg n)

Nhn modulo

0 ((lg n ) 2 )

Nghch o modulo

0 ((lg n ) 2 )

Ly tha modulo

0 ((lg n ) 3 )

phc tp bit ca cc php ton c bn trong Zn

Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

1.1.19. Hm mt pha - Hm mt pha c ca sp


Mt hm mt pha l hm m d dng tnh ton ra quan h mt chiu nhng rt kh
tnh ngc li.
V d : Bit gi thit x th c th d dng tnh ra f(x), nhng nu bit f(x) th rt kh
tnh ra c x. Trong trng hp ny kh c ngha l tnh ra c kt qu th phi
mt rt nhiu thi gian tnh ton.
F(x) c gi l hm mt pha c ca sp nu tnh xui y = f(x) th d nhng tnh
ngc x =f 1 (y) th kh tuy nhin nu c ca sp th vn tnh ngc tr nn d
dng. Ca sp y l mt iu kin no gip chng ta d dng tnh ngc.
V d :
y = f(x) = xb mod n tnh xui th d nhng tnh ngc x = ya mod n th kh v phi
bit a vi a * b 1 (mod( (n))) trong (n) = (p-1)(q-1). Nhng nu bit ca sp p,
q th vic tnh n = p * q v tnh a tr nn d dng.
Hp th l mt v d v hm mt pha c ca sp. Bt k ai cng c th b th vo
thng. B th vo thng l mt hnh ng cng cng. M thng th khng phi l
hnh ng cng cng. N l vic kh khn, bn s cn n m hn ph hoc nhng
cng c khc. Hn na nu bn c ca sp ( Trong trng hp ny l cha kha ca
hm th ) th cng vic m hm th tht d dng.
1.2 Tm hiu v mt m
Mt m hc l khoa hc nghin cu s an ton, ton vn ca d liu, xc nhn s
tn ti v xc nhn tnh nguyn bn ca thng tin.

Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

S khi mt h truyn tin mt


Thm m
Bn r

Ngun tin

Bn m

B m ha

Bn m

Knh m
(khng an ton)

Bn r

B gii m

KD

KE

Nhn tin

Knh an ton

Ngun kha

nh ngha : Mt h mt m l mt b nm (P, C, K, E, D) tho mn cc iu kin


sau y:
+ P l mt tp hu hn cc bn r.
+ C l mt tp hu hn cc bn m.
+ K l mt tp hu hn cc kho.
+ Vi mi k K, c mt hm lp m e E
k

e :PC
k

v mt hm gii m d D
k

d : C P sao cho d (e k (x)) = x vi mi x P


k
k
Trong thc t, P v C thng l bng ch ci (hoc tp cc dy ch ci c
di c nh).
1.2.1. M c in
H m c in (h m i xng) l h mt m m kha m ha c th d dng tm
c t kha gii m v ngc li. Trong nhiu trng hp, kha m ha v kha gii
m l ging nhau.
H mt m c in yu cu ngi gi v ngi nhn phi tha thun mt m trc
khi tin tc c gi i, kha ny phi c ct gi b mt. an ton ca h ny ph
thuc vo kha. Nu l kha, th bt k ngi no cng c th m ha v gii m
thng ip .

Sinh vin: Phm Th Hiu

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Cc c im ca h m c in
1. Cc phng php m ha c in i hi ngi m ha v ngi gii m phi
c cng chung mt kha.
2. Kha phi c gi b mt tuyt i, kha phi c gi i trn knh an ton.
V d dng xc nh mt kha nu bit kha kia.
Nhc im chnh ca phng php ny l kha c truyn trn knh an ton nn
chi ph tn km v khng kp thi. u im l tc m ha v gii m rt nhanh.
Cc h mt m c in cng dng chung mt kho cho vic lp m v gii m, cc
bn r v bn m thng dng c s l bng ch ci trong ngn ng t nhin. V
trong phn ny ta s dng bng ch ci ting Anh lm v d.
Ni ng dng
H m c in thng c s dng trong mi trng m kha c th d dng trao
chuyn b mt. N cng c dng m ha thng tin khi lu tr trn a.
1.2.1.1. M dch chuyn
nh ngha : M dch chuyn: (P, C, K, E, D)
P = C = K = Z vi k K, nh ngha e (x) = (x + k) mod 26
26

d (y) = (y k) mod 26
k

(x, y Z )
26

V d: Dng kho k = 2 m ho dng th:


"madichchuyen'"
dng th tng ng vi dng s

12

20

24

13

Qua php m ho e s c:
2

14

10

22

26

15

Sinh vin: Phm Th Hiu

10

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Bn m s l:
ocfkejejwzgp
Nhn c bn m , dng d nhn c bn r.
2

Cch y 2000 nm m dch chuyn c Julius Ceasar s dng, vi kho k=3


m ch chuyn c gi l m Ceasar.
Tp kho ph thuc vo Z vi m l s kho c th.
m

Trong ting Anh tp kho ch c 26 kho c th, vic thm m c th c thc


hin bng cch duyt tun t 26 kho , v vy an ton ca m dch chuyn rt
thp.
1.2.1.2. M thay th
nh ngha M thay th: (P, C, K, E, D)
P = C = Z , K = S (Z ) Vi mi K, tc l mt hon v trn Z , ta xc nh
26

26

26

e (x) = (x)

-1

d (y) = (y)

-1

vi x, y Z , l nghch o ca
26

V d: c cho bi ( y ta vit ch ci thay cho cc con s thuc Z ):


26

Bn r:
mathaythe
s c m ho thnh bn m (vi kho ):
nzgszbgsv
-1

D xc nh c , v do t bn m ta tm c bn r.
M thay th c tp hp kho kh ln - bng s cc hon v trn bng ch ci, tc s
26

cc hon v trn Z , hay l 26! > 4.10 . Vic duyt ton b cc hon v thm m l
26

rt kh, ngay c i vi my tnh. Tuy nhin, bng phng php thng k, ta c th d


Sinh vin: Phm Th Hiu

11

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

dng thm c cc bn m loi ny, v do m thay th cng khng th c xem


l an ton
1.2.1.3. M Affine
nh ngha M Affine: (P, C, K, E, D)
P = C = Z , K = { (a, b) Z x Z : (a, 26) = 1 }
26

26

26

vi mi k = (a, b) K ta nh ngha:
e (x) = ax + b mod 26
k

-1

d (y) = a (y b) mod 26
k

trong x, y Z

26

V d: Ly k = (5, 6).
Bn r:
maaffine

12

13

Y=5x + 6 mod 26

14

20

19

Bn m:
oggffuta
Thut ton gii m trong trng hp ny c dng:
d (y) = 21(y 6) mod 26
k

Vi m Affine, s cc kho c th c bng (s cc s 26 v nguyn t vi 26)


26, tc l 12 26 = 312. Vic th tt c cc kho thm m trong trng hp ny
tuy kh mt th gi nu tnh bng tay, nhng khng kh khn g nu dng my tnh.
Do vy, m Affine cng khng phi l m an ton

Sinh vin: Phm Th Hiu

12

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

1.2.1.4. M Vingenere
nh ngha M Vingenere: (P, C, K, E, D)
Cho m l s nguyn dng.
P = C = K = (Z 26 )m
vi mi kho k = (k , k ,,k ) K c:
1

e (x , x ,, x ) = (x + k , x + k ,, x + k )
k

d (y , y ,, y ) = (y k , y k ,, y k )
k

cc php cng php tr u ly theo modulo 26


V d: Gi s m = 6 v kho k l t CIPHER - tc k = (2, 8, 15, 7, 4, 17).
Bn r:
mavingenere
m

12

21

13

13

17

15

17

15

14

10

15

17

23

21

19

24

Bn m
oikprxgvtyi
T bn m , dng php gii m d tng ng, ta li thu c bn r.
k

Ch : M Vingenere vi m = 1 s tr thnh m Dch chuyn.


m

Tp hp cc kho trong m Vingenere mi m 1 c tt c l 26 kho c th c.


Vi m = 6, s kho l 308.915.776, duyt ton b chng y kho thm m bng
tnh tay th kh, nhng vi my tnh th vn l iu d dng.
1.2.1.5. M Hill
nh ngha M Hill: (P, C, K, E, D)
Cho m l s nguyn dng.
P = C = (Z 26 )m
Sinh vin: Phm Th Hiu

13

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

K = { k (Z 26 )mxm
mxm : (det(k), 26) = 1 }
vi mi k K nh ngha:
e (x , x ,, x ) = (x , x ,, x ).k
k

-1

d (y , y ,, y ) = (y , y ,,y ).k
k

11 8

3 7

V d: Ly m = 2, v k =

Vi b 2 k t (x , x ), ta c m l (y , y ) = (x , x ). k c tnh bi
1

y = 11.x + 3.x
1

y = 8.x + 7.x
2

Gi s ta c bn r: tudo, tch thnh tng b 2 k t, v vit di dng s ta


c 19 20 | 03 14 , lp bn m theo quy tc trn, ta c bn m di dng s l: 09
06 | 23 18, v di dng ch l fgxs.
Ch :
n gin cho vic tnh ton, thng thng chn ma trn vung 22. Khi c
th tnh ma trn nghch o theo cch sau :
a b

c d

Gi s ta c k =

Ta c ma trn nghch o

a b

k 1 =
c d

V c tnh nh sau
d
1

a
b

= ad bc
c
c d

ad bc

ad bc
a

ad bc

Mt ch l php chia lun thc hin c trn tp Z th nht thit nh thc


26

ca k: det(k) = (ad bc) phi c phn t nghch o trn Z , ngha l (ad bc) phi l
26

mt trong cc gi tr : 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, hoc 25. y cng l iu
kin ma trn k tn ti ma trn nghch o.

Sinh vin: Phm Th Hiu

14

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

-1

Khi : k .k = I l ma trn n v (ng cho chnh bng 1)


d

a b a b ad bc
=


c d c d c

ad bc
1

ad bc a b 1 0
=
a c d 0 1

ad bc

11 8

3 7

nh thc ca

L 11*7 8*3 = 1 1 mod 26


Khi
1

11 8
7 8 7 18

=

mod 26
3 7
3 11 23 11

1.2.1.6. M hon v
nh ngha M hon v: (P, C, K, E, D)
Cho m l s nguyn dng.
P=C=Z ,K=S
26

ek (x1 , x2 , ..., xm ) = (x (1) , x (2 ) , ..., x (m ) )

d k ( y1 , y2 , ..., ym ) = y 1 (1) , y 1 (2 ) , ..., y 1 (m )

vi mi k = S , ta c
m

-1

Trong l hon v nghch o ca


V d: Gi s m = 4, v kho k c cho bi php hon v

-1

Khi php hon v nghch o l:

Sinh vin: Phm Th Hiu

15

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Bn r:
mahoanvi
m

vt

12

23

34

41

12

2 3

34

41

vt

Bn m:
ahomahom
Dng hon v nghch o, t bn mt m ta li thu c bn r.
Ch :
M hon v l mt trng hp ring ca m Hill. Thc vy, cho php hon v ca
{1, 2,, m}, ta c th xc nh ma trn K = (k ), vi

ij

Th d thy rng m Hill vi kho K trng vi m hon v vi kho .

Vi m cho trc, s cc kho c th c ca m hon v l m!


D nhn thy vi m = 26 ta c s kha 26! (m Thay th)
1.2.2. M kha cng khai
Trong m hnh mt m c in trc y m hin nay ang c nghin cu,
A(ngi gi) v B (ngi nhn) chn kha b mt K. Sau dng K to lut m
ha ek v lut gii m dk. Trong h mt ny dk hoc ging ek hoc khc, 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
A v B 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 A v B cch xa nhau v h ch c th lin lc vi
nhau bng E-mail. Trong tnh hung A v B khng th to mt knh bo mt vi
gi phi chng.

Sinh vin: Phm Th Hiu

16

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

tng xy dng mt h mt kha cng khai l tm mt h mt khng c kh


nng tnh tan xc nh dk 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 (bi vy nn c thut
ng h mt kha cng khai).
u im ca h mt kha cng khai l ch A (hoc bt k A) c th gi mt bn
tin m ha cho B (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 m c bn m ny
bng vic s dng lut gii b mt dk ca mnh. C th hnh dung h mt ny tng t
nh sau: A t mt vt vo mt hp kim loi v ri kha n li bng mt kha s do B
li. Ch c B 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 ha n th do Riyesrt, Shamir v Ableman a ra ln u vo
nm 1977, h to nn h mt ni ting RSA v mt s h mt khc. bo mt ca
h RSA da trn kh ca vic phn tch ra tha s nguyn ln.
Ni ng dng
S dng ch yu trn cc mng cng khai nh Internet, khi m vic trao chuyn
kha b mt tng i kh khn. c trng ni bt ca h m ha kha cng khai l c
kha cng khai v bn m u c th gi i trn mt knh thng tin khng an ton.
1.2.2.1. M RSA
H mt ny s dng tnh ton trong Zn, trong n l tch ca 2 s nguyn t phn
bit p v q. Ta thy rng (n) = (p 1).(q 1).

nh ngha
Cho n = p.q trong p v q l cc s nguyn t. t P = C = Zn v nh ngha:
K = {(n, p, q, a, b): n = p.q, p, q l cc s nguyn t, a.b 1 mod (n)}
Vi K = (n, p, q, a, b) ta xc nh: eK (x) = xb mod n
v
dK (y) = ya mod n
(x, y Zn) Cc gi tr n v b c cng khai v cc gi tr p, q, a c gi kn
V d:
Chn p = 2, q = 5. Tnh n = p.q = 2*5 = 10
(n)= (p 1).(q 1) = 1*4 = 4
Do UCLN((n), b) = 1 nn chn b = 3
Sinh vin: Phm Th Hiu

17

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

a.b 1 mod (n) nn chn a = 7


Gi s G mun gi bn r x = 3 ti N, G phi tnh:
y = eK(x)= xb mod n = 33 mod 10 = 7
Khi N nhn c bn m y = 7, anh ta s dng s m a mt tnh:
x = dK(y) = ya mod n = 77 mod 10 = 3
chnh l bn r m G m ho.
mt ca h RSA c da trn gi thit l hm m eK(x) = xb mod n l hm
mt chiu. Bi vy thm m s gp kh khn v mt tnh ton gii m mt bn
m. Ca sp cho php N chnh l thng tin v php phn tch tha s n (n = p.q). V
N bit php phn tch ny nn anh ta c th tnh
(n) = (p 1).(q 1) v ri tnh s m gii m a bng cch s dng thut ton
Eculide m rng.
1.2.2.2. M Elgamal
M t h m Elgamal
H mt m ElGamal c T.ElGamal xut nm 1985, da vo phc tp ca
bi ton tnh lgarit ri rc, v sau nhanh chng c s dng rng ri khng
nhng trong vn bo mt truyn tin m cn trong cc vn xc nhn v ch k
in t.
Bi ton logarithm ri rc trong Zp l i tng trong nhiu cng trnh nghin cu
v c xem l bi ton kh nu p c chn cn thn. C th l khng c mt thut
ton thi gian a thc no cho bi ton logarithm ri rc. gy kh khn cho cc
phng php tn cng bit, p phi c t nht 150 ch s v (p 1) phi c t nht
mt tha s nguyn t ln
H mt Elgamal l mt h mt khng tt nh v bn m ph thuc vo c bn r x
ln gi tr ngu nhin k do G chn. Bi vy s c nhiu bn m c m t cng mt
bn r.
Bi ton logarithm ri rc trong Zp:
c trng ca bi ton: I = (p, , ) trong p l s nguyn t, Z p l
phn t nguyn thu (hay phn t sinh), Z *p
Mc tiu: Hy tm mt s nguyn duy nht a, 0 a p 2 sao cho:
a (mod p)
Ta s xc nh s nguyn a bng log .

Sinh vin: Phm Th Hiu

18

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

nh ngha m ho cng khai Elgamal trong Z *p :


Cho p l s nguyn t sao cho bi ton logarithm ri rc trong Z p l kh gii.
Cho Z *p l phn t nguyn thu. Gi s P = Z *p , C = Z *p x Z *p . Ta nh
ngha: K = {(p, , a, ): a (mod p)}
Cc gi tr p, , c cng khai, cn a gi kn.
Vi K =(p, , a, ) v mt s ngu nhin b mt k Z p 1 , ta xc nh:
eK(x, k) = (y1, y2).
Trong :
y1 = k mod p
y2 = x. k mod p
vi y1, y2 Z *p ta xc nh:
dK(y1, y2) = y2(y1a) 1 mod p
V d:
Chn p = 7
Z *p l phn t nguyn thu nn = 3
Chn a sao cho 0 a p 2 nn a = 2
Khi : = a mod p = 32 mod 7 = 2
Chn mt s ngu nhin b mt k Z p 1 , chn k =3
Gi s G mun gi thng bo x = 3 cho N, G phi tnh:
eK(x, k) = (y1, y2)
Trong :
y1 = k mod p = 33 mod 7 = 6
y2 = x. k mod p = 3*23 mod 7 = 3
Khi N thu c bn m (y1, y2) = (6, 3), anh ta s tnh:
x = dK(y1, y2) = y2(y1a)-1 mod p = 3*(62)-1 mod 7 = 3
chnh l bn r m G m ho

Sinh vin: Phm Th Hiu

19

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Chng II
CH K IN T
2.1. Tm hiu v ch k in t ( electronic signature )
2.1.1. Khi qut v ch k in t ?
V cn bn, khi nim ch k in t (electronic signature) cng ging nh ch
vit tay. Bn dng n xc nhn li ha hay cam kt ca mnh v sau khng th
rt li c. Ch k in t khng i hi phi s dng giy mc, n gn c im
nhn dng ca ngi k vo mt bn cam kt no , n l on d liu ngn nh
km vi vn bn gc chng thc tc gi ca vn bn v gip ngi nhn kim tra
tnh ton vn ca ni dung vn bn gc.
Con ngi s dng cc hp ng di dng in t t hn 100 nm nay vi
vic s dng m Morse v in tn. Vo nm 1889, ta n ti cao bang New
Hampshire (Hoa k) ph chun tnh hiu lc ca ch k in t. Tuy nhin, ch vi
nhng pht trin ca khoa hc k thut gn y th ch k in t mi i vo cuc
sng mt cch rng ri. Vo thp k 1980, cc cng ty v mt s c nhn bt u s
dng my fax truyn i cc ti liu quan trng. Mc d ch k trn cc ti liu ny
vn th hin trn giy nhng qu trnh truyn v nhn chng hon ton da trn tn
hiu in t.
Hin nay, ch k in t c th bao hm cc cam kt gi bng email, nhp cc s
nh dng c nhn (PIN) vo cc my ATM, k bng bt in t vi thit b mn hnh
cm ng ti cc quy tnh tin, chp nhn cc iu khon ngi dng (EULA) khi ci
t phn mm my tnh, k cc hp ng in t online.
Ch k in t c to ra bng cch p dng thut ton Bm mt chiu trn vn
bn gc to ra bn phn tch vn bn (message digest) hay cn gi l fingerprint,
sau m ha bng private key to ra ch k s nh km vi vn bn gc gi i.
Khi nhn, vn bn c tch lm 2 phn, phn vn bn gc c tnh li fingerprint
so snh vi fingerprint c cng c phc hi t vic gii m ch k s.

Sinh vin: Phm Th Hiu

20

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

So snh ch k thng thng v ch k din t


Ch k thng thng
Vn k mt ti liu

Ch k in t
Vn k mt ti liu

Ch k ch l mt phn vt l ca ti
Ch k in t khng gn kiu vt l
liu
vo bc thng ip nn thut ton c
dng phi khng nhn thy theo mt
cch no trn bc thng ip
Vn v kim tra
Vn v kim tra
Ch k c kim tra bng cch so Ch k in t c th kim tra nh
snh n vi ch k xc thc khc. Tuy dng mt thut ton kim tra cng
nhin, y khng phi l mt phng khai. Nh vy, bt k ai cng c th
php an ton v n d b gi mo.
kim tra c ch k in t. Vic dng
ch k in t an ton c th chn c
gi mo.
Bn copy thng ip c k bng
Bn copy thng ip c k bng
ch k thng thng li c th khc vi ch k in t th ng nht vi bn
bn gc.
gc, iu ny c ngha l cn phi ngn
chn mt bc thng ip k s khng b
dng li.
2.1.2. nh ngha v s k in t
Mt s ch k S l mt b nm
S = (P , A , K , S , V)
Trong :
P l mt tp hu hn cc thng bo c th c,
A l mt tp hu hn cc ch k c th c,
K l mt tp hu hn cc kho, mi kho K K gm c hai phn
K=(K,K''), K' l kho b mt dnh cho vic k, cn K'' l kho
cng khai dnh cho vic kim th ch k.
Vi mi K =(K,K''), trong S c mt thut ton k sigk : P A , v trong V c
mt thut ton kim th verk : PxA {ng,sai} tho mn iu kin sau y i vi
mi thng bo x P v mi ch k y A :
verk (x, y) = ng y = sigk (x )
Vi s trn, mi ch th s hu mt b kho K =(K,K''), cng b cng khai
kho K'' mi ngi c th kim th ch k ca mnh, v gi b mt kho K thc
hin ch k trn cc thng bo m mnh mun gi i. Cc hm verk v sigk

Sinh vin: Phm Th Hiu

21

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

(khi bit K) phi tnh c mt cch d dng (trong thi gian a thc), tuy nhin hm
y = sigk (x ) l kh tnh c nu khng bit K - iu bo m b mt cho vic k,
cng tc l bo m chng gi mo ch k.
Cc ch k s phi tha mn iu kin c bn sau :
Khng th gi mo. Nu P k thng bo M bng ch k F(P,M) th khng
ai c th to c cp [M.S(M.P)]
Xc thc : nu R nhn c cp [M.S(M.P)] c coi l ca P th R c th
kim tra c rng ch k c thc s l ca P hay khng ? Ch c P mi
c th to c ch k ny v ch k c gn cht vi M. Hai yu
cu u tin ny l nhng tr ngi chnh trong giao dch qua my tnh.
Hai tnh cht b tr sau l nhng tnh cht mong mun i vi giao dch
c hon tt nh ch k s.
Khng th thay i : sau khi c pht M khng th thay i bi
F.R hoc bi mt k thu trm no.
Khng th s dng li : mt thng bo trc c a ra s
ngay lp tc b R pht hin.
2.1.3. S ch k RSA
S ch k RSA c cho bi b nm
S = (P , A , K , S , V)
Trong : P = A =Zn , vi n =p.q l tch ca hai s nguyn t ln p,q
K l tp cc cp kho K =(K,K''), vi K = a v K'' = (n,b)
a v b l hai s thuc Z* n tho mn a.b 1(mod (n)).
Cc hm sigk v verk c xc nh nh sau:
sigk (x) = x a modn ,
verk (x,y ) = ng x y b (modn).
D chng minh c rng s c nh ngha nh vy l hp thc, tc l vi
mi x P v mi ch k y A:
verk (x,y ) = ng y = sigk (x)
Ch rng tuy hai vn xc nhn v bo mt theo s RSA l c b ngoi
ging nhau, nhng ni dung ca chng l hon ton khc nhau: Khi A gi thng bo x
cho B, B c cn c xc nhn ng thc l thng bo do A gi, A phi gi km
theo ch k sigk (x), tc l A gi cho B (x, sigk (x)), trong cc thng tin gi i ,
thng bo x hon ton khng c gi b mt. Cng tng t nh vy, nu dng s
mt m RSA, khi mt ch th A nhn c mt bn mt m ek(x) t B th A ch bit
rng thng bo x c bo mt, ch khng c g xc nhn x l ca B.
Nu ta mun h truyn tin ca ta va c tnh bo mt va c tnh xc nhn, th ta
phi s dng ng thi hai h mt m v xc nhn (bng ch k). Gi s trn mng

Sinh vin: Phm Th Hiu

22

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

truyn tin cng cng, ta c c hai h mt m kho cng khai S1 v h xc nhn bng
ch k S2. Gi s B c b kho mt m K = (K', K'') vi K' = (n, e) v
K'' = d trong h S1, v A c b kho ch k Ks = (Ks , K''s) vi
Ks = a v K''s = (n,b) trong h S2. A c th gi n B mt thng bo va bo mt va
c ch k xc nhn nh sau: A k trn thng bo x trc, ri thay cho vic gi n
B vn bn cng ch k (x,sigks(x)) th A s gi cho B bn mt m ca vn bn
c lp theo kho cng khai ca B, tc l gi cho B ek((x, sigks (x)). Nhn c vn
bn mt m B s dng thut ton gii m dk ca mnh thu c (x, sigks (x)),
sau dng thut ton kim th ch k cng khai verks ca A xc nhn ch k
sigks(x) ng l ca A trn x.
2.1.4. S ch k Elgamal
S ch k ElGamal c xut nm 1985, gn nh ng thi vi s h mt
m ElGamal, cng da trn kh ca bi ton lgarit ri rc. S c thit k c
bit cho mc ch k trn cc vn bn in t, c m t nh mt h:
S = (P , A , K , S , V)
Trong P = Z*p , A = Z*p x Zp-1, vi p l mt s nguyn t sao cho bi ton tnh
lgarit ri rc trong Z*p l rt kh. Tp hp K gm cc cp kho K=(K,K''), vi K=a
l mt s thuc Z*p , K'' =(p, , ), l mt phn t nguyn thu ca Z*p , v
=amodp. K l kho b mt dng k, v K'' l kho cng khai dng kim th
ch k. Cc thut ton k v kim th ch k c xc nh nh sau: Vi mi thng
bo x, to ch k trn x ta chn thm mt s ngu nhin k Z*p-1 , ri tnh :
sig k (x,k ) = ( , ) vi
k
= modp,
= (x a.). k-1 mod(p -1).
Thut ton kim th c nh ngha bi:
verk (x,( , )) = ng . x (modp).
D thy rng s ch k c nh ngha nh trn l hp thc. Thc vy, nu
sigk(x,k ) = ( , ) th ta c :
. a. k mod p
x mod p,
v k. +a. x mod(p -1). Do , verk (x,( , )) = ng.
V d: Gi s p = 467, = 2, a = 127. Khi = 2127mod467=132. Cho x =100; ta
chn ngu nhin k =213 ( Z*466 ) v c k-1mod466 = 431.
Ch k trn vn bn x=100 vi s ngu nhin k =213 l ( , ), trong
=2213mod467 = 29 v = (100 - 127.29).431mod466 =51.
kim th ta tnh :
. = 13229.2951 189 (mod467),
Sinh vin: Phm Th Hiu

23

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

x = 2100 189 (mod467),


hai gi tr ng d vi nhau theo mod 467, ch k ( . ) = (29,51) c xc
nhn l ng.
2.1.5. S ch k DSS
S ch k DSS c cho bi b nm
S = (P , A , K , S , V)
Trong P = Z*p , A = Z*q x Z*q
p l mt s nguyn t ln c di biu din 512 lp 1024 bit (vi l l
bi ca 64) sao cho bi ton tnh logarit ri rc trong Zp l kh.
q l mt c s nguyn t ca p -1 c lq biu din c 160 bit.
Gi Z*p , = h(p-1)/q mod p 1 vi 1<h<p-1
a l s ngu nhin (0 < a < q )
a modp.
k l s ngu nhin (0 < k < q )
K=(K,K''), trong kho b mt K = a, v kho cng khai K'' = (p,q, , ).
Hm k sigk :
sigk (x,k ) = ( , )
Trong = (k modp) modq,
= (x + a. ).k-1 modq.
Hm kim th verk :
verk (x,( , )) = ng

( e . e modp)modq = ,
1

Trong

e1 = x . w
v
e2 = . w
vi
w = -1 mod q
Ch rng ta phi c 0 mod q c th tnh c -1mod q dng trong thut
ton kim th, v vy nu chn k m c 0 mod q th phi chn li s k khc
c c 0 mod q.
Cng d thy rng s nh trn l ng. Thc vy nu x, , l ng th :
( e . e modp)modq = (x.w. .w mod p) mod q
1

= (x.w. a. .w mod p) mod q


= ((x+a.).w mod p) mod q (1)
Hn na
w = -1 mod q
= (x + a.)-1.k mod q
(x + a. ).w = k mod q
(2)
T (1) v () ( e . e mod p)mod q = (k mod p) mod q =
1

Nh vy verk (x,( ,)) = ng


V d :
Sinh vin: Phm Th Hiu

24

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Gi s p = 124540019 , q = 17389
Suy ra (p-1)/q = 7162, h = 110217528
V Tnh = h7162 mod 124540019 = 10083255 1, chn a = 12496
Tnh = 12496 mod 124540019 = 119946256.
Vy kha cng khai l: (p = 124540099, q = 17389, = 10083255, =
119946256)
kha b mt l : (a=12496)
K: x = 2546, k = 9557 tnh k-1 mod q = 7631
= 100832559557 mod 124540019) mod 17389
= 27039929 mod 1738 9 = 34
= (7631){5246+(12496)(34)} mod 17389 = 13049
Kim th:
w = -1 mod q = 1799
e1= x.w mod q = 5246.1799 mod 17389 = 12716
e2= .w mod q = 34.1799 mod 17389 = 8999
(e1. e2 modp)modq = (1008325512716.1199462658999mod124540019)mod 17389
= 27039929 mod 17389
= 34 =
Nh vy verk ( x, ( , ) ) = ng
2.2. Ch k khng th chi b
Trong cc s ch k in t ta trnh by trn, vic kim th tnh ng n
ca ch k l do ngi nhn tin hnh. Nh vy, c vn bn cng ch k c th c
sao chp v pht tn cho nhiu ngi m khng c php ca ngi gi. trnh
kh nng , ngi ta a ra s ch k khng th chi b c vi mt yu cu l
ch k khng th c kim th nu khng c s hp tc ca ngi k. S hp tc
c th hin qua giao thc kim th ( giao thc xc nhn ). Khi ch k i hi c
xc nhn bng mt giao thc kim th th mt vn ny sinh l lm sao c th ngn
cn ngi k chi b mt ch k m anh ta k? p ng yu cu , cn c
thm mt giao thc chi b, thng qua giao thc ny, ngi k c th chng minh mt
ch k khng phi l ch k ca mnh. Nu anh ta t chi khng tham gia giao thc
th c bng chng l anh ta khng chng minh c ch k l gi mo, tc l
anh ta khng chi b c ch k ca mnh.
Mt s ch k khng th chi b c 3 phn:
Mt thut ton k
Mt giao thc kim th ( giao thc xc nhn )
Mt giao thc chi b

Sinh vin: Phm Th Hiu

25

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

2.3. Chng minh khng tit l thng tin


Php chng minh khng tit l thng tin c m hnh ha bi Quisquater and
Guillou trong v d v Hang ng ca Ali Baba. V d ny c gii thch nh sau

T by gi chng ta s coi Peggy l Prover (ngi chng minh), cn Victor l


Verifier (ngi kim th) nh nhiu ti liu Mt m. Peggy(P) mun chng
minh vi Victor(V) rng c ta bit cu thn ch c th m c cnh ca b
mt ti cc im R-S, nhng c ta khng mun tit l b mt vi Victor.
Qu trnh n ni din ra nh sau: Victor i ti P v i n khi Peggy i
khi R hoc S. Sau Victor di chuyn n Q v gi Peggy ra ngoi t bn tri
hoc bn phi ca ng hm( k thut cut and choose). Nu Peggy khng bit
cu thn ch, c ta ch c 50% kh nng ra ngoi t bn ng.
Giao thc c th c lp li nhiu ln n khi Victor tin rng Peggy bit
cu thn ch. Nu giao thc c lp li k ln, xc sut la gt ca Peggy l 2k.
V n khng c ngha l giao thc c lp bao nhiu ln. Victor vn khng
bit c b mt.
ngha chnh n trong nguyn nhn l: Peggy mun chng minh mt s tht hin
nhin F1 nhng c ta khng mun tit l s chng minh ny. V th c ta i tm nhng
s tht F2 khc, m c th tit l cng khai, nh l F2 l NG NU F1 NG( iu
kin cn thit). V th c ta Thay th php chng minh ca F1 ch bng chng minh
F2. Trong v d, F1 l cu thn ch b mt,v F2 l kh nng xut hin t mi pha ca
ng hm. Nu Victor ng rng F2 khng th ng nu F1 khng ng, sau giao
thc c th tin hnh.

Sinh vin: Phm Th Hiu

26

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

2.4. Vn k s trn i din vn bn


Khi nim : Vic s dng cc h mt m v cc s ch k s thng l m ha
v k s trn tng bit ca thng tin, thi gian m ha v k s t l thun vi dung
lng ca thng tin. Thm vo c th xy ra trng hp vi nhiu bc thng ip
u vo khc nhau, s dng h mt m, s k s ging nhau ( c th khc nhau ) th
cho ra kt qu bn m, bn k s ging nhau. iu ny s dn n mt s rc ri v
sau cho vic xc thc thng tin.
Vi cc s k s, ch cho php k cc thng ip ( thng tin ) c kch thc nh
v sau khi k, bn k s c kch thc gp i bn thng ip gc ( trong trng hp
ca s k s DSS ). Trong khi , trn thc t, ta cn phi k cc thng ip c
kch thc ln hn nhiu, chng hn vi chc Megebyte, hn na d liu truyn qua
mng khng ch l bn thng ip gc, m cn bao gm c bn k s (c dung lng
gp i bn thng ip gc ), p ng vic xc thc sau khi thng ip n ngi
nhn.
Mt cch n gin gii bi ton (vi thng ip vi chc Megabyte ) ny l cht
thng ip thnh nhiu on 160 bit sau k ln cc on c lp nhau. Nhng
bin php ny c mt s vn khi to ra ch k s :
Th nht : Vi mt thng ip c kch thc a th sau khi k kch thc
ca ch k s l 2a (trong trng hp ch k s DSS)
Th hai : Vi cc ch k an ton th tc chm v chng dng nhiu
php tnh s hc phc tp nh s m modulo
Th ba : Vn nghim trng hn l kt qu sau khi k, ni dung ca
thng ip c th b xo trn cc on vi nhau, hoc mt s on trong
chng c th b mt mt, trong khi ngi nhn cn xc minh li thng
ip. Ta cn phi bo v tnh ton vn ca thng ip.
Gii php cho cc vn trn l dng hm bm tr gip cho vic k s. Cc
thut ton bm vi u vo l cc bc thng ip c dung lng ty , cc bc thng
ip c th l dng vn bn, m thanh, hnh nh, v vi cc gii thut ton bm :
MD2, MD4, MD5, SHA do cc bn bm c kch thc c nh: 128 bit vi dng MD,
160 bit vi dng SHA.
Nh vy, bc thng ip kch thc ty sau khi bm s c thu gn thnh cc
vn bn c gi l vn bn i din - c kch thc c nh (128 bit hoc 160
bit) . Vi mi thng ip u vo ch c th tnh ra c mt vn bn i din duy
nht. Gi tr bm c coi l c th ca thng ip, ging nh du vn tay ca mi
ngi. Hai thng ip khc nhau chc chn c hai vn bn i din khc nhau. Khi
c vn bn i din duy nht cho bc thng ip, p dng cc s ch k s k trn
vn bn i din .

Sinh vin: Phm Th Hiu

27

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

2.4.1. S lc v hm bm (Hash Function)


2.4.1.1. Gii thiu
Theo cc s ch k trn th ch k ca thng ip cng c di bng di
ca thng ip, l mt iu bt tin. Ta mong mun nh trong trng hp ch k
vit tay, ch k c di ngn v hn ch cho d vn bn c di bng bao nhiu.
V ch k s c k cho tng bit ca thng ip, nu mun ch k c di hn ch
trn thng ip c di tu th ta phi tm cch rt gn di thng ip. Nhng
bn thn thng ip khng th rt ngn c, nn ch cn cch l tm cho mi thng
ip mt thng ip thu gn c di hn ch v thay vic k trn thng ip, ta k
trn thng ip thu gn.
Do vy cc hm bm ng vai tr c bn trong m kha cng khai. Hm bm s
to ra mt u ra t bn tin u vo. u ra ny c nh ngha l mt m bm.
2.4.1.2. nh ngha hm Hash
Hm Hash l mt hm tnh ton c hiu qu khi nh x cc dng nh phn c
di tu thnh cc dng nh phn c di c nh no .
Hm Hash yu: Hm Hash c gi l yu nu cho mt thng ip x th v mt
tnh ton khng tm ra c thng ip x khc x sao cho :
h(x) = h(x)
Hm Hash mnh: Hm Hash c gi l mnh nu v mt tnh ton khng tm ra
c hai thng ip x v x sao cho:
x x v h(x) = h(x)
Chn gi tr x ngu nhin, x X
Tnh z = h(x)
Tnh x1 = A(z)
Nu x1 x th x1 v x va chm di h( thnh cng)
Ngc li l tht bi
Hm Hash c tnh cht mt chiu: Hm Hash c tnh cht mt chiu nu cho trc
thng ip rt gn z th v mt tnh ton khng tm ra c thng ip x sao cho :
h(x) = z.
Hm Hash yu lm cho ch k s tr nn tin cy ging nh vic k trn ton
thng ip.
Hm Hash mnh c tc dng chng li k gi mo to ra hai bn thng ip c ni
dung khc nhau, sau thu nhn ch k hp php cho mt bn thng ip d c xc
nhn ri ly n gi mo lm ch k ca thng ip th 2.

Sinh vin: Phm Th Hiu

28

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

2.4.1.3. Tnh cht ca hm bm


Hm bm h phi tha mn tnh cht khng va chm yu ngha l : Khi cho
trc mt thng ip x khng th tin hnh v mt tnh ton tm ra bc in
x x m h(x) = h(x).
Hm bm h khng va chm mnh ngha l khng c kh nng tnh ton d tm
ra hai thng ip x v x m x x v h(x) = h(x).
Hm bm h l hm mt chiu ngha l khi cho trc mt bn tm lc thng
ip z th khng th thc hin v mt tnh ton tm ra thng ip ban u x
sao cho h(x)= z.
Cc hm bm ph bin l cc hm bm dng MD : MD2, MD4, MD5 do Rivest
a ra c kt qu u ra l 128 bit. Chun hm bm an ton SHA c cng b trong
h s lin bang nm 1992 v c chp nhn lm tiu chun vo nm 1993 do vin
tiu chun v cng ngh quc gia (NIST), kt qu u ra c di 160 bit. Di y l
thut ton bm MD5.
2.4.1.4. Thut ton MD5
Thut ton MD5 c Ron Rivest a ra vo nm 1991. u vo ca thut ton l
cc khi c di 512 bit v u ra l mt bn bm i din cho vn bn gc c di
128bit.
Cc bc tin hnh :
Bc 1 : n thm bit
u tin thng ip c m thm vo chiu di ca n l 64 bit.
Vi d : Nu thng ip di 448 bit th n c m thm vo 512 bit tr thnh
960 bit. S lng bit c thm vo nm trong khong t 1 n 512 bit. Dy bit
thm vo bt u bng s 1 vo theo sau l dy s 0.
Bc 2 : Thm di
Mt biu din 64 bit ca di ca thng ip (trc khi cc bit m c thm
vo) c thm vo dn n kt qu ca bc 1, nu chiu di ca thng ip
ban u ln hn 264 th ch c nhng bit nh hn 64 mi c s dng.
Hai bc trn p ng yu cu di ca thng ip l mt bi s ca 512 bit
Bc 3 : Khi to b m ca MD
Mt b m 128 bit c khi to lu gi kt qu ca hm bm. B m c
biu din bi thanh ghi 32 bit. Cc gi tr khi to ca 4 thanh ghi l :
A = 0x01234567
B = 0x89abcdef
C = 0xfedcba98
D = 0x76543210

Sinh vin: Phm Th Hiu

29

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Bc 4 : Tin trnh thc hin


Thut ton c thc hin qua 4 vng lp, 4 vng lp ny c cu trc ging nhau
nhng s dng cc php ton logic khc nhau. Cc php ton logic c s dng
bao gm : AND, XOR, OR v php modulo 232
Bc 5 : u ra
Sau khi tt c cc khi 512 bit c x l th mt vn bn i din 128 bit c
sinh ra.
L x 512 bits = N x 32 bits
K bits

n thm vo

Thng ip
Chiu di
thng ip

512 bit

ABCD

Y0

Y1

Yq

YL-1

MD 5

MD 5

MD 5

MD 5

Qu trnh to hm bm ca MD5

128 bit
digest

2.5. Xc thc
Trong phm vi truyn thng qua internet ngi ta nhn c cc dng tn cng
sau y.
Khm ph : l cc ni dung thng bo do khng x l kha mt m
thch hp
Phn tch lung thng tin : Pht hin lung thng tin gia cc thnh
vin. Trong mt ng dng hng kt ni, ngi ta c th xc nh c
tn s v khong thi gian kt ni. Trong mi trng hng kt ni hoc
khng. Hng kt ni ngi ta c th xc nh c s lng v di
ca cc thng bo gia cc thnh vin.
Sinh vin: Phm Th Hiu

30

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Gi mo : a thm cc thng bo c ngun gc gi mo trn mng.


Thng thng k gi mo s to ra cc thng bo v gi cng vi cc
thng bo hp php.
Sa i ni dung : Thay i ni dung ca thng bo nh chn thm, xa,
sa i.
Sa i trnh t : Sa i trnh t thng bo gia cc thnh vin chng
hn nh xa b hay sp xp theo trnh t mi.
Sa i thi gian : Lm tr hoc chuyn tip nhiu ln cc thng bo.
Chi b : Ngi nhn chi b nhng thng bo gi n hoc ngi gi
chi b thng bo gi i.
Xc thc : L mt th tc nhm kim tra cc thng bo nhn c xem
chng c n t mt ngi gi hp l v c b sa i hay khng. Xc thc
cng c th kim tra trnh t v tnh ng lc. Ch k s l mt k thut xc
thc.

Sinh vin: Phm Th Hiu

31

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Chng III
CH K NHM
3.1. Khi nim v ch k nhm( Groups Signature )
Trong xu hng pht trin cu th gii v Vit Nam hin nay, vic giao dch gia
ngi vi ngi thng qua mng tr thnh mt vic khng th thiu. Hai ngi
cch xa nhau hng vn cy s nhng vn c th thc hin vic k kt cc hp ng
thng mi vi nhau thng qua mng. vic k kt cc hp ng c c s php
l, cc nh khoa hc pht minh ra ch k in t. l mt pht minh v i ca
loi ngi trong k nguyn cng ngh thng tin.
Tuy nhin, vic giao dch khng ch dng li mc gia hai ngi vi nhau,
m i hi vic giao dch c th l giao dch gia cc nhm ngi, cc t chc khc
nhau trn th gii v c thc hin qua mng. Vic xc thc thng tin v ton vn
thng tin lc ny l xc thc v ton vn thng tin ca mt nhm ngi, mt t chc.
Ch k nhm c xut nhm p ng c yu cu ny ca x hi.
Ch k nhm l ch k in t i din cho mt nhm ngi, mt t chc
Cc thnh vin ca mt nhm ngi c php k trn thng ip vi t cch l
ngi i din cho nhm.
Ch k nhm c David Chaum v Van Heyst gii thiu ln u tin vo nm
1991. K t n nay c nhiu nh khoa hc nghin cu v a ra mt s s
ch k nhm khc nh s ch k nhm ca Chen v Pedersen nm 1994, s ch
k nhm ca Camenisch v Stadler nm 1997.
3.2. Nhng c im ca ch k nhm
Ch c thnh vin trong nhm mi c th k tn vo bn thng bo
Ngi nhn thng ip c th kim tra xem ch k c ng l ca nhm
hay khng, nhng ngi nhn khng th bit c ngi no trong nhm k
vo thng ip .
Trong trng hp cn thit ch k c th c m (c hoc l khng c s
gip ca thnh vin trong nhm) xc nh ngi no k vo thng
ip
3.2.1. Ta c h ch k nhm
Undeniable Signature
y l ch k m thut ton kim nh i hi phi c s tham gia ca ngi k.
Thc cht y l ch k c tnh cht khng th chuyn giao c (untransferable): Ch
c ngha i vi ngi nhn l c ngi trao i lm n vi ngi k, khi chuyn n
cho mt ngi khc th khng c tc dng na (khng th kim nh c ch k

Sinh vin: Phm Th Hiu

32

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

na). Cc vn bn c ch k ny khng nhm mc ch em i cng b ni khc m


ch c tnh cht giy php. V th nu sao chp l mt ngha.
Ch k ny c dng trong vic bn cc sn phm phn mm: Cc hng phn
mm s bn cc sn phm ca mnh c ch k chng t tnh bn quyn. Vic kim
nh i hi phi lin lc vi hng ny. Nu nh c vic mt ngi bun no bn
phn mm sao chp th lc ngi mua i kim nh s b l ngay v khng thc hin
c.
MultiSignature ( ng k )
y, ch k khng phi ca mt ngi m ca mt nhm ngi. Mun to c
ch k, tt c nhng ngi ny cng phi tham gia vo protocol. Tuy nhin ch k c
th c kim nh bi bt k ai. y l trng hp dnh cho thc t ca vic a ra
nhng quyt nh do nhiu ngi.
Proxy Signature (ch k y nhim)
H ch k ny dnh cho cc trng hp m ngi ch ch k v mt l do no
m khng th k c. V vy ch k y nhim c to ra ngi ch c th y
nhim cho mt ngi no k thay.
3.2.2. Mt s ch k nhm gm thnh phn c bn
Ngi qun l nhm
Cc thnh vin trong nhm
Ngi khng thuc nhm
3.2.3. Mt s ch k nhm thng bao gm 5 th tc
KeyGen: L thut ton sinh kha cng khai ca nhm, kha b mt ca
ngi qun l nhm : KeyGen() (pk,gmsk) trong pk l kha cng khai
ca nhm (dng xc minh ch k ca nhm), gmsk l kha b mt ca
nhm. Nu s ngi trong nhm l c nh th KeyGen() (pk,gmsk,sk i ) trong
sk i l kha b mt ca thnh vin th i trong nhm
Join : Cho php mt ngi khng phi l thnh vin nhm gia nhp nhm. Khi
gia nhp nhm, thnh vin i s nhn c kha b mt ca mnh l sk i , ngi
qun l nhm s lu thng tin ca thnh vin mi ny
Sig : Khi thnh vin i mun k thng ip m i din cho nhm, anh ta s s
dng th tc Sig: Sig(m, sk i ). Ch k trn thng ip m l .
Verify : Khi mun kim tra ch k c phi l ch k i din cho nhm trn
True

thng ip m s dng th tc Verify(m, ,pk) =


False
Sinh vin: Phm Th Hiu

33

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Open : Vi mi ch k trn thng ip m, ngi qun l nhm c th xc nh


c thnh vin no k vo thng ip bng vic s dng th tc
Open(gmsk,m, ), u ra ca th tc l thng tin v thnh vin k.
3.2.4. Hiu qu ca ch k nhm
Khi nh gi hiu qu ca mt s ch k nhm ta cn quan tm n cc thng
s sau:
ln ca kha cng khai nhm (s bit)
ln ca ch k trn mt thng ip (s bit)
Hiu qu ca cc th tc Setup, Join, Sign, Verify, Open
Tnh u vit ca ch k nhm chnh l kh nng cho php nhng nhm ngi,
nhng t chc giao tip vi nhau, m trong vic xc thc cc thng tin gi cho
nhau thng qua cc kha cng khai ca mi nhm. Nh nhng thnh vin ca
nhm c th k nc danh i din cho nhm ca mnh m khng th l thng tin c
nhn ca mnh, v ch c ngi qun tr mi c th xc nh c ngi k.
3.2.5. Vic m bo an ninh i vi ch k nhm.
Khng th gi mo : Ch c cc thnh vin trong nhm mi c th i din cho
nhm k trn thng ip ca nhm.
Ngi k nc danh c th tnh ton c : Bt k ai cng c th xc thc ch
k mt cch d dng nhng khng th bit c ai l ngi k ( Tr ngi
qun l nhm ).
Khng th chi b : Mt thnh vin k trn mt thng ip th khng th chi
b ch k c. Ngi qun l nhm c th xc nh c ai k vo
thng ip .
Khng th phn tch quan h : Vic phn tch xem hai ch k ca mt thnh
vin trong nhm khc nhau nh th no l kh i vi cc thnh vin ca nhm
tr ngi qun l nhm.
Ngn chn framing Attacks : Khi mt s thnh vin lin kt vi nhau cng
khng th gi mo ch k ca thnh vic khc trong nhm.
Ngn chn s lin minh : Khi mt s thnh vin lin kt vi nhau cng khng
th to ra mt ch k hp l m khng xc nh c ngi k.

Sinh vin: Phm Th Hiu

34

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

3.3. Cc s ch k nhm ca David Chaum v Van Heyst


3.3.1. S ch k nhm th nht.
Z ( l ngi qun l nhm hoc l ngi tin cy c y nhim ) chn mt h
thng kha cng khai v a cho mi thnh vin mt danh sch cc kha b mt (cc
danh sch ny l khc nhau) v cng b mt danh sch y cc kha cng khai
tng ng ( theo th t ngu nhin ) trong mt Trusted Public Directory TPD
Mi thnh vin c th k mt thng ip bng mt kha b mt trong danh sch
ca anh ta, v ngi nhn c th kim tra ch k bng mt kha cng khai tng ng
t danh sch kha cng khai. Mi kha ch c s dng mt ln, ni cch khc cc
ch k c to bng kha ny c lin kt. Z bit tt c cc danh sch kha b
mt, v th trong trng hp cn thit, Z c th bit c ai to ra ch k .
lm c iu ny Z phi m ch k.
Nu mi ngi c cng mt s lng cc kha b mt, th chiu di ca kha cng
khai ca nhm l tuyn tnh vi s thnh vin, nhng s thng ip ca mi thnh vin
k l khng i.
Mt vn i vi s ny l Z bit tt c cc kha b mt ca cc thnh vin v
c th gi mo ch k. iu ny c th c gii quyt bng vic s dng cc kha
cng khai m. Ly g l phn t sinh ca nhm nhn Z *p vi p l mt s nguyn t.
Thnh vin th I ly kha b mt ca mnh l si v tnh g s mod p ri gi cho Z, Z c
mt danh sch cc kha cng khai khc nhau ny cng vi tn ca cc thnh vin. Mi
tun Z a cho thnh vin I mt s ngu nhin ri {1, 2, ..., p 1 } v cng b danh
i

sch tt c cc kha cng khai m l (g s

ri

. Trong sut tun ny thnh vin I s s

dng siri mod (p-1) lm kha b mt.


u im ca vic ci bin ny l Z khng th gi mo ch k, v mi thnh vin
s c mt kha b mt thc s . Nu ri chng may b l th vn khng c mt thng
tin no v kha b mt si b l.
Trong mt ci bin khc, khng cn phi c ngi y quyn tin cy, mi ngi
dng gi mt (hoc nhiu hn ) cc kha cng khai ti mt danh sch cng khai s l
kha cng khai ca nhm. Nhng ch nhng thnh vin ca nhm mi c th gi cc
kha cng khai vo danh sch ny.
3.3.2. S ch k nhm th hai
Z chn hai s nguyn t ln p, q khc nhau v mt hm mt chiu v tnh N=p*q.
Z a cho thnh vin th I mt kha b mt si ,l mt s nguyn t ln ngu nhin
thuc tp hp = N , K, 2 N 1 , v tnh v = si , v cng b N, v v f. Nu

{[ ] [

] }

thnh vin I mun k thng ip m, ch k ca anh ta s l ( f (m ))s mod N.


Z phi chng minh cho ngi nhn rng si l c ca v, v si m khng l
i

bt k thng tin no v si. Trong trng hp c xy ra tranh ci sau , ngi nhn c


Sinh vin: Phm Th Hiu

35

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

th s dng giao thc xc nhn hoc giao thc chng chi b yu cu bn gi phi
chng minh rng ch k khng phi ca bn gi.
3.3.2.1. Giao thc xc nhn
Ngi k P s phi chng minh rng S l ch k ca anh ta trn thng ip m vi
V m khng l thng tin no v kha b mt s ca anh ta, vic ny s c gii
quyt bi giao thc 1, chng ta s phi tnh ton cc blob an ton B .
Ta coi bn thu gn ca thng ip l m.
Giao thc xc nhn 1
Kha b mt ca P : s
Cng khai : N, m, S, ; m, s Z *N , = N , K , 2 N 1 N
Chng minh vi V
: m s S (mod N) v s

{[ ]

Nu giao thc ny c lp li k ln, V


nhn c g hn ngoi s tht l s ;

] }

s tin rng s ; nhng V

s khng

Giao thc 1
1. P chn r (0, , ). Tnh cc blob trn z1 x r (mod N) v z2 x r (mod
N), v gi khng theo th t {B(z1 ), B(z2 )} cho V .
2. V chn ngu nhin b (0, 1) v gi cho P
3. P gi li cho V trong trng hp
b = 0:r v m cc blob
b = 1: ~z l (c + r) hoc (c + r - ) v tng ng z1 hoc z2 (gi l ~z )
4. V kim tra trong trng hp :
b = 0 : kim tra r ( 0, , ) v cc blob ca xr v xr- theo th t no
b = 1 : kim tra ~r v mt trong cc blob cha ~z v ~z tha mn
~
z S (mod N).
mr ~
Nu P c th tr li ng c hai yu cu khi V gi b th ch k S trn thng ip m
ng l ca P . Cn nu mt trong hai cu c kt qu sai hoc c hai cu u sai th
ch k S trn thng ip m khng phi l ch k ca P.
Blob B c th c tnh bng cch sau:
Z chn cc phn t sinh gp v hq ca Z *p v Z q* v tnh
g p mod p
g
v h
mod q
l

l mod p
s dng CRT

hq mod q

tnh B(y) th P chn r1, r2 (1, , N) v tnh


B(y) = y g r1 h r2 mod N

Sinh vin: Phm Th Hiu

36

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Trong giao thc ny, chng ta to mt giao thc xc nhn, v P mun chng minh
cho ngi nhn V rng P a cho mt V ch k c gi tr S. Trng hp ny c
gii quyt nh sau :
Giao thc xc nhn 2
Kha b mt ca P : s
Cng khai : N, m, S, ; m, s Z *N , = N , K , 2 N 1 N
Chng minh vi V
: m s S (mod N) v s v s|v (s l c ca v)

{[ ]

] }

Giao thc 2
1. Chng minh tn ti s sao cho ms S (mod N) v s bng giao thc 1,
thc hin k ln.
2. Chng minh rng s|v nh sau:
Giao thc 2
P
V
a Sr

Chn r (1,, N)
b av/s
Kim tra a

B(b)
r
M blob

Kim tra blob v b mvr

3.3.2.2. Giao thc chi b


Nu P mun chng minh cho V rng S khng phi l ch k ca anh ta trn thng
ip m, trng hp ny s c gii quyt nh sau:
Giao thc chi b
Kha b mt ca P : s
Cng khai : N, m, S, ; m, s Z *N
Chng minh vi V
: m s S (mod N) v s v s|v (s l c ca v)

Sinh vin: Phm Th Hiu

37

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Z cng b ( g , h ) c sinh trong nhm Z *N (cch tnh g , h nh sau: chn cc s


nguyn a1, a2, b1, b2 tha mn gcd(a1, b1, p-1) = gcd (a2, b2, q-1) = 1 v cng khai
~
*
*
g~ g a h a , h g b h b vi g, h l cc phn t sinh ca Zp v Z q), cng l mt th
~
mc cng khai tin cy cha ( tn thnh vin, g~ s , h s ). Ly l l mt hng s rt nh
1

vic tm kim ton din trn (0, , 1) l kh thi. Ch rng nu S ms, th p khng
a
a
th tnh a t (m s / S ) , v khi (m s / S ) = 1. Khi anh ta s phi on a.
Giao thc 3
P
V
~
r
m a g~ h r2 S

Chn r1, r2 (1,, N) v a (0, , 1)

( ) (h~ )

S a g~ s

Tnh a t (m s / S )
Bng cch kim tra
Ton b cc s
a

r1

s r2

B(b)

r1, r2
M blob

Kim tra blob

Do ch k c to ra l ch k khng th chi b, ta c th s dng giao thc


chi b ca s ch k khng th chi b do chnh tc gi David Chaum sng tc
thc hin vic chng minh ch k S khng phi l ch k ca P trn thng ip m vi
V .
Z cng b g~ v g~ s (mod N), S-1i (mod (N)) tng ng tng thnh vin. Giao thc
i

4 s gii quyt vn chi b ch k nh sau :


Giao thc 4
x
Bc 1 : V chn ngu nhin 2 s nguyn x1, x2 , tnh c = S x (g~ s ) mod N, sau
gi cho P
1

Bc 2 : P tnh d = (c )s mod N, gi d cho V


Bc 3 : V
th iu kin d m x g~ x mod N. Nu ng th tip tc bc 4. Nu sai
th ch k ng l ca P
1

Sinh vin: Phm Th Hiu

38

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

x
Bc 4 : V chn ngu nhin 2 s nguyn t x1, x2 tnh c ' = S x (g~ s ) mod N,
sau gi c cho P .
'
1

'

Bc 5 : P tnh d ' = (c ' ) mod N, sau gi d cho V


s 1

Bc 6 : V th iu kin d m x g~ x mod N. Nu ng th tip tc bc 7. Nu sai


th ch k ng l ca P .
'
1

'

Bc 7 : V kim tra (dg~ x ) d ' g~ x mod N ? Nu ng d thc ng th kt lun


ch k khng phi l ca P.
V d :
Mt v d v s ch k nhm da trn h mt m RSA
Thnh lp mt nhm c 5 thnh vin, qu trnh ci t nhm do ngi
qun l nhm thc hin nh sau :
Z chn p = 101, q = 113, N = pq = 11413, (N) = (p-1)(q-1) = 11200, Z
chn kha b mt ca Z l Sz = 149, gp = 3, hq = 2 l cc phn t sinh ca
Z*p v Z *q. Chn a1 = 3, a2 = 7, b1 = 11, b2 = 13.
~
Tnh g~ = g a h a mod N = 3456 v h = g b h b mod N = 2448
x1'

'
2

x1

Cc kha b mt ca cc thnh vin nh sau :


s1= 107,s2 = 113, s3 = 123, s4 = 129, s5 = 137
Kha cng khai ca cc thnh vin ( l nghch o ca kha b
mt ca cc thnh vin trong trng mod (N)) c gi ln TPD nh
sau (khng theo th t ): 5443, 2577, 3187, 8769, 10873. Cc kha cng
khai ny s c ngi nhn thng ip dng xc minh c ng hay
khng.
Kha cng khai ca nhm l N = 11413
v = s z si =3916191121461
K vn bn : k vn bn m = 1234 th
Ch k ca tng thnh vin ln lt l : 278, 6093, 6541, 6528, 8331
Xc nhn ch k ( s dng giao thc 1)
Thnh vin 1 mun xc nhn ch k S = 278 ng l ca anh ta ( gi l
P ) trn vn bn m = 1234 vi ngi xc nhn ( gi l V ) th anh ta
thc hin giao thc xc nhn ( giao thc 1)
Bc 1 : P chn = 57, chn r = 23.
Tnh z1 = 123423 mod 11413 = 4016, z2 = 123423-57 = mod 11413
= (1234-1)34 mod 11413 = 951734 mod 11413 = 2429.
Tnh cc blob : g = 1922, h = 4748, chn r1 = 5,r2 = 7.
B(z1) = 4016.19225.47487 mod 11413 = 8712
B(z2) = 2429.19225.47487 mod 11413 = 1518
Sinh vin: Phm Th Hiu

39

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Bc 2 : V chn b = 0 hoc b = 1 ri gi cho P


Bc 3 : P gi cho V
Nu b = 0 th r = 23, = 57, m cc blob g = 1922, h = 4748,
r1 = 5,r2 = 7, z1 = 4016, z2 = 2429
Nu b = 1 th r = 107 + 23 = 130, z = 4016
Bc 4 : V xc nh
Nu b = 0 th r (0, , ) v kim tra z1 = 4016, z2 = 3418 sau
kim tra B(4016) = 8712 v B(3418) = 5505 theo th t no
m P gi bc 1. Nu kim tra tha mn th ch k l
ng .
Nu b = 1 th kim tra 1234130 4016.278 (mod 11413) 9387
9387. do ch k l ng.
Chi b ch k ( s dng giao thc 4). Gi s thnh vin th 1 k thng
ip m = 1234, ch k S = 278, thnh vin th 3 mun chng minh rng
khng phi l ch k ca anh ta. Khi ngi qun l nhm cng b
: N = 11413, g~ = 1299, g~ s = 4528 (mod N) (cng khai), s-1 = 3187 (mod
(N)) ( cho thnh vin cn phi chng minh bit P).
Bc 1 : V chn x1 = 3, x2 = 5. Tnh c = 2783.45285 (mod N) = 6595. Gi
c cho P
Bc 2 : P tnh d = 65953187 (mod N) = 5172. Ri gi cho V
Bc 3 : V th 5172 12343 12995 (mod 11413)? 5172 4285
Bc 4 : V tnh c = 2784.45286 (mod N) = 1236 ri gi c cho P
Bc 5 : P tnh d = 12363187 (mod N) = 6038 ri gi cho V
Bc 6 : V th 6038 1234412996(mod 11413)? 6038 694
Bc 7 : V

(
(

6038.1299 6
kim tra
5172.1299 5

) (mod N ) = 2682
) (mod N ) = 2682
3

do ch k

khng phi l ca P
Mt vi nhn xt i vi s ch k nhm th hai
Nu tt c thnh vin ca nhm c m mu loi mt ngi th kha b mt ca
ngi ny s b l. Vic ny c th d dng c gii quyt khi Z l mt thnh vin
ca nhm, khi Z s tnh v = s z si , trong sz l mt kha b mt m ch Z mi
bit.
di ca kha cng khai v tuyn tnh vi s thnh vin ca nhm, do vic
tng mt s ly tha ca v s l mt ln tuyn tnh s thnh vin ca nhm.

Sinh vin: Phm Th Hiu

40

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

3.3.3. S ch k nhm th ba
Chng ta gi s rng c mt th mc cng khai tin cy trong cc modulo RSA
ca mi thnh vin c lit k ( s m RSA cng khai khng cn trong s ny)
Kha b mt ca thnh vin th I s l tha s ca modulo RSA ca anht a Ni= piqi.
trong sut qu trnh ci t, Z chn mt s modulo RSA N c lp vi tt c cc Ni
ca cc thnh vin. Ly M l mt s nguyn cng khai sao cho pi=
M , ..., 2 M 1 v qi> 4 M (i vi mi i). nu thnh vin i mun k thng ip

{[ ] [

] }

m, anh ta chn ngu nhin mt b ngi ( bao gm c anh ta ), ch k ca anh ta s


l :
p
, ( f (m )) mod N
i

V anh ta s phi a ra mt chng c khng tit l thng tin rng s dng tha s
pi v pi l mt c s ca modulo RSA ca cc ngi trong . iu ny c th
c gii quyt bng Giao thc 2 ( vi = ). Nu mt thnh vin mun chi b mt
ch k, anh ta c th s dng Giao thc 3.
3.3.3.1. Vn m ch k
Trong trng hp cn thit, ngi qun l nhm c th xc nh mt ch k l do
thnh vin no trong nhm k bng cch thc hin giao thc chi b vi tng thnh
vin trong nhm.
Bi v ch k, m mi thnh vin k l mt ch k khng th chi b, do nu
s dng giao thc chi b ( Giao thc 3) th mt thnh vin s khng th ph nhn ch
k m mnh k. V khi ngi qun l nhm s bit c ch k l ca ai.
3.3.3.2. Nhn xt
Cc s ch k nhm ca D.Chaum u da trn h m RSA v vic tnh logarit
ri rc i vi mt s nguyn t ln l kh. Cc thng tin v ngi k l an ton,
khng ai trong nhm c th bit c ( tt nhin l tr ngi k).
Trong cc s th s ngi trong nhm l c nh, ring trong s th ba, khi
mt ngi mun k mt vn bn m khng mun l tn anh ta th ng thi anh ta to
mt nhm ngi (cc kha cng khai ly t th mc cng khai tin cy) v anh ta s
chng minh rng anh ta thuc nhm ngi ny.
Ch k c to ra l ch k khng th chi b.
di ca kha cng khai tuyn tnh vi s ngi trong nhm.
3.4. S ch k nhm ca Jan Camenish v Stadler
David Chaum v Van Heyst a ra cc s ch k nhm u tin trn th
gii, nhng trong cc s ca h th s thnh vin trong nhm phi l c nh, nhng
thc t mt s nhm lun lun thay i thnh vin, khc phc c nhc im

Sinh vin: Phm Th Hiu

41

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

ny, nm 1997 Jan Camenish v Stadler a ra mt s ch k s nhm mi m


theo s thnh vin trong nhm s c th thay i c.
S ch k s nhm do Jan Camenish v Stadler gm 5 th tc:
Setup: Sinh kha cng khai ca nhm v kha b mt ca ngi qun l nhm
Join: Th tc tng tc gia ngi qun l nhm v mt thnh vin mi ca
nhm cung cp cho thnh vin ny kha b mt v chng nhn thnh
vin.
Sign: Th tc k mt thng ip ca mt thnh vin trong nhm.
Verify: Th tc kim tra ch k trn mt thng ip xem c ng l ch k ca
nhm hay khng.
Open: L th tc xc nh xem ch k S trn thng ip m l ca thnh vin
no trong nhm.
3.4.1. Mt s khi nim cn thit
Khi nim 1
Mt ch k da trn kin thc v logarit ri rc kp ca y theo g, v a trn thng
ip m vi mt tham s an ton l k hiu l :

SKLOGLOGl y = g (a ) (m )

L mt nhm (c, s1 , s 2 , ..., sl ) {0,1}l x Z ml tha mn :


c = H l (m, y, g , a, P1 , P2 , ..., Pl )

g (a i ) c[i ] = 0
Pi = si
y (a ) c[i ] 0
s

Trong

Khi nim 2
Mt ch k da trn kin thc v logarit ri rc thnh phn gc th e ca y theo g
trn thng ip m c k hiu:

e
SKROOTLOGl y = g ( ) (m )

L mt nhm (c, s1 , s 2 , ..., sl ) {0,1}l x Z ml tha mn :


c = H l (m, y, g , a, P1 , P2 , ..., Pl )

g (si ) c[i ] = 0
Pi = e
y (si ) c[i ] 0
e

Trong

Sinh vin: Phm Th Hiu

42

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

3.4.2. S ch k
Setup : Ngi qun tr nhm chn tham s an ton l ri lm cc bc sau :
Mt cp kha cng khai RSA(n, e) v mt kha b mt d.
Trong n c di ti thiu l 21bit, n = pq, p = P + 1, q = 2Q + 1
p, q, P, Q l cc s nguyn t
Mt nhm Cyclic G = <g>
Mt phn t Z n* ngu nhin.
Mt s m v mt hng s >1, cng ln th h thng cng an
ton
Join : A mun tham gia vo nhm th phi thc hin cc bc sau:
Ly mt kha b mt x {0, 1, ..., 2 1}
Tnh y = ax (mod n)
Tnh kha thnh vin z = gy, A s s dng kha b mt ca mnh k z.
c c chng nhn thnh vin ca nhm, A gi (y, z) cho ngi
qun l nhm, anh ta s cp cho A chng nhn thnh vin :
v(y+1)d(mod n)
Sign : k mt thng ip m, A lm theo cc bc sau :
g~ = g r vi r Zn
~z = g~ y (= z r )
V1 = SKLOGLOGl [ ~z = g~ ] (m )

V2 = SKROOTLOG l ~z g~ = g~ (m )
Ch k trn thng ip m gm s = (g~, ~z , V1 , V 2 )
Verify : xc thc ch k s ng l ch k trn m ta phi lm cc bc sau :

Kim tra V1 tha mn ~z g~ = g~ a +1 hay khng


Kim tra V2 l ch k da trn hm logarit ri rc ca phn t gc th e.
Open : Vi ch k s = (g~, ~z , V1 , V 2 ) trn thng ip m, ngi qun l nhm c
th xc nh ngi k bng cch kim tra xem ~z = g~ y vi mi thnh vin P
p

ca nhm vi yp = logg zp v zp l kha b mt ca thnh vin P.

Sinh vin: Phm Th Hiu

43

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Chng IV
NG DNG CH K NHM
4.1. Tm hiu v giao dch in t
Giao dch in t l giao dch c thc hin thng qua cc phng tin in t v
cng c gi tr php l nh n c ghi chp, hoc m t bng vn bn theo phng
php truyn thng. C th coi vn bn php l u tin Vit Nam v giao dch in
t l quyt nh ca Th tng Chnh ph s 44, nm 2002 v chp nhn ch k in
t trong thanh ton lin ngn hng. Ngy 28/10/2005, k hp th 8 Quc hi Kha
XI tho lun v D tho Lut Giao dch in t. Tham gia phin tho lun, B
trng B Bu chnh Vin thng Trung T pht biu kin v ni dung quan
trng trong D tho Lut Giao dch in t Chnh ph quy nh c th v vic tha
nhn ch k in t v chng th in t nc ngoi. Hin nay, ngnh ngn hng
ang ng dng mt s giao dch in t nh gi, nhn, cung cp thng tin qua mng,
x l chng t k ton, giao dch gia ngn hng vi khch hng.
Giao dch in t gm cc hnh thc thng ip d liu, ch k in t, chng thc
in t, giao kt v thc hin hp ng in t...
4.2. Th thanh ton in t
Trc y, cc h thng thanh ton trn th gii phn ln do cc ngn hng thng
mi (NHTM) t lin kt vi nhau ng ra thnh lp v vn hnh, Ngn hng Trung
ng ch l ni quyt ton vn. Nhng nm gn y, khi cng ngh thng tin pht
trin nhanh, cc trung tm thanh ton c gp rt nhiu kh khn trong vic u t mi
v nng cp k thut cng ngh, mt khc, ri ro trong hot ng ngn hng ni chung
v trong h thng thanh ton ni ring thc s e do s mt an ton h thng l mt
thch thc i vi cc Ngn hng Trung ng. Do vy, nhiu Ngn hng Trung ng
t u t xy dng mi h thng thanh ton in t lin ngn hng x l cc khon
thanh ton gi tr cao hoc hp nht cc trung tm thanh ton thnh nhng trung tm
ln hn qun l v gim st. Xut pht t c im, mt h thng thanh ton hon
chnh phi hi hai yu t. Mt l, ni n h h thng thanh ton l ni n yu t
k thut (nhanh, chm, chnh xc...); Hai l, h thng phi qun l c dng chu
chuyn vn bng vic qun l s d ti khon thanh ton, quyt ton, b tr.
Ch k nhm c rt nhiu ng dng trong thc t nh: B phiu in t, thanh
ton in t.
Hin nay cc loi th thanh ton in t, th rt tin t ng ATM (automated
teller machine) tr thnh ph bin trn th gii v cng ang rt pht trin ti Vit
Nam. Tuy nhin nu mi ngn hng u pht hnh mt loi th ring th chi ph b ra
Sinh vin: Phm Th Hiu

44

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

s rt cao, v ngi tiu dng khi mun thanh ton hoc rt tin s phi tm n ng
im (pos) cho php ca ngn hng mi c th thc hin giao dch. iu ny s gy
cn tr trong vic pht trin cc h thng thanh ton trc tuyn, rt tin t ng
Chnh v th m vic i hi c mt loi th chung gia cc ngn hng, v cc my
kim tra th, my rt tin t ng c th thc hin giao dch i vi th ca cc ngn
hng. Ch k nhm s c ng dng trong trng hp ny.
Mt lin minh ngn hng (hay mt nhm cc ngn hng) trong mi ngn hng
l mt thnh vin trong nhm vi ngi qun l nhm l mt ngn hng trung tm (
phi l ngn hng c rt uy tn v thng l ngn hng trung ng ).
Ngn hng trung tm s to ra cc kha b mt v kha cng khai ca nhm, to
cc kha b mt cho cc ngn hng thnh vin. Khi cc ngn hng s to trn th
thanh ton do ngn hng mnh pht hnh da trn kha b mt ca mnh. Khi mt
ngi tiu dng c th ca lin minh ngn hng , anh ta c th thanh ton, rt
tin,ti cc a im h tr ca lin minh ngn hng. Cc my kim tra th s kim
tra ch k ca ngn hng pht hnh trn th , xem th c hp l hay khng, v s
a ra quyt nh thc hin giao dch.
Kha cng khai ca lin minh ngn hng s tuyn tnh theo s lng ca cc ngn
hng thnh vin.
Bt k s lin minh no trong lin minh ngn hng (khng bao gm ngn hng
trung tm) u khng th bit c kha b mt ca ngn hng khc, do s khng
th lm gi c th ca ngn hng khc.
Cng vi s pht trin ca th gii thng mi in t cng ang rt c quan
tm v pht trin, mt s cng ty thc hin bn hng trc tuyn qua mng do vic
p dng ch k nhm l rt hu ch, gim tin, kinh t hn, thun tin cho ngi s
dng v rt cn thit.
4.3.Vic ng dng v pht trin cng ngh ti Vit Nam hin nay
Cng ty C phn Chuyn mch Ti chnh Quc gia Vit Nam (Banknetvn) c
Thng c NHNN (ngn hng nh nc) Vit Nam cp Giy php hot ng ngy
09/07/2004 v khai trng hot ng vo ngy 09/08/2004. Banknetvn c thnh lp
trn c s gp vn ca cc c ng v c s vn iu l l 94,5 t ng. Hin nay
Banknetvn c 8 thnh vin c ng sng lp, bao gm: Ngn hng Nng nghip v
Pht trin nng thn Vit nam (VBARD), Ngn hng u t v Pht trin Vit nam
(BIDV), Ngn hng Cng thng Vit nam (ICB), Ngn hng Si gn Thng tn
(Sacombank), Ngn hng Si gn Cng thng (Saigonbank), Ngn hng Chu
(ACB), Ngn hng ng (EAB) v Cng ty in ton v truyn s liu (VDC).
Banknetvn hot ng theo lut doanh nghip v cc lut chuyn Ngnh lin quan.
Mc tiu hot ng kinh doanh chnh l thc hin kt ni cc h thng thanh ton th
ngn hng, th thanh ton gia cc ngn hng c php pht hnh, chp nhn, thanh
Sinh vin: Phm Th Hiu

45

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

ton th v cc t chc khc c php cung ng dch v thanh ton; thc hin thanh
ton b tr i vi cc giao dch thanh ton th ngn hng v cung ng cc dch v c
lin quan trong lnh vc th thanh ton.
Tnh hnh v pht hnh th v dch v ATM cc Ngn hng thng mi
Vit Nam
Vi nm gn y, vi s pht trin ca cng ngh trn ton th gii v bng nhng
n lc ca mnh, Vit Nam ng dng c nhiu cng ngh mi, tin tin v c
nhng thnh qu ng ghi nhn trong lnh vc th thanh ton. Tuy nhin, vic s dng
cng ngh mi trong phng thc thanh ton khng dng tin mt Vit Nam cn hn
ch, n gin vi doanh s cha nhiu. V lnh vc th, cc Ngn hng Vit Nam mi
ang pht trin h thng th t, trong khi trn th gii cc Ngn hng v ang
chuyn sang h thng th thng minh theo chun EMV (Europay, Mastercard v Visa)
Nhng my giao dch t ng (ATM) v nhng chic th ATM u tin Vit
Nam c trin khai trong mt d n do Ngn hng Nh nc Vit nam ch tr t nm
1996. Vo thi gian ATM v th ATM l nhng th rt l i vi th trng Vit
Nam. C th ni, khi nhng ngi hiu bit v ATM v th ATM rt t i, hn na,
nhng iu kin cn c pht trin dch v ATM vo thi gian ny cng cha c g.
Vietcombank l Ngn hng thng mi u tin thc hin vic th nghim ny. V
trong khong thi gian 5 nm 1996-2000 ch c mt vi ngn hng ln tip tc thc
hin vic nghin cu, th nghim dch v ATM. Vo thi k ny s lng ATM
Vit nam cn kh t, tng cng ch vi chc chic. Th ATM pht hnh ch yu cho
cn b ngn hng ( th im) l chnh. Ngoi th ATM mt s ngn hng c dch v
chp nhn thanh ton th tn dng quc t (Visa, MasterCard v.v.) nhng u thc
hin bng phng php th cng. Smart card (th thng minh), mt dng v in t
cng c s t ngn hng th nghim trong phm vi rt nh. Nh vy, c th ni giai
on 1996-2000 l thi k m u, ch yu nghin cu, tip cn th trng thanh ton
th Vit Nam.
T nm 2001 n nm 2005 chng ta c chng kin s pht trin vt bc
ca th trng th thanh ton. Nhiu ngn hng, k c cc NHTM Nh nc v cc
NHTM c phn trin khai cc dch v thanh ton th vi vic ng dng cng ngh
thng tin, trang b h thng cng ngh th hin i v pht hnh nhiu loi th khc
nhau. Theo s liu kho st ca Banknetvn, vo thi im cui nm 2005 Vit Nam
c khong 2,7 triu th thanh ton cc loi c pht hnh, c trn 1.700 my ATM
v trn 9.000 im chp nhn th (POS) c lp t s dng. Cc loi th thanh
ton c pht hnh v s dng kh phong ph, bao gm: th ATM, th ghi n, th tn
dng, th ni a, th quc t, th tin mt v.v. Tc pht trin th thanh ton trong
thi k ny rt cao, thng xuyn tng t trn 200%/nm. Cc dch v thanh ton da
Sinh vin: Phm Th Hiu

46

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

trn th cng ngy c tng cng. N khng ch dng dch v rt tin mt trn
ATM m m rng ra cc dch v chuyn khon, thanh ton hng ha, thanh ton
ha n, mua v, thanh ton cc ph v.v. Nhiu ngn hng kt ni thc hin thanh
ton v pht hnh th quc t (Visa, MasterCard, Amex, JCB v.v.). Trong thi gian
ny ch yu cc Ngn hng t u t pht trin dch v th. iu ng mng l vic
nhn thc v s chp nhn s dng cc dch v thanh ton th ca nhiu tng lp nhn
dn, nht l gii tr c ci thin ng k. Nhng nm gn y, c nhng s
lin minh, lin kt gia cc nhm Ngn hng to ra cc mng thanh ton th rng
hn. Nhng cc lin minh thanh ton th ny cn nh, l v cha p ng c nhu
cu kt ni to ra mt mng thanh ton th chung thng nht trong quy m quc gia.
T nm 2006 th trng th thanh ton Vit Nam tip tc pht trin vi tc cao.
Ch tnh n cui thng 8/2006 theo c tnh ca Banknetvn Vit Nam c gn 4
triu th thanh ton c pht hnh, trn 2.700 ATM v 12.000 POS c lp t s
dng. Nhiu Ngn hng tch cc ng dng cng ngh hin i, mnh dn u t pht
trin dch v thanh ton th. Cc dch v thanh ton th tr nn ph bin hn, gn
gi, thn thin hn vi nhiu ngi dn. Cc Ngn hng v lin minh th cng ang
xch li gn nhau hn. Chc chn mt mng thanh ton th chung cho tt c cc ngn
hng s c hnh thnh trong thi gian khng xa. Bi theo d bo ch quan ca
chng ti th trng th Vit Nam s cn pht trin mnh trong thi gian t nht l 5
nm ti.
Vi phng chm i tt, n u trong lnh vc thanh ton bng th, Chnh ph
ban hnh n thanh ton khng dng tin mt giai on 2006 - 2010. D kin, n
nm 2010, th do mt ngn hng pht hnh c th s dng c nhiu my ATM v
POS ca cc ngn hng khc.
n mi v thanh ton khng dng tin mt cn nu r, i vi khu vc dn c
s khuyn khch, to iu kin cho cc t chc cung ng dch v thanh ton tp trung
u t c s h tng, thit b phc v cho cc giao dch thanh ton hin i.
Trong k hoch t nay n 2010, s tp trung ch yu cho dch v th v to iu
kin pht trin thanh ton qua internet, mobile, ng thi tip cn nhanh chng vi
cng ngh hin i trn th gii theo cch thc i tt, n u.
Bn cnh , Chnh ph s ch o xy dng trung tm chuyn mch th thng
nht, kt ni cc h thng my tnh ATM ca cc lin minh th hin hnh thnh mt
h thng thng nht, nhm tng tnh thun tin cho ngi s dng dch v th ngn
hng. Theo n, th do mt ngn hng pht hnh c th s dng nhiu my ATM
v POS ca cc ngn hng khc.
Sinh vin: Phm Th Hiu

47

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Mt trong nhng mc tiu khng km phn quan trng ca n l phn u n


cui nm 2010, tt c cc B, c quan ngang B, cc cp chnh quyn tnh, thnh ph
u thc hin chi tiu bng phng tin thanh ton khng dng tin mt. T 2011 2020 s trin khai m rng n cc i tng l S, Ban, ngnh, cc cp chnh quyn
huyn, x trn phm vi ton quc.
Theo l trnh, n cui nm 2010 s c khong 20 triu ti khon c nhn; 70% cn
b hng lng ngn sch v 50% cng nhn lao ng trong khu vc doanh nghip, t
nhn c tr lng qua ti khon. n nm 2020, s l 45 triu ti khon c nhn;
95% cn b hng lng ngn sch v 80% lao ng c tr lng qua ti khon.
Ti khu vc doanh nghip, s c khong 80% cc khon thanh ton gia doanh
nghip vi nhau c thc hin qua ti khon ti ngn hng v t 95% vo nm
2020.
Vi n ny, tng lai khng xa v tin ca cn b, vin chc v cng nhn lao
ng s thu gn trong 1 tm th.
4.4. Chng trnh
a. M ngun
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include <stdlib.h>
#include<string.h>
//==========================================
int roso(char s);
char rochu(int s);
void kyvb(char *tep);
int Kiemthu();
long int kha_nghich(long int b, long int n);
void output();
void Elgamal();
long exp_mod(long x, long b, long n);
long Extended_Euclidean(long b, long n);
int kiemtra_ngto(long pq);
long USCLN(long n,long m);
long Ktra_ngto_cungnhau(long b,long phi_N);
long Kitep(int Ki);
long Doctep(long n);
Sinh vin: Phm Th Hiu

48

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

void Ky_RSA();
void chaum();
//===========================================
long int p,a,alpha,k,beta,k1;
long int delta,gamma;
int chuky[500],sl;
//===========================================
int roso(char s)
{
return s;
}
char rochu(int s)
{
return s;
}
//================ky van ban==============
void kyvb(char *tep)
{
clrscr();
char c,c1;
long int so;
int so1,so2,l,i;
FILE *f,*f1;
char *tep1;
char *s;
sl=1;
chuky[0]=gamma;
f=fopen(tep,"a+t");
if(f==NULL)
{
printf("Loi mo tep!!!");
getch();
exit(0);
}
while(!feof(f))
{
fscanf(f,"%c",&c); //doc tung ky tu trong tep.
if(c!=10)
Sinh vin: Phm Th Hiu

49

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

{
so=roso(c); //lay gia tri so cua tung ky tu c.
delta=((so-a*gamma)*k1)%(p-1); //tinh gia tri ky la gamma.
delta=delta+(p-1); //vi delta<0
chuky[sl]=delta;
//gia tri ky tren tung ky tu.
sl++;
}
}
fclose(f);
}
//============Ham kiem thu chu ky=================
int Kiemthu()
{
char *tep,*tep1;
char c;
int d;
long int so;
FILE *f,*f1;
printf("Nhap ten tep can kiem thu:");fflush(stdin);
gets(tep);
printf("Nhap ten tep chua chu ky can kiem thu:");fflush(stdin);
gets(tep1);
f=fopen(tep,"rt");
f1=fopen(tep1,"rt");
int kt=1;
fscanf(f1,"%2d",&sl);
fscanf(f1,"%2d\n",&gamma);
int i=1;
while(i<sl-1)
{
fscanf(f,"%c",&c);
so=roso(c);
fscanf(f1,"%3d",&d);
if((a*gamma+k*d)%(p-1)!=so)
{ kt=0;
return kt;}
i++;
}
Sinh vin: Phm Th Hiu

50

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

fclose(f1);
fclose(f);
return kt;
}
//===========Tinh Kha nghich ================
long int kha_nghich(long int b, long int n)
{
long int n0, b0;
long int t, t0, temp, q, r;
n0=n; b0=b; t0=0; t=1;
q=floor(n0/b0);
r=n0-q*b0;
while(r>0){
temp=t0-q*t;
if (temp < 0)
temp = n- ((-temp) % n);
else
temp = temp % n;
t0=t;
t=temp;
n0=b0;
b0=r;
q=floor(n0/b0);
r=n0-q*b0;
}
if(b0!=1)
{
printf("Khong co a"); return 0;}
else return(t%n);
}
//===================================================
void output()
{
char c;
char *tep;
FILE *f;
printf("Nhap ten tep can luu chu ky:");fflush(stdin);
gets(tep);
Sinh vin: Phm Th Hiu

51

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

f=fopen(tep,"wt");
if(f==NULL)
{
printf("\nLoi mo tep!!!!!!");
getch();
exit(0);
}
fprintf(f,"%d",sl);
fprintf(f," %d\n",chuky[0]);
for(int i=1;i<sl;i++)
{
fprintf(f," %2d",chuky[i]);
}
fclose(f);
}
//=============Hm chinh==============================
void Elgamal()
{
printf("\n\n =====* CHU KY ELGAMAL *======");
long int x,y;
int ch;
char *tep,*tep1;
FILE *f,*f1;
char c;
printf("\n\nNhap so nguyen to p:");scanf("%ld",&p);
printf("Nhap a:");scanf("%ld",&a);
printf("Nhap alpha:");scanf("%ld",&alpha);
printf("Nhap khoa k:");scanf("%ld",&k);
beta=exp_mod(a,alpha,p);
gamma=exp_mod(k,alpha,p);
k1=kha_nghich(k,p-1);
while(1)
{
printf("\n\nCAC LUA CHON CHO CHU KY SO ELGAMAL\n");
printf("[1].Ky \n");
printf("[2].Hien thi \n");
printf("[3].Kiem thu\n");
printf("[0].Thoat!!\n");
Sinh vin: Phm Th Hiu

52

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

printf("\n\nMoi ban chon:");scanf("%d",&ch);


switch(ch)
{
case 1:{
printf("Nhap ten tep:");fflush(stdin);
gets(tep);
kyvb(tep);
output();
}break;
case 2:{
printf("Nhap ten can hien thi:");fflush(stdin);
gets(tep);
printf("Nhap tep ten chua chu ky tuong ung:");fflush(stdin);
gets(tep1);
f=fopen(tep,"r+t");
int d;
printf("\n\n VAN BAN\n\n");
while(!feof(f))
{
fscanf(f,"%c",&c);
printf("%c",c);
}
f1=fopen(tep1,"r+t");
printf("\n\n CHU KY\n\n");
fscanf(f1,"%d",&sl);
fscanf(f1,"%d",&gamma);
printf("do dai xau:%2d" "gia tri gamma:%2d\n",sl,gamma);
for(int i=0;i<sl-1;i++)
{
fscanf(f1,"%d",&d);
printf(" %2d",d);
}
fclose(f1);
fclose(f1);
}break;
case 3:{
if(Kiemthu()==1)printf("Chu ky dung!!");
else printf("Chu ky gia!!");
Sinh vin: Phm Th Hiu

53

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

}
case 0:break;
}
if(ch==0) break;
}
getch();
}
//=========== Tinh Mod ============
long exp_mod(long x, long b, long n)
{
long a = 1l, s = x;
while (b != 0) {
if (b & 1l) a = (a * s) % n;
b >>= 1;
if (b != 0) s = (s * s) % n;
}
if (a < 0) a += n;
return a;
}
//============= Tinh theo Euclidean mo rong ===========
long Extended_Euclidean(long b, long n)
{
long b0 = b, n0 = n, t = 1, t0 = 0, temp, q, r;
q = n0 / b0;
r = n0 - q * b0;
while (r > 0) {
temp = t0 - q * t;
if (temp >= 0) temp = temp % n;
else temp = n - (- temp % n);
t0 = t;
t = temp;
n0 = b0;
b0 = r;
q = n0 / b0;
r = n0 - q * b0;
}
if (b0 != 1) return 0;
Sinh vin: Phm Th Hiu

54

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

else return t % n;
}
//======================================================
void chaum()
{
printf("\n\n =====* GIAO THUC CHOI BO *=====");
long a0, a1 = 144, a2 = 874, b1 = 1873, b2 = 2345;
long alpha = 25, beta = 1866, gamma1 = 5065;
long gamma2 = 5076, p = 5087, q = (p - 1) >> 1;
long r, s, x = 4785, y1 = 2219, y2 = 458, z1, z2;
r = (gamma1 * exp_mod(gamma2, x, p)) % p;
s = (exp_mod(alpha, y1, p) * exp_mod(beta, y2, p)) % p;
if (r == s)
printf("\nChu ky duoc chap nhan\n");
else
printf("\nChu ky khong duoc chap nhan\n");
z1 = (a1 + x * b1) % q;
z2 = (a2 + x * b2) % q;
if (z2 > y2)
a0 = ((y1 - z1) * Extended_Euclidean(z2 - y2, q)) % q;
else
a0 = ((z1 - y1) * Extended_Euclidean(y2 - z2, q)) % q;
if (a0 < 0) a0 += q;
printf("alpha = %ld\n", alpha);
printf("beta = %ld\n", beta);
printf("p = %ld\n", p);
printf("q = %ld\n", q);
printf("gamma1 = %ld\n", gamma1);
printf("gamma2 = %ld\n", gamma2);
printf("a1 = %ld\n", a1);
printf("a2 = %ld\n", a2);
printf("b1 = %ld\n", b1);
printf("b2 = %ld\n", b2);
printf("x = %ld\n", x);
printf("y1 = %ld\n", y1);
printf("y2 = %ld\n", y2);
printf("sig(%ld) = (%ld, %ld)\n", x, z1, z2);
printf("a0 = %ld\n", a0);
Sinh vin: Phm Th Hiu

55

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

if (beta == exp_mod(alpha, a0, p))


printf("a0 duoc xac nhan\n");
else
printf("a0 khong duoc chap nhan\n");
getch();
}
//============================================================
======
int kiemtra_ngto(long pq)
{
for(long i=2;i<=(long)sqrt(pq);i++)
if(pq%i==0)
{
printf("\n\n Khong phai so nguyen to!\n\nMoi ban nhap lai!");
return 0;
}
return 1;
}
//============================================================
======
long USCLN(long n,long m)
{
while(m!=0&&n!=0)
if(n>m) n=n-m;
else m=m-n;
if(n==0) return m;
else return n;
}
//============================================================
======
long Ktra_ngto_cungnhau(long b,long phi_N)
{
if(USCLN(b,phi_N)!=1)
{
printf("\n\nb khong phai la nguyen to cung nhau voi phi_N\n\n moi chon lai
b!");
return 0;
Sinh vin: Phm Th Hiu

56

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

}
else return 1;
}
//============================================================
======
long Kitep(int Ki)
{
FILE *f;
char *tentep;
long n;
mt:printf("\n\nNhap vao ten tep can Ki:");fflush(stdin);gets(tentep);
f=fopen(tentep,"a+t");
if(f==NULL)
{
printf("\n\nTep %s khong ton tai! Moi nhap lai!",tentep);
getch();
goto mt;
}
fseek(f,0,SEEK_END);
n=ftell(f);
fseek(f,n,SEEK_SET);
fprintf(f,"%d",Ki);
fclose(f);
return n;
}
//============================================================
=====
long Doctep(long n)
{
FILE *f;
char *tentep;
mt:printf("\n\nNhap vao ten tep can mo:");fflush(stdin);gets(tentep);
f=fopen(tentep,"a+t");
if(f==NULL)
{
printf("\n\nTep %s khong ton tai! Moi nhap lai!",tentep);
goto mt;
}
Sinh vin: Phm Th Hiu

57

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

long ki;
fseek(f,n,SEEK_SET);
fscanf(f,"%ld",&ki);
fclose(f);
return ki;
}
//============================================================
=======
void Ky_RSA()
{
clrscr();
long x,a,b,n,phi_N,p,q;
long Kthuocvb;
int Ki,Kiem_thu;
printf("\n=====* CHU KY RSA *======");
p:printf("\nNhap so nguyen to p=");scanf("%ld",&p);
if(kiemtra_ngto(p)!=1)goto p;
q:printf("\nNhap so nguyen to q=");scanf("%ld",&q);
if(kiemtra_ngto(q)!=1)goto q;
n=p*q;
phi_N=(p-1)*(q-1);
b:printf("\nMoi ban chon so b (1<b<phi_N) sao cho gcd(b,phi_N)==1\n\n b=");
scanf("%ld",&b);
if(Ktra_ngto_cungnhau(b,phi_N)!=1)goto b;
a=kha_nghich(b,phi_N);
printf("\n\n
LAP CHU KI ");
printf("\nKhoa bi mat dung de tao chu ki la K1(a)=%ld",a);
printf("\nNhap vao so de lap chu ki so x=");scanf("%ld",&x);
Ki=exp_mod(x,a,n);
printf("\nVoi so x ta tao duoc ra chu Ki la :%d",Ki);
Kthuocvb=Kitep(Ki);
printf("\nVan ban da duoc ki!");
printf("\n\n
KIEM THU CHU KI ");
printf("\nKiem thu voi khoa cong khai la K2(b,n)=(%ld,%ld)",b,n);
Kiem_thu=Doctep(Kthuocvb);
printf("\nChu ki duoc lay tu tep la:%d",Kiem_thu);
printf("\nKiem thu chu ki so ta duoc x=%d ",exp_mod(Kiem_thu,b,n));
if(exp_mod(Kiem_thu,b,n)==x)
Sinh vin: Phm Th Hiu

58

Lp CT702

n tt nghip

printf("\n\n
else
printf("\n\n
getch();

Tm hiu Ch k nhm v ng dng trong giao dch in t

CHU KI TREN LA DUNG!");


KHONG PHAI LA CHU KI!");

}
//============================================================
======
void menu()
{
int c;
while(1)
{
clrscr();
printf("\n\n
=====* CHUONG TRINH CHU KY SO *=======");
printf("\n\n [1].CHU KY RSA");
printf("
[2].CHU KY ELGAMAL");
printf("\n [3].GIAO THUC CHOI BO");
printf("
[4].THOAT KHOI CHUONG TRINH");
printf("\n\n MOI BAN CHON:");scanf("%d",&c);
switch(c)
{
case 3:
chaum();
break;
case 4:
return;
case 2:
Elgamal();
break;
case 1:
Ky_RSA();
break;
}
}
}
//===========================================
void main()
Sinh vin: Phm Th Hiu

59

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

{clrscr();
menu();
}
b. Kt qu chng trnh

Sinh vin: Phm Th Hiu

60

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Kt lun
Ngy nay, cng vi s pht trin ca khoa hc cng ngh hin i v Cng ngh
thng tin, ngnh mt m c nhng bc pht trin mnh m vt bc v t c
nhiu kt qu l thuyt su sc t nn mng cho vic pht trin cc gii php bo
mt, an ton thng tin trong mi lnh vc hot ng ca con ngi. c bit l nhng
u im ni bt ca ch k s. Ch k s c bit n khi s trao i thng tin ngy
cng ph bin trn cc mng truyn thng ni m ch k tay khng th pht huy tc
dng.
Trong lnh vc ngn hng, CNTT v hi nhp kinh t quc t dn n s bng
n v cc loi hnh dch v. Ngoi vic gp phn gim t trng tin mt trong lu
thng, cc hnh thc dch v mi nh th tn dng, my rt tin mt ATM... lm
cho cu tin phn ng mt cch nhanh hn trc cc din bin ca li sut, tc l
lm tng co dn ca cu tin i vi li sut. Mt cch tng qut hn, vic i mi
cng ngh ngn hng trn c s ng dng CNTT gp phn thc y s pht trin
ca th trng ti chnh, ng thi y nhanh tc chu chuyn ca cc lung vn,
lm cho cung cu tin t tr nn kh d bo hn, c ch truyn ti chnh sch tin t
nhy cm hn. Trong bi cnh , cc Ngn hng Trung ng phi c bit quan tm
n vic ng dng CNTT trong cc hot ng ca mnh ni chung v trong iu hnh
chnh sch tin t ni ring.
ti nghin cu v gii thiu mt s s ch k nhm c a ra t trc
ti nay, cng vi nhng ng dng hu ch ca ch k nhm trong vic to ra mt th
chung ca lin minh cc ngn hng nhm bo mt thng tin v xc thc thng tin qua
mng.
Ch k nhm l mt cng c tr gip c lc cho vic ton vn thng tin v xc
thc thng tin cho nhng giao dch trc tuyn.
Do hn ch v thi gian v iu kin, vic nghin cu ti mi ch l c bn. do
s kh c th trnh khi mt vi thiu st, rt mong c s ng gp kin ca
qu thy, c v cc bn.

Sinh vin: Phm Th Hiu

61

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

Ti liu tham kho


L thuyt mt m v an ton thng tin Phan nh Diu NXB i Hc Quc
Gia H Ni 2002
Gio trnh an ton v bo mt thng tin trong cc h thng iu hnh sn xut
S bu chnh vin thng 2005
Jan Camenisch, Jens Groth, Group Signatures : Better Efficiency and New
Theoritical Aspects
David Chaum, Hans van Antwerpen. Undeniable Signature.CRYPTO 89
tr 212 216.
David Chaum, van Heyst. Group signature. Advances in Cryptology
EUROCRYPT 91,1991 tr 257 265
Jan Camenisch. Efficient and Gneralize Group Signatures.

Sinh vin: Phm Th Hiu

62

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

MC LC

LI NI U ................................................................................................ 1
Chng I .............................................................................................................................. 2

CC KHI NIM C BN .......................................................................... 2


1.1 C s ton hc ............................................................................................................... 2
1.1.1. c s - Bi s .......................................................................................................... 2
1.1.2. S nguyn t .............................................................................................................. 2
1.1.3. Khi nim nhm ........................................................................................................ 2
1.1.4. Nhm hu hn ........................................................................................................... 2
1.1.5. Nhm con .................................................................................................................. 3
1.1.6. Nhm Cyclic .............................................................................................................. 3
1.1.7. Cc thut ton trong Z ............................................................................................... 3
1.1.9. Thut ton Euclide m rng ...................................................................................... 4
1.1.10. nh ngha hm Euler .......................................................................................... 4
1.1.11. ng d thc ........................................................................................................... 4
1.1.12. S nghch o .......................................................................................................... 4
1.1.13. Nhm nhn Z*n ....................................................................................................... 5
1.1.14. nh ngha thng d bc 2 ....................................................................................... 5
1.1.15. Phn d China CRT ( Chinese Remainder Theorem) ............................................. 5
1.1.16. phc tp tnh ton .............................................................................................. 5
1.1.17. Cc thut ton trong Zn ........................................................................................... 6
1.1.18. Thut ton ( Tnh cc nghch o trong Zn ) ........................................................... 6
1.1.19. Hm mt pha - Hm mt pha c ca sp .............................................................. 8
1.2 Tm hiu v mt m ....................................................................................................... 8
1.2.1. M c in ................................................................................................................. 9
1.2.1.1. M dch chuyn .......................................................................................... 10
1.2.1.2. M thay th ................................................................................................. 11
1.2.1.3. M Affine ................................................................................................... 12
1.2.1.4. M Vingenere ............................................................................................. 13
1.2.1.5. M Hill........................................................................................................ 13
1.2.1.6. M hon v .................................................................................................. 15
1.2.2. M kha cng khai .................................................................................................. 16
1.2.2.1. M RSA ...................................................................................................... 17
1.2.2.2. M Elgamal ................................................................................................ 18
Chng II........................................................................................................................... 20

CH K IN T ....................................................................................... 20
2.1. Tm hiu v ch k in t ( electronic signature ).................................................... 20
2.1.1. Khi qut v ch k in t ? .................................................................................. 20
2.1.2. nh ngha v s k in t ................................................................................ 21
2.1.3. S ch k RSA ................................................................................................... 22
2.1.4. S ch k Elgamal.............................................................................................. 23
2.1.5. S ch k DSS................................................................................................... 24
2.2. Ch k khng th chi b........................................................................................... 25
2.3. Chng minh khng tit l thng tin............................................................................ 26
2.3. Vn k s trn i din vn bn............................................................................. 27
2.3.1. S lc v hm bm (Hash Function) ..................................................................... 28
2.3.1.1. Gii thiu .................................................................................................... 28
Sinh vin: Phm Th Hiu

63

Lp CT702

n tt nghip

Tm hiu Ch k nhm v ng dng trong giao dch in t

2.3.1.2. nh ngha hm Hash ................................................................................. 28


2.3.1.3. Tnh cht ca hm bm............................................................................... 29
2.3.1.4. Thut ton MD5 ......................................................................................... 29
2.4. Xc thc ...................................................................................................................... 30
Chng III ......................................................................................................................... 32

CH K NHM .......................................................................................... 32
3.1. Khi nim v ch k nhm( Groups Signature ) ....................................................... 32
3.2. Nhng c im ca ch k nhm ............................................................................. 32
3.2.1. Ta c h ch k nhm ............................................................................................. 32
3.2.2. Mt s ch k nhm gm thnh phn c bn ................................................... 33
3.2.3. Mt s ch k nhm thng bao gm 5 th tc ............................................... 33
3.2.4. Hiu qu ca ch k nhm ...................................................................................... 34
3.2.5. Vic m bo an ninh i vi ch k nhm. ........................................................... 34
3.3. Cc s ch k nhm ca David Chaum v Van Heyst.......................................... 35
3.3.1. S ch k nhm th nht.................................................................................... 35
3.3.2. S ch k nhm th hai...................................................................................... 35
3.3.2.1. Giao thc xc nhn ..................................................................................... 36
3.3.2.2. Giao thc chi b ....................................................................................... 37
3.3.3. S ch k nhm th ba ....................................................................................... 41
3.3.3.1. Vn m ch k ................................................................................. 41
3.3.3.2. Nhn xt...................................................................................................... 41
3.4. S ch k nhm ca Jan Camenish v Stadler ...................................................... 41
3.4.1. Mt s khi nim cn thit ...................................................................................... 42
3.4.2. S ch k ............................................................................................................ 43
Chng IV ......................................................................................................................... 44

NG DNG CH K NHM .................................................................... 44


4.1. Tm hiu v giao dch in t ..................................................................................... 44
4.2. Th thanh ton in t ................................................................................................ 44
4.3.Vic ng dng v pht trin cng ngh ti Vit Nam hin nay................................... 45
4.4. Chng trnh ............................................................................................................... 48

Kt lun ......................................................................................................... 61
Ti liu tham kho ....................................................................................... 62
MC LC ..................................................................................................... 63

Sinh vin: Phm Th Hiu

64

Lp CT702

You might also like