Bao Cao Thuc Tap Cua Kha Do An 3

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

TRNG I HC BCH KHOA H NI

VIN IN T - VIN THNG

----------

BO CO THC TP TT NGHIP
ti : M ha lung d liu vi thut ton NKBK.
Gio vin hng dn: TS. Phm Vit Thnh
Sinh vin thc hin: Nguyn Ngc Kh
S hiu sinh vin:
20091428
Lp:
Kha:

in T - Vin Thng 10
54

H ni, Thng 3/2014

Nguyn Ngc Kh SHSV: 20091428


Contents
Phn 1: Li m u ....................................................................................................................................... 3
Phn 2: Ni dung .......................................................................................................................................... 5
1.

S lc v ti................................................................................................................................ 5

2.

Thit k ............................................................................................................................................. 5

3.

4.

5.

2.1.

Thng s u vo v u ra ...................................................................................................... 5

2.2.

Cc thnh phn trong b thit k Keystream. ........................................................................... 5

2.3.

Thit k Keystream ................................................................................................................... 7

Hot ng ca thut ton NKBK .................................................................................................... 10


3.1.

M ha .................................................................................................................................... 10

3.2.

Gii m .................................................................................................................................... 12

ng dng ca thut ton NKBK ..................................................................................................... 13


4.1.

Phn mm................................................................................................................................ 13

4.2.

Phn cng................................................................................................................................ 14

Kt qu ............................................................................................................................................ 15
Chc nng phn mm: ........................................................................................................................ 15
Kt qu m ha: .................................................................................................................................. 17

Phn 3: Kt lun .......................................................................................................................................... 19


Ti liu tham kho ...................................................................................................................................... 20

i hc Bch Khoa H Ni

Page 2

Nguyn Ngc Kh SHSV: 20091428


Phn 1: Li m u
Ngy nay, cng vi s pht trin mnh v cng ngh thng tin, th cng vic bo
v, bo mt d liu cng l mi lo ng quan tm vi ngnh. Vic bo mt s
chng li cc cuc tn cng t bn ngoi vo, gip thng tin mun c lu tr
hay gi i c an ton hn. Vi nhiu hnh thc tn cng tinh vi, th song song
vi chng, chng ta cng cn phi c nhng bin php ngn chn li ti u hn.
Trong cc cng c ngn chn nhng hnh vi , th vic m ha d liu cng l
mt gii php m rt nhiu ngi a dng.
M ha chia thnh hai loi l m ha lung v m ha khi. Trong khi , nguyn
tc thit k v bo mt ca mt m khi c hiu kh r, thit k mt m lung
vn cn i hi nhiu nghin cu. K t khi mt m khi c th chuyn i thnh
mt m lung bng cch s dng OFB hoc ch CFB c nhiu cuc tranh
lun liu mt m dng c thc s hu ch khng. Nhng kin chung ch ra
rng thut ton m ha lung vn cn nhiu hu ch bi hai l do sau. Th nht,
chng c th c thit k cho php thc hin nhanh hn. Th hai, chng c th
c thit k nh gn hn trong phn cng. Do , i vi mt mt m lung
mun tr nn hiu qu th n phi chy rt nhanh trong phn mm hoc rt nh
trong phn cng. Cc hot ng m ha trong mt mt m lung nh phn rt n
gin. Dng chnh c XOR nh phn vi bn gc hnh thnh ln bn m.
Tng t nh vy, gii m c thc hin bng cch dng dng chnh XOR vi
bn m tr v bn gc. iu quan trong nht ca mt mt m dng l chng li
cc cuc tn cng khc nhau.
Trong bn bo co ny, em xin xut mt loi m ha lung d liu c tn gi l
NKBK, mt thut ton mi v mt m lung. Thm vo , vi thut ton n
gin, thit k nh gn, an ton mang n cao, em tin rng NKBK s rt c a
chung.

i hc Bch Khoa H Ni

Page 3

Nguyn Ngc Kh SHSV: 20091428

