You are on page 1of 40

Mc lc

1. An ton d liu trn mng my tnh................................2


2. Cc h m ho c in...................................................4
2.1. H m ho thay th (Substitution Cipher)..............................4
2.1.1. H m ho CAESAR..........................................................4
2.1.2. H m ho VIGENERE.......................................................6
2.1.3. H m ho HILL................................................................7
2.2. H m ho i ch (Transposition Cipher)..............................8
3. Cc vn v m ho cho mng my tnh.....................10
3.1. Cc thut ng.......................................................................10
3.2. nh ngha h mt m..........................................................11
3.3. Nhng yu cu i vi h mt m........................................11
3.4. Cc phng php m ho.....................................................12
3.4.1. M ho i xng kho b mt.........................................12
3.4.2. M ho phi i xng kho cng khai..............................13
3.5. Cc cch phn tch m..........................................................15
4. Mt s thut ton m ho c bn..................................17
4.1. chun m ho d liu DES....................................................17
4.1.1. M t thut ton.............................................................20
4.1.2. Hon v khi u (The Initial Permutation).....................21
4.1.3. Kho chuyn i (The Key Transformation)....................22
4.1.4. Hon v m rng (Expansion Permutation).....................22
4.1.5. Hp thay th S (S-Box Substitution)...............................24
4.1.6. Hp hon v P (The P-Box Permutation)..........................26
4.1.7. Hon v cui cng...........................................................26
4.1.8. Gii m DES....................................................................26
4.1.9. Phn cng v phn mm thc hin DES.........................27
4.2. thut ton m ho RSA (Public-key algorithm).....................27
4.2.1. Khi nim h mt m RSA..............................................28
4.2.2. an ton ca h RSA...................................................30
4.2.3. Mt s tnh cht ca h RSA...........................................30
4.3. thut ton m ho BLOWFISH...............................................32
4.3.1. Kho ph........................................................................32
4.3.2. M ho d liu................................................................32
4.3.3. Tnh ton cc kho ph..................................................33

An ton d liu v m ho

1. An ton d liu trn mng my tnh


Ngy nay, vi s pht trin mnh m ca cng ngh
thng tin vic ng dng cc cng ngh mng my tnh tr
nn v cng ph cp v cn thit. Cng ngh mng my
tnh mang li nhng li ch to ln.
S xut hin mng Internet cho php mi ngi c
th truy cp, chia s v khai thc thng tin mt cch d
dng v hiu qu. Cc cng ngh E-mail cho php mi
ngi c th gi th cho ngi khc cng nh nhn th
ngay trn my tnh ca mnh. Gn y c cng ngh Ebusiness cho php thc hin cc hot ng thng mi
trn mng my tnh. Vic ng dng cc mng cc b trong
cc t chc, cng ty hay trong mt quc gia l rt phong
ph. Cc h thng chuyn tin ca cc ngn hng hng
ngy c th chuyn hng t la qua h thng ca mnh.
Cc thng tin v kinh t, chnh tr, khoa hc x hi c
trao i rng ri.
Tuy nhin li ny sinh vn v an ton thng tin.
cng l mt qu trnh tin trin hp logic: khi nhng vui
thch ban u v mt siu xa l thng tin, bn nht nh
nhn thy rng khng ch cho php bn truy nhp vo
nhiu ni trn th gii, Internet cn cho php nhiu ngi
khng mi m t gh thm my tnh ca bn.
Thc vy, Internet c nhng k thut tuyt vi cho
php mi ngi truy nhp, khai thc, chia s thng tin.
Nhng n cng l nguy c chnh dn n thng tin ca
bn b h hng hoc ph hu hon ton.
C nhng thng tin v cng quan trng m vic b
mt hay b lm sai lch c th nh hng n cc t chc,
cc cng ty hay c mt quc gia. Cc thng tin v an ninh
quc gia, b mt kinh doanh hay cc thng tin ti chnh l
mc tiu ca cc t chc tnh bo nc ngoi v chnh tr
hay cng nghip hoc k cp ni chung. Bn chng c th
lm mi vic c th c c nhng thng tin qu gi
ny. Th tng tng nu c k xm nhp c vo h
thng chuyn tin ca cc ngn hng th ngn hng s
chu nhng thit hi to ln nh mt tin c th dn ti b
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

ph sn. Cha k nu h thng thng tin an ninh quc gia


b e do th hu qu khng th lng trc c.
Theo s liu ca CERT(Computer Emegency Response
Team - i cp cu my tnh), s lng cc v tn cng
trn Internet c thng bo cho t chc ny l t hn
200 vo nm 1989, khong 400 vo nm 1991, 1400 vo
nm 1993, v 2241 vo nm 1994. Nhng v tn cng ny
nhm vo tt c cc my tnh c mt trn Internet, cc
my tnh ca tt c cc cng ty ln nh AT&T, IBM, cc
trng i hc, cc c quan nh nc, cc t chc qun
s, nh bng... Mt s v tn cng c quy m khng l
(c ti 100.000 my tnh b tn cng). Hn na, nhng
con s ny ch l phn ni ca tng bng. Mt phn rt
ln cc v tn cng khng c thng bo, v nhiu l do,
trong c th k n ni lo b mt uy tn, hoc n gin
nhng ngi qun tr h thng khng h hay bit nhng
cuc tn cng nhm vo h thng ca h.
Khng ch s lng cc cuc tn cng tng ln nhanh
chng, m cc phng php tn cng cng lin tc c
hon thin. iu mt phn do cc nhn vin qun tr h
thng c kt ni vi Internet ngy cng cao cnh
gic. Cng theo CERT, nhng cuc tn cng thi k 19881989 ch yu on tn ngi s dng-mt khu (UserIDpassword) hoc s dng mt s li ca cc chng trnh
v h iu hnh (security hole) lm v hiu h thng bo
v, tuy nhin cc cuc tn cng vo thi gian gn y bao
gm c cc thao tc nh gi mo a ch IP, theo di thng
tin truyn qua mng, chim cc phin lm vic t xa
(telnet hoc rlogin).
va bo m tnh bo mt ca thng tin li khng
lm gim s pht trin ca vic trao i thng tin qung
b trn ton cu th mt gii php tt nht l m ho
thng tin. C th hiu s lc m ho thng tin l che i
thng tin ca mnh lm cho k tn cng nu chn c
thng bo trn ng truyn th cng khng th c c
v phi c mt giao thc gia ngi gi v ngi nhn
c th trao i thng tin, l cc c ch m v gii m
thng tin.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

Ngy nay th vic m ho tr nn ph cp. Cc


cng ty phn mm ln trn th gii u c nghin cu v
xy dng cc cng c, thut ton m ho p dng cho
thc t. Mi quc gia hay t chc u c nhng c ch m
ho ring bo v h thng thng tin ca mnh.
Mt s vn an ton i vi nhiu mng hin nay:
Mt ngi dng chuyn mt thng bo in t cho mt
ngi s dng khc. Mt bn th ba trn cng mng LAN
ny s dng mt thit b nghe trm gi ly thng bo
v c cc thng tin trong .
Cng trong tnh hung trn bn th ba chn thng bo,
thay i cc thnh phn ca n v sau li gi cho ngi
nhn. Ngi nhn khng h nghi ng g tr khi nhn ra
thng bo l v l, v c th thc hin vi hnh ng
da trn cc thnh phn sai ny em li li ch cho bn
th ba.
Ngi dng log vo mt server m khng s dng mt
khu c m ho. Mt ngi khc ang nge trm trn
ng truyn v bt c mt khu logon ca ngi dng,
sau c th truy nhp thng tin trn server nh ngi s
dng.
Mt ngi qun tr h thng khng hiu v kha cnh
an ton v yu cu ca h thng v v tnh cho php
ngi dng khc truy nhp vo th mc cha cc thng
tin h thng. Ngi dng pht hin ra h c th c c
cc thng tin h thng v c th dng n phc v cho loi
ch ca mnh.
2. Cc h m ho c in
2.1. H m ho thay th (Substitution Cipher)
H m ho thay th l h m ho trong mi k t
ca bn r c thay th bng k t khc trong bn m
(c th l mt ch ci, mt s hoc mt k hiu).
C 4 k thut thay th sau y:
Thay th n (A simple substitution cipher): l h trong
mt k t ca bn r c thay bng mt k t tng
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

