You are on page 1of 51

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Mc lc kha lun
Phn 1: Tm hiu lch s v an ton thng tin, chng thc thng tin v ch k in t.............7
Phn 2: Ni dung.......................................................................................................................10
I. Tng quan v chng thc v an ton thng tin......................................................................10
II. M ha d liu v gii m.................................................................................................12
a. Tng quan v m ha d liu v gii m:......................................................................12
b. M ha bt i xng (asymmetric)...............................................................................13
c. M ha i xng (symmetric)........................................................................................16
d. Hm bm (Hashing).......................................................................................................17
- Tnh cht ca hm bm................................................................................................18
- Mt s hm bm ni ting...........................................................................................20
+ MD5 (Message Digest)..........................................................................................20
+ SHA (Secure Hash Algorithm)...............................................................................26
III. Ch k in t..................................................................................................................28
1. Tng quan......................................................................................................................28
2. Quy trnh s dng ch k in t..................................................................................30
3. Mt s s CKT ph bin........................................................................................33
a. Rivest Shamir Adleman (RSA)..................................................................................33
- S lc v cc khi nim ton hc dng trong RSA...............................................33
- Cch to kha:.........................................................................................................34
- Quy trnh thc hin k v xc nhn vn bn...........................................................35
Phn ny c ct b, hy lin h ch ti nhn c bn chi tit hn. ..........36
- Tnh bo mt............................................................................................................37
- Cc dng tn cng....................................................................................................38
b. H ch ky ElGammal.................................................................................................40
c. Chun ch k s (DSS) ..............................................................................................44
4. Hm bm v kt hp hm bm vo ch k in t.......................................................47
IV. Ci t minh ha s k s RSA kt hp bm SHA....................................................47
+ Cc bc thc hin ca chng trnh.............................................................................47
a. Pht sinh kha: ..........................................................................................................47
b. K ch k in t: ....................................................................................................48
........................................................................................................................................48
Phn ny c ct b, hy lin h ch ti nhn c bn chi tit hn. ..........48
........................................................................................................................................48
- Mt s hm s dng trong chng trnh.....................................................................48
- Giao din ca chng trnh:........................................................................................49
Phn 3. Kt lun: ......................................................................................................................50
+ Nhng phn lm c....................................................................................................50
+ Nhng phn cha lm c................................................................................................51
+ Hng pht trin ca ti.................................................................................................51
+ Ti liu tham kho..............................................................................................................51
+ Ph lc................................................................................................................................51
Demo chng trnh: http://www.mediafire.com/view/?fwtd5cdp500u5xj............................51
- Cch lin h ly bi hon chnh: ....................................................................................51

1
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

ly bi hon chnh. C th ly thm phn code (nguyn code + phn ci t), xin hy
lin h mail or s t trn lin h ly bi............................................................................51
Ph: bi kha lun 50.k, Code: 100.k.....................................................................................51
Lin h: mail: Hainhat007@gmail.com or 0982.070.520 (c th sms).................................51

Danh mc t vit tt:

RSA: Rivest Shamir Adleman

SHA: Secure Hash Algorithm

MD5: Message Digest

CKT: Ch k in t

CA: Certificate Authority - y quyn chng ch

UCLN: c chung ln nht

Lin h mail: Hainhat007@gmail.com or t: 0982.070.520


ly bi + Code y v chi tit hn!

2
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

A. PHN M U
1. L do chn ti
Ngy nay, cc ng dng ca cng ngh thng tin ngy cng khng th thiu c
i vi cc thnh phn nh x hi, kinh t, chnh tr, qun s... Mt lnh vc quan
trng m cng ngh thng tin c ng dng rt mnh m v khng th thiu l
lnh vc truyn thng. Rt nhiu thng tin lin quan n nhng cng vic hng ngy
u do my vi tnh qun l v truyn gi i trn h thng mng, ko theo l vn
v xc thc ngun thng tin nhn c. V vn c t ra l lm th no
xc thc c mt cch chnh xc ngun thng tin nhn l ca mt ngi, mt my
ch hay ca mt thc th no gi tin trn h thng mng?

3
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

INTERNE
T

Hnh 1.1 M hnh trao i thng tin qua mng INTERNET.

V d: khi A gi mt thng tin in t cho D, v gi s B gi mo A cng gi


mt thng tin cho D, hoc mt ngi C trn mi trng truyn bt c v sa i
thng tin A gi sau cc thng tin ny c gi li cho D. Vy thng tin D nhn
c khng chnh xc v ngi nhn D cng khng th xc thc c thng tin
l do ngi A gi, hay B gi, hay mt ngi no khc gi.
Vn t ra l ngi D sau khi nhn c bn tin phi xc thc c rng thng
tin l ca chnh mt i tng c th gi v thng tin khng b tit l cng nh b
khng thay i trn mi trng truyn thng.
ti TM HIU V CH K IN T V CI T CHNG TRNH
MINH HA s tm hiu vn nu trn v ci t chng trnh k s minh ha.
2. Mc ch nghin cu
Tm hiu c s l lun v chng thc thng tin, ch k in t, ci t chng
trnh k s kt hp RSA v hm Bm.
3. Nhim v nghin cu
- Nghin cu c s l lun v chng thc thng tin.
- Tm hiu v ch k in t.
- Tm hiu v cc phng thc m ha d liu c bn.
4
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

- Tm hiu phng thc m ha bt i xng s dng cho ch k in t.


- Tm hiu v hm bm.
- Ci t chng trnh minh ha.
4. i tng nghin cu
- C s l lun v chng thc thng tin.
- H m ha cng khai RSA.
- Hm bm kt hp cho ch k in t.
5. Phm vi nghin cu
Nghin cu l thuyt v chng thc thng tin, h m ha cng khai RSA, hm
bm SHA v ci t chng trnh minh ha.
6. Phng php nghin cu
- Hot ng nghin cu c nhn
- Hot ng nghin cu ti liu
- Trao i vi ging vin hng dn
7. Cu trc kha lun
Gm 5 phn chnh:
1. Phn m u
2. Phn ni dung
3. Phn kt lun
4. Phn ti liu tham kho
5. Phn ph lc
A. Phn m u:
5
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

L do chn ti

Mc ch nghin cu

Nhim v nghin cu

i tng nghin cu

Phm vi nghin cu

Phng php nghin cu

Cu trc kha lun

B. Phn ni dung: Gm 2 Phn:


Phn 1: Tm hiu lch s v an ton thng tin, chng thc thng tin, ch k
in t.
Phn 2: Ni dung.
I. Tng quan v chng thc v an ton thng tin.
II. M ha d liu v gii m
a. Tng quan v m ha d liu.
b. M ha bt i xng (asymmetric).
c. M ha i xng (symmetric).
d. Hm bm (Hashing)
III. Ch k in t
1. Tng quan
a. Tng quan v ch k in t
b. Quy trnh s dng ch k in t
2. Mt s s CKT ph bin
a. Rivest Shamir Adleman (RSA).
6
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

b. S k s El Gamal.
c. Chun ch k s (DSS)
3. Hm bm v kt hp hm bm vo ch k in t.
IV. Ci t minh ha s k s RSA kt hp bm SHA.
+ Cc bc thc hin ca chng trnh.
+ Ci t chng trnh minh ha bng ngn ng C#.
C. Phn kt lun:
+ Nhng phn lm c
+ Nhng phn cha lm c
+ Hng pht trin ca ti.
- Ti liu tham kho
- Ph lc
Phn 1: Tm hiu lch s v an ton thng tin, chng thc thng tin v ch k
in t.
Nhu cu v bo m an ton thng tin xut hin t rt sm, khi con ngi bit
trao i v truyn a thng tin cho nhau, c bit khi cc thng tin c th
hin di hnh thc ngn ng, th t. Lch s cho ta bit, cc hnh thc mt m
c tm thy t khong bn nghn nm trc trong nn vn minh Ai Cp c i.
Tri qua hng nghn nm lch s, mt m c s dng rng ri trn khp th
gii t ng sang Ty gi b mt cho vic giao lu thng tin trong nhiu lnh
vc hot ng gia con ngi v cc quc gia, c bit trong cc lnh vc qun s,
chnh tr, ngoi giao. Mt m trc ht l mt loi hot ng thc tin, ni dung
chnh ca n l gi b mt thng tin (chng hn di dng mt vn bn).

7
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Sut my nghn nm lch s, cc thng bo, th t c truyn a v trao i


vi nhau thng l cc vn bn, tc l c dng cc dy k t trong mt ngn ng
no . V vy, cc thut ton lp mt m thng cng n gin l thut ton xo
trn, thay i cc k t c xc nh bi cc php chuyn dch, thay th hay hon
v cc k t trong bng k t ca ngn ng tng ng, kha mt m l thng tin
dng thc hin php lp mt m v gii mt m c th, th d nh s v tr i
vi php chuyn dch, bng xc nh cc cp k t tng ng i vi php thay th
hay hon v,... Mt m cha phi l mt khoa hc, do cha c nhiu kin thc
sch v li, tuy nhin hot ng bo mt v thm m trong lch s cc cuc u
tranh chnh tr, ngoi giao v qun s th ht sc phong ph, v mt m c nhiu
tc ng rt quan trng a n nhng kt qu lm khi c ngha quyt nh trong
cc cuc u tranh . Do trong mt thi gian di, bn thn hot ng mt m cng
c xem l mt b mt, nn cc ti liu k thut v mt m c ph bin n nay
thng ch ghi li cc kin thc kinh nghim, thnh thong mi c mt vi "pht
minh" nh cc h mt m Vigenre vo th k 16 hoc h mt m Hill ra i nm
1929 l cc h m thc hin php chuyn dch (i vi m Vigenre) hay php thay
th (m Hill) ng thi trn mt nhm k t ch khng phi trn tng k t ring
r. [2 - tr12,13]
Bc sang th k 20, vo nhng thp nin u ca th k. S pht trin ca cc k
thut biu din, truyn v x l tn hiu c tc ng gip cho cc hot ng lp
v gii mt m t th cng chuyn sang c gii ha ri in t ha. Cc vn bn,
cc bn mt m trc y c vit bng ngn ng thng thng nay c chuyn
bng k thut s thnh cc dy tn hiu nh phn, tc cc dy bit, v cc php bin
i trn cc dy k t c chuyn thnh cc php bin i trn cc dy bit, hay cc
dy s, vic thc hin cc php lp m, gii m tr thnh vic thc hin cc hm s
s hc. Ton hc v k thut tnh ton bt u tr thnh cng c cho vic pht trin
khoa hc v mt m. Khi nim trung tm ca khoa hc mt m l khi nim b
8
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