Em xin gi li cm n chn thnh ti TS. Phm Vit Thnh - Ging vin vin
in t - Vin thng, trng i hc Bch Khoa H Ni tn tnh hng dn,
gip em trong qu trnh thc tp va qua.
Em xin chn thnh cm n!
Sinh vin thc hin
Nguyn Ngc Kh

i hc Bch Khoa H Ni

Page 4

Nguyn Ngc Kh SHSV: 20091428


Phn 2: Ni dung
1. S lc v ti.
NKBK l mt loi m ha lung. Vi thut ton n gin cng vi kh nng
x l d liu tt, qu trnh thit k s rt n gin, nh gn v s mang li
hiu qu cao. i vi phn cng, NKBK h tr kch thc thanh ghi chnh
l 80 bit Key v 64 bit IV v 80 bit Key o. Vi chiu di ca thanh ghi
ngn, cng vi thut ton thit k n gin qu trnh thit k phn cng s
tr nn nh gn. Ngoi ra khi pht trin phn mm, NKBK s t ng m
rng kch thc thanh ghi ty vo nhu cu ngi s dng, di thanh ghi
cng cao th an ton cng tt nhng tc x l cng chm, v ngc li,
di thanh ghi cng ngn th an ton cng thp nhng tc x l cng
cao.
2. Thit k
Nhng quy nh c th chi tit v thit k c trnh by nh sau:
2.1. Thng s u vo v u ra
2.1.1. SecretKey (K), c gn vi nhn K(0) K(ln-1) ( c ni dung
tng ng vi passwork ngi s dng nhp vo);
2.1.2. InitialValue (IV), c gi tr IV(0) IV(m-1)( c ni dung tng
ng vi on gi tr m ngi lp trnh cho trc);
Trong n v m ln lt l chiu di ca 2 thanh ghi K v IV.
u ra ca NKBK l gi tr Z ( gi tr m ha vi bn gc
to thnh bn m ha), thut ton to ra gi tr ny s c trnh
by phn sau.
2.2.

Cc thnh phn trong b thit k Keystream.


B thit k c tng cng 5 thanh ghi, trong c 3 thanh ghi thc v
2 thanh ghi o.
2.2.1. Thanh ghi thc.
Thanh ghi IV.

i hc Bch Khoa H Ni

Page 5

Nguyn Ngc Kh SHSV: 20091428