ng trong bn m. Mt nh x 1-1 t bn r ti bn m
c s dng m ho ton b thng ip.
Thay th ng m (A homophonic substitution cipher):
ging nh h thng m ho thay th n, ngoi tr mt k
t ca bn r c th c nh x ti mt trong s mt vi
k t ca bn m: s nh x 1-n (one-to-many). V d,
A c th tng ng vi 5, 13, 25, hoc 56, B c th
tng ng vi 7, 19, 31, hoc 42, v.v.
Thay th a mu t (A polyalphbetic substitution
cipher): c to nn t nhiu thut ton m ho thay th
n. nh x 1-1 nh trong trng hp thay th n, nhng
c th thay i trong phm vi mt thng ip. V d, c
th c nm thut ton m ho n khc nhau c s
dng; c bit thut ton m ho n c s dng thay
i theo v tr ca mi k t trong bn r.
Thay th a s (A polygram substitution cipher): l
thut ton trong cc khi k t c m ho theo
nhm. y l thut ton tng qut nht, cho php thay
th cc nhm k t ca vn bn gc. V d, ABA c th
tng ng vi RTQ, ABB c th tng ng vi SLL, v.v.
2.1.1. H m ho CAESAR
H m ho CAESAR l mt h m ho thay th n
lm vic trn bng ch ci ting Anh 26 k t (A, B, ... , Z).
Trong h CAESAR v cc h tng t cn li ta s
dng cc s t nhin thay cho cc k t - nh s cc k
t trong bng ch ci theo th t: A l 0, B l 1, ... v Z l
25.
A

...

...

...

11

12

13

...

22

23

23

25

Cc php ton s hc thc hin theo modul 26. C


ngha l 26 ng nht vi 0, 27 ng nht vi 1, 28 ng
nht vi 2, ... V d:
217 + 59 = 79 = 1 + 326 = 1
H CAESAR s dng thut ton m ho trong mi
k t c thay th bi mt k t khc c xc nh bng

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

cch dch k t cn m ho sang phi k bc theo modul


26:
Ek() = ( + k) MOD 26
vi l mt k t, 0 k 26, MOD l php chia ly phn
d.
Thut ton gii m tng ng Dk l li li k bc
trong bng ch ci theo modul 26:
Dk() = ( - k) MOD 26
Khng gian kho ca h CEACAR bao gm 26 s 0, 1,
2, ... 25.
V d: vi k=3, A c thay bng D, B c thay bng
E, ... , W c thay bng Z, ... , X c thay bng A, Y c
thay bng B, v Z c thay bng C. Ta c:
Bng ch ci gc
A B C D E F G H I J K L M N O P Q R S T U V WX Y Z
Bng ch ci dng m ho
D E F G H I J K L M N O P Q R S T U V WX Y Z A B C
Trong trng hp ny bn r TRY AGIAN c m
ho thnh WUB DJDLQ, bn r HELP ME c m ho
thnh KHOSPH. (Ch : cc k t trng trong bn m
c b i m bo tnh an ton)
Thm mt vi v d minh ho:
E25(IBM) = HAL, E6(MUPID) = SAVOJ,
E3(HELP) = KHOS, E1(HOME) = IPNF,
E6(SAVOJ) = E20(SAVOJ) = MUPID.
H CAESAR l h m ho c v khng an ton v
khng gian kho ca n rt nh, do c th thm m
theo phng php vt cn. Kho gii m c th tnh ngay
ra c t kho m ho. Do ch c 26 kho nn ta c th
th ln lt cc kho cho n khi tm c kho ng.
2.1.2. H m ho VIGENERE
H m ho ny c t theo tn ca mt nh mt
m ngi Php Blaise de Vigenre (1523-1596).

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

VIGENERE cng ging nh CAESAR, nhng y


kho c thay i theo tng bc. Hnh vung VIGENERE
c s dng m ho v gii m.
A B C D E F G H I J K L M N O P Q R S T U V WX Y Z
B C D E F G H I J K L M N O P Q R S T U V WX Y Z A
C D E F G H I J K L M N O P Q R S T U V WX Y Z A B
D E F G H I J K L M N O P Q R S T U V WX Y Z A B C
E F G H I J K L M N O P Q R S T U V WX Y Z A B C D
F G H I J K L M N O P Q R S T U V WX Y Z A B C D E
G H I J K L M N O P Q R S T U V WX Y Z A B C D E F
H I J K L M N O P Q R S T U V WX Y Z A B C D E F G
I J K L M N O P Q R S T U V WX Y Z A B C D E F G H
J K L M N O P Q R S T U V WX Y Z A B C D E F G H I
K L M N O P Q R S T U V WX Y Z A B C D E F G H I J
L M N O P Q R S T U V WX Y Z A B C D E F G H I J K
M N O P Q R S T U V WX Y Z A B C D E F G H I J K L
N O P Q R S T U V WX Y Z A B C D E F G H I J K L M
O P Q R S T U V WX Y Z A B C D E F G H I J K L M N
P Q R S T U V WX Y Z A B C D E F G H I J K L M N O
Q R S T U V WX Y Z A B C D E F G H I J K L M N O P
R S T U V WX Y Z A B C D E F G H I J K L M N O P Q
S T U V WX Y Z A B C D E F G H I J K L M N O P Q R
T U V WX Y Z A B C D E F G H I J K L M N O P Q R S
U V WX Y Z A B C D E F G H I J K L M N O P Q R S T
V WX Y Z A B C D E F G H I J K L M N O P Q R S T U
WX Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V WX
Z A B C D E F G H I J K L M N O P Q R S T U V WX Y
Hnh n. Hnh vung VIGENERE
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

Mi ct ca hnh vung VIGENERE c th xem nh l


mt h CAESAR, vi cc kho 0, 1, 2, ... , 25. m ho
th bn r c c t cc hng v kho c c t cc
ct.
V d m ha bn r PURPLE vi t kho CRYPTO,
u tin ta tm im giao nhau ca hng P v ct C, ta
c R. C nh vy ta c bn m RLPEES. Ta s thu
c bn m tng t nu ta thay i vai tr ca hng v
ct trong khi m ho. gii m bn m RLPEES va m
ho, ta nhn vo hng no c cha R trong ct C, theo
cch ny ta s tm c P. V nh vy ta tm c bn r
l PURPLE.
T kho thng c p dng mt cch tun hon.
Nu bn r di hn t kho th t kho li c bt u li
t u. V d, t kho CRYPTO c p dng vi bn r c
15 k t l CRYPTO CRYPTO CRY.
Ta thy rng trong h m ho VIGENERE, vi kho c
di d th s c 26d kho hp l. V vy, ch cn vi gi
tr d nh th phng php thm m vt cn cng i hi
kh nhiu thi gian.
2.1.3. H m ho HILL
H m ho ny da trn l thuyt v i s tuyn
tnh do Lester S.Hill a ra nm 1929.
C khng gian bn r v bn m u l *, trong
l bn ch ci ting Anh. Chng ta s dng cc s t nhin
thay cho cc k t v cc php ton s hc c thc hin
theo modul 26 nh ni phn trn.
Ta chn mt s nguyn (integer) d 2. Xt M l ma
trn vung d chiu. Cc phn t ca M l cc s nguyn t
0 n 25. Hn na M phi l ma trn kh nghch, tc l tn
ti M -1. V d:

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