mt. l mt khi nim ph bin trong i sng, khi nim b mt thot u c


gn vi khi nim ngu nhin, ri v sau trong nhng thp nin gn y, vi khi
nim phc tp, c th hn l khi nim phc tp tnh ton. [2 tr13]
Nm 1978, Rivest, Shamir v Adleman tm ra mt h mt m kha cng khai v
mt s ch k in t hon ton c th ng dng trong thc tin, tnh bo mt v
an ton ca chng c bo m bng phc tp ca mt bi ton s hc ni
ting l bi ton phn tch s nguyn thnh cc tha s nguyn t. Sau pht minh ra
h mt m (m nay ta thng gi l h RSA), vic nghin cu pht minh ra
cc h mt m kha cng khai khc, v ng dng cc h mt m kha cng khai vo
cc bi ton khc nhau ca an ton thng tin c tin hnh rng ri, l thuyt
mt m v an ton thng tin tr thnh mt lnh vc khoa hc c pht trin nhanh
trong vi ba thp nin cui ca th k 20, li cun theo s pht trin ca mt s b
mn ca ton hc v tin hc [2 tr96].
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...[7]

9
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Phn 2: Ni dung.
I. Tng quan v chng thc v an ton thng tin.
Chng ta ang sng trong mt thi i bng n thng tin. Nhu cu trao i thng
tin v cc phng tin truyn a thng tin pht trin mt cch nhanh chng. V
cng vi s pht trin , i hi bo v tnh b mt v chng thc ngun thng tin
cng cng ngy cng to ln v c tnh ph bin. C nhiu bi ton khc nhau v yu
cu an ton thng tin ty theo nhng tnh hung khc nhau.
V d trong thc t, mt s bi ton chung nht m ta thng gp l nhng bi
ton sau y:

10
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

- Bo mt: Gi thng tin c b mt i vi tt c mi ngi, tr mt t ngi c


thm quyn c c, bit thng tin .
- Ton vn thng tin: Bo m thng tin khng b thay i hay xuyn tc bi
nhng k khng c thm quyn hoc bng nhng phng tin khng c php.
- Nhn thc mt thc th: Xc nhn danh tnh ca mt thc th, chng hn mt
ngi, mt my tnh cui trong mng, mt th tn dng,...
- Nhn thc mt thng bo: Xc nhn ngun gc ca mt thng bo c gi
n.
- Ch k: Mt cch gn kt mt thng tin vi mt thc th, thng dng trong
bi ton nhn thc mt thng bo cng nh trong nhiu bi ton nhn thc khc.
- y quyn: Chuyn cho mt thc th khc quyn c i din hoc c lm
mt vic g .
- Cp chng ch: Cp mt s xc nhn thng tin bi mt thc th c tn nhim.
- Bo nhn: Xc nhn mt thng bo c nhn hay mt dch v c thc
hin.
- Lm chng: Kim th vic tn ti mt thng tin mt thc th khc vi ngi
ch s hu thng tin .
- Khng chi b c: Ngn nga vic chi b trch nhim i vi mt cam kt
c (th d k vo mt vn bn).
- n danh: che giu danh tnh ca mt thc th tham gia trong mt tin trnh no
(thng dng trong giao dch tin in t).
- Thu hi: Rt li mt giy chng ch hay y quyn cp.
C s ca cc gii php cho cc bi ton k trn l cc phng php mt m, c
bit l mt m kha cng khai.
11
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Trong th gii s, c 3 cch xc thc mt ngi hoc mc tin cy ca mt


thng tin trn my tnh. Mt l Th thng hnh (Pass Card) m nc ta hin nay
cha ph bin. Hai l Password, cch ny s dng tn truy nhp (User Name) v
mt khu (Password) cung cp cho cc giao din ng nhp xc thc thng tin.
Th ba, dng ch k in t (Digital Signature). [2 tr19]
II. M ha d liu v gii m
a. Tng quan v m ha d liu v gii m:
S pht trin chng mt ca Internet tc ng n c cng vic kinh doanh v
ngi tiu dng vi s ha hn v vic thay i cch m con ngi sng v lm
vic. Nhng mi lo ngi ln nht c cp n l vic bo mt trn Internet, c
bit khi cc thng tin mang tnh nhy cm v ring t c gi i trn mng.
Ma ha l ngnh nghin cu cac thut toan va phng thc am bao tinh bi mt
va (thng la di dang cac vn ban lu tr trn may tinh). Cac san phm cua linh
vc nay la cac h ma mt, cac ham bm, cac h ch ky in t, cac c ch phn
phi, quan ly kha va cac giao thc mt ma.
C rt nhiu thng tin m chng ta khng mun ngi khc bit khi gi i nh:
thng tin v Credit-Card, thng tin v kinh doanh ca cng ty, thng tin v ti
khon c nhn, thng tin v c nhn nh s chng minh th, s th...
Qu trnh m ho trong my tnh da vo khoa hc v mt m (Cryptography)
c con ngi s dng t lu i. Trc thi i s ho, ngi s dng mt m
nhiu nht vn l chnh ph, ch yu trong mc ch qun s. Hu ht cc phng
php m ho c dng hin nay da vo cc my tnh, n gin l do cc m do
con ngi sinh ra rt d b ph bi cng c my tnh. Cc h thng m ho trong
my tnh ph bin nht thuc mt trong hai loi sau:
* M ho vi kho i xng (Symmetric-key Encryption)
12
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

* M ho vi kho cng khai (Public-key Encryption)


Gn y nht la cac s kin lin quan ti cac ham bm MD5 (mt ham bm thuc
ho MD do Ron Rivest phat trin) va SHA. Mt nhom cac nha khoa hoc ngi Trung
Quc (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) a phat trin cac phng phap
cho php phat hin ra cac ung cua cac ham bm c s dung rng rai nht
trong s cac ham bm nay. y la mt s kin ln i vi nganh mt ma hoc do s
ng dung rng rai va c th xem la cn quan trong hn ban thn cac h ma mt cua
cac ham bm. Do s kin nay cac hang vit phn mm ln (nh Microsoft) va cac
nha mt ma hoc a khuyn cao cac lp trnh vin s dung cac ham bm manh hn
(nh SHA-256, SHA-512) trong cac ng dung.
Ngay nay kh c th tm thy cac ng dung trn may tinh lai khng s dung ti
cac thut toan va cac giao thc mt ma hoc. Ti cac ng dung cho may tinh ca nhn
(Desktop Applications) cho ti cac chng trinh h thng nh h iu hanh
(Operating Systems) hoc cac ng dung mang nh Yahoo Messenger hoc h c s
d liu u co s dung cac thut toan ma hoa mt khu ngi dung bng mt h ma
hoc mt ham bm nao o. c bit vi s phat trin manh m cua thng mai in
t cac m hnh ch ky in t ngay cang ong vai tro tich cc cho mt mi trng
an toan cho ngi dung [1 tr17].
b. M ha bt i xng (asymmetric).
Mt m ha kha cng khai l mt dng mt m ha cho php ngi s dng trao
i cc thng tin mt m khng cn phi trao i cc kha chung b mt trc .
iu ny c thc hin bng cch s dng mt cp kha c quan h ton hc vi
nhau l kha cng khai v kha c nhn (hay kha b mt).
Thut ng mt m ha kha bt i xng thng c dng ng ngha vi mt
m ha kha cng khai mc d hai khi nim khng hon ton tng ng. C
nhng thut ton mt m kha bt i xng khng c tnh cht kha cng khai v b
13
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

mt nh cp trn m c hai kha (cho m ha v gii m) u cn phi gi b


mt. [1 tr77]
Trong mt m ha kha cng khai, kha c nhn phi c gi b mt trong khi
kha cng khai c ph bin cng khai. Trong 2 kha, mt dng m ha v
kha cn li dng gii m. iu quan trng i vi h thng l khng th tm ra
kha b mt nu ch bit kha cng khai.
H thng mt m ha kha cng khai c th s dng vi cc mc ch:
- M ha: gi b mt thng tin v ch c ngi c kha b mt mi gii m c.
- To ch k s: cho php kim tra mt vn bn c phi c to vi mt kha
b mt no hay khng.
- Tha thun kha: cho php thit lp kha dng trao i thng tin mt gia 2
bn.
Thng thng, cc k thut mt m ha kha cng khai i hi khi lng tnh
ton nhiu hn cc k thut m ha kha i xng nhng nhng li im m chng
mang li khin cho chng c p dng trong nhiu ng dng.
S ra i ca khi nim h mt m kho cng khai l mt tin b c tnh cht
bc ngot trong lch s mt m ni chung, gn lin vi s pht trin ca khoa hc
tnh ton hin i. Ngi ta c th xem thi im khi u ca bc ngot l s
xut hin tng ca W. Diffie v M.E. Hellman c trnh by vo thng su nm
1976 ti Hi ngh quc gia hng nm ca AFIPS (Hoa k) trong bi Multiuser
cryptographic techniques. [1 tr78]
Mt nm sau, nm 1977, R.L. Rivest, A. Shamir v L.M. Adleman xut mt h
c th v mt m kho cng khai m an ton ca h da vo bi ton kh phn
tch s nguyn thnh tha s nguyn t, h ny v sau tr thnh mt h ni ting
v mang tn l h RSA, c s dng rng ri trong thc tin bo mt v an ton
14
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

