Enkripcija — разлика између измена

С Википедије, слободне енциклопедије
Садржај обрисан Садржај додат
.
.
Ред 1: Ред 1:
{{rut}}
'''Enkripcija''' ({{jez-eng-lat|encryption}}) ili šifrovanje je proces u [[kriptografija|kriptografiji]] kojim se vrši izmena [[podatak]]a tako da se podaci, ili poruke, učine nečitljivim za osobe koje ne poseduju određeno znanje ([[ključ]]). Na taj način se dobija šifrovana [[informacija]]. Da bi ovi podaci postali razumljivi i upotrebljivi, potrebno je da se dekodiraju. Dekodiranje se vrši procesom suprotnim od enkripcije koji se naziva [[dekripcija]].
'''Enkripcija''' ({{jez-eng-lat|encryption}}) ili šifrovanje je proces u [[kriptografija|kriptografiji]] kojim se vrši izmena [[podatak]]a tako da se podaci, ili poruke, učine nečitljivim za osobe koje ne poseduju određeno znanje ([[ključ]]). Na taj način se dobija šifrovana [[informacija]]. Da bi ovi podaci postali razumljivi i upotrebljivi, potrebno je da se dekodiraju. Dekodiranje se vrši procesom suprotnim od enkripcije koji se naziva [[dekripcija]].


Ред 66: Ред 67:


===Povijesne šifre===
===Povijesne šifre===
[[Datoteka:EnigmaMachineLabeled.jpg|mini|right|Njemačka [[Enigma (stroj)|Enigma]] koristi rotirajuće diskove (''Rotors'') i dodatne ploče za prespajanje (''Plugboard'')]]
[[Datoteka:EnigmaMachineLabeled.jpg|thumb|right|Nemačka [[Enigma (stroj)|Enigma]] koristi rotirajuće diskove (''Rotors'') i dodatne ploče za prespajanje (''Plugboard'')]]


Šifre s olovkom i papirom koje su korištene u prošlosti poznate su pod nazivom "[[klasična šifra]]". One uključuju jednostavne "'''šifre zamjene''' (supstitucije)" i "'''šifre pomjeranja''' (transpozicije)". Na primjer, "dobar dan" može se šifrirati kao "ŽSDGĆ ŽGP", gdje se u poruci "d" zamjenjuje sa "Ž", "a" sa "G" itd. Pomjeranjem bi "dobar dan" moglo da bude "RDANDOBA". Ove jednostavne šifre i primjere je vrlo lako razbiti, čak i bez pomoći parova otvoreni tekst - šifrirani tekst.<ref name="kahn">[[David Kahn]], ''The Codebreakers - The Story of Secret Writing'' (ISBN 0-684-83130-9) (1967)</ref>
Šifre s olovkom i papirom koje su korištene u prošlosti poznate su pod nazivom "[[klasična šifra]]". One uključuju jednostavne "'''šifre zamjene''' (supstitucije)" i "'''šifre pomjeranja''' (transpozicije)". Na primjer, "dobar dan" može se šifrirati kao "ŽSDGĆ ŽGP", gdje se u poruci "d" zamjenjuje sa "Ž", "a" sa "G" itd. Pomjeranjem bi "dobar dan" moglo da bude "RDANDOBA". Ove jednostavne šifre i primjere je vrlo lako razbiti, čak i bez pomoći parova otvoreni tekst - šifrirani tekst.<ref name="kahn">[[David Kahn]], ''The Codebreakers - The Story of Secret Writing'' (ISBN 0-684-83130-9) (1967)</ref>

Верзија на датум 10. април 2019. у 02:36

Enkripcija (engl. encryption) ili šifrovanje je proces u kriptografiji kojim se vrši izmena podataka tako da se podaci, ili poruke, učine nečitljivim za osobe koje ne poseduju određeno znanje (ključ). Na taj način se dobija šifrovana informacija. Da bi ovi podaci postali razumljivi i upotrebljivi, potrebno je da se dekodiraju. Dekodiranje se vrši procesom suprotnim od enkripcije koji se naziva dekripcija.

U netehničkoj upotrebi, šifra i kod predstavljaju isti termin, ali u kriptografiji ti su pojmovi različiti. U klasičnoj kriptografiji šifra je odvojena od koda. Načelno, u kodu se zamenjivanje vrši na temelju obimne knjige kodova, u kojoj se reči i fraze zamenjuju slučajnim nizom znakova. Na primer, UQJHS može biti kod za „Nastavite do sledećih koordinata”. Originalna (izvorna) informacija poznata je kao otvoreni tekst, a šifrirani oblik kao šifrirani tekst ili šifrat. Šifrovana poruka sadrži sve informacije iz otvorenog teksta, ali nije u obliku čitljivom za čoveka ili računar bez primene odgovarajućeg mehanizma za njegovo dešifrovanje - treba da predstavlja nasumične znake za sve kojima poruka nije namenjena. Operacija šifrovanja obično zavisi od dodatne informacije zvane ključ. Procedura šifriranja varira u zavisnosti od ključa, koji menja detalje algoritma. Ključ se mora izabrati pre šifriranja poruke. Bez poznavanja ključa trebalo bi da je teško, ili skoro nemoguće, dekriptovati šifrat u čitljiv otvoreni tekst.

