Professional Documents
Culture Documents
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
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.
Lp CT702
n tt nghip
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
Chia
a = qb + r
Lp CT702
n tt nghip
(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
Lp CT702
n tt nghip
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
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
: a Zn
RA
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
i =0
Lp CT702
n tt nghip
ak =
ki
i =0
( ) (a ) ...(a )
2k = a 2
k0
21
k1
2t
kt
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 )
Lp CT702
n tt nghip
Lp CT702
n tt nghip
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
e :PC
k
v mt hm gii m d D
k
Lp CT702
n tt nghip
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
12
20
24
13
Qua php m ho e s c:
2
14
10
22
26
15
10
Lp CT702
n tt nghip
Bn m s l:
ocfkejejwzgp
Nhn c bn m , dng d nhn c bn r.
2
26
26
e (x) = (x)
-1
d (y) = (y)
-1
vi x, y Z , l nghch o ca
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
11
Lp CT702
n tt nghip
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
12
Lp CT702
n tt nghip
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
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
13
Lp CT702
n tt nghip
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
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
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.
14
Lp CT702
n tt nghip
-1
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
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
vi mi k = S , ta c
m
-1
-1
15
Lp CT702
n tt nghip
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
16
Lp CT702
n tt nghip
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
18
Lp CT702
n tt nghip
19
Lp CT702
n tt nghip
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.
20
Lp CT702
n tt nghip
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
21
Lp CT702
n tt nghip
(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
22
Lp CT702
n tt nghip
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
( 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
24
Lp CT702
n tt nghip
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
25
Lp CT702
n tt nghip
26
Lp CT702
n tt nghip
27
Lp CT702
n tt nghip
28
Lp CT702
n tt nghip
29
Lp CT702
n tt nghip
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
31
Lp CT702
n tt nghip
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
32
Lp CT702
n tt nghip
33
Lp CT702
n tt nghip
34
Lp CT702
n tt nghip
ri
{[ ] [
] }
35
Lp CT702
n tt nghip
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
{[ ]
] }
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
36
Lp CT702
n tt nghip
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
37
Lp CT702
n tt nghip
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
( ) (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
38
Lp CT702
n tt nghip
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
'
'
'
2
x1
39
Lp CT702
n tt nghip
(
(
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.
40
Lp CT702
n tt nghip
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
{[ ] [
] }
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
41
Lp CT702
n tt nghip
SKLOGLOGl y = g (a ) (m )
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 )
g (si ) c[i ] = 0
Pi = e
y (si ) c[i ] 0
e
Trong
42
Lp CT702
n tt nghip
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 :
43
Lp CT702
n tt nghip
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
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
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
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
48
Lp CT702
n tt nghip
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
{
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
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
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
53
Lp CT702
n tt nghip
}
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
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
56
Lp CT702
n tt nghip
}
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
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();
}
//============================================================
======
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
{clrscr();
menu();
}
b. Kt qu chng trnh
60
Lp CT702
n tt nghip
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.
61
Lp CT702
n tt nghip
62
Lp CT702
n tt nghip
MC LC
LI NI U ................................................................................................ 1
Chng I .............................................................................................................................. 2
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
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
Kt lun ......................................................................................................... 61
Ti liu tham kho ....................................................................................... 62
MC LC ..................................................................................................... 63
64
Lp CT702