thng tin. Cng vo thi gian , M.O. Rabin cng xut mt h mt m kho
cng khai da vo cng bi ton s hc kh ni trn. Lin tip sau , nhiu h mt
m kha cng khai c xut, m kh ni ting v c quan tm nhiu l cc
h: h McEliece c a ra nm 1978 da trn NP(kh) ca bi ton gii m
i vi cc h m cyclic tuyn tnh, h Merkle- Hellman da trn tnh NP- y
ca bi ton xp ba l (knapsack problem), h mt m ni ting ElGamal da trn
kh ca bi ton lgarit ri rc, h ny v sau c m rng pht trin nhiu
h tng t da trn kh ca cc bi ton tng t lgarit ri rc trn cc cu
trc nhm cyclic hu hn, nhm cc im nguyn trn ng cong eliptic, v.v...
tng bo mt, h mt m ElGamal cn dng vi t cch u vo cho thut ton
lp mt m ca mnh, ngoi kho cng khai v bn r, mt yu t ngu nhin c
chn tu , iu lm cho h mt m tr thnh mt h mt m xc sut kho cng
khai. Mt s h mt m xc sut kho cng khai cng c pht trin sau bi
Goldwasser-Micali v Blum-Goldwasser. [1 tr79]
Khng phi tt c cc thut ton mt m ha kha bt i xng u hot ng
ging nhau nhng phn ln u gm 2 kha c quan h ton hc vi nhau: mt cho
m ha v mt gii m. thut ton m bo an ton th khng th tm c
kha gii m nu ch bit kha dng m ha. iu ny cn c gi l m ha
cng khai v kha dng m ha c th cng b cng khai m khng nh hng
n b mt ca vn bn m ha.
Cc thng tin m kha th ch c ngi s hu mi bit. Tn ti kh nng mt
ngi no c th tm ra c kha b mt. Khng ging vi h thng mt m s
dng mt ln (one-time pad) hoc tng ng, cha c thut ton m ha kha bt
i xng no c chng minh l an ton trc cc tn cng da trn bn cht ton
hc ca thut ton. Kh nng mt mi quan h no gia 2 kha hay im yu
ca thut ton dn ti cho php gii m khng cn ti kha hay ch cn kha m
ha vn cha c loi tr. An ton ca cc thut ton ny u da trn cc c
15
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

lng v khi lng tnh ton gii cc bi ton gn vi chng. Cc c lng


ny li lun thay i ty thuc kh nng ca my tnh v cc pht hin ton hc
mi.[2- tr18]
Mc d vy, an ton ca cc thut ton mt m ha kha cng khai cng tng
i m bo. Nu thi gian ph mt m (bng phng php duyt ton b) c
c lng l 1000 nm th thut ton ny hon ton c th dng m ha cc
thng tin v th tn dng - R rng l thi gian ph m ln hn nhiu ln thi gian
tn ti ca th (vi nm). [2 tr21]
c. M ha i xng (symmetric).
Trong mt m hc, cc thut ton kha i xng (ting Anh: symmetric-key
algorithms) l mt lp cc thut ton mt m ha trong cc kha dng cho vic
mt m ha v gii m c quan h r rng vi nhau (c th d dng tm c mt
kha nu bit kha kia). [8]
Kha dng m ha c lin h mt cch r rng vi kha dng gii m c
ngha chng c th hon ton ging nhau, hoc ch khc nhau nh mt bin i n
gin gia hai kha. Trn thc t, cc kha ny i din cho mt b mt c phn
hng bi hai bn hoc nhiu hn v c s dng gi gn s b mt trong knh
truyn thng tin.
Thut ton i xng c th c chia ra lm hai th loi, mt m lung (stream
ciphers) v mt m khi (block ciphers). Mt m lung m ha tng bit ca thng
ip trong khi mt m khi gp mt s bit li v mt m ha chng nh mt n v.
C khi c dng thng l cc khi 64 bit. Thut ton tiu chun m ha tn tin
(Advanced Encryption Standard), c NIST cng nhn thng 12 nm 2001, s
dng cc khi gm 128 bit. [8]
Cc thut ton i xng thng khng c s dng c lp. Trong thit k ca
cc h thng mt m hin i, c hai thut ton bt i xng v thut ton i xng
16
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

c s dng phi hp tn dng cc u im ca c hai. Nhng h thng s


dng c hai thut ton bao gm SSL (Secure Sockets Layer), PGP (Pretty Good
Privacy) v GPG (GNU Privacy Guard)... Cc thut ton cha kha bt i xng
c s dng phn phi cha kha mt cho thut ton i xng c tc cao
hn.
Mt s v d cc thut ton i xng ni ting bao gm Twofish, Serpent, AES
(cn c gi l Rijndael), Blowfish, CAST5, RC4, Tam phn DES (Triple DES),
v IDEA (International Data Encryption Algorithm - Thut ton mt m ha d
liu quc t). [8]
Cc thut ton i xng ni chung i hi cng sut tnh ton t hn cc thut ton
kha bt i xng. Trn thc t, mt thut ton kha bt i xng c khi lng
tnh ton nhiu hn gp hng trm, hng ngn ln mt thut ton kha i xng c
cht lng tng ng.
Hn ch ca cc thut ton kha i xng bt ngun t yu cu v s phn hng
cha kha b mt, mi bn phi c mt bn sao ca cha. Do kh nng cc cha kha
c th b pht hin bi i th mt m, chng thng phi c bo an trong khi
phn phi v trong khi dng. Hu qu ca yu cu v vic la chn, phn phi v
lu tr cc cha kha mt cch khng c li, khng b mt mt l mt vic lm kh
khn, kh c th t c mt cch ng tin cy.
m bo giao thng lin lc an ton cho tt c mi ngi trong mt nhm gm
n ngi, tng s lng cha kha cn phi c l n(n-1)/2.
Cc thut ton kha i xng khng th dng cho mc ch xc thc hay mc ch
chng thoi thc.
d. Hm bm (Hashing)
- Tng quan v hm bm
17
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Trong ngnh mt m hc, mt hm bm mt m hc (ting Anh: Cryptographic


hash function) l mt hm bm vi mt s tnh cht bo mt nht nh ph hp
vic s dng trong nhiu ng dng bo mt thng tin a dng, chng hn nh chng
thc v kim tra tnh nguyn vn ca thng ip. Mt hm bm nhn u vo l
mt xu k t di (hay thng ip) c di ty v to ra kt qu l mt xu k t
c di c nh, i khi c gi l tm tt thng ip (message digest) hoc ch
k s (digital fingerprint) [1 tr109].
Hm bm l cc thut ton khng s dng kha m ha ( y ta dng thut
ng bm thay cho m ha), n c nhim v lc (bm) thng ip c a
vo theo mt thut ton h mt chiu no , ri a ra mt bn bm gi l vn bn
i din c kch thc c nh. Do ngi nhn khng bit c ni dung hay
di ban u ca thng ip c bm bng hm bm.
Gi tr ca hm bm l duy nht, v khng th suy ngc li c ni dung thng
ip t gi tr bm ny. [1 tr109]
- Tnh cht ca hm bm
Tnh ng : Theo nguyn ly Diricle: nu co (n+1) con th c b vo n ci
chung th phi tn ti it nht mt ci chung m trong o co it nht l hai con th
chung. R rang vi khng gian gia tri Bm nh hn rt nhiu so vi khng gian tin
v mt kich thc th chc chn s tn tai ung , ngha l c hai tin x # x ma gia
tri Bm cua chng la ging nhau, tc h(x) = h(x) [1 - 109].
Sau y chng ta s xt cac dang tn cng c th c, t rt ra cac tinh cht cua
ham Bm:
Tnh cht 1: Hm bm khng va chm yu.

18
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Hm bm h l khng va chm yu nu khi cho trc mt bc in x, khng th


tin hnh v mt tnh ton tm ra mt bc in x x m h(x) = h(x). [1 tr110]
V d: Ngi A gi cho B (x, y) vi y = SigA(h(x)). Nhng trn ng truyn, tin
b ly trm. Tn trm, bng cch no tm c mt bn thng ip x c h(x) =
h(x) m x x. Sau , tn trm a x thay th x ri truyn tip cho ngi B.
Ngi B nhn c v vn xc thc c thng tin ng n.
trnh tn cng trn, hm bm phi khng va chm yu.
Tnh cht 2: Hm bm khng va chm mnh
Hm bm h l khng va chm mnh nu khng c kh nng tnh ton tm ra hai
bc thng ip x v x m x x v h(x) = h(x). [1 tr110]
V d: u tin, tn gi mo tm ra c hai bc thng ip x v x (x x) m c
h(x) = h(x) (ta coi bc thng ip x l hp l, cn x l gi mo). Tip theo, tn
trm a cho ng A v thuyt phc ng ny k vo bn tm lc h(x) nhn c
y. Khi (x, y) l bc in gi mo nhng hp l.
trnh kiu tn cng ny, hm h phi tha mn tnh khng va chm mnh
Tnh cht 3: Hm bm mt chiu.
Hm bm h l mt chiu nu khi cho trc mt bn tm lc thng bo z, khng
th thc hin v mt tnh ton tm bc in x sao cho h(x) = z. [1 tr110]
Vic gi mo cc ch k trn bn tm lc thng bo z ngu nhin thng xy ra
vi s ch k. Gi s tn gi mo tnh ch k trn bn tm lc thng bo z ngu
nhin nh vy. Sau anh ta tm x sao cho z = h(x). Nu lm c nh vy th (x,y)
l bc in gi mo hp l. trnh c tn cng ny, h cn tho mn tnh cht
mt chiu:

19
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