M=

v M -1 =

15 17

20 9

m ho, b d ch ci ca bn r c m ho
cng nhau. Trong cc trng hp s xt di y ta ly
d=2.
Qu trnh m ho c thc hin theo cng thc:
MP = C
trong P v C c vit thnh cc vecter ct d chiu. Mi
b d ch ci ca bn r c vit thnh vecter P vi cc
thnh phn l cc s biu din cc k t. V C cng th
hin khi d k t ca bn m.
Cn khi gii m ta phi dng ma trn nghch o M 1:
P = CM -1
V d, bn r HELP c vit thnh hai vecter

P1 =

H

E

7

4

v P2 =

L

P

11

15

theo cng thc m ho ta c

MP1 =

3 7

5 4

33

34

7

8

H

I

= C1 v

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

10

An ton d liu v m ho

MP2 =

3 11

5 15

78

97

0

19

A

T

= C2

chng ta thu c bn m HIAT.


2.2. H m ho i ch (Transposition Cipher)
Mt h m ho i ch l h m ho trong cc k
t ca bn r vn c gi nguyn, nhng th t ca
chng c i ch vng quanh.
V d mt h m ho i ch ct n gin, bn r
c vit theo hng ngang trn trang giy vi di c
nh, v bn m c c theo hng dc (Hnh 2).
Bn r: COMPUTER GRAPHICS MAY BE SLOW BUT AT LEAST ITS
EXPENSIVE

COMPUTERGR
APHICSMAYB
ESLOWBUTAT
LEASTITSEX
PENSIVE

Bn m:

CAELPOPSEEMHLANPIOSSUCWTITSBIUEMUTERATSGYAERBTX

Hnh 2. M ho thay i v tr ct
Phng php ny c cc k thut sau:
o ngc ton b bn r: ngha l bn r c vit
theo th t ngc li to ra bn m. y l phng
php m ho n gin nht v vy khng m bo an
ton.
V d: bn r TRANSPOSITION CIPHER c m ho
thnh REHPICNOITISOPSNART.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

11

An ton d liu v m ho

M ho theo mu hnh hc: bn r c sp xp li theo


mt mu hnh hc no , thng l mt mng hoc mt
ma trn hai chiu.
V d: bn r LIECHTENSTEINER c vit thnh ma
trn 35 theo hng nh sau:
Ct

Bn r

Nu ly cc k t ra theo s th t ct 2, 4, 1, 3, 5 th
s c bn m IEICSELTEENNHTR.
i ch ct: u tin i ch cc k t trong bn r
thnh dng hnh ch nht theo ct, sau cc ct c
sp xp li v cc ch ci c ly ra theo hng ngang
V d: bn r gc l NGAY MAI BAT DAU CHIEN DICH
XYZ c vit di dng ma trn 55 theo ct nh sau:
Ct

Bn r

V c 5 ct nn chng c th c sp li theo 5!
=120 cch khc nhau. tng an ton c th chn
mt trong cc cch sp xp li .
Nu ta chuyn v cc ct theo th t 3, 5, 2, 4, 1 ri
ly cc k t ra theo hng ngang ta s c bn m l
DCAINAHIEGUXBNACYADY HZTIM. Lu rng cc k t
cch c b i.
Hn ch ca phng php ny l ton b cc ma trn
k t phi c sinh m ho v gii m.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

12

An ton d liu v m ho

Hon v cc k t ca bn r theo chu k c nh d: Nu


hm f l mt hon v ca mt khi gm d k t th kho
m ho c biu din bi K(d,f).
Do vy, bn r:
M = m1m2...mdmd+1...m2d
Vi mi l cc k t , v bn r s c m ho thnh:
Ek(M) = mf(1)mf(2)...mf(d)md+f(1)...md+f(d)
Trong mf(1)mf(2)...mf(d) l mt hon v ca m1m2...md.
V d: gi s d=5 v f hon v dy i=12345 thnh
f(i)=35142
V tr u

V tr hon T
v

M ho

Theo bng trn, k t u trong khi 5 k t c


chuyn ti v tr th 3, k t th hai c chuyn ti v tr
th 5, ... Chng hn t gc GROUP c m ho thnh
OPGUR.
Bng cch , bn r I LOVE BEETHOVENS MUSIC
s c chuyn thnh OEIVLEHBTEESONVSCMIU.
H m ADFGV ca c, c s dng trong sut
chin tranh th gii ln th I, l mt h m ho i ch
(c s dng thay th n gin). N c coi l mt thut
ton m ho phc tp vo thi y nhng n b ph bi
Georges Painvin, mt nh thm m ngi Php.
Mc d c rt nhiu h thng m ho s dng i
ch, nhng chng rt rc ri bi v n i hi rt nhiu b
nh.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

13

3. Cc vn v m ho cho mng my tnh


3.1. Cc thut ng
1. H mt m l tp hp cc thut ton v cc th tc kt
hp che du thng tin cng nh lm r n.
2. Mt m hc nghin cu mt m bi cc nh mt m
hc, ngi vit mt m v cc nh phn tch m.
3. M ho l qu trnh chuyn thng tin c th c gi l
bn r thnh thng tin khng th c gi l bn m.
4. Gii m l qu trnh chuyn ngc li thng tin c m
ho thnh bn r.
5. Thut ton m ho l cc th tc tnh ton s dng
che du v lm r thng tin. Thut ton cng phc tp
th bn m cng an ton.
6. Mt kho l mt gi tr lm cho thut ton m ho chy
theo cch ring bit v sinh ra bn r ring bit tu
theo kho. Kho cng ln th bn m kt qu cng an
ton. Kch thc ca kho c o bng bit. Phm vi
cc gi tr c th c ca kho c gi l khng gian
kho.
7. Phn tch m l qu trnh hay ngh thut phn tch h
mt m hoc kim tra tnh ton vn ca n hoc ph n
v nhng l do b mt.
8. Mt k tn cng l mt ngi (hay h thng) thc hin
phn tch m lm hi h thng. Nhng k tn cng l
nhng k thc mi vo chuyn ngi khc, cc tay
hacker, nhng k nghe trm hay nhng cc tn ng
ng khc, v h lm nhng vic thng gi l cracking
3.2. nh ngha h mt m.
1. H mt m: l mt h bao gm 5 thnh phn (P, C, K, E,
D) tho mn cc tnh cht sau
P ( Plaintext ) l tp hp hu hn cc bn r c th.
C ( Ciphertext ) l tp hp hu hn cc bn m c
th.
K ( Key ) l tp hp cc bn kho c th.
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

14

E ( Encrytion ) l tp hp cc qui tc m ho c th.


D ( Decrytion ) l tp hp cc qui tc gii m c th.
Chng ta bit mt thng bo thng c t chc
di dng bn r. Ngi gi s lm nhim v m ho bn
r, kt qu thu c gi l bn m. Bn m ny c gi
i trn mt ng truyn ti ngi nhn sau khi nhn c
bn m ngi nhn gii m n tm hiu ni dung.
D dng thy c cng vic trn khi s dng nh
ngha h mt m :
EK( P) = C v DK( C ) = P
3.3. Nhng yu cu i vi h mt m
Cung cp mt mc cao v tin cy, tnh ton vn,
s khng t chi v s xc thc.
tin cy: cung cp s b mt cho cc thng bo v d
liu c lu bng vic che du thng tin s dng cc
k thut m ha.
Tnh ton vn: cung cp s bo m vi tt c cc bn
rng thng bo cn li khng thay i t khi to ra cho
n khi ngi nhn m n.
Tnh khng t chi: c th cung cp mt cch xc nhn
rng ti liu n t ai ngay c khi h c gng t
chi n.
Tnh xc thc: cung cp hai dch v: u tin l nhn
dng ngun gc ca mt thng bo v cung cp mt
vi s bo m rng n l ng s thc. Th hai l kim
tra c tnh ca ngi ang logon mt h thng v sau
tip tc kim tra c tnh ca h trong trng hp ai
c gng t nhin kt ni v gi dng l ngi s
dng
3.4. Cc phng php m ho
3.4.1. M ho i xng kho b mt
nh ngha
Thut ton i xng hay cn gi thut ton m ho c
in l thut ton m ti kho m ho c th tnh ton
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