Treba razlikovati termine dešifriranje i dekriptiranje:

  • Dešifriranje je pretvaranje šifrata u otvoreni tekst kad je ključ poznat, vrši ga osoba kojoj je poruka namijenjena.
  • Dekriptiranje je pokušaj pretvaranja šifrata u otvoreni tekst kad ključ nije (unaprijed) poznat - vrše ga osobe kojima poruka nije namijenjena. Dekriptiranje je dio kriptoanalize.

Većina modernih šifri može se svrstati u kategorije na nekoliko načina:

  • Po načinu - primjenjuju li se na blokovima znakova obično stalne dužine (blok šifre), ili na neprekidnom nizu znakova (poznata pod nazivima šifra niza, šifra toka ili protočna šifra, engl. stream cipher).
  • Po načinu - koristi li se isti ključ za šifriranje i dešifriranje (algoritmi simetričnih ključeva), ili se koristi poseban ključ (algoritmi asimetričnih ključeva). Ako je algoritam simetričnog ključa, ključ mora biti poznat primatelju i nikome više. Kod algoritma asimetričnog ključa, ključ za šifriranje je različit od ključa za dešifriranje, ali je s njim u tijesnoj vezi. Ako se jedan ključ ne može utvrditi iz drugog, algoritam asimetričnog ključa ima svojstvo javnog/tajnog ključa i jedan od ključeva može biti objelodanjen bez gubitka tajnosti informacije.

Poreklo

Riječ šifra potiče iz francuskog jezika, fr. cifre - brojka, tajni znak, odnosno iz arapskog ar. صفر, şafira - prazno, şifr - nula, ništa.

U ranijim vremenima, cifra je imala značenje "nula", a kasnije je korištena za bilo koji decimalni broj, ili bilo koji broj. Ove teorije pokazuju kako je cifra postala šifra u značenju šifriranje:

  • U šifriranju su se često koristili brojevi.
  • Rimski brojni sistem je bio nezgrapan, jer ne poznaje pojam nule (ili praznog skupa). Pojam nule (koja se također zvala cifra), koji je za nas sasvim prirodan, bio je posve stran u srednjevjekovnoj Europi. Cifra je stoga dobila značenje skrivanja jasne poruke, odnosno šifriranje.

Dr Al-Kadi[1][2] je zaključio da se arapska reč şifr za nulu razvila u europski tehnički termin za šifriranje.

Šifriranje i kodiranje

U netehničkoj upotrebi, "(tajni) kod" obično znači "šifra". Međutim, u tehničkim diskusijama riječi "kod" i "šifra" se odnose na dva različita pojma. Kodovi rade na nivou značenja — to jest, riječi i izrazi se pretvaraju u nešto drugo i to sažimanje načelno skraćuje poruku. Nasuprot tome, šifra radi na nižem nivou: na nivou pojedinačnih slova, malih grupa slova, ili, u modernim šemama, na pojedine bitove. Neki sustavi koriste kombinaciju koda i šifre, takozvano "superšifriranje" za povećanje sigurnosti. U nekim slučajevima, termini kod i šifra se koriste kao sinonimi u zamjeni i pomjeranju.

Povijesno, kriptografija je podijeljena u dihotomiju koda i šifre; kod ima svoju terminologiju, analognu onoj za šifru: "kodiranje", "kodni tekst", "dekodiranje" itd.

Međutim, kod ima dosta nedostataka, kao što su osjetljivost na kriptoanalizu i teškoće u baratanju glomaznim knjigama kodova. Zbog toga je kod zapostavljen u modernoj kriptografiji, a šifra je postala dominantna tehnika.

Elementi enkripcije

Svi sistemi enkripcije imaju u svojoj osnovi sledeće zajedničke elemente:[3]

  • Algoritam: Funkcija, obično sa jakom matematičkom osnovom, koja obavlja zadatak enkripcije podataka;
  • Ključevi: Koriste se zajedno sa algoritmima enkripcije i određuju način na koji su podaci šifrovani;
  • Dužina ključa: Enkripcioni ključevi imaju određenu dužinu u zavisnosti od toga koji enkripcioni sistemi se koriste. Dužina se meri brojem bitova ,a što su duži ključevi, teži su za oštećenje sistema enkripcije;
  • Otvoren tekst (engl. Plaintext): Informacije koje želimo da šifrujemo;
  • Šifrovan tekst (engl. Ciphertext): Informacije nakon šifrovanja.