- Mt s hm bm ni ting
+ MD5 (Message Digest)
Ronald Rivest la ngi a phat minh ra cac ham Bm MD2, MD4 (1990) va MD5
(1991). Do tinh cht tng t cua cac ham Bm nay, sau y chung ta se xem xet
hm Bm MD5, y la mt cai tin cua MD4 va la ham Bm c s dung rng rai
nht, nguyn tc thit k cua ham bm nay cung la nguyn tc chung cho rt nhiu
cac ham bm khac [1 tr111].
a. Miu t MD5:
u vao la nhng khi 512 bit, c chia cho 16 khi con 32 bit. u ra cua thut
toan la mt thit lp cua 4 khi 32 bit tao thanh mt ham Bm 128 bit duy nht.
u tin, ta chia bc in thanh cac khi 512 bit, vi khi cui cng (t la x va x
< 512bit) cua bc in, chng ta cng thm mt bit 1 vao cui cua x, theo sau la
cac bit 0 c dai cn thit (512 bit). Kt qua la bc in vao la mt chui M
c dai chia ht cho 512, v vy ta c th chia M ra thanh cac N khi con 32 bit
(N khi nay s chia ht cho 16).
By gi, ta bt u tm ct cua bc in vi 4 khi 32 bit A, B, C va D (c xem
nh thanh ghi) :
A = 0x01234567
B = 0x89abcdef
C = 0xfedcba98
D = 0x76543210.
Ngi ta thng goi A, B, C, D la cac chui bin s (chaining variables).
Bc in c chia ra thanh nhiu khi 512 bit, mi khi 512 bit lai c chia ra
16 khi 32 bit i vao bn vng lp cua MD5. Gia s ta t a, b, c va d thay cho A,
20
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

B, C va D i vi khi 512 bit u tin cua bc in. Bn vng lp trong MD5 u


c cu trc ging nhau. Mi vng thc hin 16 ln bin i: thc hin vi mt ham
phi tuyn cua 3 trong 4 gia tri a, b, c va d; sau n cng kt qua n gia tri th 4,
tip cng vi mt khi con 32 bit va mt hng s. Sau , n dich trai mt lng
bit thay i va cng kt qua vao mt trong 4 gia tri a, b, c hay d. Kt qua cui cng
la mt gia tri mi c thay th mt trong 4 gia tri a, b, c hay d.
Khi ca bc in

A
B
C

A
Vng
1

Vng
2

Vng
3

Vng
4

B
C
D

Hnh 1.2 s vng lp chnh ca MD5

C bn ham phi tuyn, mi ham nay c s dung cho mi vng:


F(X,Y,Z ) = (X and Y) or ((not X) and Z)
G(X,Y,Z ) = ((X and Z) or (Y and (not Z)))
H(X,Y,Z ) = X xor Y xor Z
I(X,Y,Z ) = Y xor (X or (not Z)).

Nhng ham nay c thit k sao cho cac bit tng ng cua X, Y va Z la c lp
va khng u tin, va mi bit cua kt qua cung c lp va ngang bng nhau.
Nu Mj la mt biu din cua khi con th j (j = 16) va <<<s la php dich trai cua s
bit, th cac vng lp c th biu din nh sau:
21
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

FF(a,b,c,d,Mj,s,ti) c biu din a = b + ((a + F(b,c,d) + Mj + ti) <<< s)


GG(a,b,c,d,Mj,s,ti) c biu din a = b + ((a + G(b,c,d) + Mj + ti) <<< s)
HH(a,b,c,d,Mj,s,ti) c biu din a = b + ((a + H(b,c,d) + Mj + ti) <<< s)
II(a,b,c,d,Mj,s,ti) c biu din a = b + ((a + I(b,c,d) + Mj + ti) <<< s).
Bn vng (64 bc) s thc hin nh sau:
Vng 1:
FF (a, b, c, d, M0, 7, 0x76aa478)
FF (d, a, b, c, M1, 12, 0xe8c7b756)
FF (c, d, a, b, M2, 17, 0x242070db)
FF (b, c, d, a, M3, 22, 0xc1bdceee)
FF (a, b, c, d, M4, 7, 0xf57c0faf)
FF (d, a, b, c, M5, 12, 0x4787c62a)
FF (c, d, a, b, M6, 17, 0xa8304613)
FF (b, c, d, a, M7, 22, 0xfd469501)
FF (a, b, c, d, M8, 7, 0x698098d8)
FF (d, a, b, c, M9, 12, 0x8b44f7af)
FF (c, d, a, b, M10, 17, 0xffff5bb1)
FF (b, c, d, a, M11, 22, 0x895cd7be)
FF (a, b, c, d, M12, 7, 0x6b901122)
FF (d, a, b, c, M13, 12, 0xfd987193)
FF (c, d, a, b, M14, 17, 0xa679438e)
FF (b, c, d, a, M15, 22, 0x49b40821).
Vng 2:
22
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

GG (a, b, c, d, M1, 5, 0x61e2562)


GG (d, a, b, c, M6, 9, 0xc040b340)
GG (c, d, a, b, M11, 14, 0x265e5a51)
GG (b, c, d, a, M0, 20, 0xe9b6c7aa)
GG (a, b, c, d, M5, 5, 0xd62f105d)
GG (d, a, b, c, M10, 9, 0x02441453)
GG (c, d, a, b, M15, 14, 0xd8a1e681)
GG (b, c, d, a, M4, 20, 0xe7d3fbc8)
GG (a, b, c, d, M9, 5, 0x21e1cde6)
GG (d, a, b, c, M14, 9, 0xc33707d6)
GG (c, d, a, b, M3, 14, 0xf4d50d87)
GG (b, c, d, a, M8, 20, 0x455a14ed)
GG (a, b, c, d, M13, 5, 0xa9e3e905)
GG (d, a, b, c, M2, 9, 0xfcefa3f8)
GG (c, d, a, b, M7, 14, 0x676f02d9)
GG (b, c, d, a, M12, 20, 0x8d2a4c8a).
Vng 3:
HH (a, b, c, d, M5, 4, 0xfffa3942)
HH (d, a, b, c, M8, 11, 0x8771f681)
HH (c, d, a, b, M11, 16, 0x6d9d6122)
HH (b, c, d, a, M14, 23, 0xfde5380c)
HH (a, b, c, d, M1, 4, 0xa4beea44)
HH (d, a, b, c, M4, 11, 0x4bdecfa9)

23
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

HH (c, d, a, b, M7, 16, 0xf6bb4b60)


HH (b, c, d, a, M10, 23, 0xbebfbc70)
HH (a, b, c, d, M13, 4, 0x289b7ec6)
HH (d, a, b, c, M0, 11, 0xeaa127fa)
HH (c, d, a, b, M3, 16, 0xd4ef3085)
HH (b, c, d, a, M6, 23, 0x04881d05)
HH (a, b, c, d, M9, 4, 0xd9d4d039)
HH (d, a, b, c, M12, 11, 0xe6db99e5)
HH (c, d, a, b, M15, 16, 0x1fa27cf8)
HH (b, c, d, a, M2, 23, 0xc4ac5665).
Vng 4:
II (a, b, c, d, M0, 6, 0xf4292244)
II (d, a, b, c, M7, 10, 0x432aff97)
II (c, d, a, b, M14, 15, 0xab9423a7)
II (b, c, d, a, M5, 21, 0xfc93a039)
II (a, b, c, d, M12, 6, 0x655b59c3)
II (d, a, b, c, M3, 10, 0x8f0ccc92)
II (c, d, a, b, M10, 15, 0xffeff47d)
II (b, c, d, a, M1, 21, 0x85845dd1)
II (a, b, c, d, M8, 6, 0x6fa87e4f)
II (d, a, b, c, M15, 10, 0xfe2ce6e0)
II (c, d, a, b, M6, 15, 0xa3013414)
II (b, c, d, a, M13, 21, 0x4e0811a1)

24
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

II (a, b, c, d, M4, 6, 0xf7537e82)


II (d, a, b, c, M11, 10, 0xbd3af235)
II (c, d, a, b, M2, 15, 0x2ad7d2bb)
II (b, c, d, a, M9, 21, 0xeb86d391).

Nhng hng s ti c chon theo quy lut sau: bc th i gia tri t i la phn
nguyn cua 232*abs(sin(i)), trong i = [0..63] c tinh theo radian.
Sau tt ca nhng bc nay a, b, c va d ln lt c cng vi A, B, C va D cho
kt qua u ra, va thut toan tip tuc vi khi d liu 512 bit tip theo cho n ht
bc in. u ra cui cng la mt khi 128 bit cua A, B, C va D, y chinh la ham
Bm nhn c [1 tr111 > tr115].
b. Tinh bo mt trong MD5:
Ron Rivest a phac hoa nhng cai tin cua MD5 so vi MD4 nh sau:
-

Vng th 4 c thm vao (cn MD4 ch c 3 vng).

Mi bc c cng thm mt hng s duy nht.

Ham G vng 2 thay i t ((X and Y) or (X and Z) or (Y and Z)) thnh ((X
and Z) or (Y and (not Z))) nhm giam tinh i xng cua G (giam tinh tuyn
tinh).

Mi bc c cng kt qua cua bc trc n, lam cac qua trnh c tnh


lin kt, phu thuc ln nhau.

Vic cac khi con bi thay i khi vao vng 2 va vng 3 lam cho khun dang
cu trc vng lp thay i theo.

S lng lng bit dich trai cua mi vng c ti u va cac bc dich


mi vng l khc nhau.

25
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Nm 1993, den Boer va Bosselaers a tm ra ung trong vic s dung ham nn


(vng 2 va 3) cua MD5. iu nay pha v quy lut thit k MD5 la chng lai s
ung , nhng MD5 vn la ham Bm c s dung rng rai hin nay [1 tr115].
+ SHA (Secure Hash Algorithm)
Nm 1995, t chc NIST cng NSA a thit k ra thut toan ham Bm an toan
(SHA) s dung cho chun ch ky in t DSS. SHA c thit k da trn nhng
nguyn tc cua MD4/MD5, tao ra 160 bit gia tri Bm [1 tr116].
a. Miu t SHA:
Cung ging vi MD5, bc in c cng thm mt bit 1 va cac bit 0 cui bc
in bc in c th chia ht cho 512. SHA s dung 5 thanh ghi dich:
A = 0x67452301
B = 0xefcdab89
C = 0x98badcfe
D = 0x10325476
E = 0xc3d2e1f0
Bc in c chia ra thanh nhiu khi 512 bit. Ta cung t la a, b, c, d va e thay
cho A, B, C, D va E i vi khi 512 bit u tin cua bc in. SHA c bn vng
lp chinh vi mi vng thc hin 20 ln bin i: bao gm thc hin vi mt ham
phi tuyn cua 3 trong 5 gia tri a, b, c, d va e; sau cung c cng va dich nh
trong MD5.
SHA xac lp bn ham phi tuyn nh sau:
ft(X,Y,Z) = (X and Y) or ((not X) and Z) vi 0 t 19
ft(X,Y,Z) = X xor Y xor Z vi 20 t 39
ft(X,Y,Z) = (X and Y) or (X and Z) or (Y and Z) vi 40 t 59
26
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

