Professional Documents
Culture Documents
GiaotrinhAntoanvabaomatthongtin PDF
GiaotrinhAntoanvabaomatthongtin PDF
TRNG I HC HNG HI
B MN: KHOA HOC MA Y TI NH
KHOA: CNG NGH THNG TIN
Gio trnh
AN TON V BO MT THNG TIN
HI PHNG - 2008
Tn hc phn: An toan bao m t thng tin Loi hc phn: II
B mn ph trch ging dy: Khoa hc my tnh.
Khoa ph trch: Cng ngh thng tin
M hc phn: Tng s TC: 3
Ti liu hc tp:
1. Phan nh Diu. L thuyt mt m v An ton thng tin. i hc Quc Gia H
Ni.
2. Douglas R. Stinson. Cryptography Theory and practice. CRC Press. 1995.
3. A. Menezes, P. VanOorschot, and S. Vanstone. Handbook of Applied
Cryptography. CRC Press. 1996.
4. William Stallings. Cryptography and Network Security Principles and Practices,
Fourth Edition. Prentice Hall. 2005.
5. MichaelWelschenbach. Cryptography in C and C++. Apress. 2005.
LI NOI U
T trc cng nguyn con ngi a phai quan tm ti vic lam th nao am
bao an toan bi mt cho cac tai liu, vn ban quan trong, c bit la trong lnh vc qun
s, ngoai giao. Ngay nay vi s xut hin cua may tinh, cac tai liu vn ban giy t va
cac thng tin quan trong u c s ha va x ly trn may tinh, c truyn i trong
mt mi trng ma mc inh la khng an ton. Do yu cu v vic c mt c ch, giai
phap bao v s an toan va bi mt cua cac thng tin nhay cam, quan trong ngy cng
tr nn cp thit. Mt ma hoc chinh la nganh khoa hoc am bao cho muc ich nay. Kh
c th thy mt ng dung Tin hoc c ch no lai khng s dung cac thut toan ma ha
thng tin. Tai liu nay da trn nhng kinh nghim va nghin cu ma tac gia a c rt,
thu thp trong qua trnh giang day mn hoc An toan va Bao mt Thng tin tai khoa Cng
ngh Thng tin, ai hoc Hang hai Vit nam. Vi bay chng c chia thanh cac chu
khac nhau t c s toan hoc cua mt ma hoc cho ti cac h ma, cac giao thc mt ma,
hy vong s cung cp cho cac em sinh vin, cac ban c gia mt tai liu b ich. Mc d a
rt c gng song vn khng tranh khi mt s thiu st, hy vong s c cac ban b
ng nghip, cc em sinh vin, cac ban c gia gp y chn thanh ti c th hoan thin
hn na cu n sach ny.
Xin gi li cam n chn thanh ti cac ban b ng nghip , nhng ngi thn a
lun ng vin, gp y cho ti trong qua trnh bin soan . Xin gi li cam n ti Thac sy
Nguyn in h Dng , ngi a oc va cho nhng nhn xet , gp y qui bau cho phn vit
v h ma khoa cng khai d a trn cac ng cong Elliptic. Xin gi li cam n su s c ti
Thac sy Pham Tun at , ngi a hiu inh mt cach ky cang va cho r t nhi u nhn xet
c gia tri cho ban thao cua cun sach nay . Cu i cung xin gi li cam n ti Ban chu
nhim khoa Cng ngh Thng tin, c bit la Ti n sy L Qu c inh chu nhim khoa, a
lun tao iu kin t t nh t, gip cu n sach nay c th hoan thanh.
Nguyn Hu Tun
1
Chng I: Gii thi u
2
Chng I: Gii thi u
Pha hoai: ke th pha hng thit bi phn cng hoc phn mm hoat ng trn h
th ng.
Sa i: Tai san cua h thng bi sa i trai phep . i u nay thng lam cho h
th ng khng lam ung chc nng cua no . Ch ng han nh thay i mt kh u ,
quy n ngi dung trong h th ng lam ho khng th truy cp vao h th ng
lam vic.
Can thip : Tai san bi truy cp bi nhng ngi khng c thm quyn . Cac
truy n thng th c hin trn h th ng bi ngn chn, sa i.
Cac e doa i vi mt h thng thng tin c th n t nhiu ngun va c thc
hin bi cac i t ng khac nhau . Chng ta c th chia thanh 3 loai i tng nh sau :
cac i tng t ngay bn trong h thng (insider), y la nhng ngi co quy n truy cp
h p phap i vi h th ng , nhng i t ng bn ngoai h th ng (hacker, cracker),
thng cac i t ng nay t n cng qua nhng ng k t n i vi h th ng nh Internet
ch ng han, va th ba la cac ph n m m (ch ng han nh spyware, adware ) chay trn h
th ng.
Cc bin php ngn chn:
Thng co 3 bin phap ngn chn:
i u khi n thng qua ph n m m : d a vao cac c ch an toan bao mt cua h
th ng n n (h i u hanh), cac thut toan mt ma hoc
i u khi n thng qua ph n cng : cac c ch bao mt , cac thut toan mt ma
hoc c cng ha s dung
i u khi n thng qua cac chinh sach cua t chc : ban hanh cac qui inh
cua t
chc nh m am bao tin h an toa n ba o m
t cu a h th ng.
Trong mn hoc nay chung ta tp trung xem xet cac thut toan mt ma hoc nh la
mt phng tin c ban, chu yu am bao an toan cho h thng.
3
Chng I: Gii thi u
Vic th m i n
h v bao mt pha i la kho va c n tinh ti t t ca cac tinh hu ng ,
kha nng tn cng c th c thc hin.
Tai san c bao v cho ti khi ht gia tri s dung hoc ht y ngha bi mt.
5. M t ma hoc (cryptology)
Mt ma hoc bao gm hai lnh vc : ma ha (cryptography) va tham ma
(cryptanalysis-codebreaking) trong o:
Ma ha: nghin cu cac thut toan va phng thc am ba o tinh bi mt va
xac thc cua thng tin (thng la di dang ca c vn ban lu tr trn may tinh ). Cac san
ph m cua linh
v c nay la cac h ma mt , cac ham bm , cac h ch ky in t , cac c
ch phn ph i, quan ly kha va cac giao thc mt ma.
Tham ma: Nghin cu cac phng phap pha ma hoc tao ma gia . San phm
cua lnh vc nay la cac phng phap tham ma , cac phng phap gia mao ch ky , cac
phng phap t n cng cac ham bm va cac giao thc mt ma.
Trong gii han cua mn hoc nay chung ta chu y u tp trung vao tim hi u cac v n
ma ha vi cac h ma mt, cac ham bm, cac h ch ky in t, cac giao thc mt ma.
Ma hoa (cryptography) l mt ngnh khoa hc ca cc phng php truyn tin bo
mt. Trong ting Hy Lp, Crypto (krypte) co ngha l che du hay o ln, cn Graphy
(grafik) co ngha l t. [3]
Ngi ta quan nim rng : nhng t, nhng ky t cua ban vn ban gc c th hiu
c s cu thanh nn ban r (P-Plaintext), thng thi y la cac oan vn ban trong
mt ngn ng nao o ; cn nhng t, nhng ky t dang bi mt khng th hiu c th
c goi la ban ma (C-Ciphertext).
C 2 phng thc ma hoa c ban: thay th va hoan vi:
Phng thc ma hoa thay th la phng thc ma hoa ma tng ky t gc hay
mt nhm ky t gc cua ban r c thay th bi cac t, cac ky hiu khac hay kt hp
vi nhau cho ph hp vi mt phng thc nht inh va khoa.
Phng thc ma hoa hoan vi la phng thc ma hoa ma cac t ma cua ban
r c sp xp lai theo mt phng thc nht inh.
Cac h ma mt thng s dung k t h p ca hai ky thut nay.
4
Chng I: Gii thi u
Thng thi khng gian cac ban ro va khng gian cac ban ma la cac vn ban c
tao thanh t mt b ch cai A nao . o co th la b ch cai ti ng Anh , b ma ASCII, b
ma Unicode hoc n gian nht la cac bit 0 va 1.
Tinh cht 4 la tinh cht quan trong nht cua ma hoa. Ni dung cua n ni rng nu
ma hoa bng ek va ban ma nhn c sau c giai ma bng ham dk th kt qua nhn
c phai la ban r ban u x. R rang trong trng hp nay, ham ek(x) phai la mt n
anh, nu khng th ta s khng giai ma c. V nu tn tai x1 v x2 sao cho y = ek(x1) =
ek(x2) th khi nhn c ban ma y ta khng bit n c ma t x1 hay x2.
Trong mt h mt bt ky ta lun c |C| |P| v mi quy tc ma hoa la mt n anh.
Khi |C| = |P| th mi ham ma hoa la mt hoan vi.
7. M hin
h truy n tin c ban cua m t ma hoc va lut Kirchoff
M hin h truy n tin thng thng : Trong m hin h truy n tin thng thng thng tin
c truy n (vn chuy n) t ngi gi n ngi nhn c th c hin nh mt knh vt
ly (ch ng han nh vic gi th) c coi la an toan.
M hnh truy n tin c ban cua mt ma hoc:
K1 K2
Insecured
Sender Encrypt Channel Decrypt Receiver
X Y Y X
Enemy
5
Chng I: Gii thi u
Qua trnh ma ha va giai ma yu cu cac qua trnh bin i d liu t dang nguyn
thuy thanh in put cho vic ma hoa va chuy n output cua qua trinh giai ma thanh ban ro .
Cac qua trnh nay la cac qua trnh bin i khng kha va c goi la cac qua trnh
encode va decode.
Theo lut Kirchoff (1835 - 1903) (mt nguyn t c c ban trong m ho) th: ton b
c ch ma/gii ma tr kho l khng bi mt i vi k ch [5]. R rang khi i phng
khng bit c h ma mt ang s dung thut toan ma hoa gi th vic tham ma s rt
kh khn. Nhng chng ta khng th tin vao an toan cua h ma mt ch da vao mt
gia thit khng chc chn la i phng khng bit thut toan ang s dung . V vy, khi
trnh bay mt h mt bt ky , chng ta u gia thit h mt c trnh bay di lut
Kirchoff.
Y nghia cua lut Kirchoff : s an toan cua cac h ma mt khng phai da vao s
phc tap cua thut toan ma hoa s dung.
8. S lc v lich
s m t ma hoc
Mt ma hoc la mt nganh khoa hoc co mt lich
s khoang 4000 nm. Cac c vt
cua nganh khao c hoc thu c a cho th y i u nay . Nhng ngi Ai cp c ai a s
dung cac ch tng hnh nh la mt dang ma ha n gian nht trn cac bia m cua ho .
Cac tai liu vit tay khac cung cho thy cac phng phap ma ha n gian u tin ma
loai ngi a s dung la cua ngi Ba T c va ngi Do Thai c.
Tuy vy co th chia lich
s mt ma hoc thanh hai thi ky nh sau:
Thi ky ti n khoa hoc : T trc cng nguyn cho ti nm 1949. Trong giai oan
nay mt ma hoc c coi la mt ngh thut nhiu hn la mt mn khoa hoc mc d a
c ng dung trong th c t .
Lich s cua mt ma hoc c anh du vao nm 1949 khi Claude Shannon a ra
ly thuyt thng tin . Sau thi ky nay mt loat cac nghin cu quan trong cua nghanh mt
ma hoc a c thc hin chng han nh cac nghin cu v ma khi , s ra i cua cac
h ma mt khoa cng khai va ch ky in t.
Qua nhi u th ky phat tri n cua mt ma hoc chu y u c phuc vu cho cac muc
ich qun s (gian ip , ngoai giao , chi n tranh ). Mt vi du i n hinh la 2000 nm
trc y hoang La ma Julius Caesar a tng s dung mt thut toan thay th n
gian ma ngay nay c mang tn ng trong cuc chin tranh Gallic.
Tac phm A manuscript on Deciphering Cryptography Messages cua Abu al -Kindi
c vit vao th ky th 9 c tim th y tai Istabul vao nm 1987 a cho th y nhng nha
khoa hoc A rp la nhng ngi u tin a phat tri n cac phng phap tham ma d a vao
phn tic
h t n s xu t hin cua cac ky t i vi cac h ma thay th n m (mt phng
phap c s dung rng rai trong thi ky Trung c do n gian va kha hiu qua).
chu u thi ky Trung c la mt khoang thi gian u am va tm ti cua lich s nn
khng co nhi u phat tri n manh v vn hoa noi chung va mt ma hoc noi ring . Mt vai
s kin c ghi lai bi cac vi linh muc nhng ch c Roger Bacon la ngi thc s a
vit v mt ma hoc trong tac phm Secret Work of Art and the Nullity of Magic vao gia
nhng nm 1200. Vao thi Trung c mt trong nhng cai tn ni ting nht la Chaucer,
ngi a a ra cac cng trnh nghin cu nghim tc u tin v mt ma hoc trong cac
6
Chng I: Gii thi u
tac phm cua mnh chng han nh Treatise on the Astrolabe. Trong thi ky Trung c
phng Ty cun sach cua Blaise De Vegenere (ngi phat minh ra thut t oan ma ha
thay th a m ti t ) c xem nh la mt tng kt cac kin thc v mt ma hoc cho ti
thi im by gi, bao gm ca thut toan thay th a m tit va mt vai s kha t
ng.
Blaise De Vegenere cung la tac gia cua h ma mang t n ng, h ma nay a tng
c xem la an toan tuyt i va c s dung trong mt thi gian dai, tuy nhin Charles
Babbages a thc hin tham ma thanh cng vao nm 1854 nhng iu nay c gi bi
mt. Mt thut toan tham ma c phat hin c lp bi mt nha khoa hoc ngi Ph
(thuc nc c ngay nay ) c tn l Friedrich Kasiski . Tuy vy do vic thiu cac thit bi
cai tin nn cac bin th cua thut toan ma ha nay vn cn c s dung trong nhng
nm u cua th ky 20 ma tiu biu nht la vic tham ma thanh cng may in tin
Zimmermann cua qun c (mt trong cac s kin tiu bi u cua mt ma hoc ) trong th
chin th nht va kt qua la s tham gia cua My vao cuc chin.
Vi s xu t hin cua cac h th ng may tinh ca nhn va mang may tinh cac thng tin
vn ban ngay cang c lu tr va x ly nhi u hn trn cac may tinh do o nay sinh yu
c u v an toan bao mt i vi cac thng tin c lu tr , x ly va truy n gia cac may
tinh.
Vao u nhng nm 1970 la s phat trin cua cac thut toan ma ha khi u tin :
Lucipher v DES . DES sau o a co mt s phat tri n ng dung r c r cho ti u
nhng nm 90.
Vao cui nhng nm 1970 chng kin s phat trin cua cac thut ton m ha
kha cng khai sau khi Whitfield Diffie va Martin Hellman cng b bai bao New Directions
in Cryptography lam nn tang cho s ra i cua cac h ma kha cng khai va cac h
ch ky in t.
Do nh c i m cua cac h ma mt khoa cng khai la chm nn cac h ma kh i vn
ti p tuc c phat tri n vi cac h ma kh i mi ra i thay th cho DES vao cu i th
ky 20 nh IDEA, AES hoc 3DES (mt cai ti n cua DES).
G n y nh t la cac s kin lin quan ti cac ham bm MD 5 (mt ham bm thuc
ho MD do Ron Rivest phat trin ) va SHA 1. Mt nhom cac nha khoa hoc ngi Trung
Qu c (Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu) a phat tri n cac phng phap cho
phep 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 vi t ph n m m 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.
Bruce Schneier (mt trong nhng nha mt ma hoc hang u , tac gia cua h ma
Blowfish) a tng noi r ng cac hin h thc t n cng i vi cac h ma mt noi ring va t n
cng i vi cac h th ng may tin h noi chung se ngay cang t r nn hoan thin hn
Attacks always get better ; they never get worse . va lich s phat tri n cua mt ma hoc
chinh la lich s phat trin cua cac hnh thc tn cng i vi cac h ma mt ang c
s dung.
7
Chng I: Gii thi u
8
Chng I: Gii thi u
9
Chng II: C s ton hoc
Ly thuyt thng tin inh ngha kh i l ng thng tin trong mt thng bao la s bit nh
nh t c n thi t ma hoa t t ca nhng nghia co th cua thng bao o.
Vi du, trng ngay_thang trong mt c s d liu cha khng qua 3 bit thng tin,
bi vi thng tin ngay c th ma hoa vi 3 bit d liu:
000 = Sunday
001 = Monday
010 = Tuesday
011 = Wednesday
100 = Thursday
101 = Friday
110 = Saturday
111 is unused
N u thng tin nay c bi u din bi chui ky t ASCII tng ng , n s chim
nhi u khng gian nh hn , nhng cung khng cha nhi u thng tin hn . Tng t nh
trng gioi_tinh cua mt c s d liu ch cha 1 bit thng tin, n c th lu tr nh mt
trong hai xu ky t ASCII : Nam, N.
Kh i l ng thng tin trong mt thng bao M o bi Entropy cua thng bao o, ky
hiu la H(M). Entropy cua thng bao gioi _tinh la 1 bit, ky hiu H (gioi_tinh) = 1, Entropy
cua thng bao s ngay trong tun la nh hn 3 bits.
10
Chng II: C s ton hoc
Trong trng h p t ng quat, Entropy cua mt thng bao la log 2n, vi n la s kha
nng co th (y ngha) cua thng bao.
H(M) = log2n
Shannon inh nghia r t ro rang , t m cac m hnh toan hoc anh gia an toan
cua cac h ma mt s dung . Muc ich cua ngi tham ma la phat hin ra khoa s dung
cua h ma (K-Key), ban r (P-PlainText), hoc ca hai . Hn na ho co th hai long vi
mt vai thng tin co kha nng v ban ro P ch ng han nh o la m thanh dang s , hoc
la mt vn ban ti ng c, hoc la mt bang tinh d liu, v. v . . .
Trong h u h t cac l n tham ma, ngi tham ma thng c g ng thu thp mt s
thng tin co kha nng v ban r P trc khi b t u. Ho c th bit ngn ng a c s
dung ma hoa. Ngn ng nay ch c ch n co s d tha k t h p vi chin
h ngn ng o.
N u no la mt thng bao gi ti Bob, n c th bt u vi "Dear Bob". oan vn ban
11
Chng II: C s ton hoc
Theo Shannon, c hai ky thut c ban che du s d tha thng tin trong thng
bao gc, o la: s ln xn va s rm ra.
Ky thut ln xn (Confusion): che d u m i quan h gia ban ro va ban g c . Ky
thut nay lam th t bai cac c g ng nghin cu ban ma tm kim thng tin d tha va
th ng k mu . Phng phap d nh t t h c hin i u nay la thng qua ky thut thay
th . Mt h ma hoa thay th n gian , ch ng han h ma dich
vong Caesar , d a trn n n
12
Chng II: C s ton hoc
tang cua s thay th cc ch cai cua ban r, ngha la ch cai nay c thay th bng
ch cai khac
Ky thut rm ra (Diffusion): lam mt i s d tha cua ban r bng cach tng
s phu ban ma vao ban r (va kha). Cng vic tim ki m s d tha cua ngi tham ma
s rt mt thi gian va phc tap. Cach n gian nht tao ra s rm ra la thng qua vic
i ch (hay con goi la ky thut hon vi).
Thng thng cac h ma hin ai thng k t h p ca hai ky thut thay th va hoan
vi tao ra cac thut toan ma ha c an toan cao hn.
13
Chng II: C s ton hoc
thai chinh xac. S(w) la trang thai o s thanh cng ngn nht cua thut toan, (Ngha la s
tinh toan dn n trang thai cui cng)
Ham s phc tap thi gian cua may Turing khng n inh A c inh ngha :
fA(n)=max{1,m/s(w) co m bc i vi w/w=n}
mi bc may Turing khng n inh b tri nhiu ban sao cua chinh n nh c
mt vai giai phap va tin
h toan c lp vi moi li giai.
Cac thut toan thuc lp NP la khng n inh va c th tinh toan trn may Turing
khng n inh
trong thi gian P.
Tuy nhin khng phai thut toan ma ha cang c phc tap ln th h ma mt s
dung thut toan s cang an toan theo nh phat bi u cua lut Kierchoff.
Vy co th anh gia an toan cua mt h ma mt nh th nao ? V n nay a
c Claude Shannon tra li vi cac khai nim v an toan cu a cac h ma mt trong
mt bai bao c tiu Ly thuyt thng tin cua cac h thng bao mt (1949).
2.1. an toan tinh ton
inh nghia:
Mt h mt c gi l an ton v mt tinh ton nu co mt thut ton tt nht
ph no th cn it nht N php ton, vi N l mt s rt ln no o. [10]
Tuy nhin trong thc t, khng c mt h mt nao chng t la an toan theo inh
ngha trn. V vy, trn thc t, ngi ta goi h mt la an toan tinh toan nu c mt
thut toan pha n nhng i hi thi gian ln n mc khng chp nhn c (thut
toan c phc tap ham mu hoc thuc lp cac bai toan c phc tap NP).
Mt cach tip cn khac v an toan tinh toan la quy n v mt bai toan a c
nghin cu ky va c coi la kh. Vi du nh bai toan phn tich ra tha s nguyn t cua
mt s n cho trc c coi la bai toan kh vi n ln, v vy ta c th coi mt h mt
da trn bai toan phn tich ra tha s nguyn t la an toan (tt nhin y ch la an
toan da vao chng minh mt bai toan khac ch khng phai chng minh hoan chnh v
an toan cua h mt).
2.2. an toan khng iu kin
inh nghia 1:
Mt h mt c coi l an ton khng iu kin khi no khng th b ph ngay c vi
kh nng tinh ton khng hn ch. [10]
R rang la an toan khng iu kin khng th nghin cu theo quan im
phc tap tinh toan v thi gian tinh toan la khng han ch. V vy, y ly thuyt xac sut
s c cp nghin cu v an toan khng iu kin.
inh nghia 2:
Gia s bin X va Y la cac bin ngu nhin. Ky hiu xac sut X nhn gia tri x la
p(x) va Y nhn gia tri y la p(y). Xac sut ng thi p(x, y) la xac sut ng thi X
nhn gia tri x va Y nhn gia tri y. Xac sut c iu kin p(x/y) la xac sut X nhn gia tri
14
Chng II: C s ton hoc
p ( x) p ( y / x)
p( x / y )
p( y )
H qu:
X, Y l bin c lp khi v ch khi p(x/y) = p(x) vi mi x, y. [5]
y, ta gia thit rng mt khoa cu th ch c dng cho mt ban ma. Ky hiu
xac sut tin nghim ban r xut hin la pp(x). Cung gia thit rng khoa K c chon
theo mt phn b xac sut nao (thng thng khoa K c chon ngu nhin nn cac
khoa s ng kha nng). Ky hiu xac sut khoa K c chon la pk(K).
Gia thit rng khoa K va ban r x la cac bin c lp. Hai phn b xac sut trn P
v K s tao ra mt phn b xac sut trn C . Ky hiu C(K) la tp cac ban ma c th nu
K l kho.
C (K) = { eK(x): x P }
Khi vi mi y C, ta c:
pC ( y)
K , yC ( K )
pK ( K ). p p (d K ( y ))
pC ( y / x) p K
K , xd K ( y )
(K )
By gi ta c th tinh xac sut c iu kin pP(x/y) la xac sut x la ban r khi ban
ma la y theo inh ly Bayes:
p ( x) pC ( y / x)
pP ( x )
K , xdK ( y )
pK ( K )
pP ( x / y ) P
pC ( y )
K , yC ( K )
pK ( K ) pP (d K ( y ))
15
Chng II: C s ton hoc
d ( K1 , K2 ) ( x) d K1 (eK2 ( x))
(S1S2)(S1S2) = S1(S2S1)S2
= S1(S1S2)S2
= (S1S1)(S2S2)
= (S1S2)
Vy nu mun (S1S2) khng luy ng th cn phai c S1 va S2 khng giao hoan.
iu nay c th d dang thc hin bng cach ly tich cua mt h mt theo kiu thay th
va mt h mt theo kiu hoan vi. y la ky thut c dng thit k cac h ma hin
ai nh ma DES.
16
Chng II: C s ton hoc
17
Chng II: C s ton hoc
x=-x;
if(y<0)
y= -y;
g=y;
while(x>0){
g=x;
x=y%x;
y=g;
}
return g;
}
3.4. Vanh ZN (vanh ng d module N)
a, b ZN: a . b = (a * b) mod N.
Theo tin h ch t cua modulo s hoc chung ta d dang nhn th y Z N la mt vanh giao
hoan va kt hp. H u h t cac tin
h toan trong cac h ma mt u c th c hin trn mt
vanh ZN nao .
18
Chng II: C s ton hoc
( N ) ( p 1 1) p1 1 ( p 2 1) p2 1...( p k 1) pk
1 2 k 1
Lin quan ti khai nim v ham phi le chng ta c inh ly le phat biu nh sau:
aZ*21 1 2 4 5 8 10 11 13 16 17 19 20
Ord(a) 1 6 3 6 2 6 6 2 3 6 6 2
Bang 2.1: Bang bc cua cac phn t trn Z*21
N u bc cua a Z*N b ng (N) th a c goi la phn t sinh hay phn t nguyn thuy
cua tp Z*N. Va nu tp Z*N ch c mt phn t sinh th n c goi la mt cyclic.
3.7. Thng d b c hai
19
Chng II: C s ton hoc
i mod 13 1 6 10 8 9 2 12 7 3 5 4 11
20
Chng II: C s ton hoc
long r = 1;
while (x > 0){
if (x % 2 == 1) /* is x odd? */
r = (r * a) % n;
a = (a*a) % n;
x /= 2;
}
return r;
}
Thut toan nay chay khng qua log2(m+1) bc.
3.9. Thu t toan clit m rng
21
Chng II: C s ton hoc
inh
ly ph n d Trung Hoa la m t inh ly quan trong cua s hoc c cac nha
toan hoc Trung Quc kham pha ra vao th ky th nht. inh
ly phat bi u nh sau:
N u d 1, d2, , dk la cac s nguy n i mt nguyn t cung nhau va N = d1d2dk
th h phng trnh ng d:
trong o yi la cac nghim cua cac phng trnh ng d (N/di) yi 1(mod di).
Di y la oan ma inh
ly ph n d trung hoa trong ngn ng C :
int chinese_remainder(int r, int *m, int *u)
{
int i;
int modulus;
int n;
modulus = 1;
for ( i=0; i<r:++i )
modulus *=m[i];
n=0;
for ( i=0; i<r:++i )
22
Chng II: C s ton hoc
{
n+=u[i]*modexp(modulus/m[i],totient(m[i]),m[i]);
n%=modulus;
}
return n;
}
23
Chng II: C s ton hoc
24
Chng II: C s ton hoc
if(a&b&1) (ca a va b u la s d)
if(((a-1)*(b-1)/4)%2==0)
return +jacobi(b,a);
else
return -jacobi(b,a);
if(gcd(a,b)==1)
if(((a-1)*(b-1)/4)%2==0)
return +jacobi(b,a);
else
return -jacobi(b,a);
return jacobi(a1,b) * jacobi(a2,b);
}
Trn th c t co th tin
h c ky hiu Jacobi mt cach thun l i hn n u d a vao 1
h ch t sau, gia s m, n la cac s nguyn le, a, b Z:
trong cac tin
(i) J(a*b, n) = J(a, n) * J(b, n) do o J(a2, n) = 1.
(ii) J(a, m*n) = J(a, m) * J(a, n).
(iii) n u a b (mod n) th J(a, n) = J(b, n).
(iv) J(1, n) = 1.
(v) J(-1, n) = (-1)(n-1)/2
(vi) J(m, n) = J(n, m) * (-1)(m-1)*(n-1)/4
4.2. Thu t toan Soloway-Strassen
25
Chng II: C s ton hoc
Thut toan nay c phat tri n bi Rabin , d a trn mt ph n y tng cua Miller .
Th c t nhng phin ban cua thut toan a c gii thiu tai NIST . (National Institute of
Standards and Technology).
u tin la chon ngu nhin mt s p kim tra. Vi t p di dang p = 1+2bm trong
o m la mt s le.
Sau y la thut toan :
1. Chon mt s ngu nhin a, va gia s a nh hn p.
2. t j=0 va z=am mod p.
3. N u z=1, hoc z=p-1 th p a qua bc kim tra va c th la s nguyn t .
4. N u j > 0 va z=1 th p khng phai la s nguyn t.
5. Bai tp
Bai tp 2.1: hy tnh 1753 mod 29, hi cn dng it nht la bao nhiu phep nhn
tm ra kt qua.
Bai tp 2.2: Tnh 876611 mod 899.
S dung mt trong cac ngn ng lp trin
h C, C++, Java hoc C# lam cac bai tp sau:
Bai tp 2.3: Vi t chng trinh cai t thut toan tim ph n t nghich
ao.
Bai tp 2.4: Vi t chng trinh cai t thut toan luy tha nhanh.
Bai tp 2.5: Vi t chng trin
h giai h phng trin
h ng d bc nh t hai n.
Bai tp 2.6: Vi t chng trin
h cai t thut toan ki m tra s nguyn t vi input la
mt s nguyn nh hn 2000000000.
26
Chng II: C s ton hoc
Bai tp 2.7: Vi t chng trinh cai t th vin s nguyn ln vi cac thao tac tinh
toan c ban: nhn, chia, cng tr, l y modulo.
Bai tp 2.8: S dung th vin s ln ( bai tp 2.5 hoc mt th vin ma ngu n
m) cai t cac thut toan kim tra s nguyn t c trnh bay trong phn 4 cua chng
2.
27
Chng III: Cc h ma khoa bi mt
1. Cc h ma c in
1.1. H ma hoa thay th (substitution cipher)
28
Chng III: Cc h ma khoa bi mt
A B C D ... L M N ... W X Y Z
0 1 2 3 ... 11 12 13 ... 22 23 23 25
29
Chng III: Cc h ma khoa bi mt
30
Chng III: Cc h ma khoa bi mt
3 3
K =
2 5
3 3
Vi P1 = (7 4) ta co C1 = P1 * K = 7 4 = 3 15 = D P
2 5
3 3
Vi P2 = (11 15) ta co C2 = P2 * K = 11 15 = 11 4 = L E
2 5
k11 k12
Vi K = va det(K) = (k11*k22 k21*k12) mod N la mt ph n t co ph n t
k 21 k 22
nghich ao trn ZN (ky hiu la det(K)-1) th kha giai ma s la
k 22 -k12
K-1 = det(K)-1*
-k 21 k11
31
Chng III: Cc h ma khoa bi mt
15 17
Giai ma C = DP = ( 3 15 ), P = C * K-1 = (3 15) * = 3 15 = HE.
20 9
Tng t giai ma xu C = LE kt qua s c ban r P = LP.
Ch y la trong vi du trn chng ta s dung kha K c kich thc nh nn d dang
tm c kha giai ma cn trong trng hp tng quat iu nay la khng d dang.
1.6. H ma i ch (transposition cipher)
32
Chng III: Cc h ma khoa bi mt
T E N S T
E I N E R
Bang 3.3: Ma ha theo mu hnh hoc
N u l y cac ky t ra theo s th t ct 2, 4, 1, 3, 5 th s c ban ma
IEICSELTEENNHTR.
i ch ct: u tin i ch cac ky t trong ban r thanh dang hnh ch nht theo
ct, sau o cac ct c s p x p lai va cac ch cai c l y ra theo hang ngang
Vi du: ban r gc la NGAY MAI BAT DAU CHIEN DICH XYZ c vit di dang
ma trn 55 theo ct nh sau:
Ct 1 2 3 4 5
Ban r N A D I C
G I A E H
A B U N X
Y A C D Y
M T H I Z
Bang 3.4: Vi du ma ha theo mu hnh hoc
V c 5 ct nn chung co th c s p lai theo 5!=120 cach khac nhau. tng
an toan co th chon mt trong cac cach sp xp lai .
N u ta chuy n vi cac ct theo th t 3, 5, 2, 4, 1 r i l y cac ky t ra theo hang
ngang ta se c ban ma la DCAINAHIEGUXBNACYADY HZTIM . Lu y r ng cac ky t
cach c b i.
Han ch cua phng phap nay la toan b cac ma trn ky t phai c sinh ma
hoa va giai ma.
3. Hon vi cc ky t cua bn ro theo chu ky c inh d : N u ham f la mt hoan
vi cua mt khi gm d ky t th khoa ma hoa c biu din bi K(d,f).
Do vy, ban r:
M = m1m2...mdmd+1...m2d
Vi mi la cac ky t , va ban ro se c ma hoa thanh
Ek(M) = mf(1)mf(2)...mf(d)mf(d)+1...md+f(d)
Trong o mf(1)mf(2)...mf(d) la mt hoan vi cua m1m2...md.
Vi du: gia s d=5 va f hoan vi day i=12345 thanh f(i)=35142
Vi tri u Vi tri hoan vi T Ma hoa
1 3 G O
2 5 R P
33
Chng III: Cc h ma khoa bi mt
3 1 O G
4 4 U U
5 2 P R
Bang 3.5: Ma ha hoan vi theo chu ky
Theo bang trn, ky t u trong khi 5 ky t c chuy n ti vi tri th 3, ky t th
hai c chuy n ti vi tri th 5, ... Ch ng han t g c GROUP c ma hoa thanh
OPGUR. B ng cach o , ban r I LOVE BEETHOVENS MUSIC s c chuyn thanh
OEIVLEHBTEESONVSCMIU.
H ma ADFGV cua c , c s dung trong su t chi n tranh th gii l n th I , la
mt h ma hoa i ch (c s dung phng phap thay th n gian). N c coi la mt
thut toan ma hoa phc tap vao thi y nhng no a bi pha bi Georges Painvin , mt
nha tham ma ngi Phap . Trn th c t c rt nhiu h thng ma hoa s dung phng
phap i ch, nhng chng r t r c r i v thng i hi khng gian nh ln.
2. Cc h ma khi
Trong ph n nay chung ta se hoc v cac h ma kh i i n hin
h la chu n ma hoa d
liu DES (Data Encryption Standard), mt trong s cac h ma kh i c s dung rng rai
nh t va la n n tang cho r t nhi u cac h ma kh i khac.
Chu n ma hoa d liu DES la mt chu n ma hoa c cng b bi Uy ban Tiu
chun quc gia Hoa Ky vao 15/02/1977. H ma nay c xy dng da trn mt h ma
kh i ph bin c tn la LUCIFER va c phat trin bi IBM.
DES co nhi u u i m (nhanh, thut toan cng khai , d cai t ) va a tng c
s dung trn th c t trong mt thi gian r t dai (cho n trc u nhng nm 90) tuy
nhin theo thi gian nng l c cua cac may tinh phat tri n cung vi cac ky thut tham ma
mi c a ra a cho th y nhu c u v mt h ma kh i manh hn va chun ma ha
cao cp AES a ra i . Chu n nay ra i d a trn mt cuc thi v thi t k mt h ma
kh i an toan hn (vao nm 1997) thay th cho DES cua U y ban Tiu chu n qu c gia cua
Hoa Ky (NIST). C rt nhiu h ma a c gi n lam ng c vin cho AES nhng
cu i cung h ma Rijndael cua hai tac gia ngi Bi la ti n si Joan Daemen va ti n si
Vincent Rijmen (vao nm 2001).
2.1. Mt ma khi
34
Chng III: Cc h ma khoa bi mt
Khng gian khoa, tc chiu dai khoa phai u ln chng lai phng an tn
cng bng vet can. Tuy nhin khoa phai u ngn vic tao khoa, phn phi va
lu tr khoa c d dang.
Khi thit k mt h ma khi, phai am bao hai yu cu sau:
S hn loan (confusion): s phu thuc gia ban r va ban ma phai thc s
phc tap gy kh khn i vi vic tm quy lut tham ma. Mi quan h nay
tt nht la phi tuyn.
S khuch tan (diffusion): Mi bit cua ban r va kha phai anh hng ln cang
nhiu bit cua ban ma cang tt.
Trong khi s hn loan (confusion) c tao ra bng ky thu t thay th th s khuch
tn (diffusion) c tao ra bng cac ky thut hoan vi. Cac h ma khi ma chng ta xem
xet trong phn nay u tha man cac yu cu .
Ngoai cac h ma khi c trnh bay trong phn nay cn rt nhiu cac h ma khi
khac a phat trin q ua thi gian (tai cac quc gia khac nhau va ng dung trong cac lnh
v c khac nhau), c th k ra y mt s h ma ni ting nh: Lucifer (1969), DES (1977),
Madryga (1984), NewDES (1985), FEAL, REDOC, LOKI (1990), Khufu and Khafre (1990),
RC2, RC4, IDEA (1990), MMB, CA-1.1, Shipjack, GOST, CAST, Blowfish, SAFER, 3-
Way, Crab, SXAL8/MBAL, SAFER, RC5, RC6 ...
c im chung cua cac h ma khi la qua trnh ma ha lam vic vi cac khi d
liu (thng dang xu bit) c kich thc khac nhau (ti thiu la 64 bit), kha cua h ma
cung la mt xu bit c dai c inh (56 bit vi DES, cac h ma khac la 128, 256, hoc
thm chi 512 bit). Tt ca cac h ma nay u da trn ly thuyt cua Shannon a ra nm
1949 va nu mang ma ha hai ban r ging nhau s thu c cng mt ban ma. Hoat
ng cua cac h ma khi thng c thc hin qua mt s ln lp, mi ln s s dung
mt kha con c sinh ra t kha chinh.
2.2. Chun ma ho d liu DES (Data Encryption Standard)
35
Chng III: Cc h ma khoa bi mt
36
Chng III: Cc h ma khoa bi mt
T E(Ri-1). (V th T = r32r1r2r32r1)
37
Chng III: Cc h ma khoa bi mt
Bn r (64 bit)
IP
L1 = R0 R1 = L0 f(R0, K1)
Ki (48 bit)
f
IP-1
Bn m (64 bit)
38
Chng III: Cc h ma khoa bi mt
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25
Hm m
rng (E) Trt t nn
(PC-2)
S-Box
P-Box
Hm f
Li Ri Kho Kho K
39
Chng III: Cc h ma khoa bi mt
40
Chng III: Cc h ma khoa bi mt
PC-1
LS1 LS1
LS2 LS2
LS1 LS1
C16 (28 bit) D16 (28 bit) PC-2 K16 (48 bit)
10 2 59 51 43 35 27 19 11 3 60 52 44 36
63 55 47 39 31 23 15 7 62 54 46 38 30 22
14 6 61 53 45 37 29 21 13 5 28 20 12 4
41
Chng III: Cc h ma khoa bi mt
S bit dich 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
Bang 3.9: Bang dich bit tai cac vng lp cua DES
Sau khi dich vng, mt bang chon 48 bit c s dung. V cach hoan vi nay cua
cac bit c chon nh mt t hp con cua cac bit nn c goi la hoan vi nen hay trt
t nen.
Bang trt t nen(PC-2):
14 17 11 24 1 5 3 28 15 6 21 10
23 19 12 4 26 8 16 7 27 20 13 2
41 52 31 37 47 55 30 40 51 45 33 48
44 49 39 56 34 53 46 42 50 36 29 32
42
Chng III: Cc h ma khoa bi mt
48 bit
48 bit
86 bit
S1 S2 S3 S4 S5 S6 S7 S8
84 bit
32 bit
P
32 bit
Ri (32 bit)
Hnh 3.5: S ham f
2.2.5. Hm (nh xa) m rng (E)
Ham m rng (E) s tng dai cua Ri t 32 bit ln 48 bit bng cach thay i cac
th t cua cac bit cung nh lp lai cac bit. Vic thc hin nay nhm hai muc ich:
Lam dai cua Ri cng c vi khoa K thc hin vic cng modulo XOR.
Cho kt qua dai hn c th c nen trong sut qua trnh thay th.
Tuy nhin, ca hai muc ich nay u nhm mt muc tiu chinh la bao mt d liu.
Bng cach cho phep 1 bit c th chn vao hai vi tri thay th, s phu thuc cua cac bit u
ra vi cac bit u vao s trai rng ra. DES c thit k vi iu kin la mi bit cua ban
ma phu thuc vao mi bit cua ban r va khoa.
S ham m rng:
43
Chng III: Cc h ma khoa bi mt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
32
32
8 9 10 11 12 13 12 13 14 15 16 17
16 17 18 19 20 21 20 21 22 23 24 25
24 25 26 27 28 29 28 29 30 31 32 1
44
Chng III: Cc h ma khoa bi mt
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Bang 3.12: Hp S1
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
Bang 3.13: Hp S2
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 15 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
Bang 3.14: Hp S3
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
45
Chng III: Cc h ma khoa bi mt
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
Bang 3.15: Hp S4
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
Bang 3.16: Hp S5
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
Bang 3.17: Hp S6
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
Bang 3.18: Hp S7
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Bang 3.19: Hp S8
Vi d:
Gia s u vao cua hp S6 la chui bit 110011 t 31 n 36 . Bit u tin va bit cui
cng kt hp lai thanh 11 tng ng vi hang 3 cua hp S6. Bn bit gia c gia tri 1001,
tng ng vi ct 9. Nh vy, gia tri nhn c la 14 (s m cua ct, hang bt u t
0) va gia tri 1110 c thay th cho gia tri 110110 u ra.
2.2.7. Hp P-Box
Vic hoan vi nay mang tinh n anh, ngha la mt bit u vao s cho mt bit u
ra, khng bit nao c s dung hai ln hay bi b qua. Hp P-Box thc cht ch lam chc
nng sp xp n thun theo bang sau:
46
Chng III: Cc h ma khoa bi mt
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25
K1 = 000110110000001011101111111111000111000001110010
E(R0) K1 = 011000010001011110111010100001100110010100100111
u ra S-Box = 01011100100000101011010110010111
f(R0,K1) = 00100011010010101010100110111011
L2=R1 = 11101111010010100110010101000100
E(R1) = 011101011110101001010100001100001010101000001001
K2 = 011110011010111011011001110110111100100111100101
E(R1) K2 = 000011000100010010001101111010110110001111101100
u ra S-Box = 11111000110100000011101010101110
f(R1,K2) = 00111100101010111000011110100011
L3=R2 = 11001100000000010111011100001001
47
Chng III: Cc h ma khoa bi mt
E(R2) = 111001011000000000000010101110101110100001010011
K3 = 010101011111110010001010010000101100111110011001
E(R2) K3 = 101100000111110010001000111110000010011111001010
u ra S-Box = 00100111000100001110000101101111
f(R2,K3) = 01001101000101100110111010110000
L4=R3 = 10100010010111000000101111110100
E(R3) = 010100000100001011111000000001010111111110101001
K4 = 011100101010110111010110110110110011010100011101
E(R3) K4 = 001000101110111100101110110111100100101010110100
u ra S-Box = 00100001111011011001111100111010
f(R3,K4) = 10111011001000110111011101001100
L5=R4 = 01110111001000100000000001000101
E(R4) = 101110101110100100000100000000000000001000001010
K5 = 011111001110110000000111111010110101001110101000
E(R4) K5 = 110001100000010100000011111010110101000110100010
u ra S-Box = 01010000110010000011000111101011
f(R4,K5) = 00101000000100111010110111000011
L6=R5 = 10001010010011111010011000110111
E(R5) = 110001010100001001011111110100001100000110101111
K6 = 011000111010010100111110010100000111101100101111
E(R5) K6 = 101001101110011101100001100000001011101010000000
u ra S-Box = 01000001111100110100110000111101
F(R5,K6) = 10011110010001011100110100101100
L7=R6 = 11101001011001111100110101101001
E(R6) = 111101010010101100001111111001011010101101010011
K7 = 111011001000010010110111111101100001100010111100
E(R6) K7 = 000110011010111110111000000100111011001111101111
u ra S-Box = 00010000011101010100000010101101
F(R6,K7) = 10001100000001010001110000100111
48
Chng III: Cc h ma khoa bi mt
L8=R7 = 00000110010010101011101000010000
E(R7) = 000000001100001001010101010111110100000010100000
K8 = 111101111000101000111010110000010011101111111011
E(R7) K8 = 111101110100100001101111100111100111101101011011
u ra S-Box = 01101100000110000111110010101110
F(R7,K8) = 00111100000011101000011011111001
L9=R8 = 11010101011010010100101110010000
E(R8) = 011010101010101101010010101001010111110010100001
K9 = 111000001101101111101011111011011110011110000001
E(R8) K9 = 100010100111000010111001010010001001101100100000
u ra S-Box = 00010001000011000101011101110111
F(R8,K9) = 00100010001101100111110001101010
L10=R9 = 00100100011111001100011001111010
E(R9) = 000100001000001111111001011000001100001111110100
K10 = 101100011111001101000111101110100100011001001111
u ra S-Box = 11011010000001000101001001110101
F(R9,K10) = 01100010101111001001110000100010
L11=R10 = 10110111110101011101011110110010
E(R10) = 010110101111111010101011111010101111110110100101
K11 = 001000010101111111010011110111101101001110000110
u ra S-Box = 01110011000001011101000100000001
f(R10,K11) = 11100001000001001111101000000010
L12=R11 = 11000101011110000011110001111000
E(R11) = 011000001010101111110000000111111000001111110001
K12 = 011101010111000111110101100101000110011111101001
49
Chng III: Cc h ma khoa bi mt
u ra S-Box = 01111011100010110010011000110101
f(R11,K12) = 11000010011010001100111111101010
L13=R12 = 01110101101111010001100001011000
E(R12) = 001110101011110111111010100011110000001011110000
K13 = 100101111100010111010001111110101011101001000001
u ra S-Box = 10011010110100011000101101001111
f(R12,K13) = 11011101101110110010100100100010
L14=R13 = 00011000110000110001010101011010
E(R13) = 000011110001011000000110100010101010101011110100
K14 = 010111110100001110110111111100101110011100111010
u ra S-Box = 01100100011110011001101011110001
f(R13,K14) = 10110111001100011000111001010101
L15=R14 = 11000010100011001001011000001101
E(R14) = 111000000101010001011001010010101100000001011011
K15 = 101111111001000110001101001111010011111100001010
u ra S-Box = 10110010111010001000110100111100
f(R14,K15) = 01011011100000010010011101101110
L16=R15 = 01000011010000100011001000110100
E(R15) = 001000000110101000000100000110100100000110101000
K16 = 110010110011110110001011000011100001011111110101
u ra S-Box = 10100111100000110010010000101001
f(R15,K16) = 11001000110000000100111110011000
R16 = 00001010010011001101100110010101
50
Chng III: Cc h ma khoa bi mt
y = DES(x,k) y = DES( x , k )
{01}14 {01}14 01FE 01FE 01FE 01FE FE01 FE01 FE01 FE01 {10}14 {10}14
{01}14 {10}14 1FE0 1FE0 0EF1 0EF1 E01F E01F F10E F10E {10}14 {01}14
{01}14 {0}28 01E0 01E0 01F1 01F1 E001 E001 F101 F101 {10}14 {0}28
{01}14 {1}28 1FFE 1FFE 0EFE 0EFE FE1F FE1F FE0E FE0E {10}14 {1}28
{0}28 {01}14 011F 011F 010E 010E 1F01 1F01 0E01 0E01 {0}28 {10}14
{1}28 {01}14 E0FE E0FE F1FE F1FE FEE0 FEE0 FEF1 FEF1 {1}28 {10}14
51
Chng III: Cc h ma khoa bi mt
Nh a trin
h bay cac ph n trn , h ma DES (hay chu n ma hoa d liu ) vi
khng gian kha ven ven c 254 kha nn th c t hin nay c th bi tham ma trong
52
Chng III: Cc h ma khoa bi mt
khoang thi gian vai gi ng h . V vy vic tm kim cac h ma khac thay th cho DES
la mt iu cn thit . Mt trong nhng cach thc c xem xet u tin la tn dung DES
nhng s dung ma hoa nhi u l n . Cach th nht la s dung hai kha ma ha hai ln
nh sau:
C = EK2(EK1(P))
Cach nay goi la double DES hay 2DES, kha cua h ma theo m hnh nay la 112
bit, c ve an toan hn so vi DES , it nht la trn nguyn tc . Tuy nhin cac chng minh
v mt ly thuy t (khng n m trong pham vi cua tai liu nay ) a cho th y r ng h ma nay
khng h an toan hn DES (thut toan tham ma theo ki u vet can brute-force yu c u s
phep tinh gp i tham ma 2DES so vi DES).
Cach thc th hai va hin nay ang c s dung rng rai la ma ha DES ba ln ,
cach nay goi la Triple DES (TDES) hay 3DES, hoc mt cach chu n m c h n la TDEA
(Triple Data Encryption Algorithm). M hinh s dung n gian nh t cua Triple DES la ma
ha 3 l n s dung 3 kha K1, K2, K3 nh hinh minh hoa sau:
Vic l a chon ma hoa hay giai ma bc th hai khng lam thay i tinh an toan
cua Triple DES. Kha cua Triple DES la 168 bit, mt s bi n th cua Triple DES s dung
kha c dai 112 bit (K1=K3) nhng khac vi double DES , khi o phng phap nay co
tn goi la Two key Triple DES . Cac chng minh v mt ly thuyt va cac tn cng i vi
Triple DES cho th y h ma nay vn se con c s dung trong mt tng lai d ai na
mc du trn trn th c t no chm hn so vi AES 6 l n.
53
Chng III: Cc h ma khoa bi mt
54
Chng III: Cc h ma khoa bi mt
55
Chng III: Cc h ma khoa bi mt
hiu bi tn mang a va bi u din di dang a n hoc a[n] trong o n nhn cac gia tri trong
cac khoang sau:
N u dai khoa b ng 128 bit: 0 n < 16;
N u dai khoa b ng 192 bit: 0 n < 24;
N u dai khoa b ng 256 bit: 0 n < 32;
T t ca cac gia tri Byte s dung trong thut toan cua AES u c bi u din di
dang mt day cac bit 0 hoc 1 theo inh dang {b7, b6, b5, b4, b3, b2, b1, b0}. Cac Byte nay
sau c hi u la cac ph n t trn trng hu han b ng cach s dung bi u din thanh
dang a thc:
7
b7x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x1 + b0x0 = b x
i 0
i
i
.
6
Ch ng han gia tri {01100011} tng ng vi ph n t trn trng hu han x +
5
x + x + 1.
thun tin , cac gia tri Byte c biu din s dung cac ky hiu cua h Hexa ,
s dung 4 bit cho mt ky t va hai ky t cho mt Byte nh bang sau:
Bit Ky t Bit Ky t Bit Ky t Bit Ky t
0000 0 0100 4 1000 8 1100 c
0001 1 0101 5 1001 9 1101 d
0010 2 0110 6 1010 a 1110 e
0011 3 0111 7 1011 b 1111 f
Bang 3.25: Bang biu din cac xu 4 bit
Khi o cac Byte (8 bit) s c biu din bng hai ky t , ch ng han {01100011}
s c biu din thanh {63}.
2.5.3.4. Trang thi (State)
Cac thao tac bn trong cua AES c thc hin trn mt mang 2 chi u cac byte
c goi la trang thai . Mt trang thai g m b n hang cac byte , mi hang co Nb byte trong
o Nb la kich thc cua kh i chia cho 32. Mang trang thai ky hiu la s trong mi byte
cua mang c 2 ch s hang r va ct c (0 r, c < 4).
Tai thi im bt u input cua thut toan mang cac byte in 0, in1, , in15 c
copy vao mang trang thai theo qui t c c minh hoa b ng hnh v:
trong o cac gia tri cua mang s va mang output c tinh nh sau:
s[r, c] = in[r + 4c] 0 r, c < 4
56
Chng III: Cc h ma khoa bi mt
57
Chng III: Cc h ma khoa bi mt
begin
byte state[4,Nb]
state = in
AddRoundKey(state, w[0, Nb-1]) // See Sec. 5.1.4
for round = 1 step 1 to Nr1
SubBytes(state) // See Sec. 5.1.1
ShiftRows(state) // See Sec. 5.1.2
MixColumns(state) // See Sec. 5.1.3
AddRoundKey(state, w[round*Nb, (round+1)*Nb-1])
end for
SubBytes(state)
ShiftRows(state)
AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1])
out = state
end
S thut toan:
58
Chng III: Cc h ma khoa bi mt
Round 10
Inverse sub bytes
Substitute bytes
Expand key
Inverse shift row
Shift rows
Round 1
Round 9
Add round key w[4, 7] Add round key
Shift rows
Round 9
Round 1
Inverse sub bytes
Substitute bytes
Round 10
Plaintext Ciphertext
(a) M ha (b) Giai ma
59
Chng III: Cc h ma khoa bi mt
bi' bi b(i 4)mod8 b(i 5)mod8 b(i 6)mod8 b(i 7)mod8 ci trong o 0 i <8 la bit th i
cua byte b tng ng va ci la bit th i cua byte c vi gia tri {63} hay {01100011}.
Cac phn t bin i affine cua S-box co th c bi u di n di dang ma trn
nh sau:
b0' 1 0 0 0 1 1 1 1 b0 1
'
b1 1 1 0 0 0 1 1 1 b1 1
b2' 1 1 1 0 0 0 1 1 b2 0
'
b3 1 1 1 1 0 0 0 1 b3 0
b ' 1 1 1 1 1 0 0 0 b4 0
4'
b5 0 1 1 1 1 1 0 0 b5 1
b ' 0 0 1 1 1 1 1 0 b6 1
6
b7' 0 0 0 1 1 1 1 1 b7 0
Hnh sau minh hoa kt qua cua vic ap dung ham bin i SubBytes () i vi mang
trang thai:
' ' ' '
S0,0 S0,1 S0,2 S0,3 S-Box S0,0 S0,1 S0,2 S0,3
' ' '
S1,0 S1,2 S1,3 S1,0 ' S1,2 S1,3
S r ,c S r ,c
' ' ' '
S 2,0 S 2,1 S 2,2 S 2,3 S 2,0 S 2,1 S 2,2 S 2,3
' ' ' '
S3,0 S3,1 S3,2 S3,3 S3,0 S3,1 S3,2 S3,3
60
Chng III: Cc h ma khoa bi mt
ShiftRows()
S0,0 S0,1 S0,2 S0,3 S0,0 S0,1 S0,2 S0,3
S S
61
Chng III: Cc h ma khoa bi mt
S0,' c 02 03 01 01 S0,c
'
S1,c 01 02 03 01 S1,c
S2,' c 01 01 02 03 S2,c
'
S3,c 03 01 01 02 S3,c
vi moi 0 c < Nb = 4.
K t qua la bn byte trong mi ct s c thay th theo cng thc sau:
62
Chng III: Cc h ma khoa bi mt
s0,' c , s1,' c , s2,' c , s3,' c s0,c , s1,c , s2,c , s3,c wround *Nb c 0 c Nb 4
trong o [wi] la cac word cua kha c m ta trong phn 5.2 va round la ln lp
tng ng vi qui c 0 round Nr. Trong thut toan ma hoa phep cng khoa vong
khi tao xay ra vi round = 0 trc khi cac vong lp cua thut toan c th c hin . Ham
AddRoundKey() c th c hin trong thut toan ma hoa khi 1 round Nr.
Vic th c hin cua ham nay co th minh hoa qua hinh ve tring o l = round * Nb.
ia chi byte trong cac word cua day khoa c m ta trong ph n 3.1.
63
Chng III: Cc h ma khoa bi mt
64
Chng III: Cc h ma khoa bi mt
65
Chng III: Cc h ma khoa bi mt
S0,' c 0e 0b 0d 09 S0,c
'
S1,c 09 0e 0b 0d S1,c
S2,' c 0d 09 0e 0b S2,c
'
S3,c 0b 0d 09 0e S3,c
trong o 0 c < Nb.
K t qua la b n byte trong mi ct se c thay th theo cng thc sau:
66
Chng III: Cc h ma khoa bi mt
67
Chng III: Cc h ma khoa bi mt
state = in
AddRoundKey(state, dw[Nr*Nb, (Nr+1)*Nb-1])
for round = Nr-1 step -1 downto 1
InvSubBytes(state)
InvShiftRows(state)
InvMixColumns(state)
AddRoundKey(state, dw[round*Nb, (round+1)*Nb-1])
end for
InvSubBytes(state)
InvShiftRows(state)
AddRoundKey(state, dw[0, Nb-1])
out = state
end
Cac thay i sau cn thc hin trong thut toan sinh kha thut toan trn c th
hoat ng c:
for i = 0 step 1 to (Nr+1)*Nb-1
dw[i] = w[i]
end for
for round = 1 step 1 to Nr-1
InvMixColumns(dw[round*Nb, (round+1)*Nb-1]) // note change of type
end for
2.6. Cc c ch, hinh thc s dng cua ma hoa khi (Mode of Operation)
2.6.1. Cc hinh thc s dng
Nh chung ta a bi t c ac ma ha khi ma ha cac khi thng tin c dai c inh,
chng han DES vi cac khi bit 64, s dung kha la xu bit c dai bng 56. Tuy nhin
s dung cac h ma nay trn thc t vn cn c mt qui inh
v qui cach s dung
chng ma ha cac d liu cn ma ha. Cach thc s dung mt thut toan ma ha khi
trong thc t c goi la Mode of Use hay Mode Of Operation. C 4 hnh thc s dung
cac h ma khi c inh ngha trong cac chun ANSI (vi du ANSI X3.106-1983 danh
cho DES). D a vao vic x ly d liu input cua h ma ngi ta chia thanh hai loai c ch
s dung cac h ma khi sau:
1. Cc ch khi (Block Mode): x ly cac thng ip theo cac khi (ECB, CBC)
2. Cc ch lung, dng (Stream Modes): x ly cac thng ip nh la mt
lung bit/byte (CFB, OFB).
Cac ch khi thng c s dung ma ha cac d liu ma ch ng ta bit
trc v vi tri , ln trc khi ma hoa (ch ng han nh cac file , cac email trc khi cn
68
Chng III: Cc h ma khoa bi mt
gi i ) trong khi cac ch lu ng thng c s dung cho vic ma hoa cac d liu
khng c bi t trc v ln c ung nh vi tri chng han nh cac tin hiu gi v t v
tinh hoc cac tin
hiu do mt b cam bi n oc t bn ngoai vao.
Ch : DES, 3DES, AES (hay bt k mt thut ton ma hoa khi no khc) to
thnh mt khi xy dng c bn. Tuy nhin s dng chung trong thc t, chung ta
thng cn lm vic vi cc khi lng d liu khng th bit trc c, co th chung l
mt khi d liu sn sng ngay cho vic ma hoa(khi o vic s dng ma hoa theo c ch
khi l ph hp), hoc co th ch c mt vi bit, byte ti mt thi im (khi o s dng
ch dng l ph hp). V th cc c ch s dng ma khi c trnh by trong phn
ny l ring cho DES nhng cung c ap dung tng t cho cac h ma kh i khac.
2.6.2. C ch bang tra ma i n t ECB (Electronic CodeBook Book)
Thng ip c n ma hoa c chia thanh cac khi c lp m ha, mi kh i ban
ma la kt qua cua vic ma ha ring bit khi ban r tng ng vi n va c lp vi khi
khac. Cach lam vic nay ging nh chng ta thay th cac khi ban ma bng cac khi ban
r tng ng nn c tn goi la bang tra ma in t.
P = P1P2PN
Ma ha: Ci = DESK(Pi), k t qua ban ma la C = C1C2..CN. Qua trnh giai ma tin hanh
ng c lai: Pi = DES-1K(Ci).
P C
P1 P2 Pn C1 C2 Cn
K E E Ma ha E K D D Giai ma D
C1 C2 Cn P1 P2 Pn
C P
69
Chng III: Cc h ma khoa bi mt
x1 x2 y1 y2
IV=y0 IV=y0 dk dk
ek ek
y1 y2 x1 x2
M ho Gii m
70
Chng III: Cc h ma khoa bi mt
input cho thut toan ma hoa c xem la mt lu ng cac bit cua ban ro c l n l t theo
thi gian.
Trong ch OFB va CFB dng khoa c tao ra s c cng modulo 2 vi ban
r. OFB thc s la mt h ma ng b: dng khoa c thanh lp bi vic tao lp cac
vector khi tao 64 bit (vector IV). Ta xac inh z0 = IV v tnh dng kho z1z2 ... zn theo quy
tc zi = ek(zi-1) vi i 1. Sau day ban r x1x2 ... xn s c ma hoa bng cach tinh yi =
xi zi vi i 1.
Trong ch CFB, ta bt u vi y0 = IV (vector khi tao 64 bit) va tao phn t zi
cua dng khoa bng cach ma hoa khi ban ma trc . Tc la zi = ek(yi-1) vi i1 va yi =
xi zi vi i1. Vic s dung CFB c m ta bng s sau (ek trong trng hp nay
c s dung cho ca ma hoa va giai ma):
x1 x2
M ho
IV=y0 ek ek
y1 y2
y1 y2
Gii m
IV=y0 ek ek
x1 x2
Hnh 3.16: Ch CFB
Cung c mt vai dang khac cua OFB va CFB c goi la ch phan hi k-bit (1<
k < 64). y ta a m ta ch phan hi 64 bit. Cac ch phan hi 1-bit v 8-bit
thng c s dung cho phep ma hoa ng thi 1 bit (hay byte) d liu. Ky thut c
ban c s dung y la mt thanh ghi dich 64 bit va mi bc dich c k-bit lm
u vao cho ma hoa. K-bit bn trai cua u vao ham ma hoa c XOR vi n vi u
cua block ban r tip theo a ra mt n vi ban ma truyn i va n vi nay c
a lai vao k-bit bn phai cua thanh ghi dich. Qua trnh x ly tip tuc cho ti khi tt ca
n vi ban r u c ma hoa. im khac nhau gia CFB va OFB la k-bit hi tip cho
b ghi dich c ly t trc hay sau b XOR (nu ly sau b XOR th d liu a ma hoa
ng vi CFB, cn ly phia trc th la OFB).
Nhn chung , bn ch cua DES u c nhng u nhc im ring. ch
ECB va OFB, s thay i cua mt khi ban r xi 64 bit s lam thay i khi ban ma yi
tng ng, nhng cac khi ban khac th khng bi anh hng. Trong mt s tnh hung,
71
Chng III: Cc h ma khoa bi mt
3. Bai tp
Bai tp 3.1: Hay giai ma ban ma c ma ha bng h ma Caesar sau (s dung bang
ch cai ti ng Anh): WKXPEVXS.
Bai tp 3.2 (kho): Thng ip bi mt n sau oan vn ban ti ng Anh sau la gi:
The supply of game for London is going steadily
up. Head keeper Hudson, we believe, has been
now told to receive all orders for fly paper and for
preservations of your hen-pheasant's life.
Trich trong tac phm The Gloria Scott.
Bai tp 3.3: S dung bang sau (h ma Freemason) giai ma thng ip:
Bang ma cac ky t:
A B C
D E F
G H I
72
Chng III: Cc h ma khoa bi mt
J
K L
M
N O P
Q R S
T U V
W
X Y
Z
G i y: y la mt h ma thay th t ng hinh.
Bai tp 3.4: Hay tm thng ip bi mt n gi u trong oan vn ban sau:
Dear George, 3rd March
Greetings to all at Oxford. Many thanks for your
letter and for the Summer examination package.
All Entry Forms and Fees Forms should be ready
for final dispatch to the Syndicate by Friday
20th or at the very least, Im told, by the 21st.
Admin has improved here, though theres room
for improvement still; just give us all two or three
more years and well really show you! Please
dont let these wretched 16+ proposals destroy
your basic O and A pattern. Certainly this
sort of change, if implemented immediately,
would bring chaos.
Bai tp 3.5: Cho h ma Affine c cai t trn Z99. Khi kha la cac cp (a, b) trong
a, b Z99 vi (a, 99) = 1. Ham ma ha EK (x) = (a * x + b) mod 99 va ham giai ma DK
(x) = a-1 * (x b) mod 99.
a) Hay xac inh s kha c th c s dung cho h ma nay.
b) Nu nh kha giai ma la K-1 = (16, 7), hay thc hin ma ha xu m =
DANGER.
Bai tp 3.6: Cho h ma Affine c cai t trn Z39. Khi kha la cac cp (a, b) trong
a, b Z39 vi (a, 39) = 1. Ham ma ha EK (x) = (a * x + b) mod 39 va ham giai ma DK
(x) = a-1 * (x b) mod 39.
a) Hay xac inh s kha c th c s dung cho h ma nay.
b) Nu nh kha giai ma la K-1 = (23, 7), hay thc hin ma ha xu m = ATTACK.
Bai tp 3.7: Cho h ma Affine c cai t trn Z55. Khi kha la cac cp (a, b) trong
a, b Z55 vi (a, 55) = 1. Ham ma ha EK (x) = (a * x + b) mod 55 va ham giai ma DK
(x) = a-1 * (x b) mod 55.
a) Hay xac inh s kha c th c s dung cho h ma nay.
73
Chng III: Cc h ma khoa bi mt
b) Kha giai ma la K-1 = (13, 17), hay xac inh kha ma ha.
Bai t p 3.8: Gia s h ma Affine c cai t trn Z99.
a) Hay xac inh s kha c th c cua h ma.
b) Gia s kha ma ha la (16, 7), hay xac inh kha giai ma.
Bai t p 3.9: Gia s h ma Affine c cai t trn Z126.
a) Hay xac inh s kha c th c cua h ma.
b) Gia s kha ma ha la (23, 7), hay xac inh kha giai ma.
Bai tp 3.10: Cho h ma Hill c M = 2.
5 3
a) Ma trn A = c th c s dung lam kha cho h ma trn khng giai
13 17
thch.
12 5
b) Cho A = hay thc hin ma ha va giai ma vi xu S = HARD.
3 7
Bai tp 3.11: Cho h ma Hill c M = 2.
5 3
a) Ma trn A = c s dung lam kha cho h ma trn. Hay tm tt ca cac
11 a
kha c th s dung cua h ma trn.
b) Gia s ngi ta s dung h ma trn ma ha ban r P = EASY va thu c
ban ma la UMQA. Hay thc hin giai ma vi ban ma la C = MCDZUZ va a
ra ban r.
Bai tp 3.12: Cho h ma Hill c M = 2.
15 13
a) Ma trn A = c s dung lam kha cho h ma trn. Hay tm tt ca
7 a
cac kha c th s dung cua h ma trn.
b) Gia s ngi ta s dung h ma trn ma ha ban r P = MARS va thu c
ban ma la YARH. Hay thc hin giai ma vi ban ma la C = MANNTF va a
ra ban r.
Bai tp 3.13: Cho h ma Vigenere c M = 6, K = CIPHER.
a) Hay thc hin ma ha xu P = THIS IS MY TEST.
b) Hay thc hin giai ma xu M = EICJIC RTPUEI GBGLEK CBDUGV.
Bai tp 3.14: Cho h ma Vigenere c M = 6. Ma ha xu P = THIS IS MY TEST ngi
ta thu c ban ma la LLKJML ECVVWM.
a) Hay tm kha ma ha a dng cua h ma trn.
b) Dng kha tm c phn trn hay giai ma ban ma C = KLGZWT
OMBRVW.
74
Chng III: Cc h ma khoa bi mt
75
Chng III: Cc h ma khoa bi mt
76
Chng IV: Cc h ma mt khoa cng khai
77
Chng IV: Cc h ma mt khoa cng khai
Hnh 4.1: M hinh s dung 1 cua cac h ma kha cng khai PKC
Ciphertext = E(KP,Plaintext) ,Plantext = D(KS, E(KP,Plaintext)) (1)
Hnh 4.2: M hinh s dung 2 cua cac h ma kha cng khai PKC
Ciphertext = D(KS, Plaintext), Plaintext = E(KP, D(KS, Plaintext)) (2)
M hin h (2) c s dung c ho cac h ch ky in t con m hin
h (1) c s
dung cho cac h ma mt . Cac h ma nay c goi la cac h ma kha cng khai PKC
(Public Key Cryptosystems) hay cac h ma b t i xng (Asymmetric Encryption
Scheme).
78
Chng IV: Cc h ma mt khoa cng khai
Cho M, N va A1, A2, ...., AN la cac s nguyn dng tm cac s xi khng m sao cho:
N
M= x *A
i 1
i i
Vecto A = (A1, A2, ..., AN) c goi la vecto x p bal con vect X = (x1, x2, , xN) la
vect nghim.
Mt trng h p ring ang quan tm cua bai toan x p ba l t ng quat la trng
h p ma xi {0, 1}. Khi o ta co bai toan x p ba l 0, 1.
Vecto x p ba l siu tng : Trong trng h p vecto (A1, A2, ..., AN) c s p lai
thanh (A1, A2, ..., AN) sao cho:
i ta co: A
j i
'
j < Ai th vecto (A1, A2, ..., AN) c goi la vecto x p balo siu tng.
Khi (A1, A2, ..., AN) la mt vecto xp balo siu tng ta co ngay tinh ch t: M >= Ai i.
Do o vic giai bai toan x p ba l 0/1 tr nn d dang hn r t nhi u.
H ma knapsack do Merkle va Hellman a ra vao nm 1978.
Cch xy dng:
1. Chon 1 vecto siu tng A = (a1, a2, ..., aN), chon 1 s M > 2 * aN, chon ngu
nhin 1 s u < M va (u, M) = 1
2. Xy d ng Vecto A = (a1, a2, ..., aN) trong o ai = (ai * u) mod M
3. Kha: KP = (A, M), KS = (u, u-1)
4. Khng gian cac ban ro la khng gian moi day N bit
P = (x1, x2, ..., xn).
N
Ma ha: C = ( a * x )mod M
i 1
i i
Giai ma: tinh C = C * u-1 mod M sau o giai bai toan x p ba l 0/1 vi A , C t o
tm c P = (x1, x2, ..., xn).
Vi du 1: Cho h ma Knapsack co A = (2, 3, 6, 12, 25), N = 5, M = 53, u = 46, u-1 =
15.
a) Hay tm cac kha cua h ma trn
b) Ma ha va giai ma ban ma tng ng cua ban r M = 01001.
3.2. H ma RSA
79
Chng IV: Cc h ma mt khoa cng khai
an toan cua RSA phu thuc vao kh cua vic tinh (N) va iu nay i hi
chng ta cn phn tich N ra tha s nguyn t. Thut toan phn tich s nguyn t hiu
qua nht hin nay la Brent-Pollard, chng ta hay xem xet bang thng k sau thy c
tc hoat ng cua n:
80
Chng IV: Cc h ma mt khoa cng khai
20 7.20e+03
40 3.11e+06
60 4.63e+08
80 3.72e+10
100 1.97e+12
120 7.69e+13
140 2.35e+15
160 5.92e+16
180 1.26e+18
200 2.36e+19
Bang 4.1: T c cua thut toan Brent-Pollard
Cac nghin cu v vn phn tich cac s nguyn ln hin nay tin trin rt chm,
cac tin b ln nht cung ch la cac cai tin v thut toan va c th ni rng tr khi c cac
t pha trong vic phn tich cac s 1024 bit, RSA la an toan trong thi im hin nay.
Cac nha mt ma hoc phat minh ra h ma RSA a a ra mt giai thng tri gia 100
$ vao nm 1977. la mt h ma vi s N c 129 ch s, thach thc nay a c pha.
Trn thc t cai t RSA cn phai thc hin cac thao tac modulo vi cac s 300
ch s (hay 1024 bit) ma hin nay cac may tinh mi ch thao tac vi cac s nguyn 64 bit,
iu nay dn n nhu cu cn cac th vin s hoc nhn chinh xac lam vic vi cac s
nguyn ln nay. Ngoai ra vic s dung RSA cn ti cac s nguyn t ln nn chng ta
cung phai c mt c s d liu cac s nguyn t.
tng tc cho RSA chng ta c th s dung mt s phng phap khac chng han
nh cai tin cac phep tinh toan nhn hai s ln hoc tng tc vic tm ban ma, ban r.
i vi phep nhn 2 s n bit thng thng chng ta cn thc hin O(n2) php tnh
bit. Thut toan nhn cac s nguyn Schonhage Strassen cho phep chng ta thc hin
phep nhn 2 s vi phc tap la O(n log n) vi cac bc nh sau:
Chia mi s nguyn thanh cac khi, s dung cac khi nay nh cac h s cua
mt a thc.
Tinh cac a thc nay tai mt s cac im thich hp, va nhn cac kt qua thu
c.
Ni suy cac kt qua nay hnh thanh cac h s cua a thc tich
Kt hp cac h s hnh thanh nn tich cua hai s ban u
Bin i Fourier ri rac, va ly thuyt chp c th c s dung tng tc
cua qua trnh ni suy.
81
Chng IV: Cc h ma mt khoa cng khai
82
Chng IV: Cc h ma mt khoa cng khai
C1 C1
Kha Kha
RSA RSA phin K
phin K
C2 C2
P AES AES P
3.3. H ma El Gamal
83
Chng IV: Cc h ma mt khoa cng khai
84
Chng IV: Cc h ma mt khoa cng khai
phc tap cua thut toan phu thuc vao m = [(p-1)1/2], vi gia tri cua m , chng ta
c n tinh cac ph n t thuc hai danh sach L 1 va L 2, u la cac phep toan luy tha phu
thuc vao j va i , i va j lai phu thuc vao m nn co th nhn th y la thut toan nay chi co
th ap dung trong nhng trng h p ma p nho.
Thu t toan Pohlig-Hellman
C nhng trng hp c bit ma bai toan Logarithm ri rac c th giai quyt vi
phc tap nho hn O(p1/2), ch ng han nh khi p 1 ch c cac c nguyn t nh . Mt
thut toan lam vic vi cac trng h p nh vy a c Pohlig va Hellman a ra vao
nm 1978.
Gia s p 1 = 2n.
*
Goi a la phn t nguyn thuy cua Z p , p la mt s le va a (p-1)/2 mod p = -1. Goi m la
s nguyn thuc khoang [0, p-2] ma chng ta cn tm y = am mod p. Gia s m c
bi u din thanh dang nhi phn m = m0 + 2m1 + 4m2 + + 2n-1mn-1. Khi o:
p 1 p 1
n1
p 1
m0
p 1
1 nu m0 0
(a m ) (a m0 2 m1 2 m2 ... 2 a
2
2 2 mn1 2 2
y )
1 nu m0 1
Vic tinh y (p-1)/2 m t nhi u nh t 2[log2p] bc va se cho ta m 0. Khi xac inh
c y 1
-m
= ya 0, ta lp lai thao tac tng t tinh m1:
p 1
m1 2 m2 ... 2n2 mn1
p 1
m1
p 1
1 nu m1 0
c1 4
(a ) 2
a 2
1 nu m1 1
Qua trnh tinh toan c th tip din cho ti khi chng ta tm c m i. phc ta p
cua thut toan la: n(2[log2p] + 2) ~ O((log2p)2).
3.4. Cc h ma mt da trn cc ng cong Elliptic
H u h t cac san ph m va cac chu n s dung cac h ma khoa cng khai ma hoa
va ch ky in t hin nay u s dung h ma RSA . Tuy nhin vi s phat tri n cua
nganh tham ma va nng lc ngay cang tng nhanh chng cua cac h thng may tinh ,
dai kha am bao an toan cho h ma RSA cung ngay cang tng nhanh chng , i u
nay lam gia m ang k hiu nng cua cac h th ng s dung h ma RSA , c bit la vi
cac ng dung thng mai in t trc tuyn hay cac h thng realtime i hi thi gian
x ly nhanh chong . G n y mt h ma mi a xu t hin va c kha nng thay th cho
RSA, o la cac h ma khoa cng khai d a trn cac ng cong Elliptic ECC (Elliptic
Curve Cryptography).
i m h p dn nh t cua cac h ma d a trn cac ng cong Elliptic la no cho
phep at c tinh an toan tng ng vi RSA trong khi kic h thc khoa s dung lai
nh hn rt nhiu, lam giam s phep tinh s dung khi ma ha, giai ma va do at c
hiu nng va t c c n thi t . Trn ly thuy t tinh an toan cua ECC khng cao b ng so vi
RSA va cung kho giai thich mt cach d hi u hn so vi RSA hay Diffie -Hellman. C s
toan hoc y u cua cac h ma da trn ng cong Elliptic vt ra ngoai pham vi cua
tai liu nay , trong ph n nay ch ng ta s ch xem xet cac vn c ban cua cac ng
cong Elliptic va cac h ma ECC.
85
Chng IV: Cc h ma mt khoa cng khai
y x3 ax b
Vi mi gia tri cu th cua a va b , s cho chng ta hai gia tri cua y (mt m va mt
dng) tng ng vi mt gia tri cua x , cac ng cong dang nay lun i xng qua
ng th ng y = 0. Vi du v hnh anh cua mt ng cong Elliptic:
86
Chng IV: Cc h ma mt khoa cng khai
87
Chng IV: Cc h ma mt khoa cng khai
88
Chng IV: Cc h ma mt khoa cng khai
Vi cac ng cong Elliptic trn ZP chng ta inh ngha lai phng trnh biu din
nh sau:
y2 mod p = (x3 + ax + y) mod p. (phng trin h 2)
Ch ng han cac gia tri a = 1, b = 1, x = 9, y = 9, y = 7, p = 23 tha man phng trnh
trn.
Cac gia tri h s a, b va cac bi n s x , y u thuc Z P. Tp E P(a, b) g m t t ca cac
cp (x, y) tha man phng trnh phng trnh 2.
Vi du vi p = 23, a = b = 1, ta co tp E23(1, 1):
89
Chng IV: Cc h ma mt khoa cng khai
Cac qui tc v phep cng cung c inh ngha tng t i vi cac ng cong
Elliptic nguyn t :
i u kin: (4a3 + 27b2) mod p 0.
1. P+O=P
2. N u P = (xP, yP) th P +(xP, yP) = O, i m (xP, yP) c goi la i cua P , ky
hiu la P. Ch ng han trn E23(1, 1), P = (13, 7) ta co P = (13, 7) nhng 7 mod 23 = 16 nn
P = (13, 16), cung thuc E23(1, 1).
3. Vi hai i m phn bit P = (xP, yP) va Q = (xQ, yQ), R = P + Q = (xR, yR)
c inh nghia nh sau:
xR ( 2 xP xQ ) mod p
yR ( ( xP xR ) yP ) mod p
Trong o:
yQ yP
( ) mod p, ( P Q)
xQ xP
2
( 3xP a ) mod p, () p Q)
2y
P
4. Phep nhn c inh ngha la tng cua cac phep cng , ch ng han 4P = P
+ P + P + P. Vi du vi P = (3, 10) va Q = (9, 7) trn E23(1, 1) ta co:
7 10 3 1
( ) mod 23 ( ) mod 23 ( ) mod 23 11 nn
93 6 2
xR = (112 - 3 - 9 ) mod 23 = 17
yR = (11(3 - 17) - 10) mod 23 = 20. Nn P + Q = (17, 20).
tim 2P ta tinh:
3(32 ) 1 5 1
( ) mod 23 ( ) mod 23 ( ) mod 23 6
2 10 20 4
Ch y la thc hin phep tinh cui cng ta ly phn t nghich ao cua 4 trn Z23
sau o nhn vi t s la 1.
xR=(62(3 - 7) - 10) mod 23 = 30 mod 23 = 7
yR = (6(3 - 7) - 10) mod 23 = 34 mod 23 = 12
K t lun: 2P = (7, 12).
xac inh an toan cua cac h ma mt d a trn cac ng cong Elliptic , ngi
ta thng d a trn mt con s la s ph n i m trn m t nhom Abel hu han , goi la N ,
c inh
nghia trn mt ng cong Elliptic . Trong trng h p nhom hu han E P(a, b),
ta co cac cn cua N la:
p 1 2 p N p 1 2 p , con s nay x p xi b ng s ph n t cua ZP (b ng p).
90
Chng IV: Cc h ma mt khoa cng khai
So vi cac h ma mt d a trn cac ng cong trn Z P, dang biu din cua cac h
ma da trn GF(2m) tng i khac:
y2 + xy = x3 + ax2 + b (phng trinh 3)
Trong o cac bi n x, y va cac h s a, b la cac ph n t cua GF(2m) va cac phep tinh
toan c thc hin tun theo cac qui tc trn GF(2m).
Chng ta ky hiu E 2m(a, b) la tt ca cac cp s nguyn (x, y) tha man phng trnh
phng trinh 3 va im v cng O.
Vi du: chng ta c th s dung GF(24) vi a thc b t kha qui f(x) = x4 + x + 1. Ph n
t sinh cua GF(24) la g tha man f(g) = 0, g4 = g + 1, hay dang nhi phn la 0010. Chng
ta co bang luy tha cua g nh sau:
91
Chng IV: Cc h ma mt khoa cng khai
92
Chng IV: Cc h ma mt khoa cng khai
93
Chng IV: Cc h ma mt khoa cng khai
94
Chng IV: Cc h ma mt khoa cng khai
nhi u cach khac nhau cho vic ti n x ly nay , chng ta khng ban ky ti chng y
nhng th c t la co mt vai cach d hi u th c hin vic o.
Gi ng nh i vi h trao i khoa , chng ta cn mt im G va mt nhm Elliptic
Eq(a, b) lam tham s . Mi ngi dung A l a chon mt khoa ring n A va sinh mt kha
cng khai PA = nA x G.
ma ho a mt thng ip P m gi ti cho B , A se chon mt s nguyn dng
ngu nhin k va sinh ban ma Cm g m mt cp i m:
Cm = {kG, Pm + kPB}.
Ch y la y A s dung kha cng khai cua B . giai ma ban ma , B se nhn
i m th nh t vi khoa bi mt cua B va l y k t qua nhn c tr i i m th hai:
Pm + kPB nB(kG) = Pm + k(nBG) nB(kG) = Pm.
A a che i gia tri cua P m b ng cach cng kP B vao P m. Ch c duy nht A bit gia tri
k, nn thm chi bi t kh a cng khai P B, khng ai co th loai bo mt na kP B tm ra P m.
Tuy nhin gia tri cua C m cung gm mt u mi B (ngi duy nh t gi khoa ring n B)
c th da vao u mi ma tm ra Pm.
2 3
Vi du: p = 751, EP(1, 188) tng ng vi phng trin h y = x + x + 188, G = (0,
376). Gia s A mun gi mt thng ip tng ng vi Pm = (562, 201) va A la chon k =
386, kha cng khai cua B la P B = (201, 5). Chng ta c 386(0, 376) = (676, 558) va (562,
201) + 386(201, 5) = (385, 328). Ban ma s la Cm = {(676, 558), (385, 328)}.
3.4.10. an toan cua cc h ma mt da trn cc ng cong Elliptic
an toan cua cac h ma ECC phu thuc vao vic xac inh c gia tri cua k da
trn cac gia tri kP va P. Bai toan nay c goi la bai toan Logarithm trn cac ng cong
Elliptic. Thut toan nhanh nh t giai bai toan nay la thut toan cua Pollard . Bang sau
cho chung ta s so sanh tng quan gia cac h ma:
56 112 512
80 160 1024
92 384 7680
Ngu n: Certicom
95
Chng IV: Cc h ma mt khoa cng khai
4. Bai tp
Bai tp 4.1: Cho N = 1517. Hy tnh 131435 mod N.
Bai tp 4.2: Trong h ma RSA c N = p * q = 103 * (219 1) th c th s dung ti a la
bao nhiu gia tri cua e lam kha ma ha, giai thich.
Bai tp 4.3: Trong h ma RSA c N = p*q = 103 * 113 s c bao nhiu trng hp l ban
r.
Bai tp 4.4: Trong h ch ky in t ElGamma c p = 231 1 khi ky ln mt vn ban c
th s dung ti a bao nhiu gia tri k, giai thich.
Bai tp 4.5: Cho h ma ElGamma c p = 31, a = 11 va x = 6. ma ha M = 18 ngi ta
chon k = 7. Hay thc hin tinh toan va a ra ban ma kt qua.
Bai tp 4.6: Cho h RSA c n = 1363, bit phi(n) = 1288 hay ma ha ban r M = 2007.
Bai tp 4.7: Tng t Cu 1 vi n = 215629 v phi(n) = 214684 hay giai ma ban ma M =
2007.
Bai t p 4.8: Gia s c 4 t chc s dung 4 h ma RSA truyn thng vi nhau. Goi N 1,
N2, N3, N4 ln lt la cac tham s tng ng ma ho s dung va (Ni, Nj) = 1 i j v i, j
Z5/{0}. Ca bn h RSA nay u c s mu lp ma la e = 3. Mt thng ip m sau khi ma
ha bng 4 h ma trn nhn c 4 ban ma tng ng la C1, C2, C3, C4. Hy tm m.
Bai tp 4.9: Cho h ma Knapsack c A = {11, 15, 30, 60}, M = 150 va u = 77.
a) Hy tm kha cng khai KP, v kha bi mt KS cua h ma trn.
b) ma ha cac thng ip vit bng ting Anh ngi ta dng mt ham chuyn
i t cac ky t thanh cac xu nhi phn nh sau:
Ky t Xu bt Ky t Xu bt Ky t Xu bt Ky t Xu bt
A 00000 H 00111 O 01110 V 10101
B 00001 I 01000 P 01111 W 10110
C 00010 J 01001 Q 10000 X 10111
D 00011 K 01010 R 10001 Y 11000
E 00100 L 01011 S 10010 Z 11001
F 00101 M 01100 T 10011
G 00110 N 01101 U 10100
Khi vi du xu ABCD s c chuyn thanh 00000 00001 00010 00011 va ct
thanh cac xu c dai 4 thc hin ma ha. Kt qua thu c ban ma la mt day cac
s ZM. Hay thc hin ma ha xu P = ANTI.
c) Gia s ban ma thu c la C = <120, 105, 105, 0, 60, 75, 30, 22, 22, 30>. Hy
thc hin giai ma ban ma trn thu c thng ip ban u.
Bai tp 4.10: Cho h ma Knapsack c A = {7, 13, 31, 53}, M = 173 va u = 97.
a) Hy tm kha cng khai KP, va kha bi mt KS cua h ma trn.
96
Chng IV: Cc h ma mt khoa cng khai
b) ma ha cac thng ip vit bng ting Anh ngi ta dng mt ham chuyn
i t cac ky t thanh cac xu nhi phn nh sau:
Ky t Xu bt Ky t Xu bt Ky t Xu bt Ky t Xu bt
A 00000 H 00111 O 01110 V 10101
B 00001 I 01000 P 01111 W 10110
C 00010 J 01001 Q 10000 X 10111
D 00011 K 01010 R 10001 Y 11000
E 00100 L 01011 S 10010 Z 11001
F 00101 M 01100 T 10011
G 00110 N 01101 U 10100
97
Chng IV: Cc h ma mt khoa cng khai
98
Chng IV: Cc h ma mt khoa cng khai
99
Chng IV: Cc h ma mt khoa cng khai
100
Chng V: Ch ky i n t va ham bm
CHNG V: CH KY IN T VA HAM BM
1. Ch ky i n t
1.1. Khi nim v ch ky in t
K t khi con ngi phat minh ra ch vit, cac ch ky thng lun c s dung
hang ngay, chng han nh ky mt bin nhn trn mt bc th nhn tin t ngn hang, ky
hp ng hay mt vn ban bt ky nao . Ch ky vit tay thng thng trn tai liu
thng c dng xac inh ngi ky n.
S ch ky in t la mt phng phap ky mt vn ban hay lu bc in di
dang in t. Chng han mt bc in c ch ky c lu hanh trn mang may tinh.
Ch ky in t t khi ra i a c nhiu ng dung rng rai trong cac giao dich thng
mai, t vic xac minh ch ky cho n cac the tin dung, cac s inh danh va cac s
chia se bi mt ... Sau y, chng ta s tm hiu mt s s ch ky quan trong. Song
trc ht, chng ta s thao lun mt vai im khac bit c ban gia ch ky thng thng
va ch ky in t.
u tin la vn ky mt tai liu. Vi ch ky thng thng n la mt phn vt ly
cua tai liu. Tuy nhin, mt ch ky in t khng gn theo kiu vt ly vao bc in nn
thut toan c dng phai la khng nhn thy theo cach nao trn bc in.
Th hai la vn kim tra. Ch ky thng thng c kim tra bng cach so sanh
n vi cac ch ky xac thc khac. Vi du, ai ky mt tm sec mua hang, ngi ban s
so sanh ch ky trn manh giy vi ch ky nm mt sau the tin dung kim tra.
Mt khac, ch ky s c th kim tra bng mt thut toan kim tra mt cach cng khai.
Nh vy, bt ky ai cung c th kim tra c ch ky in t. Vic s dung mt s ky
an toan c th ngn chn c kha nng gia mao.
S khac bit c ban gia ch ky in t va ch ky thng thng la ch: mt ban
copy tai liu c ch ky c ng nht vi ban gc. Ni cach khac, tai liu c ch ky trn
giy thng c th khac bit vi ban gc iu nay ngn chn mt bc in c ky
khi bi dng lai. Vi du, nu B ky mt bc in xac minh cho A rt 100$ t tai khoan cua
mnh, anh ta ch mun A c kha nng lam iu mt ln. V th, ban thn bc in phai
cha thng tin khi bi dng lai, chng han nh dng dich vu gan nhan thi gian (Time
Stamping Service).
Mt s ch ky in t thng cha hai thanh phn: thut toan ky sig() va thut
toan xac minh ver(). B c th ky mt bc in x dng thut toan ky an toan (bi mt). Kt
qua ch ky y = sig(x) nhn c c th c kim tra bng thut toan xac minh cng
khai ver(y). Khi cho trc cp (x, y), thut toan xac minh cho gia tri TRUE hay FALSE tuy
thuc vao vic ch ky c xac thc nh th nao.
Vy th nao la ch ky in t? Chng ta c mt s inh ngha nh sau:
La mt inh danh in t c tao ra bi may tinh c cac t chc s dung
nhm at c tinh hiu qua va c hiu lc nh la cac ch ky tay.
La mt c ch xac thc ha cho phep ngi tao ra thng ip inh km mt ma
s vao thng ip ging nh la vic ky mt ch ky ln mt vn ban bnh
thng.
101
Chng V: Ch ky i n t va ham bm
TRUE nu y = sig(x)
Ver (x, y) =
FALSE nu y sig(x). [5]
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.
Ch rng ai c th gia mao ch ky cua B trn mt bc in ngu
nhin x bng cach tinh x = eK(y) vi y nao ; khi y = sigK(x). Mt bin phap
xung quanh vn kh khn nay la yu cu cac bc in cha u phn d
ch ky gia mao kiu nay khng ph hp vi toan b ni dung cua bc in x tr
mt xac sut rt nh. C th dng cac ham Bm (hash function) nh MD4, MD5
trong vic tinh kt ni cac s ch ky in t s loai tr phng phap gia mao
ny (s trnh bay trong cac phn sau cua tai liu).
1.2. H ch ky RSA
102
Chng V: Ch ky i n t va ham bm
sigK(x) = xa mod n
v
sigK(x, k) = (, )
trong o: = k mod p
103
Chng V: Ch ky i n t va ham bm
1
i j
ij
(mod p)
1
ij
(mod p)
x (mod p).
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:
104
Chng V: Ch ky i n t va ham bm
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
1 x1 (mod p)
2 x 2 (mod p).
Do : x1 x2 1 2 (mod p) .
x 1 x2
x =
d
1 2
=
d
p 1
p =
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:
105
Chng V: Ch ky i n t va ham bm
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.4. Chun ch ky in t (Digital Signature Standard)
1.4.1. Thut ton ch ky in t (Digital Signature Algorithm)
Thang 8/1991, NIST a a ra thut toan ch ky in t (DSA) la c s cho chun
ch ky in t. y la mt bin th cua thut toan ElGammal.
1) Chn mt s nguyn t q vi 2159 < q < 2160.
2) Chn t sao cho 0 t 8 v chn mt s nguyn t p, trong o 2511+64t < p <
2512+64t v q phi chia ht (p-1) (hay q la mt c nguyn t ca p-1).
3) By gi, to ra mt s duy nht cho q trong trng Zp*.
- Chn mt gi tr g Zp* v tinh = g(p-1)/q mod p.
- Nu = 1 th quay li bc trn. (chn li gi tr g cho ph hp)
4) Chn mt s nguyn ngu nhin a 1 a q-1.
5) Tinh y = a mod p.
6) Nh vy , kho ky l (p, q, , y) c cng khai v a l kho bi mt.
1.4.2. Chun ch ky in t
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.
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 512-bit, va nhiu ngi
cho rng dai cua p nn la 1024-bit nhm chng lai vic gia mao trong tng lai.
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 kheo leo, 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 :
106
Chng V: Ch ky i n t va ham bm
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
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.4.2.1) (1.4.2.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 v p = 78*q + 1 = 7879 v 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.
107
Chng V: Ch ky i n t va ham bm
1.5. M hin
h ng dung cua ch ky i n t
Khac vi ch ky thng thng trn th c t , cac ch ky in t la mt thng tin
dang s h a c tao ra t vn ban s dung h ch ky in t va khng phai la mt
ph n cua vn ban . Do o sau khi c tao ra , ch ky in t se c gi i cung vi
thng ip , ngi nhn nhn c thng ip va ch ky tng ng s thc hin thut
toan kim tra xem ch ky c ng la ch ky cua ngi gi ln vn ban nhn c hay
khng. M hin h ng dung nay co th c minh hoa qua hin h ve sau:
C2 C2
P, S AES AES P, S
P S Kim tra P
Ky
ch ky
A - ngi gi B - ngi nhn
108
Chng V: Ch ky i n t va ham bm
x z = h(x) y = sigK(z)
x.y
verK(y)
0: true
x.y
1: false
z = h(x)
Hnh 5.2: S ch ky s dung ham Bm
2.2. c tinh cua ham Bm
109
Chng V: Ch ky i n t va ham bm
110
Chng V: Ch ky i n t va ham bm
1 2 k 1 k 1
i
(1-
n
)(1- ) ... (1-
n n
)= (1 n ) .
i 1
k 1 k 1 i k ( k 1)
i i
Vi
n
1 , th
i 1
(1
n
)
i 1
en e 2n
. Do , xac sut xay ra ung it
k ( k 1)
nht la 1 e 2n
. Gia s goi xac sut trn la ta co:
k ( k 1)
1 e 2n
(*)
1 1
Suy ra : k k 2n log , suy ra: k 2n log
2
(**)
1 1
1
Theo cng thc (**) nay khi gia tri e rt gn vi 1 th log vn kha nho nn k la
1
t l vi n . Vi = 0.5 ta co k1.1774 n (***).
Vi d:
Vi k = 23 la s ngi, n = 365 la s ngay trong nm th xac xut tn tai hai ngi
c cng sinh nht s la = 1 2,7-0,7 0,5075. Va y chinh la nghich ly ngay sinh a
phat biu trn. Hoc chung ta co th thay n = 365 vao cng thc (***) s nhn c k =
22.49 23.
Nghich ly ngay sinh hay cng thc (*) cho phep chung ta d oan c chn di
cua s lng phep th cn thc hin tm ra ung cua mt ham bm . Mt ham bm
40-bit se la khng an toan vi chi c n th 220 (khoang 1 t) phep th chng ta a c xac
su t ung la 50%.
Tng t , vi mt ham Bm c khng gian Bm 64-bit nu trn th s phep th
c xac sut ung la 50% s la 232, iu nay la c kha nng thc hin c. Vi du vi
loai may tinh nu trn ch mt khoang 1 gi tinh toan.
Ham bm c coi la an toan la cac ham bm 128 bit (nh MD5 ..) v khi s
l ng phep th se la 264. Tuy nhin hin nay vi s phat tri n cua cac thut toan tham
ma ham bm mi c phat hin cac ham bm 128 cung c khuyn nghi la khng nn
s dung trong cac h th ng bao mt mi . Cac ham bm c khuyn nghi thay th cho
MD5 la cac ham bm 164 bit nh DSS, SHA2.
2.4. Mt s ham Bm ni ting
2.4.1. 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
111
Chng V: Ch ky i n t va ham bm
Bm MD5, y la mt cai tin cua MD4 va la ham Bm c s dung rng rai nht,
nguyn t c thi t k cua ham bm nay cung la nguyn t c chung cho r t nhi u cac ham
bm khac.
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 <
512-bit) 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 word 32-bit (N word 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, 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 A
B Vng Vng Vng Vng B
C C
D
1 2 3 4 D
112
Chng V: Ch ky i n t va ham bm
Mj ti
a
Hm phi
c <<< s
tuyn
d
Hnh 5.4: S mt vng lp MD5
C bn ham phi tuyn, mi ham nay c s dung cho mi vng:
F(X,Y,Z ) = (X Y) ((X) Z)
G(X,Y,Z ) = ((X Z) (Y (Z)))
H(X,Y,Z ) = X Y Z
I(X,Y,Z ) = Y (X (Z)).
113
Chng V: Ch ky i n t va ham bm
114
Chng V: Ch ky i n t va ham bm
115
Chng V: Ch ky i n t va ham bm
Cung ging vi MD5, bc in c cng thm mt bit 1va 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 Y) ((X) Z) vi 0 t 19
ft(X,Y,Z) = X Y Z vi 20 t 39
ft(X,Y,Z) = (X Y) (X Z) (Y Z) vi 40 t 59
ft(X,Y,Z) = X Y Z vi 60 t 79.
Bn hng s s dung trong thut toan la:
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.
Cc khi bc in c m rng t 16 word 32-bit (M0 n M15) thnh 80 word 32-
bit (W 0 n W 79) bng vic s dung thut toan m rng:
Wt = Mt vi 0 t 15
Wt = (Wt-3 Wt-8 Wt-14 Wt-16) vi 16 t 79.
Ta c th miu ta mt vng lp cua SHA nh sau:
116
Chng V: Ch ky i n t va ham bm
Wt Kt
ei-1 ei
di-1 di
Hm phi
ci-1 tuyn ci
bi-1 <<< 30 bi
ai-1 <<< 5 ai
117
Chng V: Ch ky i n t va ham bm
118
Chng V: Ch ky i n t va ham bm
sanh vi gia tri bm tng ng lu trong c s d liu (c th dang file text , xml, hay
file c s d liu cua mt h quan tri c s d liu nao o ). N u k t qua i sanh la khp
th ngi dng la hp l , ng c lai n u khng khp co nghia la sai mt kh u . Hin
nay t t ca cac h quan tri c s d liu u c trang bi cac ham bm cho phep
ngi dung tao ra cac gia tri bm cua mt kh u ngi dung va lu lai cac gia tri bm nay.
Vic lu cac gia tri bm am bao chung ta khn g bi l mt kh u do mt kh u c lu
dang nguyn ban trn ma y tinh hoc khi truy n qua h th ng mang . H i u hanh Unix
s dung nguyn t c lu mt kh u nh trn vi ham bm la h ma DES c lp lai 25
l n, mt kh u cua ngi dng c s dung nh kha cua h ma, ban r em ma ha la
xu 64 bit 0.
Ngay nay vi s phat trin manh m cua thng mai in t , cac giao dich u
c th c hin t xa, trn cac h th ng mang nn vic ng dung cua cac h ch ky in
t va i kem vi o la cac ham bm ngay cang tr nn quan trong . Moi thng tin trong
cac giao dich thng mai in t u cn c bao v bng cac ch ky , ham bm. V
th co th noi r ng i khi cac ham bm con quan trong hn ca cac h ma mt.
3. Bai tp
Bai tp 5.1: Cho h ch ky in t ElGamma c p = 1019, a = 191 la mt phn t
nguyn thuy cua ZP*, x = 37.
a) Hy tm kha cng khai KP, va kha bi mt KS cua h ch ky trn.
b) ky ln ban r M = 102 ngi ta chon k = 143, hay thc hin ky a ra ch ky
tng ng.
c) Kim tra xem cp (K, S) = (251, 507) c la ch ky ln vn ban M = 127 hay
khng.
Bai tp 5.2: Cho h ch ky in t RSA c p = 31, q = 41, e = 271.
a) Hy tm kha cng khai KP, va kha bi mt KS cua h ma trn.
b) Hay tinh ch ky cho thng ip M = 100.
Bai tp 5.3: Cho thut toan ch ky in t DSA co q = 11, p = 67, = 9, = 62, kha bi
mt a = 4, ky ln vn ban M = 8, ngi ta chon k = 2. Hay xac inh ch ky ln vn ban
M.
Bai tp 5.4: Cho h ch ky in t RSA co p = 47, q = 71, e= 79. Hay xac inh ch ky
cua h ma ln thng ip M = 688.
S dung mt trong cac ngn ng lp trinh C, C++, Java hoc C# lam cac bai tp sau:
Bai tp 5.5: Cai t h ch ky in t RSA.
Bai t p 5.6: Cai t h ch ky in t El Gammal.
Bai tp 5.7: Cai t ham bm MD5.
Bai tp 5.8: Cai t ham bm SHA.
Gi y: C th s dung cac th vin s ln nh MIRACL hoc cac th vin ma ngu n m
nh Crypto++ (chi ti t tai ia chi website : http://www.cryptopp.com/), Cryptolib ( chi ti t tai
ia chi website http://www.cs.auckland.ac.nz/~pgut001/cryptlib).
119
Chng VI: Qun ly khoa
120
Chng VI: Qun ly khoa
f ( x, y) a b( x y) cxy mod p
1 rA rB rA rB
1 rC 0 (rC rA )(rC rB ),
0 1 rC
Theo gia thit chon cac s r, inh thc khac 0, do h phng trnh lun c
nghim (a, b, c), tc vic chp nhn la gia tri cua KA,B la hoan toan c th. Bt ky gia tri
121
Chng VI: Qun ly khoa
a brC aC
b crC bC
a brD aD
b crD bD
Kerberos la tn cua mt h dich vu phn phi (hay cp phat) khoa phin (sesion
key) cho tng phin truyn tin bao mt theo yu cu cua ngi dng trong mt mang
truyn tin. H mt ma c s dung thng la h c khoa i xng chng han nh DES.
thc hin h nay, trc ht c quan c uy thac (hay trung tm iu phi) TA
cn chia se mt khoa DES bi mt KA vi mi thanh vin A trong mang. Sau , mi ln A
c nhu cu truyn tin bao mt vi mt thanh vin khac B th yu cu TA cp mt khoa
phin cho ca A va B. Vic cp phat s c thc hin bng mt giao thc phn phi
khoa nh sau:
1) TA chon ngu nhin mt khoa phin K, xac inh mt tem thi gian T va thi
gian sng L (nh th c ngha la khoa phin K c gia tri s dung trong khoang thi gian
t T n T+L).
122
Chng VI: Qun ly khoa
kh. Cac s p va c cng b cng khai cho moi ngi tham gia trong mang. Ngoai
ra, TA c mt s ch ky vi thut toan ky bi mt sigTA va thut toan kim tra cng khai
verTA.
Mt thanh vin bt ky A vi danh tinh ID(A) tuy y chon mt s a A (0 aA p-2) v
tnh bA aA mod p . A gi bi mt aA va ng ky cac thng tin (ID(A), bA) vi TA. TA cp
cho A chng ch:
C(A) = (ID(A), bA, sigTA(ID(A), bA)).
Cac chng ch cua cac thanh vin trong mang c th c lu gi trong mt c s
d liu cng khai hoc uy thac cho TA lu gi va cung cp cng khai cho cac thanh vin
mi khi cn n.
Khi hai thanh vin A va B trong mang cn c mt khoa bi mt chung truyn tin
bao mt cho nhau th A dng thng tin cng khai bB c trong C(B) kt hp vi s bi mt
cua mnh la aA tao nn khoa.
Khoa chung B cung tao ra c t cac thng tin cng khai bA cua A va s bi mt
aB cua mnh:
123
Chng VI: Qun ly khoa
x y 2 ( k ) 1 mod p.
124
Chng VI: Qun ly khoa
Giao thc la khng an toan i vi vic tn cng chu ng bng cach anh
trao gia ng.
Ngha la mt ngi th ba C c th anh trao cac thng tin trao i gia A va B.
Chng han, C thay aA ma A inh gi cho B bi a' A v thay aB ma B inh gi cho A
bi a'B . Nh vy, sau khi thc hin giao thc trao i khoa, A a lp mt khoa chung
a vi C ma vn tng la vi B; ng thi B cung lp mt khoa chung a' A aB vi C
A a 'B
125
Chng VI: Qun ly khoa
3) A tnh K bBa A mod p, dng verB kim th yB, dng verTA kim th C(B),
sau tinh yA = sigA(bA, bB) va gi (C(A), yA) cho B.
4) B dng verA kim th yA v dng verTA kim th C(A).
Nu tt ca cac bc c thc hin va cac phep kim th u cho kt qua ng
n th giao thc c kt thc, va ca A va B u c c khoa chung K. Do vic dng
cac thut toan kim th nn A bit chc gia tri bB la cua B va B bit chc gia tri bA cua A,
loai tr kha nng mt ngi C nao khac anh trao cac gia tri gia ng.
3.3. Giao thc trao i kho Matsumoto-Takashima-Imai
Giao thc trnh bay trong muc trn dng ba ln chuyn tin qua lai thit lp mt
khoa chung. Cac tac gia Nht Matsumoto, Takashima va Imai nghi mt cai tin ch
dng mt giao thc gm hai ln chuyn tin (mt t A n B va mt t B n A) thoa
thun khoa nh sau:
Ta gia s rng trc khi thc hin giao thc, TA a ky cp chng ch cho mi
ngi dng A theo cach trong giao thc trao i DH:
C(A) = (ID(A), bA, sigTA(ID(A), bA)).
va thut toan kim th ch ky verTA la cng khai. Trong giao thc nay, cac bA khng
trc tip tao nn cac khoa mt ma cho truyn tin, ma vi mi phin truyn tin bao mt,
khoa phin (sesion key) s c tao ra cho tng phin theo giao thc.
Giao thc trao i khoa phin MTI gm ba bc (trong c hai ln chuyn tin)
nh sau:
Giao thc nay cung c kha nng gi bi mt khoa K nh i vi giao thc Diffie-
Hellman trc s tn cng thu ng. Tuy nhin, v khng c chng ch i vi cac gia tri
sA, sB nn vn c nguy c cua s tn cng tich cc bng vic anh trao gia ng bi
mt ngi C nao theo kiu sau y:
126
Chng VI: Qun ly khoa
th C anh trao bng cach nhn (C(B), sB) va gi n A gia tri (C(B), sB) vi
s' B r 'B
mod p . Khi A tinh c khoa:
K 2 r ' A aB rB aA mod p.
Hai gia tri K1 v K2 nay khac nhau nn khng gip A va B truyn tin c cho nhau,
nhng C khng c kha nng tinh c gia tri nao trong hai gia tri (v khng bit a A v
aB) nn khac vi giao thc Diffie-Hellman, y C ch c th pha ri, ch khng th anh
cp thng tin c.
3.4. Giao thc Girault trao i kho khng chng ch
Giao thc Girault c xut nm 1991. Trong giao thc nay, ngi s dung A
khng cn dng chng ch C(A) ma thay bng mt khoa cng khai t chng thc c
cp trc bi mt TA. Phng phap nay s dung kt hp cac c tinh cua bai toan RSA
va logarit ri rac.
Gia s n la tich cua hai s nguyn t ln p va q, n = p*q, p va q c dang p = 2p 1+1,
q = 2q1+1, trong p1 v q1 cung la cac s nguyn t. Nhm nhn Z n* ng cu vi tich
Z *p xZ q* . Cp cao nht cua mt phn t trong Z n* la bi chung be nht cua p-1 v q-1, tc
la bng 2p1q1. Gia s la mt phn t cp 2p1q1 cua Z n* . Nhm tun hoan sinh bi
c ky hiu la G, bai toan tinh logarit ri rac theo c s trong G c gia thit la rt
kh.
Cac s n va la cng khai. Ch TA bit p, q. TA chon s mu cng khai e vi
UCLN(e, (n) ) = 1, va gi bi mt d e 1 mod (n).
1) A chon ngu nhin rA G , tnh s A rA mod n va gi cho B cac gia tri (ID(A),
pA, sA).
2) B chon ngu nhin rB G , tnh s B rB mod n va gi cho B cac gia tri (ID(B),
pB, sB).
127
Chng VI: Qun ly khoa
4.Bai tp
Bai tp 6.1: Gia s A va B s dung ky thut phn phi kha Diffie -Hellman truy n tin
cho nhau vi s nguyn t c chon la p = 71 va phn t nguyn thuy = 7.
a) N u khoa bi mt cua A la XA = 5 th kha cng khai cua A la g?
b) N u khoa bi mt cua B la XB = 12 th kha cng khai cua B la g?
c) Cho bi t khoa bi mt dung truy n tin?
Bai tp 6.2: A va B s dung ky thut phn ph i khoa Diffie-Hellman truy n tin cho
nhau vi p = 11 va phn t nguyn thuy = 2.
a) Hay chng minh rng = 2 ung la ph n t nguyn thuy cua Z*11.
b) N u khoa cng khai cua A la YA = 9 th kha bi mt cua A la bao nhiu?
128
Chng VI: Qun ly khoa
129
Chng VII: Giao thc m t ma
1. Giao thc
inh nghia:
Mt giao thc (protocol) ch n gin l mt chui cc bc thc hin trong o co it
nht 2 bn tham d, c thit k thc hin mt nhim v no o.[2]
inh ngha nay n gian nhng cht ch: mt chui cac bc ngha la mt day
cac bc c th t, c u c cui, bc trc phai c kt thc trc khi thc hin
bc sau. C it nht hai bn tham gia ngha la c th c nhiu ngi cng tham gia
thc hin chui bc nay, do nu mt ngi thc hin mt chui cac bc th khng
th goi la mt giao thc c. Va cui cng mt giao thc phai c thit k nhm at
c ti mt kt qua nao .
Mt giao thc c nhng c tinh nh sau:
Cac bn tham gia phai hiu cach thc va cac bc thc hin mt giao thc khi
tham gia thc hin.
Cac bn phai ng y tuyt i tun thu cac bc.
Giao thc phai r rang, tt ca cac bc phai c vit tng minh, khng c
ch nao gy nn kha nng hiu nhm.
Giao thc phai y u, tt ca cac tnh hung bin i u phai c a ra.
Giao thc mt ma la mt giao thc c vn dung cac kin thc cua ly thuyt mt ma
at c cac muc tiu v mt an toan va bao mt cho h thng. Cac thanh phn tham
gia c th la ban b tin tng ln nhau, nhng cung c th la nhng ke ich cua nhau.
Mt giao thc mt ma c lin quan n cac thut toan cua mt ma nhng thng thng
muc ich cua n i xa hn la tinh bao mt thun tuy. Cac bn c th tham d vao vic
chia se cac phn cua mt bi mt c dng chit xut ra mt thng tin nao , c th
cng kt hp phat ra mt chui s ngu nhin, c th chng minh danh tinh cua mnh
cho bn kia hay ng thi ky vao mt vn ban hp ng. Toan b vn cua ly thuyt
mt ma y la lam sao d ra va chng lai cac kha nng nghe trm hay la di.
Nguyn tc thit k giao thc: phai lam sao khng ai, khng bn nao c th
thu c nhiu hn, bit c nhiu hn nhng g ma thit k ban u gia inh.
130
Chng VII: Giao thc m t ma
Rt nhiu cac thu tuc lam n hang ngay cua chng ta c tin tng da trn s
c mt cng nhau cua cac bn i tac, chinh v th nn vic xy dng nhng giao thc
trn may tinh la khng cn n gian nh cac thu tuc i thng ma n thay th. Ban c
t hi xem ngi ta c th trao mt chng tin mt cho mt ngi la nh mua hang c
c khng? Hay th hi xem ban c dam gi th cho chinh phu vi phiu bu cua ban
ma khng c cac thu tuc am bao v vic giu tn. Tht la ngy th nu tin rng moi
ngi lam vic trn mang may tinh u trung thc. Va cung tht la ca tin nu cho rng
cac nha quan tri mang, hay thm chi ngay ca cac nha thit k ra cac mang nay la trung
thc n cng. D hu ht la nh th nhng ch cn mt thiu s nhng ngi khng
trung thc cung u ngy ra thit hai nu chng ta khng c cac bin phap am bao.
Vi phng phap hnh thc hoa, chng ta c th th thit k cac giao thc ri tm
hiu, kim tra kha nng cua n c vng hay khng trc moi kiu xm pham cua cac ke
khng trung thc; t ma cai tin, phat trin ln chng lai cac kiu tn cng . Bng
cach ma ngi ta a xy dng cac giao thc cho cac may tinh giai quyt c cac
nhim vu, cac bai toan i sng hang ngay.
Hn na giao thc may tinh la mt hnh thc tru tng hoa va khng quan tm
n vic cai t cu th. Mt giao thc la ging nhau d n c cai t trn bt c h
iu hanh nao. V th mt khi chng a c th khng inh c tin cy cua giao thc
ta c th ap dung n bt c u, d la cho may tinh, cho in thoai hay cho mt l vi
sng thng minh ...
131
Chng VII: Giao thc m t ma
132
Chng VII: Giao thc m t ma
Alice giao xe cho Bob cng lc Bob a Alice t sec c chng nhn cua nha
bng.
Alice chuyn sec vao nha bng.
Giao thc nay thc hin c bi v Alice tin tng vao chng nhn cua nha bng,
tin rng nha bng cm gi s tin cua Bob cho c ta ma khng s dung n vao u t
bt c u.
T tng nay c em ap dung vao th gii may tinh, tuy nhin y xut hin
mt s vn nht inh i vi h thng my tnh:
C th d dang tm thy va t lng tin vao mt bn th ba trung gian (trong
tai) nu ta bit va c th nhn tn mt ho. Tuy nhin nu hai bn tham gia giao thc a
nghi ng nhau th vic cng t lng tin vao mt bn th ba nao nm u khut
din trn mang may tinh cung tr nn c th ang ng.
Mang may tinh phai tn thm chi phi quan ly va bao tr may tinh trong tai.
Lun lun c nhng khoang tr vn gn lin vi bt ky mt giao thc c trong
ti no.
Trong tai phai tham gia vao moi giao dich trn mang, iu c ngha s
tr nn mt im tht nt c chai (bottleneck), d tc trn mang mt khi giao thc a
c trin khai cho mt ng dung rng rai. Tng cng s trong tai c th gip tranh b
tc nay nhng lai lam tng thm chi phi quan ly bao tr nhng may tinh c trong tai .
Bi v tt ca moi ngi trn mang u tin trong tai, d gy ra y mt im
nhay cam chiu ap lc tn cng tp trung t cac ke rnh rp pha h thng.
4.2. Giao thc co ngi phn x
yn tm giao dich, Alice va Bob cn mi mt trong tai c uy tin cao, tuy nhin
y s nay sinh vn v vic phai tra s tin xng ang cho ngi nay, r rang la
khng phai khng ang k. V vy ngi ta a nay sinh y ngh chia giao thc c trong ti
tham d (arbitrated protocol) thanh hai phn giao thc (subprotocol) hai cp di:
Mt la mt giao thc khng cn n trong tai, thc hin bt ky khi nao mun
tin hanh giao dich.
Hai la mt arbitrated giao thc ch c s dung khi Alice va Bob cai nhau v
mun c ngi phn x.
V th trong trng hp nay ta khng dng khai nim ngi trong tai (arbitrated) vi
ngha la ngi phai trc tip tham gia vao giao thc, ma s dung ngi phn x
(adjudicator), bao ham y ngha ngi nay khng cn phai c mt khi Alice va Bob tin
hanh giao dich ma ch c mi n khi Alice va Bob yu cu giai quyt tranh cai.
Cung ging nh trong tai, ngi phn x phai khng c quyn li lin can n giao
dich cua Alice va Bob, va c ca hai ngi nay tin tng. Anh ta khng tham gia trc
tip vao giao dich nh trong tai nhng s ng ra xac inh xem la giao dich c c
tin hanh ng khng va xac inh bn sai bn ng nu nh c tranh cai.Nhng im
khac bit gia trong tai va ngi phn x la ngi phn x khng phai lun lun cn
thit, nu c tranh cai th mi cn ngi phn x (khng c tranh cai th thi).
133
Chng VII: Giao thc m t ma
Cac thm phan la nhng ngi phn x chuyn nghip. Khac vi cng chng vin,
mt thm phan - ngi ma s ch c bit n hp ng nay khi nao mt trong hai
ngi Alice hay Bob li ngi kia ra toa. Giao thc dng cho ky kt hp ng nay c th
c hnh thc hoa nh sau:
Vi d:
Tai moi thi im:
Alice va Bob thoa thun cac iu khoan trong hp ng.
Alice ky hp ng.
Bob ky hp ng.
Khi c tranh cai cn giai quyt:
Alice va Bob n gp quan toa nh phn x.
Alice a ra chng c cua c ta.
Bob trnh bay cac chng c cua anh ta.
Quan toa xem xet cac chng c va phan quyt.
Y tng dng ngi phn x nay c th em vao ap dung trn may tinh. Trong
nhng giao thc th nay nu c mt bn tham gia ma khng trung thc th d liu lu
c t giao thc s cho phep ngi phn x sau nay phat hin c ai la ngi a la
di. Nh vy thay v ngn chn trc s la ao, giao thc ngi phn x s phat hin
c la di nu xay ra, thc t nay khi c ph bin rng rai s c tac dung ngn
chn, lam li bc nhng ke c y inh la ao.
4.3. Giao thc t phn x
Giao thc t phn x la loai tt nht trong s cac giao thc. Loai giao thc nay t
ban thn n c th am bao c tinh cng bng, khng cn n trong tai hay mt thm
phan phn x khi tranh cai. Ngha la giao thc loai nay c ch ra sao cho khng th
c cac k h cho tranh cai nay sinh. Nu c bn nao c y sai lut th tin trnh s cho
phep phia bn kia phat hin ra ngay va giao thc dng lai ngay lp tc. iu mong mun
cho tt ca cac giao thc u nn ch tao nh th, nhng ang tic la khng phai lc nao
cung c giao thc loai nay cho moi tnh hung.
134
Chng VII: Giao thc m t ma
Vi dang tn cng thu ng: ke ich ch ng ngoai nghe trm ch khng can
thip hay anh hng g n giao thc. Muc ich cua n la c gng quan sat va thu lm
thng tin. Tuy nhin thng tin nghe trm c ch dang ma hoa, do ke ich cn phai
bit cach phn tich, giai ma th mi dng c (cipher only attack). Mc d hnh thc tn
cng nay khng manh nhng rt kh phat hin v ke ich khng gy ng.
Vi dang tn cng chu ng (active attack): ke ich la mt th lc trong mang,
nm nhiu kha nng va phng tin c th chu ng tn cng can thip, gy anh
hng phc tap n giao thc. N c th ng gia vi mt cai tn khac can thip vao
giao thc bng nhng thng bao kiu mi, xoa b nhng thng bao ang phat trn
ng truyn, thay th thng bao tht bng thng bao gia, ngt ngang cac knh thng tin
hay sa cha vao cac kho thng tin trn mang. Cac kha nng khac nhau nay la phu thuc
vao t chc mang va vai tr cua ke ich trn mang.
Ke tn cng trong tn cng thu ng (Eve) ch c gng thu lm thng tin t cac
bn tham gia giao thc, thng qua thu nhp cac thng bao truyn tin gia cac bn
phn tich giai ma. Trong khi , ke tn cng chu ng (Mallory) c th gy ra cac tac hai
rt phc tap a dang. Ke tn cng c th c muc ich n thun la tm c tin ma n
quan tm, nhng ngoai ra n c th gy ra cac pha hoai khac nh pha hoai ng truyn
truy nhp vao nhng h thng thng tin ma ch danh cho nhng ngi c u thm quyn.
Ke ich trong tn cng chu ng tht s rt nguy him, c bit la trong cac giao
thc ma cac bn khac nhau khng nht thit phai tin nhau. Hn na phai nh rng ke
ich khng phai ch c th la nhng ke xa la bn ngoai ma n c th la mt ca nhn hp
phap trong h thng, thm chi ngay chinh la ngi quan tri mang. Ngoai ra cn c th c
nhiu ca nhn lin kt vi nhau thanh mt nhm ke ich, lam tng ln s nguy him cho
giao thc.
Mt iu cung c th xay ra la Mallory lai chinh la i tac trong giao thc. Anh ta c
th c hanh ng la di hoc la khng chiu tun theo giao thc. Loai ke ich nay c
la ke la ao (cheater). Ke la ao thuc loai thu ng th c th lam ng theo giao thc
nhng lai c tnh thu nht thm thng tin t cac bn i tac hn la c phep theo qui
inh. Ke la ao chu ng th pha v giao thc trong mt c gng la di. Rt kh gi
an toan cho mt giao thc nu nh phn ln cac bn tham gia u la nhng ke la ao
chu ng, tuy nhin i khi ngi ta cung c cac bin phap cac bn hp phap c th
d ra c s la ao ang din ra. Tt nhin cac giao thc cung cn phai c bao v
chng lai nhng ke la ao loai thu ng.
135
Tai liu tham kho
136
thi tham khao
1:
12 5
Cu 1 : Cho h m Hill c M = 2 v ma trn kha A = hy thc hin
3 7
m ha vi xu S = HARD.
11 8
Cu 2 : Cho kho a K = v tin gc l July xc nh trn trng Z 26.
3 7
Tm tin m theo gii thut Hill cipher.
137
thi tham khao
Cu 2 : Cho vec t siu tng A = (1, 2, 4, 8, 16, 32, 64, 128), m = 301, u =
31, v tin gc (bn r) l 10. Tm tin m (bn m) theo giai thu t Knapsack.
4:
Cu 1 : V lc gii t hu t sinh ma DES va giai thic h cac cng thc c
dng.
Cu 2 : Cho vec t siu tng a = (1, 2, 4, 8, 16, 32, 64, 128), m = 300, w = 29,
v tin gc l 16. Tm tin m theo gii thut Knapsack.
138
thi tham khao
139