Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kriptografija.

Similar presentations


Presentation on theme: "Kriptografija."— Presentation transcript:

1 Kriptografija

2 Istorija Kriptografija ili šifrovanje je naična disciplina koja se bavi metodama očuvanja tajnosti informacija, posebno prilikom prenosa . Reč je grčkog porekla i znači tajno pisanje. Spartanci u 5. veku p. n.e. upotrebljavali spravu za šifrovanje, skital: drveni štap sa namotanom trakom od pergamenta, na klju se vodoravno pisala poruka. Kad se odmota na njoj su izmešani znakovi koje je mogao pročitati samo onaj ko je imao štap jednake debljine.

3 Prve metode kriptovanja Julije Cezar kada je slao poruke svojim vojskovođama.
šifrovao je tako što je pojedina slova u tekstu pomerao za tri, četri ili više mesta u abecedi, tako da su mogli da dešifruju samo oni koji su poznavali pravilo pomeranja. Prva poznata studija o kriptografiji 1467 godine a napisao je italijanski arhitekta Leone Batista

4 U toku drugog svetskog rata na Nemačkoj mašina koja je šifrovala poruke – Enigma.
saveznici su uspeli da razbiju poruke šifrovane Enigmom Pojavom računara kriptografija se naglo razvija. računari su sve brži i brži, pa je vreme “probijanje” šifara sve kraće. razvoj novih, sigurnijih i komplikovanijih šema za šifrovanje

5 Termini Kriptografija se oslanja na matematiku i omogućava čuvanje važnih podataka kao i njihov prenos preko računarske ili telekomunikacione mreže a da pri tome niko ne može da ih pročita osim korisnika kome su namenjeni Kriptoanaliza je nauka o otkrivanju odnosno "razbijanju“ kriptovanih poruka. Kriptografski protokoli se upotrebljavaju za uspostavljanje sigurne komunikacije preko nepouzdanih globalnih mreža i distribuiranih sistema. Oslanjaju se na kriptografske metode zaštite

6 Kodiranje i šifrovanje
Kodiranje – transformacija izvornog teksta na osnovu obimne „knjige“ kodova, u kojoj se reči i fraze zamenjuju slučajnim nizom znakova Šifriranje radi na nivou pojedinačnih slova, malih grupa slova, ili na pojedinačnim bitovima. Umesto “knjige” kodova koriste algoritme koji su formirani nekom matematičkom formulom.

7 Kriptografija – zadatak
Osnovni zadatak je omogućavanje dvema osobama (pošiljalac i primalac) da komuniciraju preko nesigurnog komunikacionog kanala (telefonska linija, kompjuterska mreža, ...) tako da ostali ne mogu razumeti njihove poruke. Poruku koju pošiljalac želi poslati primaocu je otvoreni tekst (plaintext). Pošiljalac transformiše otvoreni tekst koristeći unapred dogovoreni ključ. Taj postupak se zove šifrovanje, a dobijeni rezultat šifrat (engl. ciphertext) ili kriptogram.

8 Kriptografski algoritam ili šifra
matematička funkcija koja se koristi za funkcije šifriranje: argumenti su ključ i otvoreni tekst dešifriranje: argumenti su ključ i šifrat ključ ključ šifrat Originalni otvoren tekst otvoren tekst dešifriranje primalac šifriranje pošiljalac protivnik

9 Sigurnost mreža, usluga i aplikacija
Ključ matematički algoritam koji određuje kako se šifrira otvoreni tekst ključ dužine n bitova generiše prostor ključeva od 2n mogućih vrednosti matematički algoritmi tajni javni Sigurnost mreža, usluga i aplikacija 9 9