ft(X,Y,Z) = X xor Y xor Z vi 60 t 79.

Bn hng s s dung trong thut ton l:


Kt = 21/2 /4 = 0x5a827999 vi 0 t 19
Kt = 31/2 /4 = 0x6ed9eba1 vi 20 t 39
Kt = 51/2 /4 = 0x8f1bbcdc vi 40 t 59
Kt = 101/2 /4 = 0xca62c1d6 vi 60 t 79.

Cac khi bc in c m rng t 16 khi con 32 bit (M0 n M15) thnh 80


khi con 32 bit (W0 n W79) bng vic s dung thut toan m rng:
Wt = Mt vi 0 t 15
Wt = (Wt-3 xor Wt-8 xor Wt-14 xor Wt-16) vi 16 t 79.

Nu goi Wt la biu din cua khi con th t cua bc in c m rng, va <<<s la


biu din dich trai s bit, th vng lp chinh cua SHA nh sau:
a = A, b = B, c = C, D = D, e = E,
for t = 0 to 79
{
TEMP = (a <<< 5) + ft(b, c, d) + e +Wt + Kt,
e = d,
d = c,
c = b <<< 30,
b = a,
a = TEMP,
}
A = A + a, B = B + b, C = C + c, D = D + d, E = E + e,

Thut toan tip tuc vi khi 512 bit tip theo cho ti khi ht bc in, va kt qua
sau cng trong 5 thanh ghi A, B, C, D va E chinh la ham Bm SHA 160 bit [1
tr115 > tr117].
27
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

b. Tinh bo mt trong SHA:


hiu r hn v tinh bao mt cua SHA, ta hay so sanh SHA vi MD5 c th
tm ra nhng im khac nhau cua hai ham Bm nay:
- MD5 va SHA u cng thm cac bit gia tao thanh nhng khi chia ht cho
512 bit, nhng SHA s dung cng mt ham phi tuyn f cho ca bn vng.
- MD5 s dung mi hng s duy nht cho mi bc bin i, SHA s dung mi
hng s cho mi vng bin i, hng s dich nay la mt s nguyn t i vi ln
cua t (ging vi MD4).
- Trong ham phi tuyn th 2 cua MD5 c s cai tin so vi MD4, SHA th s
dung lai ham phi tuyn cua MD4, tc (X and Y) or (X and Z) or (Y and Z).
- Trong MD5 vi mi bc c cng kt qua cua bc trc . S khac bit i
vi SHA la ct th 5 c cng (khng phai b, c hay d nh trong MD5), iu nay
lam cho phng phap tn cng cua Boer-Bosselaers i vi SHA bi tht bai (den
Boer va Bosselaers la hai ngi a pha thanh cng 2 vng cui trong MD4).
Cho n nay, cha c mt cng b nao c a ra trong vic tn cng SHA, bi
v dai cua ham Bm SHA la 160 bit, n c th chng lai phng phap tn cng
bng vt can (k ca birthday attack) tt hn so vi ham Bm MD5 128 bit [1
tr117].
III. Ch k in t
1. Tng quan
Trong cuc sng hng ngy, ta cn dng ch k xc nhn cc vn bn ti liu
no v c th dng con du vi gi tr php l cao hn i km vi ch k.
Cng vi s pht trin nhanh chng ca cng ngh thng tin, cc vn bn ti liu
c lu di dng s, d dng c sao chp, sa i. Nu ta s dng hnh thc

28
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

ch k truyn thng nh trn s rt d dng b gi mo ch k. Vy lm sao c


th k vo cc vn bn, ti liu s nh vy?
Cu tr li l s dng ch k in t! Ch k in t i km vi cc thng tin
ch s hu v mt s thng tin cn thit khc s tr thnh Chng ch in t.
Ch k in t (ting Anh: electronic signature) l thng tin i km theo d liu
(vn bn, hnh nh, video...) nhm mc ch xc nh ngi ch ca d liu .
Mt s ch ky in t l b 5 (P, A, K, S, V) tho man cc iu kin di y:
1) P l tp hu hn cc bc in (thng ip, bn r) co th.
2) A l tp hu hn cc ch ky co th.
3) K l tp khng gian kho (tp hu hn cc kho co th).
4) Vi mi kho K k tn ti mt thut ton ky SigK S v mt thut ton xc
minh VerK V. Mi Sigk: P A v verK: P x A {TRUE, FALSE} l nhng hm
sao cho mi bc in x P v mi ch ky y A tho man phng trnh di y:
True nu y = sig(x)

Ver (x, y) =
False nu y sig(x).

Vi mi K k, hm SigK v VerK la cac ham a thc thi gian. Ham VerK s la ham
cng khai cn hm SigK la bi mt. Khng th d dang tinh toan gia mao ch ky
cua B trn bc in x, ngha la vi x cho trc ch c B mi c th tinh c y
Ver(x, y) = TRUE. Mt s ch ky khng th an toan v iu kin v mt ngi C
nao c th kim tra tt ca ch s y trn bc in x nh dng thut toan Ver()
cng khai cho ti khi anh ta tm thy ch ky ng. V th, nu c u thi gian, C
lun c th gia mao ch ky cua B. Nh vy muc ich cua chng ta la tm cac s
ch ky in t an toan v mt tnh ton [1 tr116].

29
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Ch k in t c s dng trong cc giao dch in t. Xut pht t thc t, ch


k in t cng cn m bo cc chc nng: Xc nh c ngi ch ca mt d
liu no v d vn bn, nh, video, ... d liu c b thay i hay khng.
Hai khi nim ch k s (digital signature) v ch k in t thng c dng
thay th cho nhau mc d chng khng hon ton c cng ngha. Ch k s ch l
mt tp con ca ch k in t (ch k in t bao hm ch k s).
Mt ch k in t s l mt ch k s nu n s dng mt phng php m ha
no m bo tnh ton vn (thng tin) v tnh xc thc. V d nh mt bn d
tho hp ng son bi bn bn hng gi bng email ti ngi mua sau khi c k
(in t). [1- tr117]
Mt vn bn c k c th c m ha khi gi nhng iu ny khng bt buc.
Vic m bo tnh b mt v tnh ton vn ca d liu c th c tin hnh c lp.
2. Quy trnh s dng ch k in t
Ch k in t hot ng da trn h thng m ha kha cng khai. H thng m
ha ny gm hai kha, kha b mt v kha cng khai. Mi ch th c mt cp kha
nh vy, ch th s gi kha b mt, cn kha cng khai ca ch th s c a
ra cng cng bt k ai cng c th bit. Nguyn tc ca h thng m ha kha
cng khai l, nu m ha bng kha b mt th ch kha cng khai mi gii m
ng thng tin c, v ngc li, nu m ha bng kha cng khai, th ch c kha
b mt mi gii m ng c.
Ngoi ra, ch k cn m bo pht gic c bt k s thay i no trn d liu
c k. k ln mt vn bn, phn mm k s nghin (crunch down) d
liu gi gn bng mt vi dng, c gi l thng bo tm tt, bng mt tin
trnh c gi l k thut bm, ri to thnh ch k in t. Cui cng, phn
mm k tn s gn ch k in t ny vo vn bn.

30
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

V d: Gi s bn A c ti liu P cn k. Bn A s thc hin bm vn bn thnh


mt bn tm lc X, sau dng kha b mt ca mnh k ln bn tm lc X
c vn bn ch k in t Y, sau gi ti liu P km theo ch k Y cho A.
Gi s B mun xc nhn ti liu P l ca A, vi ch k l bn m Y. Bn B s
dng kha cng khai ca A xc nhn ch k Y ca A k trn vn bn P gi c
ng hay khng, nu xc nhn ng th ch k Y chnh l A k trn vn bn P,
ngc li th khng phi hoc bn k c thay i.
Mt s trng hp xy ra vi ch k in t, cng ging nh cc trng hp xy
ra vi ch k truyn thng. V d: Khi ti liu TL ca A b thay i (d ch mt k
t, mt du chm, hay mt k hiu bt k), khi B xc nhn, anh ta s thy bn gii
m khc vi ti liu TL ca anh A. B s kt lun rng ti liu b thay i,
khng phi l ti liu anh A k.
Trng hp khc, nu A l kha b mt, ngha l vn bn ti liu ca A c th
k bi ngi khc c kha b mt ca A. Khi mt ai xc nhn ti liu c cho
l ca A k, ch k vn l hp l, mc d khng phi chnh A k. Nh vy, ch k
ca A s khng cn gi tr php l na. Do , vic gi kha b mt l tuyt i
quan trng trong h thng ch k in t.
Trong trng hp v d trn, A c mt cp kha c th k trn vn bn, ti liu
s. Tng t nh vy, B hay bt c ai s dng ch k in t, u c mt cp kha
nh vy. Kha b mt c gi ring, cn kha cng khai c a ra cng cng.
Vy vn t ra l lm th no bit mt kha cng khai thuc v A, B hay mt
ngi no ?
Hn na, gi s trong mi trng giao dch trn Internet, cn s tin cy cao, A
mun giao dch vi mt nhn vt X. X v A cn trao i thng tin c nhn cho
nhau, cc thng tin gm h tn, a ch, s in thoi, email Vy lm sao A
c th chc chn rng mnh ang giao dch vi nhn vt X ch khng phi l ai
31
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

