Presentation is loading. Please wait.

Presentation is loading. Please wait.

SIGURIA E TË DHËNAVE.

Similar presentations


Presentation on theme: "SIGURIA E TË DHËNAVE."— Presentation transcript:

1 SIGURIA E TË DHËNAVE

2 KRIPTOGRAFIA STEGANOGRAFIA ENKRIPTIMI SIMETRIK ASIMETRIK NËNSHKRIMI DIGJITAL

3 Kriptografia–është shkenca matematiko-teknike për ruajtjen e sigurisë së shënimeve në aspekt të:
Confidentiality(privacy)–fshehtësia Integrity–kompakte, çdo ndërrim detektohet Authentication –verifikimi i partnerëve paraprocesit të komunikimit Non-repudiation–jomohueshmëria

4 PËRDORIMI I KRIPTOGRAFISË
KODI I CEZARIT KODI I XHEFERSONIT ENIGMA

5 STEGANOGRAFIA

6

7

8 Ngjarja zhvillohet në ShBA në fillim të viteve të ‘70
NSA (US National Security Agency) Në vitin 1972: ish NBS (National Bureau of Standards) tani NIST (National Institute of Standards and Technology) kanë parashtruar kërkesat për mbrojtje të shënimeve Të zhvillohet një algoritëm për enkriptim

9 KODI I CEZARIT (CAESAR’S 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

10 ÇELËSI TE KODI I CEZARIT
ÇELËSI K=0 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 ÇELËSI K=1 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 ÇELËSI K=2 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 ………. DERI K=?

11

12

13

14

15

16 //Enkriptimi i mesazhit
private static byte[] caesarEncipher(byte[] message,int shift) { byte[] m2=neË byte[message.length]; for (int i=0;i<message.length;i++) m2[i]=(byte)((message[i]+shift)%256); } return m2; //Dekriptimi i mesazhit. private static byte[] caesarDecipher(byte[] message,int shift) m2[i]=(byte)((message[i]+(256-shift))%256);

17 TRANSPONIMI (ZHVENDOSJA) E
SHIFRAVE

18 ZËVENDËSIMI - NDRYSHIMI
TRANSPONIMI - RIPOZICIONIMI

19 FIVE AM LAST NITE IT ëAS CLOëNERY
IVEA MF LTTTSOEANEëCëRSIIALNY

20 L A S T N I E Ë C O ë R Y

21 TRANSPONIMI I DYFISHTË
LTTTSOEANEëCëRSIIALNY LTEEëILTSAëRINTONCSAY

22 LTTTSOEANEëCëRSIIALNY

23 TRANSPONIMI DIAGONAL A B C D E F G H I J K L

24 FIVE AM F I V E A M FEIAVM F E I A V M

25 ZËVENDËSIMI DHE TRANSPONIMI

26 SHPËNDARJA DHE HUTIMI 1 2 3 4 5 SHIFRAT E POLYBIUS –it 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

27 JESTER 24 15 43 44 15 42 1 2 3 4 5 A B C D E F G H I/J K L M N O P Q R
U V ë X Y Z

28 JESTER

29 javax.crypto

30 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) { }

