Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

CHNG 2 : MT M HC

Chng 2_MT M HC

2.1 .NHNG KHI NIM C BN


Mt m hc bao gm hai lnh vc : m ha
(cryptography) v thm m (cryptanalysis
codebreaking) trong :
M ha: nghin cu cc thut ton v phng thc
m bo nh b mt v xc thc ca thng tin gm cc
h m mt , cc hm bm, cc h ch k in s, cc
c ch phn phi, qun l kha v cc giao thc mt
m.
Thm m: Nghin cu cc phng php ph m hoc
to m gi gm cc phng php thm m , cc
phng php gi mo ch k, cc phng php tn
cng ,cc hm bm v cc giao thc mt m
Chng 2_MT M HC

2.1.1. nh ngha mt m
M ha (cryptography) l mt ngnh khoa hc ca
cc phng php truyn n bo mt. Trong ng Hy
Lp, Crypto (krypte) c ngha l che du hay o
ln, cn Graphy (grak) c ngha l t. [3]
Vn bn gc c th hiu c hay bn r (P-Plaintext)
Vn bn dng b mt khng th hiu c th c
gi l bn m (C-Ciphertext).
C 2 phng thc m ho c bn: thay th v chuyn
v

Chng 2_MT M HC

2.1.2. H mt m
Mt h m mt l b 5 (P, C, K, E, D) tho cc iu kin
1). P l khng gian r: tp hu hn cc bn r c th c.
2). C l khng gian m: tp hu hn cc bn m c th c.
3). K l kkhng gian kho: tp hu hn cc kho c th c.
4). i vi mi k K, c mt quy tc m ho ek E v mt
quy tc gii m tng ng dk D.
5).Vi mi ek: P C v dk: C P l nhng hm m
dk(ek(x)) = x cho mi bn r x P. Hm gii m dk()
chnh l nh x ngc ca hm m ha ek

Chng 2_MT M HC

Tnh cht 4 ,5 l nh cht quan trng nht ca m


ho. Nu m ho bng ek v bn m nhn c sau
c gii m bng hm dk() th kt qu nhn
c phi l bn r ban u x , hm ek(x) phi l
mt n nh, nu khng th ta s khng gii m
c. V nu tn ti (x1 ,x2) : y = ek(x1) = ek(x2)
Bn m Y khng tn ti.
Trong mt h mt bt k ta lun c |C| |P| v mi
quy tc m ho l mt n nh. Khi |C| = |P| th mi
hm m ho l mt hon v.

Chng 2_MT M HC

2.1.3. M hnh truyn n c bn ca mt m


hc v lut Kirchoff

Chng 2_MT M HC

Theo lut Kircho (1835 - 1903) (mt nguyn


tc c bn trong m ho) th: ton b c ch
m/gii m tr kho l khng b mt i vi
k ch
ngha :s an ton ca cc h m mt khng
phi da vo s phc tp ca thut ton m
ha s dng.

Chng 2_MT M HC

2.2.S lc v lch s mt m hc
Mt m hc l mt ngnh khoa hc c mt lch s
khong 4000 nm
Cc phng php m ha n gin u n m loi
ngi s dng l ca ngi Ba T c v ngi Do
Thi c.
Lch s mt m hc => hai thi k nh sau:
Thi k n khoa hc: T trc cng nguyn cho
ti nm 1949 : Mang tnh ngh thut
Lch s ca mt m hc hin i c nh du vo
nm 1949 khi Claude Shannon a ra l thuyt
thng tin.
u nhng nm 1970 l s pht trin ca cc thut
ton m ha khi u tin: Lucipher v DES
Chng 2_MT M HC

Vo cui nhng nm 1970 pht trin cc thut ton


kha cng khai sau khi Whi ield Die v Mar n
Hellman cng b bi bo New Direc ons in
Cryptography lm nn tng cho s ra i ca cc h
m kha cng khai v cc h ch k s.
Cc h m khi vn p tc c pht trin thay th
cho DES vo cui th k 20 nh IDEA, AES hoc 3DES
(mt ci n ca DES).
Cc hm bm MD5 (mt hm bm thuc h MD do
Ron Rivest pht trin) v SHA1 .
MD5 v SHA1 b hack, cc nh mt m hc
khuyn co s dng cc hm bm mnh hn (nh
SHA-256, SHA-512) trong cc ng dng.
Chng 2_MT M HC

2.3.Phn loi cc thut ton mt m