15

An ton d liu v m ho

ra c t kho gii m. Trong rt nhiu trng hp, kho


m ho v kho gii m l ging nhau. Thut ton ny cn
c nhiu tn gi khc nh thut ton kho b mt, thut
ton kho n gin, thut ton mt kho. Thut ton ny
yu cu ngi gi v ngi nhn phi tho thun mt
kho trc khi thng bo c gi i, v kho ny phi
c ct gi b mt. an ton ca thut ton ny vn
ph thuc v kho, nu l ra kho ny ngha l bt k
ngi no cng c th m ho v gii m thng bo trong
h thng m ho.
S m ho v gii m ca thut ton i xng biu
th bi :
EK( P ) = C
DK( C ) = P
Bn
Bn
r
r

M
M
ho
ho

Bn
m

Gii
Gii
m
m

Bn
Bn
r
r

Kho
Kho
Hnh 1. M ho vi kho m v kho gii ging
nhau
M ho v gii m vi mt kho
Trong hnh v trn th :
K1c th trng K2, hoc
K1 c th tnh ton t K2, hoc
K2 c th tnh ton t K1.

Ni ng dng:

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

16

S dng trong mi trng m kho n d dng c


chuyn nh l trong cng mt vn phng. Cng dng
m ho thng tin lu tr trn a.

Cc vn i vi phng php m ho ny:

1.Cc phng m ho c in i hi ngi m ho v


ngi gii m phi cng chung mt kho. Khi kho phi
c gi b mt tuyt i, do vy ta d dng xc nh mt
kho nu bit kho kia.
2.H m ho i xng khng bo v c s an ton
nu c xc sut cao kho ngi gi b l. Trong h kho
phi c gi i trn knh an ton nu k ch tn cng
trn knh ny c th pht hin ra kho.
3.Vn qun l v phn phi kho l kh khn v
phc tp khi s dng h m ho c in. Ngi gi v
ngi nhn lun lun thng nht vi nhau v vn kho.
Vic thay i kho l rt kh v d b l.
4.Khuynh hng cung cp kho di m n phi c
thay i thng xuyn cho mi ngi trong khi vn duy tr
c tnh an ton ln hiu qu chi ph s cn tr rt nhiu ti
vic pht trin h mt m c in.
3.4.2. M ho phi i xng kho cng khai

nh ngha

Vo nhng nm 1970 Diffie v Hellman pht minh ra


mt h m ho mi c gi l h m ho cng khai hay
h m ho phi i xng.
Thut ton m ho cng khai l khc bit so vi thut
ton i xng. Chng c thit k sao cho kho s dng
vo vic m ho l khc so vi kho gii m. Hn na
kho gii m khng th tnh ton c t kho m ho.
Chng c gi vi tn h thng m ho cng khai bi v
kho m ho c th cng khai, mt ngi bt k c th
s dng kho cng khai m ho thng bo, nhng ch
mt vi ngi c ng kho gii m th mi c kh nng
gii m. Trong nhiu h thng, kho m ho gi l kho

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

17

An ton d liu v m ho

cng khai (public key), kho gii m thng c gi l


kho ring (private key).
Bn

Bn m

Kho

Gii

Bn

Kho

Hnh 1. M ho vi kho m v kho gii khc nhau


Trong hnh v trn th :
K1 khng th trng K2, hoc
K2 khng th tnh ton t K1.
c trng ni bt ca h m ho cng khai l c
kho cng khai (public key) v bn tin m ho (ciphertext)
u c th gi i trn mt knh thng tin khng an ton.
Ni ng dng: S dng ch yu trn cc mng cng
khai nh Internet khi m kho chuyn tng i kh
khn.

Diffie v Hellman xc inh r cc iu kin ca


mt h m ho cng khai nh sau:
1. Vic tnh ton ra cp kho cng khai K B v b mt kB
da trn c s cc iu kin ban u phi c thc hin
mt cch d dng, ngha l thc hin trong thi gian a
thc.
2. Ngi gi A c c kho cng khai ca ngi nhn B
v c bn tin P cn gi i th c th d dng to ra c
bn m C.
C = EKB (P) = EB (P)
Cng vic ny cng trong thi gian a thc.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

18

3. Ngi nhn B khi nhn c bn tin m ha C vi kho


b mt kB th c th gii m bn tin trong thi gian a thc.
P = DkB (C) = DB[EB(M)]
4. Nu k ch bit kho cng khai K B c gng tnh ton
kho b mt th khi chng phi ng u vi trng
hp nan gii, trng hp ny i hi nhiu yu cu khng
kh thi v thi gian.
5. Nu k ch bit c cp (KB,C) v c gng tnh ton
ra bn r P th gii quyt bi ton kh vi s php th l
v cng ln, do khng kh thi.
3.5. Cc cch phn tch m
Cc thut ton cho phn ln cc h mt m l ni
ting nn chng ta gi s rng nhng k phn tch m
c thut ton trong tay khi bt u tn cng. Trong phn
ln cc h mt m, thut ton phn phi cho tt c
ngi s dng v sc mnh ca h thng nm trong kho
cng nh ph thuc vo thut ton m ho d liu tt nh
th no. V di ca kho m quyt nh bn m kt
qu c m tt nh th no v s bo v chng li cc
cuc tn cng brute-force. Tn cng brute-force l cch
trong mi kho c th c th dng gii m.
Nhiu nh vit mt m tin rng cc cuc tn cng
brute-force khng th thc hin c khi kho di c s
dng, thm ch khi kh nng ca my tnh ang ln. Tn
cng brute-force i vi bn m phi m ho vi mt kho
ln (trn 100 bt) c th mt hng triu hoc hng t nm
ngay c khi vi mng my tnh mnh hn na vic thm
mt bt n c th lm tng gp i gi ca vic phn tch
bng brute-force.
Tuy nhin vn tn ti mt im yu trong h thng
tr mt vi kho, lm gim s cc kho cn c kim tra.
V d, k phn tch m c th khm ph ra rng mt thut
ton sinh ra cc s ngu nhin nhng thc t c mt vi

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

19

mu c lp li. im yu ny ca h thng c th cung


cp mt con ng khm ph h thng.
C mt vi phng php chung phn tch, di
y l danh sch theo th t kh nng ca tng phng
php. Mi phng php trong s chng gi s rng k
phn tch m hon ton c hiu bit v thut ton m ho
c s dng.
1. Ch c bn m. Trong trng hp ny, ngi phn tch
ch c mt vi bn tin ca bn m, tt c trong s chng
u c m ho v cng s dng chung mt thut
ton. Cng vic ca ngi phn tch l tm li c bn r
ca nhiu bn m c th hoc tt hn na l suy lun ra
c kho s dng m ho, v s dng gii m nhng
bn m khc vi cng kho ny.
Gi thit : C1 = Ek(P1), C2= Ek(P2), . . .Ci = Ek(Pi)
Suy lun : Mi P1,P2, . . Pi, k hoc thut ton kt lun P i+1
t Ci+1 = Ek(Pi+1)
2. Bit bn r. Ngi phn tch khng ch truy cp c
mt vi bn m mt khc cn bit c bn r. Cng vic
l suy lun ra kho s dng gii m hoc thut ton
gii m gii m cho bt k bn m no khc vi cng
kho nh vy.
Gi thit : P1, C1 = Ek(P1), P2, C2= Ek(P2), . . . Pi, Ci =
Ek(Pi)
Suy lun : Mi k hoc thut ton kt lun P i+1 t Ci+1 =
Ek(Pi+1)
3. La chn bn r. Ngi phn tch khng ch truy cp
c bn m v kt hp bn r cho mt vi bn tin, nhng
mt khc la chn bn r m ho. Phng php ny t
ra c kh nng hn phng php bit bn r bi v ngi
phn tch c th chn c th khi bn r cho m ho, mt
iu khc c th l sn lng thng tin v kho nhiu hn.
Gi thit : P1, C1 = Ek(P1), P2, C2= Ek(P2), . . . Pi, Ci =
Ek(Pi) ti y ngi phn tch chn P1, P2,. . . Pi
Suy lun : Mi k hoc thut ton kt lun P i+1 t Ci+1 =
Ek(Pi+1)

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