10 Vrste algoritama Simetrični ili konvencionalni kriptosistemi (tajni ključ) ključ za dešifrovanje se može izračunati poznavajući ključ za šifrovanje i obratno, najčešće su ovi ključevi identični. Sigurnost ovih kriptosistema leži u tajnosti ključa. Kriptosistemi s javnim ključem ili asimetrični ključ za dešifrovanje se ne može (bar ne u nekom razumnom vremenu) izračunati iz ključa za šifrovanje. bilo ko može šifrovati poruku pomoću njega, ali samo osoba koja ima odgovaraju ključ za dešifrovanje (privatni ili tajni ključ) može dešifrovati tu poruku.

11 Simetrična kriptografija
za šifriranje i dešifriranje koristi se isti ključ tajni ključ uglavnom zasnovanii na logičkoj operaciji XOR model: M je poruka (message), K je ključ šifriranje (encription): EK (M)  C (C = šifrat, cyphertext) dešifriranje (decription): DK (C)  M napadač bez znanja ključa K ne može iz šifrata C saznati sadržaj poruke M 11 11

12 Simetrična kriptografija
Pošiljalac A i primalc B poseduju identičan (simetričan) ključ: KA-B Ključ KA-B Ključ KA-B šifrat Originalni otvoren tekst Primalac B Pošiljalac A otvoren tekst, m šifriranje dešifriranje m=KA-B (KA-B (m)) KA-B (m)

13 One-time pad izmišljen 1917., patentiran kasnije Gilbert Sandford Vernam, Joseph Mauborgne razmeni se slučajno generisani ključ K (pad) otvoreni tekst se šifrira s K u modularnoj aritmetici (XOR) EK(M) = K  M = C (bit po bit) šifrat se dešifrira s istim K u modularnoj aritmetici DK (C) = C  K = M (bit po bit) dobre strane: teoretski jednostavan neprobojan (Claude Elwood Shannon, 1949.) mane: ključ K mora biti jednako dug kao otvoreni tekst M slučajno generisan

14 Modeli šifriranja supstitucione šifre u kojima se svaki element otvorenog teksta (bit, slovo, grupa bitova ili slova) preslikava u neki drugi element, transpozicijske šifre u kojima se elementi otvorenog teksta permutiraju, rotira se pozicija slova.

15 Vižnerova šifra francuski diplomata, Blez De Vižner, živeo u XVI veku
ona umesto jednog ili dva, koristi onoliko šifrovanih alfabeta (abeceda, azbuka) koliko slova ima jezik na kojem se šifruje. Prvi korak u šifrovanju je crtanje tzv. Vižnerovog kvadrata koji se sastoji od početnog alfabeta i 26 šifrovanih alfabeta, od kojih je svaki pomeren za jedno slovo u odnosu na prethodni. Korišćenje Vižnerove šifre podrazumeva da se za šifrovanje različitih slova iz poruke koriste različiti redovi Vižnerovog kvadrata. Recimo, šifruje se prvo slovo prema redu 5, drugo prema redu 12, treće prema redu 23 itd.

16 Načini šifriranja blokovne šifre, kod kojih se obrađuje jedan po jedan blok elemenata otvorenog teksta koristeći jedan te isti ključ K ASCII metoda koristi osam bitova za reprenzetaciju jednog karaktera, odnosno za šifarski blok koji se sastoji od 8 karaktera, protočne šifre (engl. stream cipher) kod kojih se elementi otvorenog teksta obrađuju jedan po jedan koristeći pritom niz ključeva (engl. keystream) koji se paralelno generiše

17 Primer stream Ključ je 1000110 a izvorni tekst 1100101
Pravilo da ukoliko je jedinica u okviru ključa treba promeniti bit u okviru izvornog teksta koji je na istoj poziciji. dobija se šifrovani niz isti ključ dva puta ponovo se dobija izvorni tekst. Postupak dešifrovanja identičan procesu šifrovanja. Operacija zamene bitova odgovara XOR funkciji Ci = Pi XOR Ki, Ci kodiran tekst, Pi izvorni tekst i Ki ključ koji se formira kao slučajno definisana vrednost, koja je poznata samo pošiljaocu i primaocu poruke.