Vrste enkripcije

Postoje dve osnovne vrste enkripcije: simetrična enkripcija i asimetrična enkripcija. Kod simetrične enkripcije se i za šifrovanje i za dešifrovanje koristi ista šifra (ključ). Kod asimetrične postoji poseban ključ samo za šifrovanje i drugi koji služi samo za dešifrovanje. Ova dva ključa nazivaju se još javni i tajni ključ. Tajni ključ dodeljuje se onda kada se vrši enkripcija i na osnovu njega se generiše javni ključ, koji koristi strana koja treba da pročita podatke. [4] Standard koji se koristi pri simetričnoj enkripciji je DES (engl. Data Encryption Standard). Asimetrična enkripcija se još naziva i kriptografija javnog ključa (engl. Public-Key Cryptography). Za ovu vrstu enkripcije koristi se RSA algoritam (Rivest-Shamir-Adleman). [5]

Povijesne šifre

Nemačka Enigma koristi rotirajuće diskove (Rotors) i dodatne ploče za prespajanje (Plugboard)

Šifre s olovkom i papirom koje su korištene u prošlosti poznate su pod nazivom "klasična šifra". One uključuju jednostavne "šifre zamjene (supstitucije)" i "šifre pomjeranja (transpozicije)". Na primjer, "dobar dan" može se šifrirati kao "ŽSDGĆ ŽGP", gdje se u poruci "d" zamjenjuje sa "Ž", "a" sa "G" itd. Pomjeranjem bi "dobar dan" moglo da bude "RDANDOBA". Ove jednostavne šifre i primjere je vrlo lako razbiti, čak i bez pomoći parova otvoreni tekst - šifrirani tekst.[6]

Jednostavne šifre su zamijenjene šiframa "polialfabetske zamjene", koje mijenjaju alfabet zamjene za svako slovo. Na primjer, "dobar dan" se može zamijeniti sa "ŽĆZIA ONV", gdje se u poruci "d" zamenjuje sa "Ž" i "O", "a" sa "I" i "N". Čak i na malom uzorku poznatog ili pretpostavljenog otvorenog teksta, šifre polialfabetske zamjene i šifre pomjeranja slova (namijenjene za šifriranje olovkom i papirom) se vrlo lako razbijaju.[7]

Početkom dvadesetog stoljeća izumljeni su elektromehanički strojevi za šifriranje i dešifriranje, a koristili su pomjeranje, polialfabetsku zamjenu i neku vrstu "dodatne" zamjene. U "rotor mašinama", nekoliko rotirajućih diskova je služilo za polialfabetsku zamjenu, a dodatne ploče su služile za neku drugu zamjenu. Ključevi su se lako mijenjali zamjenom rotirajućih diskova i prespajanjem žica dodatnih ploča. Iako su ove metode šifriranja bile kompleksnije od prethodnih i zahtijevale mašine za šifriranje i dešifriranje, izumljene su druge mašine (kao npr. britanska "Bomba") za dekriptiranje ovih metoda šifriranja.

Moderne šifre

Moderne metode šifriranja mogu se podijeliti po dva kriterija: po tipu korištenog ključa i tipu ulaznih podataka.

Po tipu ključa, šifre se dijele na:

  • Algoritmi simetričnog ključa (kriptografija s tajnim ključem), gdje se isti ključ koristi i za šifriranje i za dešifriranje, i
  • Algoritmi asimetričnog ključa (kriptografija s javnim ključem), gdje se koriste dva različita ključa za šifriranje i dešifriranje.

Kod algoritma simetričnog ključa (npr. DES i AES), pošiljatelj i primatelj moraju imati isti ključ, koji je unaprijed pripremljen i koji mora biti tajan za sve kojima nije namijenjen - pošiljatelj koristi taj ključ za šifriranje, a primatelj isti taj ključ za dešifriranje. Kod algoritma asimetričnog ključa (npr. RSA), postoje dva posebna ključa: "javni ključ" se objavljuje i omogućuje pošiljatelju da izvrši šifriranje, dok "tajni ključ" primatelj čuva kao tajnu i koristi ga da izvrši ispravno dešifriranje.

Po tipu ulaznih podataka, šifre se mogu svrstati u dvije grupe:

  • Šifra blokova, kojom se šifrira blok podataka fiksne dužine, i
  • Šifra niza (šifra toka ili protočna šifra), kojom se šifrira kontinualni niz podataka.

Veličina ključa i ranjivost