20

4. La chn bn r thch hp. y l trng hp c bit


ca la chn bn r. Khng ch c th la chn bn r
m ho, nhng h cn c th sa i s la chn c bn
kt qu ca s m ho ln trc. Trong trng la chn
bn m ngi phn tch c th chn mt khi ln bn
r m ho, nhng trong trng hp ny c th chn
mt khi nh hn v chn cn c khc trn kt qu ca
ln u tin.
V d tt nht v trng hp bit bn r l nhng file
c to ra bi cc t khc nhau trong cha cc m
nh dng c n v header file. Cc ti liu cng cha
tn cng ty v a ch, bn quyn, v nhiu thng tin khc
m cc nh phn tch c th ly c mt cch d dng.
Thc t l, rt nhiu ti liu c s dng trong thng
mi in t c header chun c s dng nh danh
ti liu cho cc my tnh khc. Cc nh phn tch c th
tm ra kho bng vic phn tch thut ton m bn r
bit nh th no.
Di y l mt vi k thut c cc nh phn tch
tn cng bn m.
Differential cryptanalysis; k thut ny s dng mt
qu trnh lp c lng m c to ra s dng
mt thut ton lp khi (nh DES). Lin kt bn r
c m ho di cng mt kho. S khc bit
c phn tch v cc kho c th c xc nh
thng qua s cc ln lp. K thut ny c s dng
thnh cng chng li DES v FEAL-4.
Linear cryptanalysis: k thut ny cng c s
dng thnh cng chng li DES v FEAL-4. Cc
cp bn r v bn m kt qu c phn tch v
mt k thut xp x tuyn tnh c s dng xc
nh hot ng ca m khi.
Algebraic attacks:k thut ny khm ph cu trc
ton hc trong cc mt m khi. Nu cu trc tn
ti th vic m ho n vi mt kho c th sinh ra
cc kt qu tng t nh vic m ho i vi hai
kho khc nhau. K phn tch s c c u th
yu im ny.
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

21

Ni chung nhng nh phn tch m cn c thi gian


v ti nguyn. iu ny lm cho cc nh phn tch gp
kh khn nht l khi cc thut ton v k thut m ho tt
hn nh cc tin b k thut.
D rng cc cuc tn cng DES l thnh cng nhng
cc cuc tn cng ny khng d dng v r. Phng php
nhanh nht l tn cng brute-force mt 3.5 gi trn
my tnh hng triu la. Differential cryptanalysis c
s dng tn cng, trong 247 ln m c thc hin
trn mt bn r c chn, cuc tn cng qu kh s
khng c cp trong thc t. Trong mt cuc tn cng
khc Linear cryptanalysis c dng tm ra kho DES
trong 50 ngy, s dng 12 computer workstation.
4. Mt s thut ton m ho c bn
4.1. chun m ho d liu DES
DES l thut ton m ho khi (block algrithm), n
m ho mt khi d liu 64 bts. Mt khi bn r 64 bt
a vo vo thc hin, sau khi m ho d liu ra l mt
khi bn m 64 bt. C m ho v gii m u s dng
cng mt thut ton v kho.
Kho m c di 64 bt, trong c 8 bt chn l
c s dng kim sot li. Cc bt chn l nm cc
v tr 8, 16, 24, ... , 64. Tc l c 8 bt th c 1 bt kim sot
li, bt ny qui nh s bt c gi tr 1 ca khi 8 bt l
chn hay l.
Nn tng xy dng khi ca DES l s kt hp n
gin ca cc k thut thay th v hon v bn r da trn
kho, l cc vng lp. DES s dng 16 vng lp p
dng cng mt kiu kt hp cc k thut trn khi bn r
(Hnh 1).
Thut ton ch s dng cc php ton s hc v logic
thng thng trn cc s 64 bt, v vy n d dng thc
hin vo nhng nm 1970 trong iu kin v cng ngh
phn cng lc by gi. Ban u, s thc hin cc phn
mm kiu ny rt th s, nhng hin ti th vic tt

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

22

hn, v vi c tnh lp i lp li ca thut ton to nn


tng s dng chp vi mc ch c bit ny.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

23

An ton d liu v m ho

Plaintext
IP
R0

L0

K1

L1=R0

R1=L0(R0,K1)

K2

L2=R1

R2=L1(R1,K2)

L15=R14

R15=L14(R14,K15)

K16
L16=R15

R16=L15(R15,K16
)
IP

-1

Ciphertext
Hnh 2. DES

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

24

4.1.1. M t thut ton


DES thc hin trn tng khi 64 bts ca bn r. Sau
khi thc hin hon v khi u, khi d liu c chia lm
hai na tri v phi, mi na 32 bt. Tip , c 16 vng
lp ging ht nhau c thc hin, c gi l cc hm ,
trong d liu c kt hp vi kho. Sau 16 vng lp,
hai na tri v phi c kt hp v hon v cui cng
(hon v ngc) s kt thc thut ton.
Mi vng lp ca DES thc hin theo cc bc sau
(Hnh 2):
1. Khi bn r 64 bt c hon v (hon v khi u)
thay i th t ca cc bt.
2. Tip theo, bn r c chia lm hai na tri v phi, mi
na 32 bt.
3. Kho c chia lm hai na, mi na 28 bt.
4. Cc na ca kho c dch tri, s bt c dch 1 hay
hai tu thuc vo vng . Sau cc na c ghp li,
hon v v la chn ra 48 bt.
5. Khi 32 bt bn r bn phi c m rng thnh khi 48
bt n c th XOR c vi 48 bt kho. Mt php hon
v khc cng c thc hin trong bc ny.
6. Kt qu ca bc 3 v 5 (bn r v kho) c XOR vi
nhau.
7. Kt qu ca bc 6 c chuyn thnh 32 bt bng cch
s dng mt hm thay th v la chn.
8. Kt qu ca bc 7 c XOR vi na tri 32 bt ca
khi bn r 64 bt c to ra bc 2.
9. Kt qu ca bc 8 tr thnh na phi mi v na phi
c c to bc 2 tr thnh na tri mi.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

25

An ton d liu v m ho

Kho
28 bts
28
btsDch
Dch
28 bts
28 bts
56 bts
Hon v Chn
48 bts
Ri-1
32 bts

M rng
Hon v
48 bts

Hp S
Thay th
La chn
32 bts

Hp P
Hon v

Ri

Li-1
32 bts

Li