Cc thut ton m ha kha b mt ( h m mt
kha b mt hay kha i xng SKC (Symmetric Key
Cryptosytems), v d : Caesar, DES, AES
Cc thut ton m ha kha cng khai (cc h m
kha cng khai PKC )(Public Key Cryptosystems).
Cn gi l cc h m kha bt i xng (Asymmetric
Key Cryptosytems). Kha s dng cho cc thut
ton ny l 2 kha : Public Key v Private key
Cc thut ton to ch k s (Digital Signature
Algorithms) : RSA, ElGammma
Cc hm bm (Hash functions).
Chng 2_MT M HC

10

Phn loi theo cch s l Input/Ouput


Cc thut ton m ha khi (chng hn nh
DES, AES ) x l bn r c chia thnh cc
khi c di ging nhau Mi .
Cc thut ton m ha dng (RC4 ) coi bn r
l mt lung bit, byte lin tc.

Chng 2_MT M HC

11

2.4. ng dng ca mt m hc
Bo mt (Confidentiality) truyn thng hoc giao dch
hoc cc thng ip trn mt h thng my nh (cc
le, cc d liu trong mt c s d liu ).
Xc thc (Authen ca on): m bo ngun gc ca
mt thng ip, ngi dng.
Ton vn (Integrity): m bo d liu khng b thay i
bt hp php trn mng truyn thng cng nh khi
lu tr.
Dch v khng th chi t (Non-Repudiation):Khng
th ph nhn vic tham gia vo mt giao dch hp l.
Ngoi ra cn cc dch v quan trng khc nh ch k
in t, dch v chng thc danh nh (CA)
Chng 2_MT M HC

12

2.5. C s ton hc ca mt m

Khi nim c bn v l thuyt thng tin Entropy,


Tc ca ngn ng (Rate of Language)
phc tp ca thut ton,
an ton ca thut ton,
Kin thc ton hc: ng d s hc (modulo), s
nguyn t, nh l phn d trung hoa, nh l
Fermat . . . v cc thut ton kim tra s nguyn
t
Chng 2_MT M HC

13

Nhng vn chnh

L thuyt thng tin


L thuyt phc tp (tham kho ti liu)
an ton ca thut ton ( tham kho ti liu)
L thuyt s hc.

Chng 2_MT M HC

14

2.5.1 . L thuyt thng tin


2.5.1.1 . ENTROPY : n v o lng thng tin
Khi lng thng n trong mt thng bo l s bt nh
nht cn thit m ho tt c nhng ngha c th
ca thng bo .
V d, trng NGAY trong tun cha khng qu 3
bt thng n, bi vy thng n ngy c th m ho
vi 3 bt d liu.
Trng GIOI_TINH c th hin bi 1 bt thng tin
0 v 1

Chng 2_MT M HC

15

Khi lng thng n trong mt thng bo M o


bi Entropy ca thng tin , k hiu l H(M).
Entropy ca thng bo GIOI_TINH 1 bt, k
hiu H(gioi_tinh) = 1. (n=2)
Entropy ca thng bo NGAY trong tun l 3 .
(n=8)

Chng 2_MT M HC

16

Trong trng hp tng qut, Entropy ca mt


thng bo l log 2 n, vi n l s kh nng c
th ( ngha) ca thng bo.

H(M) = log 2 n

Chng 2_MT M HC

17

2.5.1.2.Tc ca ngn ng. (Rate of


Language)
Tc thc t (actual rate) ca ngn ng l:
r = H(M)/N
N l di ca thng bo M . Tc ca ng Anh bnh
thng l 0.28 do mi ch ci ng Anh c 1.3 bit c
ngha.
Tc tuyt i (absolute rate) l s bits ln nht cn
thit m ha cc k t ca mt ngn ng . Nu c L
k t trong mt ngn ng, th tc tuyt i l :

R = log 2 L
Chng 2_MT M HC

18

y l s Entropy ln nht ca mi k t n l. i
vi ng Anh gm 26 ch ci, tc tuyt i l
log 2 26 = 4.7bits/ch ci(letter).
d tha ca ngn ng (Redundancy) t nhin.
d tha (Redundancy) ca mt ngn ng k hiu
l D :

D = R r.
i vi ng Anh:
D = 1 - 0.28 =0.72 letters/letter
D = 4.7 1.3 = 3.4 bits/letter
Nh vy mi ch ci c 1.3 bit ngha v 3.4 bit d tha
(xp x 72%).
Chng 2_MT M HC

19

2.5.2. L thuyt s hc
2.5.2.1. Php ton Modulo
Cc php ton modulo , bao gm cc php giao hon, kt
hp v phn phi.
(a+b) mod n = ((a mod n) + (b mod n)) mod n
(a- b) mod n = ((a mod n) - (b mod n)) mod n
(axb) mod n = ((a mod n) x (b mod n)) mod n
(ax(b + c)) mod n = (((a x b) mod n) + ((a x c) mod n)) mod n
Cc php nh trong cc h m mt hu ht u lin quan
n mt php ton modulo .
Chng 2_MT M HC

20

2.5.2.2. S nguyn t
aZ,bN*;qZ v rN sao cho a=bq+r , 0rb;
q c k hiu l a/b (thng s), r s d ca
a%b hay a modulo b
Mt s nguyn dng c Z gi l SC ca a,b nu ca
v cb; SC gcd Z ca a,b Z c gi l SCLN , gcd
= gcd(a,b) hay gcd=a b nu ca,cb cgcd
lcmZ gi l BSC ca a,b nu alcm v blcm; lcmN l
BSCNN ca a,b nu ac , bc gcdc ;
K hiu lcm=lcm(a,b) hay lcm=ab .

Chng 2_MT M HC

21

nh ngha
Vi a 2 gi l mt SNT nu n chia ht cho 1
v a.
Tp hp cc SNT k hiu l : p{2,3,5,7,11,13,..,}
nh ngha
a,bZ gi l nguyn t cng nhau (ab) nu a v
b ch c mt SC duy nht l 1, (ab=1)

Chng 2_MT M HC

22

Mt s khi nim
Tp nguyn Z{0,1,2... n}
Vnh (A,+,*)
Nhm (G)
Trng (F,+,*,a-1)
Php ng d

Chng 2_MT M HC

23

Php ng d :
x y(mod m) ; x<m ; x,y [0-n]
Hay : x = y+km => x-y =km
x chia cho m c s d r
y chia cho m c s d r
x-y bi s ca m ; m l s chia ca x-y
Ta goi x l thng d ca y theo modulo m ; x l
ng d ca y
Phng trnh Diophante (pt bt nh)
axn+byn = cn x,y { Z } nghim ca pt

Chng 2_MT M HC

24

Vnh Z N (vnh ng d modul0 N)


Tp cc s nguyn ZN = {0, 1, , N-1} trong N l
mt s t nhin dng vi hai php ton cng (+) v
nhn (.) to thnh mt vnh ng d modulo N (hay
cn gi l tp thng d y theo modulo N):
Php cng:
a, b Z N : a+b = (a+b) mod N.
Php nhn:
a, b ZN: a . b = (a * b) mod N.

Chng 2_MT M HC

25

2.5.2.3. Nghch o modulo


Trn trng s thc R, s nghch o ca 5 l 1/5,
bi v 5 x 1/5=1.
Trn vnh s nguyn ZN khi nim v s nghch
o ca mt s nh sau:
Gi s a ZN v b ZN sao cho a.b 1 mod N .
Khi b l duy nht v c gi l nghch o ca
a trn trng ZN v k hiu l a -1 = b.
Vic m phn t nghch o ca mt s a ZN
thc cht l m hai s b v k sao cho: a.b = k.N + 1
trong b, k ZN. Hay vit gn li l:

a-1 b (mod N )
Chng 2_MT M HC

26

nh l v s tn ti ca phn t nghch o:
Nu gcd(a, N) = 1 th tn ti duy nht 1 s
b ZN l phn t nghch o ca a, ngha l
tha mn a.b = (a*b) mod N = 1.
Lc ny phng trnh ng d c dng :
a*b - 1 = kN ; trong k ZN

Chng 2_MT M HC

27

2.5.2.3. Hm Phi_le
Vi mi s nguyn N , gi tr ca hm phi le ca N l
tng s tt c cc s nguyn ZN v nguyn t cng
nhau vi N .
Nu P l mt s nguyn t th gi tri hm phi le ca
P: (P) = P 1 hoc nu N = p*q trong p v q l
hai s nguyn t th
(N) = (p-1)*(q-1).
Tng qut :

Chng 2_MT M HC

28

inh l le pht biu nh sau:


a Z*N = ZN {0} v (a, N) = 1 ta c
. C ngha
chnh l gi tr
nghch o ca a trn ZN.
inh l Fermat nh (Trng hp ring ca nh l
le): Nu P l mt s nguyn t th
a Z*P ta c
.
.
y l mt trong nhng nh l p nht ca s hc.

Chng 2_MT M HC

29

Vi mi s nguyn N vnh Z *N gm cc phn t thuc


Z N v nguyn t cng nhau vi N, hay ni cch khc:
Z*N = {x: x ZN, (x, N) = 1} = {x: x Z N,
}.
Vi mi phn t a ZN , bc t ca a (k hiu l ord (a))
l s nh nht sao cho : at = 1. Theo nh l le ta suy
ra (N) chia ht cho t.
V d: N=21 ta c bng sau
a Z*21 1 2 4

10

11

13

16

17

19

20

Ord(a)

1 6 3

Chng 2_MT M HC

30

Nu bc ca a Z*N bng (N) th a c gi


l phn t sinh hay phn t nguyn thy ca
tp Z*N v nu tp Z*N ch c mt phn t sinh
th n c gi l mt cyclic.
V d : N=3 , a=2
(N) =(N-1) =2 ; (N P)
Ord(a) = t=2 v at mod N =22 mod 3 =1
a = (N) =2 vy 2 l phn t nguyn thy ca Z*(2)

Chng 2_MT M HC

31

2.5.3. Mt s thut gii trn trng modulo


2.5.3.1. Thut gii Euclic tnh gcd ca hai s nguyn
dng
Input : a,b N,a>b1
Output gcd(a,b)
while b>0 do
r=a%b;a=b;b=r
Return(a)

Chng 2_MT M HC

32

2.5.3.2. Beazout algorithm:


Tnh d=gcd(a,b)v x,y : ax+by=d
Input: a,b nguyn , khng m :a b
Output: d=gcd(a,b); x,y:ax+by=d;
1) If b=0 then d=a; x=1;y=0.
2) x2=1; x1= 0; y2=0; y1=1.
3) while(b>0)do
a)q=a/b; r=a-q*b ; x=x2-q*x1 ; y=y2-q*y1;
b).a=b ; b=r ; x2=x1; x1=x ; y2=y1; y1=y;
4) d=a; x=x2; y=y2.
5) Return(d,x,y).
Chng 2_MT M HC

