Professional Documents
Culture Documents
BaoCao Nhom1
BaoCao Nhom1
BO CO BI TP LN
AN TON BO MT THNG TIN
M PHNG H CH K IN T RSA
Gio vin hng dn: ng Hong Anh
Nhm 1:
1. V nh Trung (Nhm trng)
2. Chu c Thin
3. Mc Vn Ngha
4. Nguyn Trung Kin
Lp
: Cnt49 h1.
Hi Phng - 2012
Bo co bi tp ln M phng h ch k RSA
MC LC
....................................................................................................................................... 2
Chng 1: C s l thuyt..........................................................................................2
....................................................................................................................................... 2
1.Ch k in t............................................................................................................... 2
2.H ch k in t.......................................................................................................... 2
3.H ch k RSA............................................................................................................... 3
Chng 4: Ci t.......................................................................................................8
1.Cc cng c s dng....................................................................................................8
2.Cc giao din................................................................................................................. 9
3.Cc m lnh v thut ton..........................................................................................15
Chng 1: C s l thuyt
1. Ch k in t
L mt nh danh in t c to ra bi my tnh c cc t chc s dng
nhm t c tnh hiu qu v c hiu lc nh l cc ch k tay.
L mt c ch xc thc ha cho php ngi to ra thng ip nh km mt
m s vo thng ip ging nh l vic k mt ch k ln mt vn bn bnh
thng.
2. H ch k in t
Mt s ch k in t l b 5 (P, A, K, S, V) tha mn cc iu kin di y:
P l tp hu hn cc bc in (thng ip, bn r) c th.
A l tp hu hn cc ch k c th.
V nh Trung Chu c Thin Mc Vn Ngha Nguyn Trung Kin
Bo co bi tp ln M phng h ch k RSA
K l tp khng gian kha (tp hu hn cc kha c th).
Vi mi kha k K tn ti mt thut ton sigk S v mt thut ton xc
mnh 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 k y A tha mn phng trnh
di y.
+ Ver(x, y) = TRUE nu y = sig(x)
+ Ver(x, y) = FALSE nu y sig(x)
Vi mi k K, hm sigk v verk l cc hm a thc thi gian. Hm ver k s l
hm cng khai cn hm sigk l b mt. Khng th d dng tnh ton gi mo ch
k ca B trn bc in x, ngha l vi x cho trc ch c B mi c th tnh c y
ver(x, y ) = TRUE. Mt s ch k khng th an ton v iu kin v mt
ngi C no c th kim tra tt c ch s y trn bc in x nh dng thut ton
ver() cng khai cho ti khi anh ta tm thy ch k ng. V th, nu c thi
gian, C lun c th gi mo ch k ca B. Nh vy mc ch ca chng ta l tm
cc s ch k in t an ton v mt tnh ton.
Ch rng ai c th gi mo ch k ca B trn mt bc in ngu nhin x
bng cch tnh x = ek(y) vi y no ; khi y = sigk(x). Mt bin php xung
quanh vn kh khn ny l yu cu cc bc in cha phn d ch k gi
mo kiu ny khng ph hp vi ton b ni dung ca bc in x tr mt xc sut
rt nh. C th dng hm Bm (hash function) nh MD4, MD5 trong vic tnh kt
ni cc s k in t s loi tr phng php gi mo ny.
3. H ch k RSA
Da vo u im ca h m RSA, nu thit lp c s ch k da trn bi
ton phn tch ra tha s nguyn t th an ton ca ch k s rt cao. Vic thit
lp s xc thc ch k RSA rt n gin, ta ch cn o ngc hm m ha v
gii m. Sau y l s ch k RSA :
Cho n = p*q, trong p, q l cc s nguyn t. t P = A = Z n v nh ngha
K = {(n, p, q, a, b) : n = p*q, p v q l cc s nguyn t, a*b 1(mod (n))}.
Cc gi tr n v b l kha cng khai ; cn p, q l kha b mt.
Vi k = (n, p, q, a, b), ta xc nh :
V nh Trung Chu c Thin Mc Vn Ngha Nguyn Trung Kin
Bo co bi tp ln M phng h ch k RSA
+ sigk(x) = xa mod n
+ verk(x, y) = TRUE x yb (mod n) vi x, y Zn
Thng thng, ch k c kt hp vi hm m ha cng khai. Gi s A mun
gi mt bc in c m ha v c k n cho B. Vi bn r x cho trc, A
s tnh ton ch k ca mnh y = sig A(x) v sau m ha c x, y s dng kha
cng khai eB ca B, kt qu nhn c l z = e B(x, y). Bn m z s c gi ti B,
khi B nhn c z, u tin anh ta gii m vi hm gii m d B ca mnh nhn
c (x, y). Sau anh ta dng hm xc minh cng khai ca A kim tra xem
verA(x, y) = TRUE hay khng.
Vai tr
Cng vic
- Kho st thc t v xc lp d n
- Gim st cng vic
V nh Trung
Trng nhm
Bo co bi tp ln M phng h ch k RSA
Chu c Thin
Thnh vin
Thnh vin
Mc Vn Ngha
Thnh vin
- Ci t cc nt sinh
- Ci t cc nt m ha v gii m
- Ci t cc nt tnh v kim tra
- Ci t cc nt k v xc thc ch k
- Ci t cc nt xem, m v lu
Bo co bi tp ln M phng h ch k RSA
Cho php t nhp hoc tnh ton e vi e l s nguyn t cng nhau vi (n)
v < n cng nh kim tra xem e c ng l s nguyn t cng nhau vi (n)
hay khng
Cho php t nhp hoc tnh ton d vi d l phn t ngc ca e trn vnh
Z(n) v < n cng nh kim tra xem d c ng l phn t ngc ca e trn
vnh Z(n) hay khng.
Cho php xem kha cng khai (e, n) v kha b mt (d, p, q).
Cho php m file cha kha cng khai (e, n) v kha b mt (d, p, q) c
kim tra tnh hp l ca d liu.
Cho php lu kha cng khai v kha b mt.
Cho php m file cha ni dung bn r, bn m.
Cho php lu file cha ni dung bn r, bn m, bn gii m.
Cho php so snh ni dung bn gii m v bn r.
Cho php m ha bn r, gii m bn m, k ln bn r v xc thc ch k
trn bn m.
1.4. Yu cu phi chc nng
1.4.1. Yu cu v tin cy v hiu sut
Phi p ng c y cc chc nng, c bit l chc nng k v
xc thc ch k phi nhanh v chnh xc.
1.4.2. Yu cu v mi trng
Phn mm hot ng trn mi trng t Microsoft Windows XP SP2 v
Net framework 2.0 tr ln.
1.4.3. Yu cu v giao din
Giao din c trnh by khoa hc, hp l v m bo m thut hi ha
vi mc ch ca phn mm, tun th cc chun v truy cp thng tin.
1.4.4. Thnh phn bn ngoi
C th s dng th vin x l s ln m ngun m bn ngoi.
V nh Trung Chu c Thin Mc Vn Ngha Nguyn Trung Kin
Bo co bi tp ln M phng h ch k RSA
2. Thit k giao din v tng tc ngi dng
Thit k ton b cc chc nng trn cng mt form. B cc form chia ra lm 3
phn chnh theo chiu ngang:
1.5. Phn 1 - bn tri (60%):
Hin th giao din ca cc yu t u vo v chia tip lm 3 phn theo chiu
dc, phn trn l giao din nhp cc s nguyn t ln p v q, phn gia l nhp n
v hin th (n), phn di l giao din nhp e v d.
Giao din nhp p, q: Trn cng bn tri l mt NumericUpdown nhp s
bit, trn cng bn phi l nt Sinh sinh ngu nhin mt s nguyn t, bn
di l mt RichTextBox hin th d liu.
Giao din nhp n: Trn cng bn tri l nt Kim tra kim tra xem n c
bng p*q hay khng, trn cng bn phi l nt Tnh tnh n = p*q, bn
di l mt RichTextBox hin th d liu.
Giao din (n): Mt RichTextBox hin th d liu.
Giao din nhp e: Trn cng bn tri l nt Kim tra kim tra xem e c
nguyn t cng nhau vi (n) hay khng, trn cng bn phi l nt Sinh
sinh ngu nhin mt s e nguyn t cng nhau vi (n), bn di l mt
RichTextBox hin th d liu.
Giao din nhp d: Trn cng bn tri l nt Kim tra kim tra xem d c l
phn t ngc ca e hay khng, trn cng bn phi l nt Tnh tnh d l
phn t nghch o ca e, bn di l mt RichTextBox hin th d liu.
1.6. Phn 2 - gia (10%):
Hin th cc nt lnh chnh bao gm: M ha, Gii m, K, Xc thc, Xem
kha cng khai, Xem kha b mt, M kha cng khai, M kha b mt, Lu kha
cng khai, Lu kha b mt.
1.7. Phn 3 - bn phi (30%):
Hin th giao din Bn r, Bn m, Bn gii m.
Bo co bi tp ln M phng h ch k RSA
Giao din nhp Bn r: Trn cng bn tri l nt M m file bn r, trn
cng bn phi l nt Lu lu bn r, bn di l mt RichTextBox
hin th d liu.
Giao din nhp Bn m: Trn cng bn tri l nt M m file bn m,
trn cng bn phi l nt Lu lu bn m, bn di l mt RichTextBox
hin th d liu.
Giao din Bn gii m: Trn cng bn tri l nt So snh kim tra xem
bn gii m c ging bn r hay khng, trn cng bn phi l nt Lu lu
bn gii m, bn di l mt RichTextBox hin th d liu.
Chng 4: Ci t
1. Cc cng c s dng
Microsoft Visual Studio 2008 v 2010, ngn ng C#, netframe work 2.0
Th vin BigInteger (codeproject)
Microsoft Word, Exel 2007 v 2010.
Bo co bi tp ln M phng h ch k RSA
2. Cc giao din
1.8. Giao din chnh
Bo co bi tp ln M phng h ch k RSA
1.10.
1.11.
10
Bo co bi tp ln M phng h ch k RSA
1.12.
11
Bo co bi tp ln M phng h ch k RSA
1.13.
1.14.
12
Bo co bi tp ln M phng h ch k RSA
1.15.
1.16.
13
Bo co bi tp ln M phng h ch k RSA
1.17.
Giao din lu bn r
14
Bo co bi tp ln M phng h ch k RSA
1.18.
Giao din m bn m
1.19.
15
Bo co bi tp ln M phng h ch k RSA
BigInteger k = new BigInteger(123456, 10); //k=123456
1.21.
k.GCD(phi);
1.23.
d = e.modInverse(phi);
1.24.
Hm tnh am mod n
V d: m = m.modPow(e, n);
16