khc gi mo X? Chng ch s c to ra gii quyt vn ny! Chng ch s


c c ch xc nhn thng tin chnh xc v cc i tng s dng chng ch s.
Thng tin gia A v X s c xc nhn bng mt bn trung gian m A v X tin
tng.
Bn trung gian l nh cung cp chng ch s CA (Certificate Authority). CA c
mt chng ch s ca ring mnh, CA s cp chng ch s cho A v X cng nh
nhng i tng khc.
Tr li vn trn, A v X s c cch kim tra thng tin ca nhau da trn chng
ch s nh sau: khi A giao dch vi X, h s chuyn chng ch s cho nhau, ng
thi h cng c chng ch s ca CA, phn mm ti my tnh ca A c c ch
kim tra chng ch s ca X c hp l khng, phn mm s kt hp chng ch s
ca nh cung cp CA v chng ch ca X thng bo cho A v tnh xc thc ca
i tng X.
Nu phn mm kim tra v thy chng ch ca X l ph hp vi chng ch CA, th
A c th tin tng vo X.
C ch ch k in t v chng ch s s dng cc thut ton m ha m bo
khng th gi mo CA cp chng ch khng hp php, mi chng ch gi mo
u c th d dng b pht hin.
Tr li vi vic k vn bn, ti liu, kha b mt s dng k cc vn bn, ti
liu ca ch s hu. Nh cp trong v d trn, gi s A mun gi mt vn
bn km vi ch k ca mnh trn vn bn , A s dng kha b mt m ha thu
c bn m vn bn, bn m chnh l ch k in t ca A trn vn bn.
Khi A gi vn bn v ch k, ngi khc c th xc nhn vn bn ca mnh vi
thng tin y v ch s hu, A s gi c chng ch ca mnh i km vi vn bn.
Gi s X nhn c vn bn A gi km vi chng ch, khi X c th d dng
xc nhn tnh hp php ca vn bn .
32
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

3. Mt s s CKT ph bin
a. Rivest Shamir Adleman (RSA)
- S lc v cc khi nim ton hc dng trong RSA.
* S nguyn t (prime)
S nguyn t l nhng s nguyn ch chia chn c cho 1 v cho chnh n.
V d : 2, 3, 5, 7, 11, 13, 17, 23...
* Khi nim nguyn t cng nhau (relatively prime or coprime).
Vi hai s nguyn dng a v b. Ta k hiu UCLN(a,b): c chung ln nht ca a
v b.
n gin ta k hiu UCLN(a,b) = (a,b)
V d :
(4,6)=2
(5,6)=1
Hai s a v b gi l nguyn t cng nhau khi (a,b)=1
V d : 9 v 10 nguyn t cng nhau v (9,10)=1
* Khi nim modulo
Vi m l mt s nguyn dng. Ta ni hai s nguyn a v b l ng d vi nhau
+ modulo m, nu m chia ht hiu (a-b) (vit l m|(a-b) )
K hiu a b (mod m) [5]
Nh vy a b (mod m ) khi v ch khi tn ti s nguyn k sao cho: a = b + k*m
V d: 13 3 (mod 10) v 13= 3 + 1*10
* Phi Hm EULER
nh ngha: Phi Hm Euler (n) c gi tr ti n bng s cc s khng vt qu
n v nguyn t cng nhau vi n. [5]
33
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

V d : (5) = 4 , (6) = 2 ,(10) = 4