U čisto matematičkom napadu[8] (tj. u nedostatku drugih informacija koje bi pomogle u razbijanju šifre), prije svega, bitna su tri čimbenika:

  • Matematičke prednosti za otkrivanje i iskorištenje slabosti šifre.
  • Dostupna snaga izračunavanja, tj. snaga računala koja se može upotrijebiti za rješavanje problema. Treba napomenuti da prosječne performanse/kapacitet jednog računala nisu jedini čimbenik koji se uzima u obzir. Protivnik može, recimo, koristiti više spregnutih računala i tako značajno ubrzati potragu za ključem (takozvani "napad grubom silom").
  • Veličina ključa, tj. dužina ključa koji je upotrijebljen za šifriranje poruke. Kako raste veličina ključa, tako se povećava i kompleksnost pretraživanja grubom silom, sve do tačke kad direktno razbijanje šifre prestaje biti praktično.

Pošto je željeni efekt teškoća izračunavanja, teorijski se biraju algoritam i nivo težine, a na temelju toga se bira odgovarajuća dužina ključa.

Primjer ovog procesa se može naći na web stranici "Dužina ključa", koji koristi nekoliko izvještaja za pokazivanje da recimo simetrična šifra sa 128 bitova, asimetrična šifra sa 3072 bitova i eliptična kriva sa 512 bitova imaju sličnu težinu.

Claude Shannon je dokazao[9], koristeći razmatranja teorije informacija, da svaka teoretski neprobojna šifra mora imati dužinu ključa najmanje koliko je dugačak otvoreni tekst i da se ključ koristi samo jednom (jednokratni blok, eng. one-time pad)

Upotreba enkripcije

Enkripcija se koristi za zaštitu informacija u računarskim, komunikacionim i bezbednosnim sistemima. Takođe, olakšava upravljanje IP adresama štiteći sadržaj od otkrivanja prilikom prenosa. Enkripcija obezbeđuje zaštitu podataka u mirovanju, npr. dokumenata na računaru ili na uređajima za skladištenje podataka (USB) i omogućava očuvanje ovih podataka ukoliko fizičke mere bezbednosti otkažu. Enkripcija se takođe koristi za zaštitu podataka u toku prenosa, npr. preko mreže (internet, e-trgovina), mobilnih telefona, bežičnih uređaja, bankomata, itd.

Kod enkripcije se javljaju dva glavna problema: tajnost i autentifikacija. Potrebno je obezbediti da je lice koje prima ključ sigurno lice koje je ovlašćeno da ga dobije (autentifikacija) i da niko drugi ne može da sazna ključ u toku prenosa (tajnost). Enkripcija, sama po sebi, može da obezbedi tajnost poruke, ali potrebne su i druge tehnike za zaštitu integriteta i autentičnosti poruke, na primer, provera identifikacionog koda poruke ili digitalni potpis.

Vidi još

Reference

  1. ^ * Ibrahim A. Al-Kadi, “Cryptography and Data Security: Cryptographic Properties of Arabic”, proceedings of the Third Saudi Engineering Conference. Riyadh, Saudi Arabia: Nov 24-27, Vol 2:910-921., 1991.
  2. ^ Ibrahim A. Al-Kadi, “The origins of cryptology: The Arab contributions”, Cryptologia, 16(2) (April 1992) pp. 97–126.
  3. ^ „Elementi enkripcije”. [мртва веза]
  4. ^ „Vrste enkripcije”. Архивирано из оригинала 13. 05. 2011. г. 
  5. ^ „Enkripcija podataka”. 
  6. ^ David Kahn, The Codebreakers - The Story of Secret Writing (ISBN 0-684-83130-9) (1967)
  7. ^ Helen Fouché Gaines, “Cryptanalysis”, 1939, Dover. ISBN 0-486-20097-3
  8. ^ Abraham Sinkov, Elementary Cryptanalysis: A Mathematical Approach, Mathematical Association of America, 1966. ISBN 0-88385-622-0
  9. ^ Shannon, Claude (1949). „Communication Theory of Secrecy Systems”. Bell System Technical Journal. 28 (4): 656—715. 

Literatura

  • Robert A. Burgelman, Claiyton M. Christensen, Steven C. Wheelwright, Strategic management of technology and inovation, 4th Edition (2004). стр. 398.
  • Kahn, David (1967). The Codebreakers - The Story of Secret Writing. ISBN 978-0-684-83130-5. 
  • Sinkov, Abraham (1966). Elementary Cryptanalysis: A Mathematical Approach. Mathematical Association of America. ISBN 978-0-88385-622-2. 
  • Fouché Gaines, Helen (1939), Cryptanalysis: A Study of Ciphers and Their Solution, New York: Dover Publications Inc, ISBN 978-0486200972 
  • Preneel, Bart, "Advances in Cryptology — EUROCRYPT 2000", Springer Berlin Heidelberg, 2000, ISBN 978-3-540-67517-4
  • Yehuda, Lindell; Jonathan, Katz (2014), Introduction to modern cryptography, Hall/CRC, ISBN 978-1466570269 

Spoljašnje veze