18 Dobra strana stream šifrovanja je da ukoliko do odredišta stigne pogrešna informacija, nakon dešifrovanja doći će do gubitka samo onih bitova izvornog teksta koji su izmenjeni u prenosu. Znači ovaj način šifrovanja nije podložan greškama u prenosu podataka usled povećanog nivoa šuma. povoljno za korišćenje u okviru GSM mobilnih mreža velika brzina šifrovanja/dešifrovanja i laka implementacija

19 Blok šifrovanje za šifrovanje kratkih poruka kao što su ključevi, lozinke, potpisi ili autentifikacije korisnika. izvorni podatak se deli u blokove simbola određene veličine koji se individualno i nezavisno kodiraju u cilju formiranja šifrovanog bloka podataka primenjeno u sledećim algoritmima: LUCIFER, DES, FEAL, IDEA, RC5, SKIPJACK, BLOWFISH, TWOFISH, AES (RIJNDAEL), itd..

20 Osobine Svaki blok simbola se šifruje uvek na isti način, nezavisno od mesta koje zauzima u poruci Jednake poruke, šifrovane sa istim ključem, uvek daju jednake šifrovane poruke operiše nad blokovima stalne dužine (npr. 64 ili 128 bita) koristeći ključ preslikava blok bitova iz otvorenog koda u blok bita šifrata jednake veličine (128 bita otvorenog teksta u 128 bita šifrata) kad je otvoreni tekst duži od 128 bita različiti načini rada u nekim načinima rada funkcioniše kao stream cypher algoritmi

21 DES: Data Encryption Standard
šezdesitih godina prošlog veka, IBM istraživački projekat u cilju zaštite podataka Lucifer. 1971. godine i Lucifer je bio prvi šifrat sa blokovima veličine 64 bita koji je koristio ključ od 128 bita. Kompanija je kasnije komercijalizovala ovaj način kodiranja i nazvala ga DES (eng. Data Encryption Standard). 1976 godine DES je prihvaćen kao federalni standard za enkripciju podataka i korišćen je u komunikacijama Američke vlade. narednih dvadesetak godina bio najviše korišćeni standard na svetu.

