ÑOÀ AÙN BAÛO MAÄT THOÂNG TIN HEÄ MAÕ DES
NGOÂ THÒ TUYEÁT HAØ – T012825
MUÏC LUÏC
I .1 Giôùi thieäu....................................................................................................... 3
I.2 Caùc Heä Maõ Thoâng Duïng:................................................................................. 3
e. Phöông phaùp Affine........................................................................................... 4
f. Phöông phaùp Vigenere....................................................................................... 5
I.2 LAÄP MAÕ DES................................................................................................. 14
I. 3 THAÙM MAÕ DES............................................................................................ 17
I.3.1. Thaùm maõ heä DES - 3 voøng................................................................. 20
II.3.2. Thaùm maõ heä DES 6-voøng ..................................................................... 24
II.3. 3 Caùc thaùm maõ vi sai khaùc...................................................................... 28
III. CAØI ÑAËT THAÙM MAÕ DES 3 VOØNG...................................................... 28
III.1 Giao Dieän .................................................................................................... 28
III.2 XÖÛ LYÙ ............................................................................................................
ÑOÀ AÙN BAÛO MAÄT THOÂNG TIN HEÄ MAÕ DES
NGOÂ THÒ TUYEÁT HAØ – T012825
LÔØI NOÙI ÑAÀU
Hieän nay, nöôùc ta ñang trong giai ñoaïn tieán haønh coâng nghieäp hoùa, hieän ñaïi hoùa ñaát
nöôùc. Tin hoïc ñöôïc xem laø moät trong nhöõng ngaønh muõi nhoïn. Tin hoïc ñaõ vaø ñang ñoùng goùp
raát nhieàu cho xaõ hoäi trong moïi khía caïnh cuûa cuoäc soáng.
Maõ hoùa thoâng tin laø moät ngaønh quan troïng vaø coù nhieàu öùng duïng trong ñôøi soáng xaõ hoäi.
Ngaøy nay, caùc öùng duïng maõ hoùa vaø baûo maät thoâng tin ñang ñöôïc söû duïng ngaøy caøng phoå
bieán hôn trong caùc lónh vöïc khaùc nhau treân Theá giôùi, töø caùc lónh vöïc an ninh, quaân söï, quoác
phoøng…, cho ñeán caùc lónh vöïc daân söï nhö thöông maïi ñieän töû, ngaân haøng…
ÖÙng duïng maõ hoùa vaø baûo maät thoâng tin trong caùc heä thoáng thöông maïi ñieän töû, giao dòch
chöùng khoaùn,… ñaõ trôû neân phoå bieán treân theá giôùi vaø seõ ngaøy caøng trôû neân quen thuoäc vôùi
ngöôøi daân Vieät Nam. Thaùng 7/2000, thò tröôøng chöùng khoaùn laàn ñaàu tieân ñöôïc hình thaønh taïi
Vieät Nam; caùc theû tín duïng baét ñaàu ñöôïc söû duïng, caùc öùng duïng heä thoáng thöông maïi ñieän
töû ñang ôû böôùc ñaàu ñöôïc quan taâm vaø xaây döïng. Do ñoù, nhu caàu veà caùc öùng duïng maõ hoùa vaø
baûo maät thoâng tin trôû neân raát caàn thieát.
ÑOÀ AÙN BAÛO MAÄT THOÂNG TIN HEÄ MAÕ DES
NGOÂ THÒ TUYEÁT HAØ – T012825
I. MOÄT SOÁ PHÖÔNG PHAÙP MAÕ HOÙA
I .1 Giôùi thieäu
Ñònh nghóa 1.1: Moät heä maõ maät (cryptosystem) laø moät boä-naêm (P, C, K, E, D) thoûa maõn
caùc ñieàu kieän sau:
1. P laø khoâng gian baûn roõ. taäp hôïp höõu haïn taát caû caùc maåu tin nguoàn caàn maõ hoùa coù theå
coù
2. C laø khoâng gian baûn maõ. taäp hôïp höõu haïn taát caû caùc maåu tin coù theå coù sau khi maõ
hoùa
3. K laø khoâng gian khoaù. taäp hôïp höõu haïn caùc khoùa coù theå ñöôïc söû duïng
4. Vôùi moãi khoùa kK, toàn taïi luaät maõ hoùa ekE vaø luaät giaûi maõ dkD töông öùng. Luaät
maõ hoùa ek: P C vaø luaät giaûi maõ ek: C P laø hai aùnh xaï thoûa maõn
(
)
(
)
,
kk
dex x xP=∀
Tính chaát 4. laø tính chaát chính vaø quan troïng cuûa moät heä thoáng maõ hoùa. Tính chaát naøy
baûo ñaûm vieäc maõ hoùa moät maåu tin xP baèng luaät maõ hoùa ekE coù theå ñöôïc giaûi maõ
chính xaùc baèng luaät dkD.
Ñònh nghóa 1.2: Zm ñöôïc ñònh nghóa laø taäp hôïp {0, 1, ..., m-1}, ñöôïc trang bò pheùp coäng
(kyù hieäu +) vaø pheùp nhaân (kyù hieäu laø ×). Pheùp coäng vaø pheùp nhaân trong Zm ñöôïc thöïc
hieän töông töï nhö trong Z, ngoaïi tröø keát quaû tính theo modulo m
Ví duï: Giaû söû ta caàn tính giaù trò 11 × 13 trong Z16. Trong Z, ta coù keát quaû cuûa pheùp nhaân
11×13=143. Do 14315 (mod 16) neân 11×13=15 trong Z16.
Moät soá tính chaát cuûa Zm
1. Pheùp coäng ñoùng trong Zm, i.e., a, b Zm, a+b Zm
2. Tính giao hoaùn cuûa pheùp coäng trong Zm, i.e., a, b Zm, a+b =b+a
3. Tính keát hôïp cuûa pheùp coäng trong Zm, i.e., a, b, c Zm, (a+b)+c =a+(b+c)
4. Zm coù phaàn töû trung hoøa laø 0, i.e., a Zm, a+0=0+a=a
5. Moïi phaàn töû a trong Zm ñeàu coù phaàn töû ñoái laø m a
6. Pheùp nhaân ñoùng trong Zm, i.e., a, b Zm, a×b Zm
7. Tính giao hoaùn cuûa pheùp coäng trong Zm, i.e., a, b Zm, a×b=b×a
8. Tính keát hôïp cuûa pheùp coäng trong Zm, i.e., a, b, c Zm, (a×b)×c =a×(b×c)
9. Zm coù phaàn töû ñôn vò laø 1, i.e., a Zm, a×1=1×a=a
10. Tính phaân phoái cuûa pheùp nhaân ñoái vôùi pheùp coäng, i.e., a, b, c Zm, (a+b)×c
=(a×c)+(b×c)
11. Zm coù caùc tính chaát 1, 3 – 5 neân taïo thaønh 1 nhoùm. Do Zm coù tính chaát 2 neân taïo thaønh
nhoùm Abel. Zm coù caùc tính chaát (1) – (10) neân taïo thaønh 1 vaønh
I.2 Caùc Heä Maõ Thoâng Duïng:
a. Heä Maõ Ñaày (Shift Cipher )
ÑOÀ AÙN BAÛO MAÄT THOÂNG TIN HEÄ MAÕ DES
NGOÂ THÒ TUYEÁT HAØ – T012825
Shift Cipher laø moät trong nhöõng phöông phaùp laâu ñôøi nhaát ñöôïc söû duïng ñeå
maõ hoùa. Thoâng ñieäp ñöôïc maõ hoùa baèng caùch dòch chuyeån (xoay voøng) töøng kyù töï ñi k vò t
trong baûng chöõ caùi.
Phöông phaùp Shift Cipher
Cho P = C = K = Z26. Vôùi 0 K 25, ta ñònh nghóa
eK = x + K mod 26
vaø
dK = y - K mod 26
(x,y Z26)
trong ñoù 26 laø soá kyù töï trong baûng chöõ caùi La tinh, moät caùch töông töï cuõng coù theå
ñònh nghóa cho moät baûng chöõ caùi baát kyø. Ñoàng thôøi ta deã daøng thaáy raèng maõ ñaåy laø moät heä
maät maõ vì dK(eK(x)) = x vôùi moïi xZ26.
b. Heä KEYWORD-CEASAR
Trong heä maõ naøy khoùa laø moät töø naøo ñoù ñöôïc choïn tröôùc, ví duï PLAIN. Töø naøy
xaùc ñònh daõy soá nguyeân trong Z26 (15,11,0,8,13) töông öùng vôùi vò trí caùc chöõ caùi cuûa caùc
chöõ ñöôïc choïn trong baûng chöõ caùi. Baây giôø baûn roõ seõ ñöôïc maõ hoùa baèng caùch duøng caùc
haøm laäp maõ theo thöù töï:
e15, e11, e0, e8, e13, e15, e11, e0, e8, e,...
vôùi eK laø haøm laäp maõ trong heä maõ chuyeån.
c. Heä Maõ Vuoâng (SQUARE)
Trong heä naøy caùc töø khoùa ñöôïc duøng theo moät caùch khaùc haún. Ta duøng baûng chöõ
caùi tieáng Anh (coù theå boû ñi chöõ Q, neáu muoán toång soá caùc chöõ soá laø moät soá chính phöông)
vaø ñoøi hoûi moïi chöõ trong töø khoùa phaûi khaùc nhau. Baây giôø moïi chöõ cuûa baûng chöõ caùi
ñöôïc vieát döôùi daïng moät hình vuoâng, baét ñaàu baèng töø khoùa vaø tieáp theo laø nhöõng chöõ caùi
coøn laïi theo thöù töï cuûa baûng chöõ.
d. Maõ theá vò
Moät heä maõ khaùc khaù noåi tieáng . Heä maõ naøy ñaõ ñöôïc söû duïng haøng traêm naêm nay.
Phöông phaùp :
Cho P = C = Z26. K goàm taát caû caùc hoaùn vò coù theå coù cuûa 26 kyù hieäu
0,...,25. Vôùi moãi hoaùn vò π∈K, ta ñònh nghóa:
eπ(x) = π(x)
vaø ñònh nghóa dπ(y) = π-1(y)
vôùi π -1 laø hoaùn vò ngöôïc cuûa hoaùn vò π.
Trong maõ theá vò ta coù theå laáy P vaø C laø caùc baûng chöõ caùi La tinh. Ta söû duïng Z26
trong maõ ñaåy vì laäp maõ vaø giaûi maõ ñeàu laø caùc pheùp toaùn ñaïi soá.
e. Phöông phaùp Affine
ÑOÀ AÙN BAÛO MAÄT THOÂNG TIN HEÄ MAÕ DES
NGOÂ THÒ TUYEÁT HAØ – T012825
Cho P = C = Z26 vaø cho
K = {(a,b) Z26 × Z26 : gcd(a,26) = 1}
Vôùi K = (a,b) K, ta xaùc ñònh
eK(x) = ax+b mod 26
vaø
dK = a-1(y-b) mod 26
(x,y Z26)
Phöông phaùp Affine laïi laø moät tröôøng hôïp ñaëc bieät khaùc cuûa Substitution Cipher.
Ñeå coù theå giaûi maõ chính xaùc thoâng tin ñaõ ñöôïc maõ hoùa baèng haøm ek E thì ek phaûi laø moät
song aùnh. Nhö vaäy, vôùi moãi giaù trò yZ26, phöông trình ax+by (mod 26) phaûi coù nghieäm
duy nhaát xZ26.
Phöông trình ax+by (mod 26) töông ñöông vôùi ax(yb ) (mod 26). Vaäy, ta chæ caàn
khaûo saùt phöông trình ax(yb ) (mod 26)
Ñònh lyù1.1: Phöông trình ax+by (mod 26) coù nghieäm duy nhaát xZ26 vôùi moãi giaù trò bZ26
khi vaø chæ khi a vaø 26 nguyeân toá cuøng nhau.
Vaäy, ñieàu kieän a vaø 26 nguyeân toá cuøng nhau baûo ñaûm thoâng tin ñöôïc maõ hoùa baèng haøm ek
coù theå ñöôïc giaûi maõ vaø giaûi maõ moät caùch chính xaùc.
Goïi
φ
(26) laø soá löôïng phaàn töû thuoäc Z26 vaø nguyeân toá cuøng nhau vôùi 26.
Ñònh lyù 1.2: Neáu
=
=m
i
e
i
i
pn
1
vôùi pi laø caùc soá nguyeân toá khaùc nhau vaø ei Z+, 1 i m thì
()
()
=
= m
i
e
i
e
i
ii ppn
1
1
φ
Trong phöông phaùp maõ hoùa Affine , ta coù 26 khaû naêng choïn giaù trò b,
φ
(26) khaû naêng choïn
giaù trò a. Vaäy, khoâng gian khoùa K coù taát cn
φ
(26) phaàn töû.
Vaán ñeà ñaët ra cho phöông phaùp maõ hoùa Affine Cipher laø ñeå coù theå giaûi maõ ñöôïc thoâng tin
ñaõ ñöôïc maõ hoùa caàn phaûi tính giaù trò phaàn töû nghòch ñaûo a–1 Z26.
f. Phöông phaùp Vigenere
phöông phaùp maõ hoùa Vigenere söû duïng moät töø khoùa (keyword) coù ñoä daøi m. Coù theå xem
nhö phöông phaùp maõ hoùa Vigenere Cipher bao goàm m pheùp maõ hoùa Shift Cipher ñöôïc aùp
duïng luaân phieân nhau theo chu kyø.
Khoâng gian khoùa K cuûa phöông phaùp Vigenere coù soá phaàn töû laø 26, lôùn hôn haún phöông
phaùp soá löôïng phaàn töû cuûa khoâng gian khoùa K trong phöông phaùp Shift Cipher. Do ñoù, vieäc
tìm ra maõ khoùa k ñeå giaûi maõ thoâng ñieäp ñaõ ñöôïc maõ hoùa seõ khoù khaên hôn ñoái vôùi phöông
phaùp Shift Cipher.
Phöông phaùp maõ hoùa Vigenere Cipher
Choïn soá nguyeân döông m. Ñònh nghóa P = C = K = (Z26)m