Hnh 3. Mt vng lp
DES th i, Li v Ri l hai na
Nu Bi l kt qu ca vng
tri v phi ca Bi, Ki l kho 48 bts ca vng th i, v l
hm thc hin thay th, hon v v XOR vi kho, ta c
biu din ca mt vng s nh sau:
Li=Ri-1
Ri=Li-1 XOR (Ri-1,Ki)
4.1.2. Hon v khi u (The Initial Permutation)
Hon v khi u i ch khi d liu vo, s hon
c m t trong Bng 1. Bng ny, v tt c cc bng
khc sau ny, c c t tri qua phi, t trn xung
di. V d, hon v khi u chuyn bt 1 thnh bt 58, bt
2 thnh bt 50, bt 3 thnh bt 42, ...
Bng 1. Hon v khi u.
5
8

5
0

4
2

3
4

2
6

1
8

1
0

6
0

5
2

4
4

3
6

2
8

2
0

1
2

6
2

5
4

4
6

3
8

3
0

2
2

1
4

6
4

5
6

4
8

4
0

3
2

2
4

1
6

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

26

An ton d liu v m ho

5
7

4
9

4
1

3
3

2
5

1
7

5
9

5
1

4
3

3
5

2
7

1
9

1
1

6
1

5
3

4
5

3
7

2
9

2
1

1
3

6
3

5
5

4
7

3
9

3
1

2
3

1
5

Hon v khi u v tng ng l hon v cui cng khng


lm nh hng n s an ton ca DES.
4.1.3. Kho chuyn i (The Key Transformation)
u tin, kho 64 bt c gim xung thnh mt
kho 56 bt bng cch b qua 8 bt chn l. S loi b
c thc hin theo Bng 2.
Bng 2. Kho chuyn i
57 49 41 33 25 17 9
10 2

59 51 43 35 27 19 11 3

63 55 47 39 31 23 15 7
14 6

58 50 42 34 26 18
60 52 44 36

62 54 46 38 30 22

61 53 45 37 29 21 13 5

28 20 12 4

Cc bt chn l ny c th c s dng m bo
rng khng c li no xy ra khi a kho vo. Sau khi
kho 56 bt c trch ra, mt kho khc 48 bt c sinh
ra cho mi vng ca DES. Nhng kho ny, k i, c xc
nh bng cch:
u tin, kho 56 bt c chia lm hai phn mi
phn 28 bt. Sau , cc phn ny c dch tri mt hoc
hai bt, ph thuc vo vng . S bt c dch c cho
trong Bng 3.
Bng 3.
Vng

1 2 3 4 5 6 7 8 9 1
0

1
1

1
2

1
3

1
4

1
5

1
6

S bt dch

1 1 2 2 2 2 2 2 1 2

Sau khi c dch, 48 bt c la chn ra t 56 bt.


Bi v s thc hin ny i ch th t cc bt nh l s la
chn mt tp con cc bt, n c gi l hon v nn
(compression permutation), hoc hon v la chn
(permuted choice). S thc hin ny cung cp mt tp hp
cc bt cng c vi u ra ca hon v m rng. Bng 4

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

27

An ton d liu v m ho

nh ngha hon v nn (cng gi l hon v la chn). V


d, bt v tr 33 ca kho dch c chuyn ti v tr 35
ca u ra, v bt v tr 18 ca kho dch b b qua.
Bng 4. Hon v nn
14

17

11

24

28

15

21

10

23

19

12

26

16

27

20

13

41

52

31

37

47

55

30

40

51

45

33

48

44

49

39

56

34

53

46

42

50

36

29

32

4.1.4. Hon v m rng (Expansion Permutation)


thao tc ny, na phi ca d liu, R i, c m
rng t 32 bts thnh 48 bts. Bi v s thc hin ny thay
i th t ca cc bt bng cch lp li mt bt no , n
c hiu nh l mt s hon v m rng.
Hnh 3 nh ngha hon v m rng - hp E. Vi mi
b 4 bt ca khi d liu vo, bt u tin v bt th t
tng ng vi 2 bt ca khi d liu ra, trong khi bt th hai
v bt th ba tng ng vi mt bt ca khi d liu ra.
Bng 5 m t v tr ca cc bt trong khi d liu ra theo
khi d liu vo. V d, bt v tr th 3 ca khi d liu
vo c chuyn ti v tr th 4 trong khi d liu ra. V bt
v tr 21 ca khi d liu vo c chuyn ti v tr 30 v
32 trong khi d liu ra.
Bng 5. Hp E
32

10

11

12

12

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

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

28

An ton d liu v m ho

2 3 4
13 14 15 16

6 7 8

9 10 11 12

48

32

1 2 3 4 5 6
19 20 21 22 23 24

7 8 9 10 11 12

13 14 15 16 17 18

Mc d khi d liu ra rng hn khi d liu vo,


Hnh 3. Hon v m
nhng mt khi d liu vo ch c duy nht mt khi d
rng
liu ra.
4.1.5. Hp thay th S (S-Box Substitution)
Sau khi kho c nn, n c XOR vi khi m
rng, 48 bt kt qu c chuyn sang giai on thay th.
S thay th c thc hin bi 8 hp thay th (substitution
boxes, S-boxes). Khi 48 bt c chia thnh 8 khi 6 bt.
Mi khi c thc hin trn mt hp S ring bit
(separate S-box): khi 1 c thc hin trn hp S 1, khi
2 c thc hin trn hp S 2, v.v...
Mi hp S l mt bng gm 4 hng v 16 ct. Mi
phn t ca hp l mt s 4 bt. Su bt vo hp S s xc
nh s hng v s ct tm kt qu ra. Bng 6 biu din
8 hp S.
Nhng bt vo xc nh mt phn t trong hp S mt
cch ring bit. Su bt vo ca hp c k hiu l b1,
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

29

An ton d liu v m ho

b2, b3, b4, b5 v b6. Bt b1 v b6 c kt hp thnh mt


s 2 bt, nhn gi tr t 0 n 3, tng ng vi mt hng
trong bng. Bn bt gia, t b2 ti b5, c kt hp
thnh mt s 4 bt, nhn gi tr t 0 n 15, tng ng vi
mt ct trong bng.
V d, gi s ta a gi liu vo hp S th 6 (bt 31 ti
bt 36 ca hm XOR) l 110010. Bt u tin v bt cui
cng kt hp thnh 10, tng ng vi hng th 3 ca hp
S th 6. Bn bt gia kt hp thnh 1001, tng ng vi
ct th 10 ca hp S th 6. Phn t hng 3 ct 9 ca hp S
th 6 l 0. Gi tr 0000 c thay th cho 110010.
y l mt bc kh hiu trong thut ton. Tt c
cc bc khc u n gin v d phn tch. Cc hp S th
khng, chng em li cho DES tt c s an ton.
Kt qu ca s thay th l 8 khi 4 bt c sinh ra,
v chng c kt hp li thnh mt khi 32 bt. Khi ny
c chuyn ti bc tip theo: hp hon v P (P-box
permutation).
Bng 6. Hp S
Hp S th nht
1
4

1
3

1
5

1
1

1
0

1
2

1
5

1
4

1
3

1
0

1
2

1
1

1
4

1
3

1
1

1
5

1
2

1
0

1
5

1
2

1
1

1
4

1
0

1
3

Hp S th 2
1
5

1
4

1
1

1
3

1
2

1
0

1
3

1
5

1
4

1
2

1
0

1
1

1
4

1
1

1
0

1
3

1
2

1
5

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

30

An ton d liu v m ho

1
3

1
0

1
5

1
1

1
2

1
4

Hp S th 3
1
0

1
4

1
5

1
3

1
2

1
1

1
3

1
0

1
4

1
2

1
1

1
5

1
3

1
5

1
1

1
2

1
0

1
4

1
0

1
3

1
5

1
4

1
1

1
2

Hp S th 4
7

1
3

1
4

1
0

1
1

1
2

1
5

1
3

1
1

1
5

1
2

1
0

1
4

1
0

1
2

1
1

1
3

1
5

1
4

1
5

1
0

1
3

1
1

1
2

1
4

Hp S th 5
2

1
2

1
0

1
1