22 Nasledio ga je 2001. god. AES (eng
Nasledio ga je god. AES (eng. Advanced Encryption Standard), takođe poznat pod nazivom Rijndael algoritam. napredniji po pitanju sigurnosti podataka. Danas, DES algoritam i dalje koristi veliki broj organizacija u svetu za zaštitu u mrežnim komunikacijama, skladištenjima podataka, lozinkama i sistemima za kontrolu pristupa

23 DES simetrični algoritam za kriptovanje blokovskog tipa
Kao ulaz u algoritam se koristi blok od 64-bita izvornog teksta i 56-bitni ključ. Izlaz iz algoritma je 64-bitni kriptovan tekst koji se dobija nakon 16 iteracija koje se sastoje od identičnih operacija. Ključ od 56 bita se formira od inicijalnog 64-bitnog ključa informacije ignorisanjem svakog 8 bita, tj. odsecanjem bitovi ulaznog bloka dužine 64 bita permutuju se početnom permutacijom Permutovan ulazni blok deli na dva dela od po 32 bita, Nad desnim se obavlja funkcija f(R0,K1), K1 48-bitni ključ. Ova funkcija generiše 32-bitni rezultat. Nad dobijenim rezultatom funkcije f i L0 vrši se operacija XOR. Rezultat XOR je nova 32-bitnu vrednost R1 a levi deo L1 je vrednost R0 iz prethodne iteracije

24 Simetrična kriptografija: DES
DES operacije Inicijalna permutacija 16 identičnih “rundi” promene bloka, svaki koristi zaseban 48 bitni ključ Završna permutacija 8-24

25 Koliko je siguran DES? Totalnom pretragom (brute force) se može “razbiti” za 4 meseca – uz odgovarajuće računarske resurse DES algoritam koristi 56-bitni ključ za kriptovanje što znači ukupno mogućnosti za osobu koja hoće da probije tkz. brutalnim napadom tekst kriptovan sa DES-om. 1999. god. objedinjene grupe EFF i Distributed.net kao DES Cracker uz pomoć PC računara na Internetu, probili su DES za 22 sata i 15 minuta. Pritom je brzina pretraživanja bila 245 biliona ključeva/sekundi DES dodatna sigurnost: Trostepena primena (3-DES) produženje ključa

26 Trostruki DES (3-DES) algoritam
Unapređeni DES i najviše se koristi u okviru aplikacija koje se baziraju na internetu. koristi dva ili tri različita DES ključa. Prvi ključ K1 za kriptovanje bloka podataka izvorne poruke P pomoću standardnog DES algoritma. Tako kriptovana poruka se dekriptuje drugim ključem K2. i dobija se nova šifrovana poruka. Sad se rezultat dekriptovanja opet kriptuje, trećim ključem K3 ili opet prvim K1 i dobija se kriptovana poruka C. Naizmeničnim korišćenjem različitih ključeva povećava se dužina ključa na 168 bita, a tako i broj kombinacija za i probijanje

27 AES: Advanced Encryption Standard
Novi (Nov ) simetrični šifarski algoritam, NIST standard, zamenio je DES Obrađuje podatke u blokovima dužine 128 bita 128, 192, ili 256 bita – dužina ključa Brute force napad (ispitivanje svih ključeva) je mnogo teži nego za DES 1 sec za DES, odgovara 149 triliona godina za AES

28 Blok algoritmi Promena jednog ulaznog bita utiče na 8 izlaznih bita
64-bit input 8bits 8bits 8bits 8bits 8bits 8bits 8bits 8bits loop for n rounds T1 T2 T3 T4 T5 T6 T7 T8 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits 8 bits Promena jednog ulaznog bita utiče na 8 izlaznih bita 64-bit scrambler 64-bit output Rekurzivni algoritmi: svaki ulazni bit utiče na sve izlazne bite Block ciphers: DES, 3DES, AES

29 Prednosti i nedostaci simetričnog kriptovanja
kratko vreme kriptovanja poruka zbog kratkih ključeva, pa se koristi za kriptovanje, tj. dekriptovanje poruka velike dužine. Oba korisnika moraju posedovati jedinstveni simetrični ključ, a kako su često fizički razdvojeni moraju da koriste zaštićen kanal što je teško veliki broj potrebnih ključeva, za N ljudi koji žele da koriste ovu metodu treba N(N – 1)/2 simetričnih ključeva Zbog toga se moraju koristiti duži ključevi, a dužina ključa od 56 bita je danas na granici dovoljnog s obzirom na to da savremeni računari mogu relativno brzo da otkriju ključ te dužine.

30 Asimetrični kriptosistemi
Tvorci asimetrične kriptografije su Whitefield Diffie i Martin Hellman koji su godine opisali ideju kriptografije koja se temelji na dva ključa, privatnom (ili često zvanim tajnim) i javnom ključu. asimetričnog kriptovanja ili asymmetric-key ili public-key kriptovanje

31 Kriptografija javnog ključa
Pošiljalac i primalac nemaju isti tajni ključ Javni ključ je poznat svima Privatni ključ za dešifrovanje poznat je samo primaocu Javni ključ K+B (m) Privatni ključ K-B (m) šifrat Originalni otvoren tekst Primalac B Pošiljalac A otvoren tekst, m šifriranje dešifriranje K+B (m) m=K-B (K+B (m))

32 Algoritmi asimetričnih kriptosistema zasnivaju se na određenim svojstvima brojeva.
Pri kriptovanju se izvorni tekst tretira kao niz prirodnih brojeva koji se odabranom funkcijom kriptovanja i ključem Kb preračunavaju u kriptovani niz teksta. Funkcija kriptovanja mora biti takva da se iz kriptovanog teksta ne može odrediti izvorni tekst, čak ako je poznat i ključ za kriptovanje. Međutim, ukoliko se zna ključ dekriptovanja Kd moguće je lako računanje izvornog teksta. Svaki od sagovornika mora posedovati dva ključa (javni i tajni). Iako su različiti, ključevi su međusobno povezani određenim transformacijama

33 nedostatak ovog načina kriptovanja je njegova sporost i neprikladnost za kriptovanje velikih količina podataka. pitanje autentičnosti poruke, odnosno kako da osoba B bude sigurna da je poruku koju je primila uistinu poslala osoba A. Najčešće se koriste sledeći asimetrični algoritmi: RSA (eng. Rivest-Shamir-Adleman), Diffie-Hellman, ElGamal, Eliptic Curves, Rabin i drugi.

34 RSA algoritam Za generisanje javnog i tajnog ključa se koriste prosti brojevi. Tajni ključ predstavlja uređeni par brojeva (N,d). Javni ključ je takođe uređeni par brojeva (N,e). Treba uočiti da je broj N zajednički za oba ključa. Osoba koja šalje poruku vrši kriptovanje pomoću sledeće jednačine : C = Pe mod N P, izvorni tekst koji je prikazan u obliku broja; C, broj koji predstavlja kriptovan tekst; brojevi e i N su komponente javnog ključa.

35 Kada se poruka primi potrebno je dekriptovati pomoću sledeće jednačine:
P = Cd mod N P i C isto kao i u predhodnoj formuli, a N i d predstavljaju komponente tajnog ključa Osnovni problem kod RSA algoritma je kako izvršiti izbor brojeva N, d i e (veoma velike vrednosti dužine od 1024 do 2048), a da ujedno zadovoljavaju formule algoritma. koristi teoriju prostih brojeva i sledeću proceduru

36 RSA: Izbor ključeva 1. Choose two large prime numbers p, q.
(e.g., 1024 bits each) 2. Compute n = pq, z = (p-1)(q-1) 3. Choose e (with e<n) that has no common factors with z. (e, z are “relatively prime”). 4. Choose d such that ed-1 is exactly divisible by z. (in other words: ed mod z = 1 ). 5. Public key is (n,e). Private key is (n,d). K B + K B -

37 RSA: šifrovanje i dešifrovanje
0. Given (n,e) and (n,d) as computed above 1. To encrypt bit pattern, m, compute c = m mod n e (i.e., remainder when m is divided by n) 2. To decrypt received bit pattern, c, compute m = c mod n d d (i.e., remainder when c is divided by n) Magic happens! m = (m mod n) e mod n d c

38 Bob chooses p=5, q=7. Then n=35, z=24.
RSA primer: Bob chooses p=5, q=7. Then n=35, z=24. e=5 (so e, z relatively prime). d=29 (so ed-1 exactly divisible by z. e c = m mod n e letter m m encrypt: l 12 17 c d m = c mod n d c letter decrypt: 17 12 l

39 RSA: važna osobina K (K (m)) = m K (K (m))
- + K (K (m)) = Prvo se primeni javni ključ, a zatim privatni Prvo se primeni privatni ključ, a zatim javni Rezultat je isti!

40 Prednosti i nedostaci asimetričnih algoritama
rešava nedostatake deljenja ključa kod simetričnih algoritama prilikom komunikacije svaka osoba kreira po dva ključa, tajni koji osoba čuva, i javni koji se razmenjuje sa drugima. Svaki od entiteta je nezavistan i svoj par ključeva može koristiti u komunikaciji sa bilo kime smanjenju broja ukupno potrebnih ključeva. U sistemu od milion korisnika, potrebno je samo 2 miliona ključeva, dok bi u slučaju korišćenja simetričnog kriptovanja bilo potrebno bar 500 milijardi ključeva.

41 Najveći nedostatak je kompleksnost algoritama koji se koriste prilikom kriptovanja. Ako se želi efektno kriptovanje to povlači da algoritam koristi ogromne ključeve prilikom rada, pa nisu preporučljivi za rad sa velikim izvornim podacima Komunikacija između dve strane i javni ključ moraju verifikovati. Kako osoba A šalje svoj javni ključ osobi B putem elektronske pošte, osoba B na neki način mora biti sigurna da je dobijeni ključ upravo poslat od strane osobe A.

42 Simetrična i asimetrična kriptografija
način rada: isti algoritam i isti ključ koriste se i za šifriranje i za dešifriranje pošiljatelj i primatelj dijele algoritam i ključ sigurnost: očuvati tajnost ključa nemoguće ili nepraktično dešifrirati poruku poznavanje algoritma i dijelova šifrata mora biti nedovoljno za rekonstrukciju ključa puta brži način rada: jedan algoritam i par ključeva: jedan za šifriranje, jedan za dešifriranje primatelj i pošiljatelj moraju imati po jedan od uparenih ključeva sigurnost: jedan od dva ključa mora ostati tajan nemoguće ili nepraktično dešifrirati poruku poznavanje algoritma, jednog ključa i dijelova šifrata mora biti nedovoljno za rekonstrukciju ključa Sigurnost mreža, usluga i aplikacija

43 Hibridni sistemi dobre strane simetričnih algoritama:
puta brži od asimetričnih manje računalno zahtjevni dobre strane asimetričnih algoritama: upravljanje ključevima, distribucija i tajnost hibridni pristup: asimetričnu kriptografiju koristiti za razmjenu simetričnog ključa Secure Sockets Layer – SSL, Pretty Good Privacy – PGP, GNU Privacy Guard - GPG

44 Izvorni tekst se prvo kriptuje upotrebom ključa (ponekad nazvan i session ključ), a zatim se taj ključ zajedno sa kriptovanom porukom pakuje i ponovo kriptuje sa javnim ključem osobe kojoj se šalje poruka. Postupak dekripcije cele poruke se ostvaruje obrnutim redosledom operacija: Osoba koja je primila poruku prvo dekriptuje istu sa svojim tajnim kljucem, pronalazi zapakovani session ključ i koristi ga da bi pročitala izvornu poruku

45 Za generisanje session ključa koristi se generator pseudo-slučajnog broja u kombinaciji sa raznim korisnikovim unosima u toku procesa generisanja. Asimetrično se kriptuje samo kratak simetrični ključ, a ne cela, velika poruka.

46 PGP (eng. Pretty Good Privacy) programski paket za
kriptovanje podataka kompresovana poruka M’ se kriptuje pomoću nekog od simetričnih algoritama (DES ili slično) i session ključa. Na taj način se dobija kriptovana poruka C. Zatim se vrši kriptovanje session ključa pomoću nekog od asimetričnih algoritama (RSA) i javnog ključa osobe B. Tako nastaje kriptovana poruka S’ koja se šalje osobi B zajedno sa porukom C

47 Proces dekriptovanja obrnutim redosledom
Proces dekriptovanja obrnutim redosledom. Kada primi kriptovanu poruku osoba B upotrebljava svoj tajni ključ i dekriptuje poruku koja sadrži session ključ. Korišćenjem session ključa osoba B dekriptuje poruku a kasnije je i dekompresuje da dobiije izvornu poruku. PGP program nudi nekoliko stepeni zaštite: niski koristi 512-bitni ključ, visoki 768-bitni vojni koristi 1024-bitni ključ. PGP algoritam nudi još sigurnosnih mera: za generisanje ključeva se ne koristi generator ključeva već algoritam traži od korisnika da unese neke podatke pomoću tastature, a za to vreme meri razmake između vremena udaraca i na osnovu njih generiše ključeve. Isto tako PGP nudi potpisivanje poslatih dokumenata u cilju dokazivanja autentičnosti.


Download ppt "Kriptografija."

Similar presentations


Ads by Google