* Mt s nh l c bn
nh l Euler: Nu m l s nguyn dng v P nguyn t cng nhau vi m th
P(m) 1 (mod m) [5]
Vy nu m v p nguyn t cng nhau . Ta t s = (m) th Ps 1 (mod m)
Suy ra vi: a= 1 + k*s
Ta c : Pa P*(Ps)k P*1k (mod m) P (mod m) Vi e l s nguyn dng
nguyn t cng nhau vi s ,tc l (e,s)=1. Khi tn ti mt nghch o d ca e
modulo s tc l e*d 1 (mod s) ; e*d = 1 + k*s t E(P) C Pe (mod m)
t D(C) Cd (mod m) Ta thy D(C) Cd (Pe (mod m))d (mod m) Pe*d (mod m)
P(1+k*s) (mod m) P.(Ps)k (mod m)P.(1)k (mod m) P (mod m)
V d : m = 10 , P = 9 ta c (10,9)=1, s = (10) = 4, e = 7, ta c (7,4) = 1.
Nghch o ca (7 modulo 4) l: d = 3, v 7*3 =1 + 5*4 Lc ta c: E(P) C
Pe 97 4.782.969 9 (mod 10) => C=9 D(C) Cd 93 729 9 (mod 10) Vy D
chnh l hm ngc ca E. y l c s cho vic xy dng thut ton RSA.
Tnh (m) khi bit m. Chng ta c nh l sau y: Gi s m = p1a1*p2a2* *pkak.
Khi . (m) =( p1a1 p1(a1-1))* * (pkak pk(ak-1))
V d: m= 10 Ta phn tch 10 =2*5=> (10) =( 21 20) *(51 50) = 1*4 = 4.
- Cch to kha:
Chng ta cn to ra mt cp kha K v Xc nhn theo cc bc sau:
Bc1. Chn 2 s nguyn t ln p v q vi (p # q), la chn ngu nhin v c
lp.
Bc2. Tnh s hm modulo ca h thng: n= p*q.
Bc3. Tnh: Gi tr hm s le: (n)= (p-1)(q-1).

34
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Bc4. Chn mt s t nhin kha m e sao cho (1 <= e <= (n)) v l s


nguyn t cng nhau vi (n).
Bc5. Tnh kha gii m d sao cho: d*e 1 (mod (n)). Vi 0<=d<= (n)
Khi ta phn pht kha cng khai: KU= {e,n}.
V gi kha b mt: KR= {d,n}.
Mt s lu :

Cc s nguyn t thng c chn bng phng php th xc

sut.

Cc bc 4 v 5 c th c thc hin bng gii thut Euclid

m rng

Bc 5 c th vit cch khc:

Tm s t nhin x sao cho d=(x(p-1)(q-1)+1)/e cng l s t nhin.


Khi s dng gi tr: d mod (p-1)(q-1).

T bc 3 s dng: =BCNN(p-1)(q-1) thay cho (n)=(p-1)(q-

1). [5]
* Kha cng khai bao gm:

n, mun.

e, s m cng khai.

* Kha b mt bao gm:

n, mun, xut hin c trong kha cng khai v kha b mt.

d, s m b mt.

- Quy trnh thc hin k v xc nhn vn bn.


Da vao u im cua h ma RSA, nu thit lp c s ch ky da trn bi
toan phn tich ra tha s nguyn t th an toan cua ch ky s rt cao.
* K (M ha).
35
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Phn ny c ct b, hy lin h ch ti nhn c bn


chi tit hn.
Hm trn c th tnh d dng s dng phng php tnh hm m (theo mun) bng
(thut ton bnh phng v nhn). Cui cng ta c bn k c hay bn ch k in t v
gi cho i tc.

* Xc nhn (Gii m).


Sau khi nhn c bn ch k in t, ngi nhn cn phi xc nhn ch k trn
vn bn l ng ngi k bng cch xc nhn bn k vi kha cng khai ca ngi
k vi cng thc sau.
VerK(m,c) = TRUE m ce (mod n) vi x, y Zn.
Qu trnh gii m hot ng v ta c
Ce (md)e mde (mod n);
Do: ed 1 (mod p-1) v ed 1 (mod q-1), (theo nh l Fermat nh) nn:
Mde m (mod p);
v
mde m (mod q);
Do p v q l hai s nguyn t cng nhau, p dng nh l s d Trung Quc, ta c:
Mde m (mod pq);
hay:
Ce m (mod n);
Thng thng, ch ky c kt hp vi ham ma hoa cng khai. Gia s A mun
gi mt bc in a c ma hoa va a c ky n cho B. Vi ban r x cho trc,
A s tinh toan ch ky cua mnh y = SigA(m) v sau ma hoa ca x va y s dung
khoa cng khai eB cua B, kt qua nhn c la z = eB(m, c). Ban ma z s c gi
ti B, khi B nhn c z, u tin anh ta giai ma vi ham giai ma dB cua mnh
36
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

nhn c (m, c). Sau anh ta dng ham xac minh cng khai cua A kim tra
xem VerA(m,c) = TRUE hay khng [1].
Song nu u tin A ma hoa m, ri sau mi ky ln ban ma nhn c th sao?
Khi , A s tinh:
c = SigA(eB(m))
A s truyn cp (z, c) ti B, B s giai ma z va nhn c m, sau xac minh ch
ky c trn m nh dng VerA. Mt vn nay sinh nu A truyn (m, c) kiu nay th
mt ngi th ba C c th thay ch ky c cua A bng ch ky cua chinh mnh.
c = SigC(eB(m))
Ch y rng, C c th ky ln ban ma eB(m) ngay ca khi anh ta khng bit ban r m.
Khi nu C truyn (z, c) n B, ch ky cua C c B xac minh bng VerC va do
, B cho rng ban r x xut phat t C. Do kh khn nay, hu ht ngi s dung
c khuyn nghi ky trc khi ma [1 tr103].
- Tnh bo mt.
Bi ton bo mt ca h ch k RSA l trnh trng hp ngi ngoi c th tnh
ra gi tr d b mt (gi tr k hay m ha) khi bit c gi tr xc nhn e (cng
khai).
an ton ca h thng k RSA da trn 2 vn ca ton hc: Bi ton phn
tch ra tha s nguyn t cc s nguyn ln v bi ton RSA. Nu 2 bi ton trn l
kh (khng tm c thut ton hiu qu gii chng) th khng th thc hin
c vic ph m ton b i vi RSA.
Bi ton RSA l bi ton tnh cn bc e mun n (vi n l hp s): Tm s m sao
cho me=c mod n, trong (e, n) chnh l kha cng khai v c l bn m. Hin nay
phng php trin vng nht gii bi ton ny l phn tch n ra tha s nguyn t.
Khi thc hin c iu ny, k tn cng s tm ra s m b mt d t kha cng
37
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

khai v c th gii m theo ng quy trnh ca thut ton. Nu k tn cng tm c


2 s nguyn t p v q sao cho: n = pq th c th d dng tm c gi tr (p-1)(q-1)
v qua xc nh d t e. Cha c mt phng php no c tm ra trn my tnh
gii bi ton ny trong thi gian a thc (polynomial-time). Tuy nhin ngi ta
cng cha chng minh c iu ngc li (s khng tn ti ca thut ton).
Ti thi im nm 2005, s ln nht c th c phn tch ra tha s nguyn t c
di 663 bit vi phng php phn tn trong khi kha ca RSA c di t 1024
ti 2048 bit. Mt s chuyn gia cho rng kha 1024 bit c th sm b ph v (cng
c nhiu ngi phn i vic ny). Vi kha 4096 bit th hu nh khng c kh
nng b ph v trong tng lai gn. Do , ngi ta thng cho rng RSA m bo
an ton vi iu kin n c chn ln. Nu n c di 256 bit hoc ngn hn,
n c th b phn tch trong vi gi vi my tnh c nhn dng cc phn mm c
sn. Nu n c di 512 bit, n c th b phn tch bi vi trm my tnh ti thi
im nm 1999. Mt thit b l thuyt c tn l TWIRL do Shamir v Tromer m t
nm 2003 t ra cu hi v an ton ca kha 1024 bit. V vy hin nay ngi
ta khuyn co s dng kha c di ti thiu 2048 bit.
Nm 1993, Peter Shor cng b thut ton Shor ch ra rng: My tnh lng t
(trn l thuyt) c th gii bi ton phn tch ra tha s trong thi gian a thc. Tuy
nhin, my tnh lng t vn cha th pht trin c ti mc ny trong nhiu
nm na [2 tr117].
- Cc dng tn cng
* Phn phi kha
Cng ging nh cc thut ton m ha khc, cch thc phn phi kha cng khai
l mt trong nhng yu t quyt nh i vi an ton ca RSA. Qu trnh phn
phi kha cn chng li c tn cng ng gia (man-in-the-middle attack). Gi
s k xu (C) c th gi cho Ngi gi thng tin(A) mt kha bt k v khin (A)
tin rng l kha (cng khai) ca i tc(B). ng thi (C) c kh nng c c
38
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

thng tin trao i gia (A) v (B). Khi , (C) s gi cho (A) kha cng khai ca
chnh mnh (m (A) ngh rng l kha ca (B)). Sau , (C) c tt c vn bn
m ha do (A) gi, gii m vi kha b mt ca mnh, gi 1 bn copy ng thi m
ha bng kha cng khai ca (B) v gi cho (B). V nguyn tc, c (A) v (B) u
khng pht hin ra s can thip ca ngi th ba. Cc phng php chng li dng
tn cng ny thng da trn cc chng thc kha cng khai (digital certificate)
hoc cc thnh phn ca h tng kha cng khai (public key infrastructure - PKI).
[6]
* Tn cng da trn thi gian
Vo nm 1995, Paul Kocher m t mt dng tn cng mi ln RSA: Nu k tn
cng nm thng tin v phn cng thc hin m ha v xc nh c thi gian
gii m i vi mt s bn m la chn th c th nhanh chng tm ra kha d. Dng
tn cng ny c th p dng i vi h thng ch k in t s dng RSA. Nm
2003, Dan Boneh v David Brumley chng minh mt dng tn cng thc t hn:
Phn tch tha s RSA dng mng my tnh (My ch web dng SSL). Tn cng
khai thc thng tin r r ca vic ti u ha nh l s d Trung quc m nhiu ng
dng thc hin.
chng li tn cng da trn thi gian l m bo qu trnh gii m lun din
ra trong thi gian khng i bt k vn bn m. Tuy nhin, cch ny c th lm
gim hiu sut tnh ton. Thay vo , hu ht cc ng dng RSA s dng mt k
thut gi l che mt. K thut ny da trn tnh nhn ca RSA: thay v tnh cd mod
n, u tin chn mt s ngu nhin r v tnh (rec)d mod n. Kt qu ca php tnh ny
l rm mod n v tc ng ca r s c loi b bng cch nhn kt qu vi nghch
o ca r. i vi mi vn bn m, ngi ta chn mt gi tr ca r. V vy, thi
gian gii m s khng cn ph thuc vo gi tr ca vn bn m. [6]

39
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

* Tn cng bng phng php la chn thch nghi bn m.


Nm 1981, Daniel Bleichenbacher m t dng tn cng la chn thch nghi bn
m (adaptive chosen ciphertext attack) u tin c th thc hin trn thc t i vi
mt vn bn m ha bng RSA. Vn bn ny c m ha da trn tiu chun
PKCS #1 v1, mt tiu chun chuyn i bn r c kh nng kim tra tnh hp l
ca vn bn sau khi gii m.
Do nhng khim khuyt ca PKCS #1, Bleichenbacher c th thc hin mt tn
cng ln bn RSA dng cho giao thc SSL (tm c kha phin). Do pht hin
ny, cc m hnh chuyn i an ton hn nh chuyn i m ha bt i xng ti u
(Optimal Asymmetric Encryption Padding) c khuyn co s dng. ng thi
phng nghin cu ca RSA cng a ra phin bn mi ca PKCS #1 c kh nng
chng li dng tn cng ni trn. [6]
b. H ch ky ElGammal
H ch ky ElGammal c a ra vao 1985. Mt phin ban sa i h nay c
Hoc vin Quc gia tiu chun va ky thut (NIST) a ra nh mt chun cua ch ky
in t [1 tr103].
H ch ky ElGammal c thit k ring bit cho muc ich ch ky, trai ngc
vi RSA thng c s dung cho ca muc ich ma hoa cng khai va ch ky. H
ch ky ElGammal la khng xac inh, ngha la c rt nhiu gia tri ch ky cho cng
mt bc in cho trc. Thut toan xac minh phai c kha nng nhn bt ky gia tri
ch ky nao nh la vic xac thc. S ch ky ElGammal c miu ta nh sau:
Cho p l mt s nguyn t nh l bi ton logarit ri rc trong Zp, Zp* l mt
phn t nguyn t v P = Zp*, A = (Zp*)*Zp-1, v nh ngha:
K = {(p, , a, ) : a (mod p)}
trong o gi tr p, v l cng khai, cn a l bi mt [1 tr103].

40
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Vi K = (p, , a, ) v chn mt s ngu nhin k Zp-1*, nh ngha:


SigK(x, k) = (, )
trong o: = k mod p
= (x - a* )k-1 mod (p 1).
Vi x, Zp* v Zp-1, nh ngha:
Ver(x, , ) = TRUE x (mod p).
Nu ch ky la ng th vic xac nhn thanh cng khi:
ak (mod p)
x (mod p).
trong : a + k x (mod p -1).
B s tinh toan ch ky bng vic s dung ca gia tri bi mt a (mt phn cua khoa) va
s bi mt ngu nhin k (gia tri ky bc in). Vic xac minh c th thc hin c
ch vi cac thng tin c cng khai:
Vi d:
Chng ta chon p = 467, = 2, a = 127. Ta tnh: = a mod p = 2127 mod 467 = 132.
By gi B mun ky ln bc in x = 100 va anh ta chon mt gia tri ngu nhin k =
213 (ch l UCLN(213, 466) = 1 v 213-1 mod 466 = 431). Sau tinh:
= 2213 mod 467 = 29
= (100 127*29)431 mod 466 = 51.
Bt c ai cung c th kim tra ch ky nay bng cach tinh:
132292951 189 (mod 467)
2100 189 (mod 467).
41
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Gia s ke th ba C mun gia mao ch ky cua B trn bc in x ma khng bit s


b mt a. Nu C chon mt gia tri va c gng tm , anh ta phai tinh mt ham
logarit ri rac logx-. Mt khac, nu u tin anh ta chon c gng tm th
anh ta phai tinh x= x (mod p). Ca hai vic nay u khng th thc hin c [1].
Tuy nhin c mt ly thuyt ma C c th ky ln mt bc in ngu nhin bng cach
chon ng thi , va x. Cho i, j la s nguyn vi 0 i, j p - 2, v UCLN(j, p - 1)
= 1. Sau tinh:
= ij mod p
= - j-1 (mod p-1)
x = - ij-1 (mod p-1).
Nh vy, ta xem (, ) la gia tri ch ky cho bc in x. Vic xac minh s thc hin
nh sau:

V d:
Nh vi du trn, ta chon p = 467, = 2, = 132. K th ba C s chon i = 99 va j =
179. Anh ta s tinh:
=

299132179 mod 467 = 117

-117*151 mod 466 = 41

x=

99*44 mod 466 = 331

42
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Cp gia tri (117, 41) la gia tri ch ky cho bc in 331. Vic xac minh c thc
hin nh sau:
13211711741 303 (mod 467)
2331 303 (mod 467).
Mt phng phap th hai c th gia mao ch ky la s dung lai ch ky cua bc
in trc , ngha la vi cp (, ) la gia tri ch ky cua bc in x, n s c C
ky cho nhiu bc in khac. Cho h, i va j la cac s nguyn, trong 0 i, j, h p-2
v UCLN(h-j, p-1) = 1.
= hij mod p
= (h - j)-1 mod (p-1)
x = (hx + i)(h - j)-1 mod (p-1).
Ta c th kim tra: = x mod p. Va do , (, ) la cp gia tri ch ky cua bc
in x.
iu th ba la vn sai lm cua ngi ky khi s dung cng mt gia tri k trong
vic ky hai bc in khac nhau. Cho (, 1) la ch ky trn bc in x1 v (, 2) la
ch ky trn bc in x2. Vic kim tra s thc hin:
1 x1 (mod p)
2 x2 (mod p).
Do : x1-x2 y1-y2 mod p.
t = k, khi : x1 - x2 = k(1 - 2) (mod p-1).
By gi t d = UCLN(1 - 2, p - 1). V d | (1 - 2) v d | (p - 1) nn n cung
chia ht cho (x1 - x2). Ta t tip:
x = (x1-x2) /d.
43
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

= (1- 2)/d.
p = (p-1)/d.
Cui cng, ta c: x k (mod p). V UCLN(, p) = 1 nn ta c:
= ()-1 mod p
Nh vy, gia tri k s c xac inh nh sau:
k = x (mod p) = x + ip (mod p)
Vi 0 i d-1, ta c th tm c gia tri k duy nht bng ham kim tra:
k mod p. [1 tr104 > tr106]
c. Chun ch k s (DSS)
Chun ch ky in t (DSS) c sa i t h ch ky ElGammal. N c cng
b tai hi nghi Tiu chun x ly thng tin Lin Bang (FIPS) vao 19/05/1994 va tr
thanh chun vao 01/12/1994. DSS s dung mt khoa cng khai kim tra tinh
toan ven cua d liu nhn c va ng nht vi d liu cua ngi gi. DSS cung
c th s dung bi ngi th ba xac inh tinh xac thc cua ch ky va d liu
trong n. u tin chng ta hay tm hiu ng c cua s thay i nay, sau s tm
hiu thut toan cua DSS [1 tr106].
Trong rt nhiu trng hp, mt bc in c th c ma hoa va giai ma mt ln,
v vy n ap ng cho vic s dung cua bt ky h thng bao mt nao c bit la an
toan lc bc in c ma hoa. Ni cach khac, mt bc in c ky am nhim
chc nng nh mt vn ban hp phap, chng han nh cac ban hp ng, v vy n
cung ging nh vic cn thit xac minh ch ky sau rt nhiu nm bc in c
ky. iu nay rt quan trong cho vic phng nga v an toan cua ch ky c
a ra bi mt h thng bao mt. V h ch ky ElGammal khng am nhn c
iu nay, vic thc hin nay cn mt gia tri ln modulo p. Tt nhin p nn c it nht

44
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

512 bit, va nhiu ngi cho rng dai cua p nn la 1024 bit nhm chng lai vic
gia mao trong tng lai [1 tr107].
Tuy nhin, ngay ca mt thut toan modulo 512 bit dng ky cung phai thc hin
vic tinh toan n 1024 bit. Cho ng dung tim nng nay, c rt nhiu card thng
minh c a ra, nhm thc hin mt ch ky ngn hn nh mong mun. DSS a
sa i h ch ky ElGammal cho ph hp theo cach nay mt cach kho lo, mi
160 bit bc in c ky s dung mt ch ky 320 bit, nhng vic tinh toan c
thc hin vi 512 bit modulo p. Cach nay c thc hin nh vic chia nh Zp*
thanh cac trng c kich thc 2160. Vic thay i nay s lam thay i gia tri :
= (x + )k-1 mod(p - 1).
iu nay cung lam cho gia tri kim tra cung thay i:
x (mod p). (1.1)
Nu UCLN(x + , p - 1) = 1 th s tn tai -1 mod (p - 1), do (1.1) s bin i
thnh:
x-1-1 (mod p). (1.2)
y chinh la s i mi cua DSS. Chng ta cho q la mt s nguyn t 160 bit sao
cho q | (p-1), va la mt s th q cua 1 mod p, th va cung la s th q cua 1 mod
p. Do , va c th c ti gian trong modulo p ma khng anh hng g n
vic xac minh ch ky. S thut toan nh sau:
Cho p l mt s nguyn t 512 bit trong trng logarit ri rc Zp; q l mt s
nguyn t 160 bit v q chia ht (p-1). Cho Zp*; P = Zp*, A = Zq*Zq, v nh
ngha:
K = {(p, q, , a, ) : a (mod p)}
trong o gi tr p, q, v l cng khai, cn a l bi mt.

45
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Vi K = (p, , a, ) v chn mt s ngu nhin k (1 k q-1), nh ngha:


sigK(x, k) = (, )
trong o: = (k mod p) mod q
= (x + a*)k-1 mod q.
Vi x Zp* v , Zq, vic xc minh c thc hin bng cch tinh:
e1 = x -1 mod q
e2 = -1 mod q
Ver(x, , ) = TRUE e1e2 ( mod p) mod q = .
Ch y rng, vi DSS th # 0 (mod q) v gia tri: -1 mod q cn cho vic xac minh
ch ky (iu nay cung tng t nh vic yu cu UCLN(, p-1) = 1 (1.1)
(1.2)). Khi B tinh mt gia tri 0 (mod q) trong thut toan ky, anh ta nn b n i
va chon mt s ngu nhin k mi.
Vi d:
Chng ta chon q = 101 va p = 78*q + 1 = 7879 va g = 3 la mt nguyn t trong
Z7879. V vy , ta c th tinh:
= 378 mod 7879 = 170.
Chon a = 75, do : = a mod 7879 = 4567.
By gi, B mun ky mt bc in x = 1234, anh ta chon mt s ngu nhin k = 50.
V vy :
k-1 mod 101 = 99.
Tip : = (17050 mod 7879) mod 101 = 2518 mod 101 = 94
= (1234 + 75*94)99 mod 101 = 97.

46
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Cp ch ky (94, 97) cho bc in 1234 c xac thc nh sau:


-1 = 97-1 mod 101 = 25
e1 = 1234*25 mod 101 = 45
e2 = 94*25 mod 101 = 27
(17045456727 mod 7879) mod 101 = 2518 mod 101 = 94.
K t khi DSS c xut vao nm 1991, a c nhiu ph bnh a ra. Chng
han nh kich c cua moduloe p bi c inh 512 bit, iu ma nhiu ngi khng
mun. V vy, NIST a thay i chun nay c th thay i kich thc moduloe
(chia bi 64) thanh mt day t 512 n 1024 bit [1 tr107 > tr108].
4. Hm bm v kt hp hm bm vo ch k in t.
Kt hp hm bm vo ch k in t: T file cn gi ban u, chng ta s s
dng hm bm bm (m ha) thnh chui k t c di c nh, vi hm bm
MD5 cho ta chui c di 128 bit, hm bm SHA cho ta chui c di 160 bit
gi l bn tm lc. Sau dng k s k ln bn tm lc tr thnh bn ch k
in t, tip theo gi cho ngi nhn hai file l file cn gi v bn ch k in t.
Khi ngi nhn nhn c s thc hin Xc nhn ch k xc nhn ngi gi
ng thi dng hm bm - bm file gi km sau so snh vi bn tm lc xc
nh thng tin c s thay i hay khng.
IV. Ci t minh ha s k s RSA kt hp bm SHA.
+ Cc bc thc hin ca chng trnh.
a. Pht sinh kha:
T cp s nguyn t bt k ban u, chng trnh s thc hin tnh ton a ra
cp kha cng khai (e, n) v kha b mt (d, n). Sau kha cng khai c tit l
ra cng cng, kha b mt c gi li.
47
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

b. K ch k in t:
....................................................................

Phn ny c ct b, hy lin h ch ti nhn c bn


chi tit hn.
.............................................................

- Mt s hm s dng trong chng trnh.


// Kt s nguyn t
public Boolean ktnt(long k)
{
if (k < 2) return false;
for (int i = 2; i <= k / 2; i++)
if (k % i == 0) return false;
return true;
}
// Tm s ln nht trong 2 s
public long max(long a, long b)
{
long max;
if (a >= b) max = a;
else max = b;
return max;
}
// Tm c chung ln nht ca 2 s
public long ucln(long a, long b)
{
int ucln, r;
while (b != 0)
{
r = a % b;
a = b;
48
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

b = r;
}
ucln = a;
return ucln;
}
//Tnh nghch o ca a trong Zb
public long nd(long a, long b)
{
long kq, i = 1;
while ((((i * b) + 1) % a) != 0)
{
i++;
}
kq = ((i * b) + 1) / a;
return kq;
}
//Tinh x^y mod N (tnh theo dng s d)
public static long tinh1(long x, long y, long n)
{
long kq;
kq

= x

% n;

for (long f = 1; f < y; f++)


{
kq = (kq * x ) % n;
}

return kq;
}

- Giao din ca chng trnh:


K:

49
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

Xc nhn ch k:

Phn 3. Kt lun:
+ Nhng phn lm c.
- tm hiu, nghin cu c s l lun v an ton, chng thc thng tin.
- tm hiu v ch k in t.
- tm hiu v cc phng thc m ha d liu c bn, tm hiu v hm bm.
- tm hiu v phng thc m ha bt i xng s dng cho ch k in t.

50
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

Kha lun tt nghip 2011

Tm hiu v ch k in t v ci t chng trnh minh ha.

- tm hiu v cc h ch k in t c bn v h ch k RSA ng dng cho


ch k in t.
- ci t thnh cng chng trnh minh ha k s.
+ Nhng phn cha lm c
- Do nng lc v thi gian c hn nn trong qu trnh nghin cu cn nhiu phn
cn cha thc hin c nh chng trnh cha thc hin c vi s nguyn t
ln, hm bm s dng trong chng trnh cha c ci t bng thut ton.
- Chng trnh ci t cha c tnh ng dng vo thc t.
+ Hng pht trin ca ti.
- C th nghin cu su hn cc vn a ra v thc hin hon thin cc chc
nng ca chng trnh ng dng c vo trong i sng, phc v nhu cu v
mc ch ca ngi s dng.
+ Ti liu tham kho
+ Ph lc
Demo chng trnh: http://www.mediafire.com/view/?fwtd5cdp500u5xj

- Cch lin h ly bi hon chnh:


ly bi hon chnh. C th ly thm phn code (nguyn code +
phn ci t), xin hy lin h mail or s t trn lin h ly bi.
Ph: bi kha lun 50.k, Code: 100.k
Lin h: mail: Hainhat007@gmail.com or 0982.070.520 (c th
sms)
51
Lin h. Mail: Hainhat007@gmail.com or t: 0982.070.520

You might also like