1
5

1
3

1
4

1
4

1
1

1
2

1
3

1
5

1
0

1
1

1
0

1
3

1
5

1
2

1
4

1
1

1
2

1
4

1
3

1
5

1
0

Hp S th 6
1
2

1
0

1
5

1
3

1
4

1
1

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

31

An ton d liu v m ho

1
4

1
5

1
2

1
2

1
5

1
0

1
0

1
3

1
1

1
1

1
4

1
3

Hp S th 7
4

1
1

1
4

1
5

1
3

1
2

1
0

1
3

1
1

1
0

1
4

1
2

1
5

1
1

1
3

1
2

1
4

1
0

1
5

1
1

1
3

1
0

1
5

1
4

1
2

Hp S th 8
1
3

1
5

1
1

1
0

1
4

1
2

1
5

1
3

1
0

1
2

1
1

1
4

1
1

1
2

1
4

1
0

1
3

1
5

1
4

1
0

1
3

1
5

1
2

1
1

4.1.6. Hp hon v P (The P-Box Permutation)


Khi d liu 32 bt ra ca hp thay th S c hon v
tip trong hp P. S hon v ny nh x mi bt d liu vo
ti mt v tr trong khi d liu ra; khng bt no c s
dng hai ln v cng khng bt no b b qua. N c gi
l hon v trc tip (straight permutation). Bng 7 cho ta v
tr ca mi bt cn chuyn. V d, bt 4 chuyn ti bt 21,
trong khi bt 32 chuyn ti bt 4.
Bng 7. Hp hon v P
1

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

32

An ton d liu v m ho

6
2

2
4

1
4

3
2

2
7

1
9

1
3

3
0

2
2

1
1

2
5

Cui cng, kt qu ca hp ho v P c XOR vi


na tri ca khi 64 bt khi u. Sau , na tri v phi
c chuyn i cho nhau v mt vng mi c tip tc.
4.1.7. Hon v cui cng
Hon v cui cng l nghch o ca hon v khi
u, v n c m t trong Bng 8. Ch rng na tri
v na phi khng c tro i sau vng cui cng ca
DES; thay vo khi ni R 16L16 c s dng nh khi d
liu ra ca hon v cui cng. Khng c g a ra y;
tro i cc na v dch vng hon v s cho chnh xc
nh kt qu trc; iu c ngha l thut ton c th
c s dng cho c m ho v gii m.
Bng 8. Hon v cui cng
4
0

4
8

1
6

5
6

2
4

6
4

3
2

3
9

4
7

1
5

5
5

2
3

6
3

3
1

3
8

4
6

1
4

5
4

2
2

6
2

3
0

3
7

4
5

1
3

5
3

2
1

6
1

2
9

3
6

4
4

1
2

5
2

2
0

6
0

2
8

3
5

4
3

1
1

5
1

1
9

5
9

2
7

3
4

4
2

1
0

5
0

1
8

5
8

2
6

3
3

4
1

4
9

1
7

5
7

2
5

4.1.8. Gii m DES


Sau khi thay i, hon v, XOR, v dch vng, bn c
th ngh rng thut ton gii m hon ton khc v phc
tp, kh hiu nh thut ton m ho. Tri li, s hot ng
c la chn a ra mt c tnh hu ch: cng thut
ton lm vic cho c m ho v gii m.
Vi DES, c th s dng cng chc nng gii m
hoc m ho mt khi. Ch c s khc nhau l cc kho
phi c s dng theo th t ngc li. Ngha l, nu cc
kho m ho cho mi vng l k 1, k2, k3 , ... , k15, k16 th cc
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

33

An ton d liu v m ho

kho gii l k16, k15, ... , k3, k2, k1. Thut ton dng sinh
kho c s dng cho mi vng theo kiu vng quanh.
Kho c dch phi, v s nhng v tr c dch c
tnh t cui ca bng ln, thay v t trn xung.
4.1.9. Phn cng v phn mm thc hin DES
Mt phn mm DES trn my tnh ln IBM 3090 c
th thc hin 32.000 php tnh m ho trong mt giy. Vi
my vi tnh th tc thp hn. Bng 9 a ra kt qu
thc t v s nh gi cho b x l ca Intel v Motorola.
Bng 9. Tc ca DES trn cc b vi x l khc nhau
Tc

BUS

Khi DES

B vi x l

( Mhz )

( bts )

(/giy )

8088

4.7

370

68000

7.6

16

900

80286

6.0

16

1.1000

68020

16.0

32

3.500

68030

16.0

32

3.900

80286

25.0

16

5.000

68030

50.0

32

9.600

68040

25.0

32

16.000

68040

40.0

32

23..200

80486

33.0

32

40.600

(Ch : Phn mm ny c vit trn C v Assembler, v


c th mua c t Utimaco-Belgium, Interleuvenlaan
62A, B-300 leuven, Belgium. C m xp x 64K. ANSI C
thc hin chm hn khong 20%.)
4.2. thut ton m ho RSA (Public-key algorithm)
4.2.1. Khi nim h mt m RSA
Khi nim h mt m RSA c ra i nm 1976
bi cc tc gi R.Rivets, A.Shamir, v L.Adleman. H m
ho ny da trn c s ca hai bi ton :
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

34

An ton d liu v m ho

+ Bi ton Logarithm ri rc ( Discrete logarith)


+ Bi ton phn tch thnh tha s.
Trong h m ho RSA cc bn r, cc bn m v cc
kho (public key v private key) l thuc tp s nguyn Z N
= {1, . . . , N-1}. Trong tp ZN vi N=pq l cc s
nguyn t khc nhau cng vi php cng v php nhn
Modulo N to ra modulo s hc N.
Kho m ho EKB l cp s nguyn (N,KB) v kho gii
m Dkb l cp s nguyn (N,k B), cc s l rt ln, s N c
th ln ti hng trm ch s.
Cc phng php m ho v gii m l rt d dng.
Cng vic m ho l s bin i bn r P (Plaintext)
thnh bn m C (Ciphertext) da trn cp kho cng khai
KB v bn r P theo cng thc sau y :
C = EKB(P) = EB(P) = PKB (mod N) .

(1)

Cng vic gii m l s bin i ngc li bn m C


thnh bn r P da trn cp kho b mt k B , modulo N
theo cng thc sau :
P = DkB(C) = DB(C) = CkB (mod N) . (2)
D thy rng, bn r ban u cn c bin i mt
cch thch hp thnh bn m, sau c th ti to li
bn r ban u t chnh bn m :
P = DB(EB(P))

(3)

Thay th (1) vo (2) ta c :


(PKB)kB = P (mod N )

(4)

Trong ton hc chng minh c rng, nu N l s


nguyn t th cng thc (4) s c li gii khi v ch khi
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

35

An ton d liu v m ho

KB.kB = 1 (mod N-1), p dng thut ton ta thy N=pq vi


p, q l s nguyn t, do vy (4) s c li gii khi v ch
khi :
KB.kB 1 (mod (N))

(5)

trong (N) = LCM(p-1,q-1) .


LCM (Lest Common Multiple) l bi s chung nh
nht.
Ni mt cch khc, u tin ngi nhn B la chn
mt kho cng khai KB mt cch ngu nhin. Khi kho
b mt kB c tnh ra bng cng thc (5). iu ny hon
ton tnh c v khi B bit c cp s nguyn t (p,q) th
s tnh c (N).
Chn p v
q
Tnh
N=pq
Tnh (N)

Chn kho
KB

Chn kho
KB

Bn r
P
KB

kB

C = PKB (mod
N)
Bn m
C
P = CkB ( mod
N)
Bn r gc
P

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

36

S cc bc thc hin m ho theo thut ton RSA