Thanh ghi IV c ni dung v chiu di bng chnh gi tr
InitialValue m ngi lp trnh a vo trong chng
trnh, c gn nhn IV(0), IV(1), IV(m-1);
Thanh ghi A
Thanh ghi A c ni dung v chiu di l mt na ca
SecretKey, chng s nhn thng tin t cc a ch chn
ca thanh ghi Key ( K(0), K(2), K(4), A(0), A(1),
A(2), A(n-1) ), trong n = ln/2.
Thanh ghi B
Tng t nh thanh ghi A vi ni dung l cc a ch l
ca thanh ghi Key (K(1), K(3), K(5), B(0), B(1),
B(2), B(n-1), trong n = ln/2.

Hnh 1: Qu trnh to ra 2 thanh ghi A v B t thanh ghi K (SecretKey)


2.2.2. Thanh ghi o.
Thanh ghi A
Thut tun to thanh ghi A t thanh ghi A v thanh ghi
IV:
For( i = 0; I <n; i++)
{
A(i) = A(n-1) + IV(0);
A(0), A(1), . . . , A(n-1) A(1), A(2), . . . , A(n-1), A(0)
}
Thanh ghi B
Qu trnh to thanh ghi B cng tng t nh to thanh
ghi A :
For( i = 0; I <n; i++)
i hc Bch Khoa H Ni

Page 6

Nguyn Ngc Kh SHSV: 20091428


{
B(i) = B(n-1) + IV(0);
B(0), B(1), . . . , B(n-1)} {B(1), B(2), . . . , B(n-1),
B(0)
}

Hnh 2: Qu trnh to ra 2 thanh ghi o A v B


2.3.

Thit k Keystream
Sau khi np v khi ng cc thanh ghi, chng ta thit k Keystreams
nh sau:
2.3.1. If IV(0) = 0
Then
Z = A(0) + A(0) . B(0) + B(0) ;
Z = A(n/2 1) . B(n/2 -1) + A(n/2 1) . B(n/2 - 1) ;
For( i = 0; i < n; i++) A(i) = A(i) + Z; B(i) = B(i) +Z;
A(0), A(1), A(2), . . . , A(n-1) A(1), A(2), A(3), . . . ,
A(n-1), A(0) ;
B(0), B(1), B(2), . . . , B(n-1) B(1), B(2), B(3), . . . ,
B(n-1), B(0) ;

i hc Bch Khoa H Ni

Page 7

Nguyn Ngc Kh SHSV: 20091428


IV(0), IV(1), IV(2), . . . , IV(m-1)} {IV(1), IV(2), IV(3), . . .
, IV(n-1), IV(0) ;

Hnh 3: Qu trnh to Z khi IV(0) =0.


2.3.2. If IV(0)=1
Then
Z = A(0) + B(0) .B(0) +A(0) ;
Z = A(n/2 1) . B(n/2 -1) + A(n/2 1) . B(n/2 - 1) ;
For( i = 0; i < n; i++) A(i) = A(i) + Z; B(i) = B(i) +Z;
A(0), A(1), A(2), . . . , A(n-1) A(1), A(2), A(3), . . . , A(n-1),
A(0);
B(0), B(1), B(2), . . . , B(n-1) B(1), B(2), B(3), . . . , B(n-1),
B(0) ;
IV(0), IV(1), IV(2), . . . , IV(m-1) !IV(0), !IV(1), !IV(2),
!IV(3), . . . , !IV(m-2), !IV(m-1) ;

i hc Bch Khoa H Ni

Page 8

Nguyn Ngc Kh SHSV: 20091428

Hnh 4: Qu trnh to Z khi IV(0) =1.

i hc Bch Khoa H Ni

Page 9

Nguyn Ngc Kh SHSV: 20091428


3. Hot ng ca thut ton NKBK
3.1. M ha
Qu trnh m ha d liu l qu trnh thc hin php ton Xor gia file
bn gc vi dng kha Keystream m thut ton m ha lung to ra.
Cc trnh t m ha s c m t hnh di sau y:

Hnh 6: Qu trnh m ha 1 file d liu


u vo ca chng trnh l 1 file cn m ha v 2 gi tr InitialValue v
SecretKey to kha lung. iu cn lu y l qu trnh m ha da
trn php ton Xor gia cc bit d liu, chnh v th m khi m ha tt c
phi c i sang dng nh phn. Di y l mt v d v s m ha vi 1
flie nh bitmap.

i hc Bch Khoa H Ni

Page 10

Nguyn Ngc Kh SHSV: 20091428

Hnh 7: Qu trnh m ha 1 file nh.

i hc Bch Khoa H Ni

Page 11

Nguyn Ngc Kh SHSV: 20091428


3.2. Gii m
Qu trnh gii m l bc sau ca qu trnh m ha, sau khi mt file no
m ha thnh cng, chng ta thu v mt mng nh phn m ha v cng
vic gii m s bt u t y.
Cng vn l php ton Xor, chng ta ly mng nh phn m ha tng tc
vi dng kha Keystream, kt qu l s cho ta v mt mng nh phn c gi
tr bng ng mng nh phn ca file gc khi cha b m ha. Qu trnh thc
hin c m t hnh di sau:

Hnh 8: Qu trnh gii m

i hc Bch Khoa H Ni

Page 12

Nguyn Ngc Kh SHSV: 20091428


4. ng dng ca thut ton NKBK
4.1. Phn mm
NKBK rt hiu qu cho pht trin phn mm. im ni bt nht NKBK l
thut ton thit k n gin, tc x l cao v kh nng bo mt rt tt khi
c pht trin trn phn mm. Ngi lp trnh s khng gp nhiu kh
khn khi tip cn NKBK.
Vi rng thanh ghi c m rng mt cch ty bin, ty thuc vo gi
tr, di t hay nhiu khi ngi s dng ng nhp 2 gi tr
InitializationVariable v SecretKey, ta c th hiu c chiu di cng ln
th kh nng x l m ha cng tt, thut ton x l cng nhiu v tiu tn
thi gian, chiu di thanh ghi cng nh th kh nng x l m ha cng thp,
thut ton x l t v tiu tn t thi gian.

Hnh 5: Kt qu sau khi m ha 1 file nh vi di cc key khc nhau.


Ngoi NKBK, cng cn rt nhiu loi cng h m ha lung, chng ta c
th k n nh Trivium, Grain128 hay Mickey. im khc bit gia chng
l thut ton to ra dng Keystream, chnh t s khc nhau dn n
kh nng x l m ha ca chng cng khc nhau. Sau y l bng so snh
gia 4 loi trn khi ang x l 1 file nh bitmap c di l 248624 bit.
Bng thng k s bit b thay i so vi bn gc
Tn chng trnh
S bit b thay i
Phn trm
NKBK
124585
50.1%
Mickey
128971
51.6%
Trivium
126484
51.8%
Grain128
128564
51.7%
i hc Bch Khoa H Ni

Page 13

Nguyn Ngc Kh SHSV: 20091428

Bng thng k thi gian m ha trn PC vi Chip Intel Core 2 Duo


T6670
Tn chng trnh
NKBK
Mickey
Trivium
Grain128

Thi gian x l
480 ms
60 s
600 ms
560 ms

T bng so snh trn, chng ta c th thy s bit b thay i lun tim cn


gi tr 50%, thi gian x l m ha ca NKBK l ngn nht so vi 3 loi m
ha lung cn li. iu c th thy c NKBK rt ti u i khi pht
trin nh hng phn mm.
4.2. Phn cng
Trong vic pht trin phn cng, NKBK s ti thiu ha di thanh ghi li
tit kim cc chi tit u vo, gip cho vic thit k chip tr nn nh gn
hn, tiu th t nng lng hn.
C th y, thut ton s ly 80 bit Key v 64 bit IV tng ng vi di
thanh ghi A v B l 40 bit, 2 thanh ghi o cng l 40 bit. Vy khi x l, thut
ton s tng s dng n 160 bit A, B, A, B v 64 bit IV. Di y l bng
thng k tng s lng thanh ghi ca tng loi m ha lung khi pht trin
phn cng.
Bng thng k tng di thanh ghi ca mt s loi kha lung
Chng trnh
Tng s lng thanh ghi
Trivium
288 bit
Grain128
234 bit
Mickey
200 bit
NKBK
200 bit

i hc Bch Khoa H Ni

Page 14

Nguyn Ngc Kh SHSV: 20091428


5. Kt qu
nh gi kh nng m ha s dng thut ton NKBK, em thc hin xy
dng mt phn mm m ha v gii m file nh trn nn .NET Framework
s dng thut ton NKBK.

Hnh 9: Ca s giao din phn mm.


Chc nng phn mm:
La chn kha:

Phn mm c thit k vi 4 loi kha khc nhau, ty vo ngi s


dng la chn 1 kha no a thch m ha.
Chn v c file:
Bc ny cho ngi s dng ng dn n cc th mc cha file
nh v la chn nh.
Sau khi chn nh xong, chng trnh s t ng c file nh v to
ra mt mng nh phn c cha thng tin v bc nh .
Nhp Passwork:
i hc Bch Khoa H Ni

Page 15

Nguyn Ngc Kh SHSV: 20091428

Thc ra passwork c lin quan rt ln n gi tr SecretKey, thng


thng ngi s dng s nhp passwork bng nhng k t, chnh v
vy m chc nng ny, chng s t gi hm Convert t k t
sang mng nh phn ri gn vo SecretKey. Initial Value cng c
gn gi tr t chc nng ny, trc ngi lp trnh nhp 1 on
k t v gi tr Initial Value trong chng trnh, n bc ny ch vic
gi hm Convert v thc hin php gn nh phn vo Initial Value.
M ha:
Chc nng m ha l mt trong nhng chc nng ch o ca chng
trnh. Chng thc hin vic gi hm Keystream, thc hin php ton
Xor gia Keystream vi mng nh phn ca file gc.
Lu nh m ha:
Sau khi m ha thnh cng, bc tip theo l xut ra 1 file nh m
ha. Mng nh phn sau khi m ha s c convert sang mng byte
ri sau t mng byte a ra mt dng bitmap v xut ra nh.
Gii m:
Chc nng gii m lun i sau chc nng m ha, chng s thc hin
li php Xor gia Keystream vi mng nh phn m ha.
Lu nh gii m:
Cng vic lu nh gii m tng t nh lu nh m ha vi mng bit
u vo l Keystream vi mng nh phn gii m.

Mt s hm quan trng s dng trong chng trnh:


Hm StringToBinary:
Hm c chc nng chuyn t dng string sang dng nh phn. N rt
hu ch i vi phn mm, khi mun ly mt mng nh phn t
Passwork hay Initial Value c sn no th phi gi hm ny
chuyn i.
Hm to kha:
Nh thy trong chng trnh c 4 loi kha tng ng vi 4
hm to ra nhng kha .
Hm keyTrivium ( Hm to kha Trivium)
Hm keyNKBK ( Hm to kha NKBK)
i hc Bch Khoa H Ni

Page 16

Nguyn Ngc Kh SHSV: 20091428


Hm keyGrain128 ( Hm to kha Grain128)
Hm keyMickey ( Hm to kha Mickey).
Kt qu m ha:
Initial Value: 01001110011001110110111101100011010010110110100001
Secret Key: 01100001011011000110010001101010011011100110010001
Keystream: 010101011000011000101001110100101010010101011110110
Initial Value: 0110111001100111011000100111001101110110011000
Secret Key: 01100110011000100111001101100011011000010110010
Keystream: 110111110100001101110100010111000001111000111001
Initial Value: 01101110011001110011001101100100011101100110011
Secret Key: 001100010111011000110100001100110110001101110011
Keystream: 00111101111100111011000111001101010110001101111
Initial Value: 001010100011010101100010011001100100000000100
Secret Key: 0110001001100111011100110100000000110001001100
Keystream: 0111110111111111011011011111001111011111001110
Initial Value: 010000100011010100110011011000110011010100110
Secret Key: 0110111001100111011011110110001101101011011010
Keystream: 01000100011101110001001001100001000110110010100
Initial Value: 0101011000110010011000110010010000100101011001
Secret Key: 0111011001100011011001000100000001100101011001
Keystream: 11010100111001101001010000110001111001110010011
Ch thch: Initial Value, SecretKey l hai gi tr u vo, cn Keystream l
u ra ca kha lung.

i hc Bch Khoa H Ni

Page 17

Nguyn Ngc Kh SHSV: 20091428

nh gc

nh sau m ha

i hc Bch Khoa H Ni

Page 18

Nguyn Ngc Kh SHSV: 20091428

Phn 3: Kt lun
NKBK l mt mt m lung m c th pht trin c trn nn tng c phn cng
v phn mm. Thut ton n gin, gip ngi lp trnh d tip cn c vn v
lp trnh ra n, ngoi ra, tc x l ca NKBK l rt cao, nn vic ng dng vo
phn mm s khng qu kh khn. Cn v phn cng, NKBK ti thiu mt
phn di ca cc thanh ghi, gip cho vic thit k tr nn nh gn, thun tin
hn.
Qu trnh nghin cu NKBK vn ang trong giai on pht trin, tuy t c
kt qu kh quan nhng s vn cn mt s hn ch,cn khc phc trong thi gian
sp ti. Do Em rt mong nhn c kin ng gp qu bu t cc thy c
em c th hon thin ti ca mnh trong tng lai.
Em xin chn thnh cm n!

i hc Bch Khoa H Ni

Page 19

Nguyn Ngc Kh SHSV: 20091428


Ti liu tham kho
ECRYPT, eSTREAM: ECRYPT Stream Cipher Project, IST-2002-507932,
Available at http://www.ecrypt.eu.org/stream/
Hc lp trnh C#:
http://www.youtube.com/watch?v=5Xeiy1TdBQQ&list=PLA22806302AD434C6

i hc Bch Khoa H Ni

Page 20

You might also like