Você está na página 1de 13

BI THO LUN

Mn: An Ton V Bo Mt Thng Tin

ti: Cc Phng Php M Ha C in


Ging Vin : Nguyn Lan Oanh

A. M Ha
I. Khi nim M ha s dng thut ton v kha bin i d liu t hnh thc n gin r rng (plain hay cleartext), lm bin d liu sang hnh thc mt m v ngha (code hay ciphertext). Ch c nhng ai c thng tin gii m th mi gii m c v c c d liu.

M ha dng lm g ?
M ha vi mc ch lm cho d liu khng th c c bi bt c ai, ngoi tr nhng ai c cho chp c.

B. Cc phng php m ha c in
1. C s ton hc. nh ngha:
Mt h mt m l mt b 5 (P,C,K,E,D). Trong : P (PlainText) l tp hu hn cc bn r. C (Ciphertext) l tp hu hn cc bn m. K (Key) l tp hu hn cc kha. Mi k K l mt kha. E (Encryption) l tp cc quy tc m ha P C vi x P th y = ek(x) C. D (Decription) l tp cc quy tc gii m C P vi mi dk(y)=x. Gi s a, b l cc s nguyn, m l s nguyn dng. Khi ta ni a b (modulo m) nu m chia ht cho b-a. Mnh a b (mod m) c gi l a ng d vi b theo modulo m. S nguyn m c gi l modulus. Gi s a l mt s nguyn dng thuc Zm v UCLN(a,m) = 1 khi phn t nghch o theo php nhn ca a trong khng gian Zm l a-1 Zm sao cho a.a-1 1 (mod m).

B. Cc phng php m ha c in
1. C s ton hc. Thut ton Euclid m rng: Tnh x-1 mod m. Thut ton c m t bng chng trnh Java di y:
static int UCLN(int a, int b){ while(a!=b){ if(a>b)a=a-b; else b=b-a; } return a; } public static void main(String[] args) { Scanner input= new Scanner(System.in); int x,m,a0,b0,a1,b1,y,c,d,e,f,g; a0=b1=1; a1=b0=0;

B. Cc phng php m ha c in
1. C s ton hc.
System.out.print("x= "); x= input.nextInt(); System.out.print("m= "); m= input.nextInt(); if(UCLN(x,m)!=1) System.out.print("Khong ton tai mod!"); else{ f=m; g=x; while(x>0){ y=m/x; e=x; x=m%x; m=e; c=a1; d=b1; a1=a0-c*y; a0=c; b1=b0-d*y; b0=d; } if(b0>0)System.out.print(g+"^-1mod "+f+"= "+b0); else System.out.print(g+"^-1mod "+f+"= "+(b0+f)); } }

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 .M dch vng:

M dch vng c xc nh trn Z26 mc d c th xc nh n trn Z vi modulus ty . Z26 s dng chuyn i bng ch ci ting Anh: A 0, B 1, , Z 25. S m: Gi s P = C = K = Z26 vi 0 k 25 v x, y Z26 nh ngha: ek(x) = x + k mod 26 dk(x) = y k mod 26 V d: Gi s cho kha k = 11 v bn r l wewillmeetatmidnight sau khi bin i thnh cc s nguyn ri cng k = 11 vo mi gi tr, sau rt gn theo mod 26 ta s c bn m HPHTWWXPPELEXTOYTRSE.

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 .M dch vng:

M dch vng (theo modulo 26) l khng an ton v n c th b thm theo phng php vt cn. Do ch c 26 kho nn d dng th mi kho dK c th cho ti khi nhn c bn r c ngha.

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 . M hon v:

y l loi mt m ni ting c s dng hng trm nm. P = C = Z26. K cha mi hon v c th ca 26 k hiu 0,1,,25. Vi mi php hon v K v -1 l hon v ngc ca ta nh ngha: e(x) = (x) d(y) = -1(y)
Mi kha ca m ny l mt php hon v ca 26 k t. S cc hon v ny l 26! L mt s rt ln. Do phng php vt cn khng thc hin c. Tuy nhin n d b thm m bng cc phng php khc.

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 . M Affine:

Cho P = C = Z26 v gi s K = { (a,b) (Z26 , Z26) : UCLN(a,26) = 1 } Vi k = (a,b) K v x,y Z26 , ta nh ngha: ek(x) = a.x + b mod 26 dk(x) = a-1(y - b) mod 26 Vi a = 1 th tr thnh m dch vng. Mt m Affine l mt v d n gin cho ta thy cch thm h m nh dng cc s liu thng k.

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 . M Hill:

Mt m ny do Lester S.Hill a ra nm 1929. tng y l ly m t hp tuyn tnh ca m k t trong mt phn t ca bn r to ra m k t mt phn ca bn m. Cho m l mt s nguyn dng c nh. Cho P = C = (Z26)m v cho K l tp cc ma trn kh nghch cp m m trn Z26. Vi mt kha k K ta xc nh trong Z26: ek(x) = xK dk(x) = yK-1 iu kin tn ti K-1 trong Z26 l (|K|, 26) = 1 K-1 = .K* = |K|-1.K* mod 26 K* l ma trn phn b i s ca K K*ij = (-1)i+j |ma trn con| Trong cc mt m c in th mt m ny ni ln l mt m an ton nht!

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 . M Viegnere :

Mt m ny ly tn ca Blaise de Vigenre sng th k XVI. Cho m l mt s nguyn dng c nh no . nh ngha P = C = K = (Z26)m. Vi kha k = (k1,k2,,km), trong Z26 ta xc nh: ek(x1,x2,xm) = (x1+k1, x2+k2, , xm+km) dk(y1,y2,ym) = (y1-k1, x2-k2, , ym-km)

S cc t kha c th c vi di m trong mt m ny l 26m. Do , vi m kh nh, phng php vt cn cng yu cu thi gian kh ln.

B. Cc phng php m ha c in
2. Cc loi m c in
2.1 . M kha t sinh :

Cho P = C = K = L = Z26 Cho z1 = k v zi = xi-1 (i2). Vi 0 z25, x,y Z26 ta xc nh: ez(x) = x + z mod 26 dz(x) = y - z mod 26 Ngoi kha khi u k th bn r c dng lm kha trong qu trnh m ha. M dng kha t sinh khng an ton bi v ch c 26 kha.

Nhm : 1. Nguyn Thnh 2. H Hng Sn

Você também pode gostar