4.2.2. an ton ca h RSA
Mt nhn nh chung l tt c cc cuc tn cng gii
m u mang mc ch khng tt. Trong phn an ton
ca h m ho RSA s cp n mt vi phng thc
tn cng in hnh ca k ch nhm gii m trong thut
ton ny.
Chng ta xt n trng hp khi k ch no bit
c modulo N, kho cng khai K B v bn tin m ho C,
khi k ch s tm ra bn tin gc (Plaintext) nh th
no. lm c iu k ch thng tn vo h thng
mt m bng hai phng thc sau y:

Phng thc th nht :

Trc tin da vo phn tch tha s modulo N. Tip


theo sau chng s tm cch tnh ton ra hai s nguyn t p
v q, v c kh nng thnh cng khi s tnh c (N)
v kho b mt kB. Ta thy N cn phi l tch ca hai s
nguyn t, v nu N l tch ca hai s nguyn t th thut
ton phn tch tha s n gin cn ti a N bc, bi v
c mt s nguyn t nh hn N. Mt khc, nu N l tch
ca n s nguyn t, th thut ton phn tch tha s n
gin cn ti a N1/n bc.
Mt thut ton phn tch tha s c th thnh phc
tp hn, cho php phn tch mt s N ra thnh tha s
trong O(P) bc, trong p l s chia nh nht ca N,
vic chn hai s nguyn t l cho thut ton tng hiu
qu.

Phng thc th hai :

Phng thc tn cng th hai vo h m ho RSA l


c th khi u bng cch gii quyt trng hp thch hp
ca bi ton logarit ri rc. Trng hp ny k ch c
trong tay bn m C v kho cng khai K B tc l c cp (KB,
C)
C hai phng thc tn cng u cn mt s bc c
bn, l :

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

37

O(exp lnNln(lnN)), trong N l s modulo.


4.2.3. Mt s tnh cht ca h RSA

Trong cc h mt m RSA, mt bn tin c th c m


ho trong thi gian tuyn tnh.
i vi cc bn tin di, di ca cc s c dng
cho cc kho c th c coi nh l hng. Tng t nh
vy, nng mt s ln lu tha c thc hin trong thi
gian hng, cc s khng c php di hn mt di
hng. Thc ra tham s ny che du nhiu chi tit ci t
c lin quan n vic tnh ton vi cc con s di, chi ph
ca cc php ton thc s l mt yu t ngn cn s ph
bin ng dng ca phng php ny. Phn quan trng
nht ca vic tnh ton c lin quan n vic m ho bn
tin. Nhng chc chn l s khng c h m ho no ht
nu khng tnh ra c cc kho ca chng l cc s ln.
Cc kho cho h m ho RSA c th c to ra m
khng phi tnh ton qu nhiu.

Mt ln na, ta li ni n cc phng php kim tra


s nguyn t. Mi s nguyn t ln c th c pht sinh
bng cch u tin to ra mt s ngu nhin ln, sau
kim tra cc s k tip cho ti khi tm c mt s nguyn
t. Mt phng php n gin thc hin mt php tnh
trn mt con s ngu nhin, vi xc sut 1/2 s chng
minh rng s c kim tra khng phi nguyn t. Bc
cui cng l tnh p da vo thut ton Euclid.
Nh phn trn trnh by trong h m ho cng
khai th kho gii m (private key) kB v cc tha s p,q l
c gi b mt v s thnh cng ca phng php l tu
thuc vo k ch c kh nng tm ra c gi tr ca k B
hay khng nu cho trc N v K B. Rt kh c th tm ra
c kB t KB cn bit v p v q, nh vy cn phn tch N
ra thnh tha s tnh p v q. Nhng vic phn tch ra
tha s l mt vic lm tn rt nhiu thi gian, vi k
thut hin i ngy nay th cn ti hng triu nm
phn tch mt s c 200 ch s ra tha s.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

38

An ton d liu v m ho

an ton ca thut ton RSA da trn c s nhng


kh khn ca vic xc nh cc tha s nguyn t ca mt
s ln. Bng di y cho bit cc thi gian d on, gi
s rng mi php ton thc hin trong mt micro giy.
S cc ch s
trong

Thi gian phn tch

s c phn tch
50

gi

75

104

gi

100

74

nm

200

4.000.000

nm

300

51015

nm

500

41025

nm

4.3. thut ton m ho BLOWFISH


Blowfish l h mt m khi 64-bit, kho c di c
th thay i c. Thut ton bao gm hai phn: phn
pht trin kho v phn m ho d liu. Pht trin kho
chuyn mt kho c di ln nht 448 bit thnh mt s
mng kho con tng cng 4168 byte.
M ho d liu thc hin thng qua mng Feistel 16
vng. Mi vng bao gm mt hon v da vo kho, thay
th da vo kho v da vo d liu. Tt c cc php ton
c dng l php XOR v php cng trn cc t 32-bit.
Cc thao tc thm vo duy nht l 4 mng ch s ch
n d liu mi vng.
4.3.1. Kho ph
Blowfish s dng mt s lng ln cc kho ph. Cc
kho ph ny phi c tnh ton trc khi m hay gii m
d liu.
Mng P bao gm 18 kho ph 32-bit:
P1,P2,P3,...,P18.
Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

39

C 4 hp S 32-bit vi 256 u vo mi hp:


S1,0, S1,1, ..., S1,255;
S2,0, S2,1, ..., S2,255;
S3,0, S3,1, ..., S3,255;
S4,0, S4,1, ..., S4,255.
Phng php chnh xc c s dng tnh cc
kho ph ny s c m t phn sau.
4.3.2. M ho d liu
Blowfish l mt mng Feistel bao gm 16 vng. u
vo l x, mt phn t d liu 64-bit.
Chia x thnh 2 phn 32-bit: xL, xR.
For i=1 to 16:
xL=xL XOR Pi
xR=F(xL) XOR xR
i ch xL v xR
i ch xL v xR (tc l khng i ch vng cui)
xR=xR XOR P17
xL=xL XOR P18
Kt hp xL v xR li
Hm F :
Chia xL thnh 4 phn 8-bit: a, b, c v d
F(xL) = ((S1,a + S2,b mod 232) XOR S3,c) + S4,d mod
232
Gii m hon ton ging nh m ho tr vic
P1,P2,...,P18 c s dng theo trt t ngc li.
4.3.3. Tnh ton cc kho ph
Cc kho ph c tnh s dng thut ton Blowfish.
Phng php chnh xc nh sau:
Khi to mng P u tin v sau l 4 hp S theo th
t vi mt chui c nh. Chui ny bao gm cc s
hexa(h 16) ca pi. V d:

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

An ton d liu v m ho

40

P1=0x243f6a88
P2=0x85a308d3
P3=0x13198a2e
P4=0x03707344
XOR P1 vi 32 bit u ca kho, XOR P2 vi 32 bit th
hai ca kho tip tc cho tt c cc bit ca kho (c th
ln ti P14). Lp li theo vng cc bit kho cho n khi
ton b mng P c XOR vi cc bt kho. (i vi cc
kho ngn c t nht mt kho di tng ng; v d : nu A
l mt kho 64-bit th AA,AAA, v.v.., l cc kho tng
ng)
M ho mt chui ton 0 bng thut ton Blowfish s
dng cc kho ph m t trong bc (1) v bc (2).
Thay th P1 v P2 bng u ra ca bc (3).
M ho u ra ca bc (3) dng thut ton Blowfish
vi cc kho ph thay i.
Thay th P3 v P4 bng u ra ca bc (5).
Tip tc x l, thay th tt c u vo ca mng P, v
sau l 4 hp S theo th t, vi u ra thay i lin tip
ca thut ton Blowfish.
Tng cng cn c 521 ln lp sinh ra tt c cc
kho ph.

Lin hip Khoa hc Sn xut Cng ngh Phn mm (CSE)

You might also like