31 public String encrypt(String str) {
try { // Encode the string into bytes using utf-8 byte[] utf8 = str.getBytes("UTF8"); // Encrypt byte[] enc = ecipher.doFinal(utf8); // Encode bytes to base64 to get a string return neë sun.misc.BASE64Encoder().encode(enc); } catch (javax.crypto.BadPaddingException e) { } catch (IllegalBlockSizeException e) { } catch (UnsupportedEncodingException e) { } catch (java.io.IOException e) { } return null;

32 public String decrypt(String str) {
try { // Decode base64 to get bytes byte[] dec = neë sun.misc.BASE64Decoder().decodeBuffer(str); // Decrypt byte[] utf8 = dcipher.doFinal(dec); // Decode using utf-8 return neë String(utf8, "UTF8"); } catch (javax.crypto.BadPaddingException e) { } catch (IllegalBlockSizeException e) { } catch (UnsupportedEncodingException e) { } catch (java.io.IOException e) { } return null;

33 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 class DesEncrypter encrypter = neë DesEncrypter(key); // Encrypt String encrypted = encrypter.encrypt("Don't tell anybody!"); // Decrypt String decrypted = encrypter.decrypt(encrypted); } catch (Exception e) {}

34 SITA E ERATOSTENIT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

35 2 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59

36 2 3 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49 53 55 59

37 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 49 53 59

38 NUMRAT E THJESHTË 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59

39 ENKODIMI MATRICOR AX=B C ≡ AP + B (mod n) P - POROSIA C – POROSIA E ENKRIPTUAR B=0 → ENKODIMI I HILLIT (HILL CIPHERS)

40 AP + B ≡ C (mod n) AP ≡ C - B (mod n) P ≡ IP ≡ A`AP ≡ A`(C - B) (mod n). A` - MATRICA INVERSE E A

41 Ekzistenca e A` det(A)= 0 Për A (mod 26), A` ekzston atëherë dhe vetëm atëherë kur GCD(det(A),26)=1. GCD është algoritmi i Euklidit për gjetjen e pjestuesit më të madh të përbashkët

42 public class GCD { public int GCD(int x,int y) { if (x<y) { int temp=x; x=y; y=temp; } if (x%y==0) { return y; } else { return GCD(y,x%y); } } }

43 int[][] c=neë int[m1.length][m2[0].length];
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; }

44 public static int[][] shkruaj(int a,int b)
{ int[][] z=neë int[a][b]; for (int i=0; i<a; i++) { for (int j=0; j<b; j++) { String f=JOptionPane.shoëInputDialog("Jepni vleren e m["+i+"]["+j+"]"); z[i][j]=neë Integer(f).intValue(); } } return z; }

45 SHEMBULL THE END TH EE ND TH= , EE= , ND=

46

47 A`=

48

49 DOBESITE E KRIPTOSISTEMIT MATRICOR

50

51 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)

52 3*a+11*b+s=8(mod 26) 3*c+11*d+t=13(mod 26)

53 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)

54

55 (Transposition Cipher)
Permutation Cipher (Transposition Cipher) Supozojmë m=6 (gjatësia e bllokut) dhe celësi është pemutacioni në vijim: π: dhe inversi i permutacionit π-1: 1 2 3 4 5 6 1 2 3 4 5 6

56 Supozojmë plaintext-in:
siguriaetedhenavenekompjuter Së pari i grupojmë në blloqe me gjatësi 6: siguri | aetedh | enaven | ekompj | uter Tani secila shkronjë në grupin prej gjashtë i ndërrohet pozita varësisht nga permutacioni π, dhe si rezultat vjen:

57 siguri aetedh enaven ekompj uterxx grsiui tdahee aeenvn opejmk exuxrt

58 grsiui tdahee aeenvn opejmk exuxrt siguri aetedh enaven ekompj uterxx
Ciphertext-i mund të dekriptohet me anë të invesit të permutacionit π pra π-1: grsiui tdahee aeenvn opejmk exuxrt siguri aetedh enaven ekompj uterxx

59 Le të jëtë permutacioni π me bashkësinë{1, . . . , m},
Permutation Cipher është rast i vecant i Hill Cipher Le të jëtë permutacioni π me bashkësinë{1, , m}, mund të bëjmë definimin e një matrice te rendit m ×m Kπ = (ki,j) bazuar në formulën e mëposhtme:

60

61 STREAM CIPHER y=y1y2 …=ek1(x1) ek2(x1) … z1,y1,z2,y2, … z1,x1,z2,y2, …

62 ez(x)=x + z mod 2 dz(y)=y + z mod 2 zi+m=

63 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, …

64 CHINESE REMAINDER THEOREM
Ka zgjidhje unike M=m1m2m3…mn x=a1M1M`1+a2M2M`2+a3M3M`3+…+anMnM`n (mod M) ku Mi=M/mi dhe M`i është inversi i Mi (mod mi)

65

66

67

68 Enkriptimi i bazës së të dhënave

69 Gjejmë inversin për Mi (mod pi)

70

71

72

73

74

75 Fuqizimi modulo (Modular exponentiation)
Gjejmë c, për b dhe e>0 ashtu që Gjejmë c, për b dhe e<0 ashtu që d – inversi i b (mod m)

76 Metoda direkte b = 4, e = 13, and m = 497: c ≡ 413 (mod 497) be = be mod 497 =445 c=445.

77 b – një shifror e – dy shifror be – dhjetë shifror Nëse b – 77 shifror e – 2 shifror be – 1309 shifror b = 5 * , e = 17

78 Metoda Memory-efficient
c ≡ be (mod m) Algoritmi 1o c = 1, e' = 0. 2o rrisim e' për 1. 3o vejmë c≡(b * c) (mod m). 4o nëse e' <= e, kalo te hapi 2o përndryshe c është përgjigja

79 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.

80 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

81 =(((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)2 322=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 = Pra = 1 (mod 341)

82 RSA Ron Rivest, Adi Shamir dhe Leonard Adleman
Faktorizimi i numrave të thjeshtë Zgjedhen dy numra të thjeshtë p dhe q Llogaritet n=p*q, ku n përdoret si modulus për te dy çelësat privat dhe publik, Llogaritet Φ(n)=(p-1)*(q-1), Zgjedhet një numër e i tillë që 1<e< Φ(n) dhe GCD(e, Φ(n))=1 e është çelësi publik, Llogaritet d ashtu që d * e = 1 (mod Φ(n)) dhe d është çelësi privat

83 Enkriptimi c=me mod n c – porosia e enkriptuar Dekriptimi m=cd mod n m – porosia e dekriptuar

84 p=61 q=53 Shembull: n = 61*53=3233, Φ(n)=(61-1)*(53-1)=3120,
Çelësi publik e = 17 sepse 1<e< Φ(n) dhe GCD(e, Φ(n) )=1, Gjejmë d të tillë që d*e=1 mod Φ(n), pra gjejmë d = 1/17 (mod Φ(n)), Algoritmi i zgjeruar i Euklidit d = 2753 çelësi privat Pra çifti (3233,17) është çelësi publik çifti (3233,2753) është çelësi privat

85 Nëse bëjmë enkriptimin e numrit 123
c = mod 3233 c = 855 Dekriptimi m = mod 3233 m = 123


Download ppt "SIGURIA E TË DHËNAVE."

Similar presentations


Ads by Google