Click here to load reader
Upload
atalo
View
353
Download
15
Embed Size (px)
DESCRIPTION
SIGURIA E TË DHËNAVE. KRIPTOGRAFIA STEGANOGRAFIA ENKRIPTIMI SIMETRIK ASIMETRIK NËNSHKRIMI DIGJITAL. Kriptografia–është shkenca matematiko-teknike për ruajtjen e sigurisë së shënimeve në aspekt të: Confidentiality(privacy)–fshehtësia - PowerPoint PPT Presentation
Citation preview
SIGURIA E T DHNAVE
KRIPTOGRAFIASTEGANOGRAFIAENKRIPTIMI SIMETRIK ASIMETRIKNNSHKRIMI DIGJITAL
Kriptografiasht shkenca matematiko-teknike pr ruajtjen e siguris s shnimeve n aspekt t:Confidentiality(privacy)fshehtsia
Integritykompakte, do ndrrim detektohet
Authentication verifikimi i partnerve paraprocesit t komunikimit
Non-repudiationjomohueshmria
PRDORIMI I KRIPTOGRAFIS
KODI I CEZARIT
KODI I XHEFERSONIT
ENIGMA
Ngjarja zhvillohet n ShBA n fillim t viteve t 70NSA (US National Security Agency)N vitin 1972: ish NBS (National Bureau ofStandards) tani NIST (National Institute ofStandards and Technology) kan parashtruarkrkesat pr mbrojtje t shnimeveT zhvillohet nj algoritm pr enkriptim
KODI I CEZARIT (CAESARS CIPHER)MESAZHI (PLAINTEXT)
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
MESAZHI I ENKRIPTUAR (CIPHERTEXT)
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
ELSI TE KODI I CEZARITELSI K=0A B C D E F G H I J K L M N O P Q R S T U V X Y Z ELSI K=1B C D E F G H I J K L M N O P Q R S T U V X Y Z AELSI K=2C D E F G H I J K L M N O P Q R S T U V X Y Z A B.DERI K=?
TRANSPONIMI (ZHVENDOSJA) E SHIFRAVE
ZVENDSIMI - NDRYSHIMI
TRANSPONIMI - RIPOZICIONIMI
FIVE AM LAST NITE IT AS CLONERY
IVEA MF LTTTSOEANECRSIIALNY
TRANSPONIMI I DYFISHT
LTTTSOEANECRSIIALNY
LTEEILTSARINTONCSAY
LTTTSOEANECRSIIALNY
TRANSPONIMI DIAGONAL
FIVE AM F I V E A M
FEIAVM F E I A V M
1 2 3 4 5 6
1 4 2 5 3 6
ZVENDSIMI DHE TRANSPONIMI
SHPNDARJA DHE HUTIMISHIFRAT E POLYBIUS it
JESTER 24 15 43 44 15 42
24 15 43 44 15 42
21 44 14 45 34 52
javax.crypto
public class DesEncrypter {Cipher ecipher;Cipher dcipher;DesEncrypter(SecretKey key) {try {ecipher = Cipher.getInstance("DES");dcipher = Cipher.getInstance("DES");ecipher.init(Cipher.ENCRYPT_MODE, key);dcipher.init(Cipher.DECRYPT_MODE, key);} catch (javax.crypto.NoSuchPaddingException e) {} catch (java.security.NoSuchAlgorithmException e) {} catch (java.security.InvalidKeyException e) {}}
public String encrypt(String str) {try {// Encode the string into bytes using utf-8byte[] utf8 = str.getBytes("UTF8");// Encryptbyte[] enc = ecipher.doFinal(utf8);// Encode bytes to base64 to get a stringreturn ne sun.misc.BASE64Encoder().encode(enc);} catch (javax.crypto.BadPaddingException e) {} catch (IllegalBlockSizeException e) {} catch (UnsupportedEncodingException e) {} catch (java.io.IOException e) {}return null;}
public String decrypt(String str) {try {// Decode base64 to get bytesbyte[] dec = ne sun.misc.BASE64Decoder().decodeBuffer(str);// Decryptbyte[] utf8 = dcipher.doFinal(dec);// Decode using utf-8return ne String(utf8, "UTF8");} catch (javax.crypto.BadPaddingException e) {} catch (IllegalBlockSizeException e) {} catch (UnsupportedEncodingException e) {} catch (java.io.IOException e) {}return null;}}
try {// Generate a temporary key. In practice, you ould save this key.// See also e464 Encrypting ith DES Using a Pass Phrase.SecretKey key = KeyGenerator.getInstance("DES").generateKey();// Create encrypter/decrypter classDesEncrypter encrypter = ne DesEncrypter(key);// EncryptString encrypted = encrypter.encrypt("Don't tell anybody!");// DecryptString decrypted = encrypter.decrypt(encrypted);} catch (Exception e) {}
SITA E ERATOSTENIT
NUMRAT E THJESHT
ENKODIMI MATRICOR
AX=BC AP + B (mod n)
P - POROSIAC POROSIA E ENKRIPTUAR
B=0 ENKODIMI I HILLIT (HILL CIPHERS)
AP + B C (mod n)
AP C - B (mod n)
P IP A`AP A`(C - B) (mod n).
A` - MATRICA INVERSE E A
Ekzistenca e A`
det(A)= 0
Pr A (mod 26), A` ekzston ather dhe vetm ather kur GCD(det(A),26)=1.GCD sht algoritmi i Euklidit pr gjetjen e pjestuesit m t madh t prbashkt
public static int[ ][ ] shumezo(int[ ][ ] m1,int[ ][ ] m2) { int[][] c=ne int[m1.length][m2[0].length]; if (m1[0].length != m2.length) { System.out.println("Gabim ne rendin e matricave); System.exit(0); } else { for (int i=0; i!=m1.length; i++) for (int j=0; j!=m2[0].length; j++) for (int k=0; k!=m2.length; k++) c[i][j]=c[i][j]+m1[i][k]*m2[k][j]; } return c; }
SHEMBULL
THE END
TH EE ND
TH= , EE= , ND=
A`=
DOBESITE E KRIPTOSISTEMIT MATRICOR
1*a+20*b+s=2(mod 26) 1*c+20*d+t=20(mod 26)
20*a+1*b+s=7(mod 26) 20*c+1*d+t=20(mod 26)
3*a+11*b+s=8(mod 26) 3*c+11*d+t=13(mod 26)
1*a+20*b+s=2(mod 26)20*a+1*b+s=7(mod 26)3*a+11*b+s=8(mod 26)
1*c+20*d+t=20(mod 26) 20*c+1*d+t=20(mod 26) 3*c+11*d+t=13(mod 26)
Permutation Cipher (Transposition Cipher)Supozojm m=6 (gjatsia e bllokut) dhe celsi sht pemutacioni n vijim: :
dhe inversi i permutacionit -1:
123456351642
123456361524
Supozojm plaintext-in:
siguriaetedhenavenekompjuter
S pari i grupojm n blloqe me gjatsi 6: siguri | aetedh | enaven | ekompj | uter
Tani secila shkronj n grupin prej gjasht i ndrrohet pozita varsisht nga permutacioni , dhe si rezultat vjen:
Ciphertext-i mund t dekriptohet me an t invesit t permutacionit pra -1:
Permutation Cipher sht rast i vecant i Hill Cipher
Le t jt permutacioni me bashksin{1, . . . , m}, mund t bjm definimin e nj matrice te rendit m m K = (ki,j) bazuar n formuln e mposhtme:
STREAM CIPHER
y=y1y2 =ek1(x1) ek2(x1)
z1,y1,z2,y2, z1,x1,z2,y2,
ez(x)=x + z mod 2
dz(y)=y + z mod 2
zi+m=
zi+4=zi + zi+1 mod 2
z=(1,0,0,0)
1,0,0,0,1,0,0,1,1,0,1,0,1,1,1,
CHINESE REMAINDER THEOREM
Ka zgjidhje unike M=m1m2m3mn
x=a1M1M`1+a2M2M`2+a3M3M`3++anMnM`n (mod M)
ku Mi=M/mi dhe M`i sht inversi i Mi (mod mi)
Fuqizimi modulo (Modular exponentiation)
Gjejm c, pr b dhe e>0 ashtu q
Gjejm c, pr b dhe e
Metoda direkte
b = 4, e = 13, and m = 497:
c 413 (mod 497)
be = 67 108 864be mod 497 =445c=445.
b nj shifrore dy shifrorbe dhjet shifror
Nse
b 77 shifrore 2 shifrorbe 1309 shifror b = 5 * 1076 , e = 17
Shembull: b = 4, e=13 , m = 497
e' = 1. c = (1 * 4) mod 497 = 4 mod 497 = 4. e' = 2. c = (4 * 4) mod 497 = 16 mod 497 = 16. e' = 3. c = (16 * 4) mod 497 = 64 mod 497 = 64. e' = 4. c = (64 * 4) mod 497 = 256 mod 497 = 256. e' = 5. c = (256 * 4) mod 497 = 1024 mod 497 = 30. e' = 6. c = (30 * 4) mod 497 = 120 mod 497 = 120. e' = 7. c = (120 * 4) mod 497 = 480 mod 497 = 480. e' = 8. c = (480 * 4) mod 497 = 1920 mod 497 = 429. e' = 9. c = (429 * 4) mod 497 = 1716 mod 497 = 225. e' = 10. c = (225 * 4) mod 497 = 900 mod 497 = 403. e' = 11. c = (403 * 4) mod 497 = 1612 mod 497 = 121. e' = 12. c = (121 * 4) mod 497 = 484 mod 497 = 484. e' = 13. c = (484 * 4) mod 497 = 1936 mod 497 = 445.
Algoritmi i ngritjes n katror
2340 = x (mod 341)= 2340=(2170)2=((285)2)2=((22*42+1)2)2=((2(242)2)2)2=((2((221)2)2)2)2=((2((22*10+1)2)2)2)2=(((2((2(210)2)2)2)2)2)2=(((2((2(25*2)2)2)2)2)2)2=(((2((2((25)2)2)2)2)2)2)2=(((2((2((22*2+1)2)2)2)2)2)2)2=(((2((2((2(22)2)2)2)2)2)2)2)2
=(((2((2((2(22)2)2)2)2)2)2)2)2=(((2((2((2(4)2)2)2)2)2)2)2)2=(((2((2((32)2)2)2)2)2)2)2322=1024 mod 341 = 1=(((2((2((1)2)2)2)2)2)2)2=(((2((2)2)2)2)2)2=(((2(4)2)2)2)2=((1)2)2=1 Pra 2340 = 1 (mod 341)
RSA Ron Rivest, Adi Shamir dhe Leonard Adleman
Faktorizimi i numrave t thjesht
Zgjedhen dy numra t thjesht p dhe qLlogaritet n=p*q, ku n prdoret si modulus pr te dy elsat privat dhe publik,Llogaritet (n)=(p-1)*(q-1), Zgjedhet nj numr e i till q 1
Enkriptimi
c=me mod nc porosia e enkriptuarDekriptimi
m=cd mod nm porosia e dekriptuar
Shembull: p=61 q=53
n = 61*53=3233,(n)=(61-1)*(53-1)=3120,elsi publik e = 17 sepse 1
Nse bjm enkriptimin e numrit 123
c = 12317 mod 3233c = 855
Dekriptimi
m = 8552753 mod 3233m = 123