33

2.5.3.3. Php ly tha modulo


nh ngha
2i
Cho x Zm, v p N* ; p 0.il pi ; Php ton x mod m
c gi l php ly tha modulo.
0
2
4
l
p
p
p
p
p
Ta c : x x x x ... x
p

Thut gii :
Input : x Zm,
Output : xp mod m
(1) y = 1. Nu p = 0, Return y.
(2) A = x. nu P0 = 1, th y = x.
(3) Cho i chy t 1 n I, Do:
a. A =A2 mod m ;
b. Nu pi = 1 th y = (A*y) mod m.
(4) Return y.

Chng 2_MT M HC

34

2.3.5.4. Thut gii tnh modulo nghch o


Input : aZN
Output :tm x a-1(modn) nu tn ti
i) Dng gii thut Beazout tnh
x,yZ : ax+ny=d vi gcd=gcd(a,n).
ii) If gcd > 1,
a-1(mod n) not exist.
iii) If gcd = 1,
Return x(mod n).

Chng 2_MT M HC

35

2.5.3.5. Thut ton ly tha nhanh


Input: a, m, N.
Output: am mod N.
Begin :
Phn tch m thnh dng nh phn m = bk ,b k-1b0.
j = 0, kq = a;
while (k>=j)
{
if (bj==1)
kq = (kq * a) mod N;
a = (a * a) mod N;
j = j + 1;
}
return kq;
end
Chng 2_MT M HC

36

2.4.3.6.Thut gii Euclic nh phn


Input x,y>0
Output gcd (x,y)
a. g=1
b. While x,y even ,Do
i. x=x/2
ii. y=y/2
iii. g=2g
c. While(x>0),Do
i. While x even Do x=x/2.
ii. While y even Do y=y/2.
iii. t=x-y/2.
iv. If xy Then x=t,else y=t.
d. g=gy.
e. Return g.
Chng 2_MT M HC

37

Yu cu : nm vng l thuyt
Lm cc bi tp trong gi thc hnh (8 tit hc)
Tham kho cc code trong phn bi tp

Chng 2_MT M HC

38

HT CHNG 2

Chng 2_MT M HC

39

You might also like