EITC/IS/ACC Advanced Classical Cryptography je europski program IT certifikacije koji unapređuje razinu stručnosti u klasičnoj kriptografiji, prvenstveno fokusirajući se na kriptografiju s javnim ključem, s uvodom u praktične šifre s javnim ključem, kao i digitalne potpise, infrastrukturu javnih ključeva i sigurnosni certifikati koji se široko koriste na Internetu.
Nastavni plan i program EITC/IS/ACC napredne klasične kriptografije fokusira se na (asimetričnu) kriptografiju s javnim ključem, počevši s uvodom u Diffie-Hellmanovu razmjenu ključeva i problemom diskretnog dnevnika (uključujući njegovu generalizaciju), a zatim nastavljajući s šifriranjem s problemom diskretnog dnevnika, koji pokriva Elgamalovu shemu šifriranja, eliptičke krivulje i kriptografiju eliptičke krivulje (ECC), digitalne potpise (uključujući sigurnosne usluge i Elgamal digitalni potpis), hash funkcije (uključujući funkciju SHA-1), kodove za autentifikaciju poruka (uključujući MAC i HMAC), uspostavljanje ključa (uključujući Symmetric Key Establishment SKE i Kerberos) kako bi se završilo s razmatranjem klase napada čovjek u sredini, zajedno s kriptografskim certifikatima i Infrastrukturom javnog ključa (PKI), unutar sljedeće strukture , koji obuhvaća sveobuhvatan videodidaktički sadržaj kao referencu za ovu EITC certifikat.
Kriptografija se odnosi na načine sigurne komunikacije u prisutnosti protivnika. Kriptografija, u širem smislu, je proces stvaranja i analize protokola koji sprječavaju treće strane ili širu javnost da pristupe privatnim (šifriranim) porukama. Moderna klasična kriptografija temelji se na nekoliko glavnih značajki informacijske sigurnosti kao što su povjerljivost podataka, integritet podataka, autentifikacija i neporicanje. Za razliku od kvantne kriptografije, koja se temelji na radikalno različitim pravilima kvantne fizike koja karakteriziraju prirodu, klasična kriptografija se odnosi na kriptografiju temeljenu na zakonima klasične fizike. Područja matematike, informatike, elektrotehnike, komunikologije i fizike susreću se u klasičnoj kriptografiji. Elektronička trgovina, platne kartice temeljene na čipu, digitalne valute, računalne lozinke i vojne komunikacije primjeri su kriptografskih aplikacija.
Prije današnje ere, kriptografija je bila gotovo sinonim za šifriranje, pretvarajući informacije iz čitljivih u nerazumljive besmislice. Kako bi spriječio napadače da dobiju pristup šifriranoj poruci, pošiljatelj dijeli samo proces dekodiranja s namjeravanim primateljima. Imena Alice ("A") za pošiljatelja, Bob ("B") za namjeravanog primatelja i Eve ("prisluškivač") za protivnika često se koriste u literaturi o kriptografiji.
Metode kriptografije postale su sve složenije, a njezine primjene sve raznolikije, od razvoja rotorskih šifarskih strojeva u Prvom svjetskom ratu i uvođenja računala u Drugom svjetskom ratu.
Moderna kriptografija snažno se oslanja na matematičku teoriju i praksu računalnih znanosti; kriptografske metode izgrađene su na temelju pretpostavki o tvrdoći računanja, što ih otežava svakom protivniku u praksi. Dok je proboj u dobro osmišljen sustav teoretski moguć, u praksi je to nemoguće. Takve se sheme nazivaju "računalno sigurne" ako su adekvatno konstruirane; ipak, teorijska otkrića (npr. poboljšanja u metodama faktorizacije cijelih brojeva) i brža računalna tehnologija zahtijevaju stalnu ponovnu evaluaciju i, ako je potrebno, prilagodbu ovih dizajna. Postoje informacijski teoretski sigurni sustavi, kao što je jednokratni jastučić, za koje se može dokazati da su neraskidivi čak i uz beskonačnu računsku snagu, ali ih je u praksi znatno teže primijeniti nego najbolje teoretski lomljive, ali računski sigurne sheme.
U informacijskom dobu napredak kriptografske tehnologije doveo je do raznih pravnih izazova. Mnoge su nacije klasificirale kriptografiju kao oružje, ograničavajući ili zabranjujući njezinu upotrebu i izvoz zbog njezinog potencijala za špijunažu i pobunu. Istražitelji mogu natjerati da predaju ključeve za šifriranje za dokumente koji se odnose na istragu na nekim mjestima gdje je kriptografija zakonita. U slučaju digitalnih medija, kriptografija također igra ključnu ulogu u upravljanju digitalnim pravima i sukobima o kršenju autorskih prava.
Izraz “kriptograf” (za razliku od “kriptogram”) prvi je put korišten u devetnaestom stoljeću, u kratkoj priči Edgara Allana Poea “Zlatna buba”.
Do nedavno, kriptografija se gotovo samo odnosila na "šifriranje", što je čin pretvaranja običnih podataka (poznatih kao otvoreni tekst) u nečitljiv format (koji se naziva šifrirani tekst). Dešifriranje je suprotno od šifriranja, tj. prelazak od nerazumljivog šifriranog teksta do otvorenog teksta. Šifra (ili šifra) je skup tehnika koje izvode šifriranje i dešifriranje obrnutim redoslijedom. Algoritam i, u svakom slučaju, “ključ” zaduženi su za detaljno izvođenje šifre. Ključ je tajna (po mogućnosti poznata samo sudionicima) koja se koristi za dešifriranje šifriranog teksta. Obično je to niz znakova (idealno kratak kako bi ga korisnik mogao zapamtiti). “Kriptosustav” je uređena zbirka elemenata konačnih potencijalnih otvorenih tekstova, šifriranih tekstova, ključeva i postupaka šifriranja i dešifriranja koji odgovaraju svakom ključu u formalnim matematičkim terminima. Ključevi su ključni i formalno i praktično, jer se šifre s fiksnim ključevima mogu lako razbiti koristeći samo informacije šifre, što ih čini beskorisnim (ili čak kontraproduktivnim) za većinu namjena.
Povijesno gledano, šifre su se često koristile bez ikakvih dodatnih postupaka kao što su provjera autentičnosti ili provjere integriteta za šifriranje ili dešifriranje. Kriptosustavi su podijeljeni u dvije kategorije: simetrični i asimetrični. Isti ključ (tajni ključ) koristi se za šifriranje i dešifriranje poruke u simetričnim sustavima, koji su bili jedini poznati do 1970-ih. Budući da simetrični sustavi koriste kraće duljine ključa, manipulacija podacima u simetričnim sustavima je brža nego u asimetričnim sustavima. Asimetrični sustavi šifriraju komunikaciju "javnim ključem" i dešifriraju je pomoću sličnog "privatnog ključa". Korištenje asimetričnih sustava poboljšava sigurnost komunikacije zbog poteškoća u određivanju odnosa između dva ključa. RSA (Rivest–Shamir–Adleman) i ECC su dva primjera asimetričnih sustava (Elliptic Curve Cryptography). Široko korišteni AES (Advanced Encryption Standard), koji je zamijenio raniji DES, primjer je visokokvalitetnog simetričnog algoritma (Data Encryption Standard). Različite tehnike zapetljavanja dječjeg jezika, kao što je svinjski latinski ili neki drugi, i zapravo sve kriptografske sheme, koliko god ozbiljno mislili, iz bilo kojeg izvora prije uvođenja jednokratnog blokčića početkom dvadesetog stoljeća, primjeri su niske kvalitete simetrični algoritmi.
Pojam "kod" često se kolokvijalno koristi za označavanje bilo koje tehnike šifriranja ili prikrivanja poruke. Međutim, u kriptografiji, kod se odnosi na zamjenu kodne riječi za jedinicu otvorenog teksta (tj. smislenu riječ ili frazu) (na primjer, "wallaby" zamjenjuje "napad u zoru"). Nasuprot tome, šifrirani tekst se stvara modificiranjem ili zamjenom elementa ispod te razine (slovo, slog ili par slova, na primjer) kako bi se formirao šifrirani tekst.
Kriptanaliza je proučavanje načina za dešifriranje šifriranih podataka bez pristupa ključu potrebnom za to; drugim riječima, to je studija o tome kako "razbiti" sheme šifriranja ili njihove implementacije.
U engleskom jeziku neki ljudi naizmjenično koriste izraze "kriptografija" i "kriptologija", dok drugi (uključujući američku vojnu praksu općenito) koriste "kriptografiju" za korištenje i praksu kriptografskih tehnika, a "kriptologija" za kombinirane proučavanje kriptografije i kriptoanalize. Engleski je prilagodljiviji od brojnih drugih jezika, gdje se "kriptologija" (kako prakticiraju kriptolozi) uvijek koristi u drugom smislu. Steganografija je ponekad uključena u kriptologiju, prema RFC 2828.
Kriptolingvistika je proučavanje jezičnih svojstava koja imaju određenu važnost u kriptografiji ili kriptologiji (na primjer, statistika učestalosti, kombinacije slova, univerzalni obrasci i tako dalje).
Kriptografija i kriptoanaliza imaju dugu povijest.
Povijest kriptografije glavni je članak.
Prije moderne ere, kriptografija se prvenstveno bavila povjerljivošću poruka (tj. šifriranjem) - pretvaranjem poruka iz razumljivog u nerazumljiv oblik i opet, čineći ih nečitljivim od strane presretača ili prisluškivača bez tajnog znanja (odnosno ključa potrebnog za dešifriranje te poruke). Šifriranje je osmišljeno kako bi razgovore špijuna, vojskovođa i diplomata bilo privatno. Posljednjih desetljeća, disciplina je narasla i uključuje tehnike kao što su provjera integriteta poruke, autentifikacija identiteta pošiljatelja/primatelja, digitalni potpisi, interaktivni dokazi i sigurno računanje, između ostalog.
Dvije najčešće klasične vrste šifri su transpozicijske šifre, koje sustavno zamjenjuju slova ili grupe slova drugim slovima ili skupinama slova (npr. 'zdravo svijet' postaje 'ehlol owrdl' u trivijalno jednostavnoj shemi preuređivanja), i supstitucijske šifre, koji sustavno zamjenjuju slova ili skupine slova drugim slovima ili skupinama slova (npr. 'odmah letjeti' postaje 'gmz bu Jednostavne verzije nijednog nikada nisu pružale puno privatnosti od lukavih protivnika. Cezarova šifra bila je rana zamjenska šifra u kojoj svako slovo u otvorenom tekstu zamijenjeno je slovom na određenom broju mjesta niz abecedu. Prema Svetonije, Julije Cezar ga je koristio sa smjenom od tri čovjeka za komunikaciju sa svojim generalima. Primjer je rana hebrejska šifra, Atbash. Najstarija poznata upotreba kriptografije je uklesani šifrirani tekst na kamenu u Egiptu (oko 1900. godine prije Krista), no moguće je da je to učinjeno za uživanje pismenih gledatelja, a ne a za prikrivanje informacija.
Izvještava se da su kripte bile poznate klasičnim Grcima (npr. šifra transpozicije scytale za koju se tvrdi da ju je koristila spartanska vojska). Steganografija (praksa prikrivanja čak i prisutnosti komunikacije kako bi se očuvala privatnost) također je izumljena u antičko doba. Fraza tetovirana na obrijanoj glavi roba i skrivena ispod izrasle kose, prema Herodotu. Korištenje nevidljive tinte, mikrotočaka i digitalnih vodenih žigova za prikrivanje informacija aktualniji su primjeri steganografije.
Kautiliyam i Mulavediya su dvije vrste šifri koje se spominju u indijskoj 2000 godina staroj Kamasutri iz Vtsyyane. Zamjene šifriranih slova u Kautiliyamu temelje se na fonetskim odnosima, kao što su samoglasnici koji postaju suglasnici. Šifra abecede u Mulavediji sastoji se od podudarnih slova i upotrebe recipročnih slova.
Prema muslimanskom učenjaku Ibn al-Nadimu, Sasanidska Perzija imala je dva tajna pisma: h-dabrya (doslovno "Kraljeva skripta"), koja se koristila za službenu korespondenciju, i rz-saharya, koja se koristila za razmjenu tajnih poruka s drugim zemlje.
U svojoj knjizi The Codebreakers, David Kahn piše da je suvremena kriptologija započela s Arapima, koji su bili prvi koji su pažljivo dokumentirali kriptoanalitičke postupke. Knjigu kriptografskih poruka napisao je Al-Khalil (717–786), a sadrži najranije korištenje permutacija i kombinacija za popis svih zamislivih arapskih riječi sa i bez samoglasnika.
Šifrirani tekstovi generirani klasičnom šifrom (kao i neke moderne šifre) otkrivaju statističke podatke o otvorenom tekstu, koji se mogu koristiti za razbijanje šifre. Gotovo sve takve šifre mogao je razbiti inteligentni napadač nakon otkrića analize frekvencija, vjerojatno od strane arapskog matematičara i polimatičara Al-Kindija (također poznatog kao Alkindus) u 9. stoljeću. Klasične šifre su i danas popularne, iako uglavnom kao zagonetke (vidi kriptogram). Risalah fi Istikhraj al-Mu'amma (Rukopis za dešifriranje kriptografskih poruka) napisao je Al-Kindi i dokumentirao je prvu poznatu upotrebu tehnika kriptoanalize frekvencijske analize.
Neki pristupi šifriranja proširene povijesti, kao što je homofonska šifra, koji imaju tendenciju izravnavanja distribucije frekvencija, možda neće imati koristi od frekvencija slova jezika. Frekvencije grupe jezičnih slova (ili n-grama) mogu predstavljati napad na te šifre.
Sve do otkrića polialfabetske šifre, ponajprije Leona Battiste Albertija oko 1467., praktički sve šifre bile su dostupne kriptoanalizi koristeći pristup frekvencijskoj analizi, iako postoje neki dokazi da je Al-Kindi već bio poznat. Alberti je došao na ideju korištenja zasebnih šifri (ili zamjenskih abeceda) za različite dijelove komunikacije (možda za svako sljedeće slovo otvorenog teksta na granici). Također je stvorio ono što se smatra prvim automatskim uređajem za šifriranje, kotačić koji je izvršio dio njegovog dizajna. Šifriranje u šifri Vigenère, polialfabetskoj šifri, kontrolira ključna riječ koja upravlja zamjenom slova na temelju toga koje se slovo ključne riječi koristi. Charles Babbage je sredinom devetnaestog stoljeća pokazao da je Vigenèreova šifra bila osjetljiva na Kasiskijevu analizu, ali je Friedrich Kasiski objavio svoje nalaze deset godina kasnije.
Unatoč činjenici da je frekvencijska analiza moćna i široka tehnika protiv mnogih šifri, enkripcija je u praksi ostala učinkovita jer mnogi potencijalni kriptoanalitičari nisu svjesni te tehnike. Razbijanje poruke bez korištenja frekvencijske analize zahtijevalo je poznavanje korištene šifre i možda uključenog ključa, što bi špijunažu, podmićivanje, provalu, prebjeg i druge kriptoanalitički neinformirane taktike učinilo privlačnijim. Tajna algoritma šifre konačno je priznata u 19. stoljeću kao ni razumno ni izvedivo jamstvo sigurnosti poruke; zapravo, svaka odgovarajuća kriptografska shema (uključujući šifre) treba ostati sigurna čak i ako protivnik u potpunosti razumije sam algoritam šifriranja. Sigurnost ključa trebala bi biti dovoljna da dobra šifra zadrži povjerljivost u slučaju napada. Auguste Kerckhoffs prvi je izrekao ovo temeljno načelo 1883. godine, a poznato je kao Kerckhoffsov princip; alternativno, i otvorenije rečeno, Claude Shannon, izumitelj teorije informacija i osnova teorijske kriptografije, ponovio ga je kao Shanonov Maxim - 'neprijatelj poznaje sustav'.
Za pomoć kod šifriranja korišteni su mnogi fizički uređaji i pomoć. Scytale antičke Grčke, štap koji su Spartanci navodno koristili kao alat za šifriranje transpozicije, možda je bio jedan od prvih. U srednjem vijeku osmišljena su i druga pomagala, poput rešetke za šifriranje, koja se također koristila za steganografiju. S razvojem poliabecednih šifri, postala su dostupna sofisticiranija pomagala kao što je Albertijev šifrirni disk, shema tabula recta Johannesa Trithemiusa i šifra kotača Thomasa Jeffersona (nije javno poznata i koju je Bazeries samostalno izmislio oko 1900.). Mnogi mehanički sustavi za šifriranje/dešifriranje osmišljeni su i patentirani početkom dvadesetog stoljeća, uključujući rotorske strojeve, koje su slavno koristile njemačka vlada i vojska od kasnih 1920-ih do Drugog svjetskog rata. Nakon Prvog svjetskog rata, šifre koje su implementirali kvalitetniji primjerci ovih dizajna strojeva doveli su do značajnog porasta kriptoanalitičkih poteškoća.
Kriptografija se prvenstveno bavila lingvističkim i leksikografskim obrascima prije početka dvadesetog stoljeća. Od tada je fokus evoluirao, a kriptografija sada uključuje aspekte teorije informacija, računalne složenosti, statistike, kombinatorike, apstraktne algebre, teorije brojeva i konačne matematike općenito. Kriptografija je vrsta inženjerstva, ali je jedinstvena po tome što se bavi aktivnim, inteligentnim i neprijateljskim otporom, dok se druge vrste inženjeringa (kao što je civilno ili kemijsko inženjerstvo) moraju samo nositi s prirodnim silama koje su neutralne. Također se istražuje veza između poteškoća s kriptografijom i kvantne fizike.
Razvoj digitalnih računala i elektronike pomogao je kriptoanalizi dopuštajući stvaranje znatno sofisticiranijih šifri. Nadalje, za razliku od tradicionalnih šifri, koje su isključivo šifrirale tekstove pisanog jezika, računala su dopuštala šifriranje bilo koje vrste podataka koji se mogu predstaviti u bilo kojem binarnom formatu; ovo je bilo novo i ključno. I u dizajnu šifre i u kriptoanalizi, računala su tako istisnula jezičnu kriptografiju. Za razliku od klasičnih i mehaničkih metoda, koje prvenstveno izravno manipuliraju tradicionalnim znakovima (tj. slovima i brojevima), mnoge računalne šifre rade na binarnim sekvencama bitova (povremeno u skupinama ili blokovima). Računala su, s druge strane, pomogla kriptoanalizi, koja je djelomično kompenzirala povećanu složenost šifre. Unatoč tome, dobre moderne šifre su ostale ispred kriptoanalize; često je slučaj da je korištenje dobre šifre vrlo učinkovito (tj. brzo i zahtijeva malo resursa, kao što su memorija ili sposobnost CPU), dok njeno razbijanje zahtijeva mnogo veći napor i znatno veći od onog koji je potreban za bilo koji klasična šifra, učinkovito onemogućujući kriptoanalizu.
Moderna kriptografija ima svoj debi.
Pokazalo se da je kriptoanaliza novih mehaničkih uređaja izazovna i dugotrajna. Tijekom Drugog svjetskog rata, kriptoanalitičke aktivnosti u Bletchley Parku u Ujedinjenom Kraljevstvu potaknule su izum učinkovitijih metoda za obavljanje zadataka koji se ponavljaju. Colossus, prvo potpuno elektroničko, digitalno, programabilno računalo na svijetu, razvijeno je za pomoć u dekodiranju šifri koje je stvorio stroj njemačke vojske Lorenz SZ40/42.
Kriptografija je relativno novo polje otvorenog akademskog istraživanja koje je počelo tek sredinom 1970-ih. Zaposlenici IBM-a osmislili su algoritam koji je postao federalni (tj. američki) standard za šifriranje podataka; Whitfield Diffie i Martin Hellman objavili su svoj ključni algoritam dogovora; a kolumna Scientific American Martina Gardnera objavila je RSA algoritam. Kriptografija je od tada postala popularna kao tehnika za komunikacije, računalne mreže i računalnu sigurnost općenito.
Postoje duboke veze s apstraktnom matematikom budući da nekoliko modernih pristupa kriptografiji može zadržati svoje ključeve u tajnosti samo ako su određeni matematički problemi nerješivi, kao što su cjelobrojna faktorizacija ili problemi s diskretnim logaritmom. Postoji samo nekoliko kriptosustava za koje se pokazalo da su 100% sigurni. Claude Shannon je dokazao da je jednokratni blok jedan od njih. Postoji nekoliko ključnih algoritama za koje se pokazalo da su sigurni pod određenim uvjetima. Nemogućnost faktoriranja iznimno velikih cijelih brojeva, na primjer, temelj je za vjerovanje da su RSA i drugi sustavi sigurni, ali je dokaz neraskidivosti nedostižan jer temeljni matematički problem ostaje neriješen. U praksi se oni naširoko koriste, a većina kompetentnih promatrača vjeruje da su u praksi neraskidivi. Postoje sustavi slični RSA, kao što je onaj koji je razvio Michael O. Rabin, koji su dokazivo sigurni ako je faktoriranje n = pq nemoguće; međutim, oni su praktički beskorisni. Problem diskretnog logaritma temelj je za vjerovanje da su neki drugi kriptosustavi sigurni, a postoje slični, manje praktični sustavi koji su dokazivo sigurni u smislu rješivosti ili nerješivosti problema diskretnog logaritma.
Dizajneri kriptografskih algoritama i sustava moraju uzeti u obzir mogući budući napredak kada rade na svojim idejama, osim što moraju biti svjesni kriptografske povijesti. Na primjer, kako se snaga računalne obrade poboljšala, širina napada grubom silom je rasla, stoga su porasle i potrebne duljine ključeva. Neki dizajneri kriptografskih sustava koji istražuju postkvantnu kriptografiju već razmatraju potencijalne posljedice kvantnog računanja; najavljena neminovnost skromnih implementacija ovih strojeva može učiniti potrebu za preventivnim oprezom više nego samo špekulativnom.
Klasična kriptografija u modernom vremenu
Simetrična (ili s privatnim ključem) kriptografija je vrsta enkripcije u kojoj pošiljatelj i primatelj koriste isti ključ (ili, rjeđe, u kojem su njihovi ključevi različiti, ali povezani na lako izračunljiv način i čuvaju se u tajnosti, privatno ). Do lipnja 1976. ovo je bila jedina vrsta šifriranja koja je bila javno poznata.
Blok šifre i stream šifre koriste se za implementaciju simetričnih šifri ključa. Blok šifra šifrira unos u blokovima otvorenog teksta, a ne u pojedinačnim znakovima, kao što to čini stream šifra.
Američka vlada odredila je Standard za šifriranje podataka (DES) i Napredni standard šifriranja (AES) kao standarde za kriptografiju (iako je DES-ov certifikat na kraju povučen nakon što je AES uspostavljen). DES (osobito njegova još uvijek odobrena i znatno sigurnija trostruka DES varijacija) ostaje popularan unatoč tome što je odbačen kao službeni standard; koristi se u širokom rasponu aplikacija, od enkripcije bankomata do privatnosti e-pošte i sigurnog udaljenog pristupa. Izmišljeno je i objavljeno mnoštvo različitih blok šifri, s različitim stupnjevima uspjeha. Mnogi, uključujući i neke koje su dizajnirali kvalificirani praktičari, kao što je FEAL, uvelike su pokvareni.
Stream šifre, za razliku od blok šifri, generiraju beskonačno dugačak tok ključnog materijala koji je povezan s otvorenim tekstom bit-po-bit ili znak po znak, slično kao jednokratni blok. Izlazni tok stream šifre generira se iz skrivenog unutarnjeg stanja koje se mijenja kako šifra funkcionira. Materijal tajnog ključa koristi se za prvo postavljanje tog unutarnjeg stanja. Točna šifra RC4 se intenzivno koristi. Stvaranjem blokova toka ključeva (umjesto generatora pseudoslučajnih brojeva) i korištenjem operacije XOR za svaki bit otvorenog teksta sa svakim bitom toka ključeva, blok šifre se mogu koristiti kao šifre toka.
Kodovi za provjeru autentičnosti poruka (MAC) slični su kriptografskim hash funkcijama, s iznimkom da se tajni ključ može koristiti za provjeru vrijednosti hash nakon primitka; ova dodatna zamršenost sprječava napad na gole algoritme digestije i stoga se smatra vrijednom truda. Treća vrsta kriptografske tehnike su kriptografske hash funkcije. Uzimaju poruku bilo koje duljine kao ulaz i izlaze mali hash fiksne duljine koji se može koristiti u digitalnim potpisima, na primjer. Napadač ne može locirati dvije poruke koje proizvode isti hash koristeći dobre hash algoritme. MD4 je široko korištena, ali sada neispravna hash funkcija; MD5, poboljšani oblik MD4, također se široko koristi, ali se u praksi ne radi. Serija Secure Hash Algoritam algoritama sličnih MD5 razvila je američka Agencija za nacionalnu sigurnost: Američko tijelo za standarde odlučilo je da je "razborito" sa sigurnosnog stajališta razviti novi standard kako bi se "značajno poboljšala robusnost NIST-ovog ukupnog hash algoritma komplet alata.” SHA-1 se široko koristi i sigurniji je od MD5, ali kriptoanalitičari su identificirali napade na njega; obitelj SHA-2 poboljšava SHA-1, ali je ranjiva na sukobe od 2011.; i obitelj SHA-2 poboljšava SHA-1, ali je ranjiva na sukobe. Kao rezultat toga, do 2012. godine trebalo je održati natjecanje u dizajnu hash funkcija za odabir novog američkog nacionalnog standarda, koji će biti poznat kao SHA-3. Natjecanje je završeno 2. listopada 2012., kada je Nacionalni institut za standarde i tehnologiju (NIST) najavio Keccak kao novi SHA-3 hash algoritam. Kriptografske hash funkcije, za razliku od invertibilnih blok i stream šifri, daju raspršeni izlaz koji se ne može koristiti za oporavak izvornih ulaznih podataka. Kriptografske hash funkcije koriste se za provjeru autentičnosti podataka dobivenih iz nepouzdanog izvora ili za dodavanje dodatnog stupnja zaštite.
Iako poruka ili skup poruka može imati drugačiji ključ od drugih, kriptosustavi sa simetričnim ključem koriste isti ključ za šifriranje i dešifriranje. Upravljanje ključem potrebno za sigurno korištenje simetričnih šifri veliki je nedostatak. Svaki pojedinačni par strana u komunikaciji trebao bi, u idealnom slučaju, dijeliti drugačiji ključ, kao i eventualno drugačiji šifrirani tekst za svaki poslani šifrirani tekst. Broj potrebnih ključeva raste izravno proporcionalno broju sudionika mreže, što zahtijeva komplicirane tehnike upravljanja ključevima kako bi svi ostali dosljedni i tajni.
Whitfield Diffie i Martin Hellman izumili su koncept kriptografije s javnim ključem (također poznat kao asimetrični ključ) u temeljnom djelu iz 1976., u kojem se koriste dva različita, ali matematički povezana ključa – javni ključ i privatni ključ. Iako su neraskidivo povezani, sustav javnih ključeva izgrađen je na takav način da je izračunavanje jednog ključa ('privatnog ključa') od drugog ('javnog ključa') računalno neizvedivo. Umjesto toga, oba ključa se proizvode u tajnosti, kao povezani par. Kriptografija s javnim ključem, prema povjesničaru Davidu Kahnu, “najrevolucionarniji je novi pojam na tom području otkako je polialfabetska zamjena nastala u renesansi”.
Javni ključ u kriptosustavu s javnim ključem može se slobodno prenositi, ali povezani privatni ključ mora biti skriven. Javni ključ se koristi za šifriranje, dok se privatni ili tajni ključ koristi za dešifriranje u shemi šifriranja s javnim ključem. Iako Diffie i Hellman nisu uspjeli stvoriti takav sustav, pokazali su da je kriptografija s javnim ključem zamisliva pružanjem Diffie-Hellman protokola za razmjenu ključeva, rješenja koje omogućuje dvije osobe da se tajno dogovore oko zajedničkog ključa za šifriranje. Najrašireniji format za certifikate javnog ključa definiran je standardom X.509.
Objavljivanje Diffieja i Hellmana izazvalo je široki akademski interes za razvoj praktičnog sustava šifriranja s javnim ključem. Ronald Rivest, Adi Shamir i Len Adleman na kraju su pobijedili u natjecanju 1978., a njihov je odgovor postao poznat kao RSA algoritam.
Osim što su najraniji javno poznati primjeri visokokvalitetnih algoritama s javnim ključem, Diffie–Hellman i RSA algoritmi su među najčešće korištenim. Cramer–Shoup kriptosustav, ElGamal enkripcija i brojni pristupi eliptičke krivulje primjeri su algoritama asimetričnog ključa.
Kriptografi GCHQ-a predvidjeli su nekoliko znanstvenih napretka, prema dokumentu koji je 1997. izdao Vladin komunikacijski stožer (GCHQ), britanska obavještajna organizacija. Prema legendi, kriptografiju asimetričnog ključa izumio je James H. Ellis oko 1970. Clifford Cocks je 1973. izumio rješenje koje je po dizajnu bilo iznimno slično RSA-u. Malcolm J. Williamson je zaslužan za izum razmjene ključeva Diffie-Hellman 1974. godine.
Sustavi digitalnog potpisa također se implementiraju korištenjem kriptografije s javnim ključem. Digitalni potpis sličan je tradicionalnom potpisu po tome što ga je korisnik jednostavno izraditi, a drugima ga je teško krivotvoriti. Digitalni potpisi također mogu biti trajno povezani sa sadržajem komunikacije koja se potpisuje; to znači da se ne mogu 'premjestiti' iz jednog dokumenta u drugi a da se ne otkriju. Postoje dva algoritma u shemama digitalnog potpisa: jedan za potpisivanje, koji koristi tajni ključ za obradu poruke (ili hash poruke, ili oboje), i jedan za provjeru, koji koristi odgovarajući javni ključ s porukom za provjeru valjanosti autentičnost potpisa. Dvije od najčešće korištenih metoda digitalnog potpisa su RSA i DSA. Infrastruktura javnih ključeva i mnogi mrežni sigurnosni sustavi (npr. SSL/TLS, mnogi VPN-ovi) oslanjaju se na digitalne potpise za funkcioniranje.
Računalna složenost “teških” problema, poput onih koji proizlaze iz teorije brojeva, često se koristi za razvoj metoda s javnim ključem. Problem cjelobrojne faktorizacije povezan je s tvrdoćom RSA, dok je problem diskretnog logaritma vezan za Diffie–Hellman i DSA. Sigurnost kriptografije eliptičke krivulje temelji se na teoretskim problemima s brojevima eliptičke krivulje. Većina algoritama s javnim ključem uključuje operacije poput modularnog množenja i eksponencijacije, koje su znatno skuplje u računskom smislu od tehnika koje se koriste u većini blok šifri, posebno s normalnim veličinama ključa, zbog poteškoća temeljnih problema. Kao rezultat toga, kriptosustavi s javnim ključem često su hibridni kriptosustavi, u kojima je poruka šifrirana brzim, visokokvalitetnim algoritmom simetričnog ključa, dok se relevantni simetrični ključ šalje s porukom, ali je šifriran algoritmom javnog ključa. Hibridne sheme potpisa, u kojima se izračunava kriptografska hash funkcija i samo rezultirajući hash je digitalno potpisan, također se uobičajeno koriste.
Hash funkcije u kriptografiji
Kriptografske hash funkcije su kriptografski algoritmi koji proizvode i koriste specifične ključeve za šifriranje podataka za simetrično ili asimetrično šifriranje, a mogu se smatrati ključevima. Uzimaju poruku bilo koje duljine kao ulaz i izlaze mali hash fiksne duljine koji se može koristiti u digitalnim potpisima, na primjer. Napadač ne može locirati dvije poruke koje proizvode isti hash koristeći dobre hash algoritme. MD4 je široko korištena, ali sada neispravna hash funkcija; MD5, poboljšani oblik MD4, također se široko koristi, ali se u praksi ne radi. Serija Secure Hash Algoritama algoritama sličnih MD5 razvila je američka Agencija za nacionalnu sigurnost: Američko tijelo za standarde odlučilo je da je "razborito" sa sigurnosnog stajališta razviti novi standard kako bi se "značajno poboljšala robusnost NIST-ovog ukupnog hash algoritma komplet alata.” SHA-1 se široko koristi i sigurniji je od MD5, ali kriptoanalitičari su identificirali napade na njega; obitelj SHA-2 poboljšava SHA-1, ali je ranjiva na sukobe od 2011.; i obitelj SHA-2 poboljšava SHA-1, ali je ranjiva na sukobe. Kao rezultat toga, do 2012. godine trebalo je održati natjecanje u dizajnu hash funkcija za odabir novog američkog nacionalnog standarda, koji će biti poznat kao SHA-3. Natjecanje je završeno 2. listopada 2012., kada je Nacionalni institut za standarde i tehnologiju (NIST) najavio Keccak kao novi SHA-3 hash algoritam. Kriptografske hash funkcije, za razliku od invertibilnih blok i stream šifri, daju raspršeni izlaz koji se ne može koristiti za oporavak izvornih ulaznih podataka. Kriptografske hash funkcije koriste se za provjeru autentičnosti podataka dobivenih iz nepouzdanog izvora ili za dodavanje dodatnog stupnja zaštite.
Kriptografski primitivi i kriptosustavi
Velik dio teorijskog rada kriptografije usredotočen je na kriptografske primitive—algoritme koji imaju osnovna kriptografska svojstva—i kako se oni odnose na druge kriptografske izazove. Ti se osnovni primitivi zatim koriste za stvaranje složenijih kriptografskih alata. Ovi primitivi pružaju temeljne kvalitete koje se koriste za stvaranje složenijih alata poznatih kao kriptosustavi ili kriptografski protokoli koji osiguravaju jedno ili više sigurnosnih svojstava visoke razine. S druge strane, granica između kriptografskih primitiva i kriptosustava je proizvoljna; RSA algoritam, na primjer, ponekad se smatra kriptosustavom, a ponekad primitivnim. Pseudoslučajne funkcije, jednosmjerne funkcije i drugi kriptografski primitivi su uobičajeni primjeri.
Kriptografski sustav, ili kriptosustav, nastaje kombiniranjem jednog ili više kriptografskih primitiva kako bi se stvorio kompliciraniji algoritam. Kriptosustavi (npr. El-Gamal enkripcija) namijenjeni su pružanju specifične funkcionalnosti (npr. šifriranje javnog ključa) uz istovremeno osiguravanje određenih sigurnosnih kvaliteta (npr. nasumični model proročišta odabran-plaintext napada CPA sigurnost). Kako bi podržali sigurnosne kvalitete sustava, kriptosustavi koriste svojstva temeljnih kriptografskih primitiva. Sofisticirani kriptosustav može se generirati iz kombinacije brojnih rudimentarnih kriptosustava, budući da je razlika između primitivnih i kriptosustava donekle proizvoljna. U mnogim okolnostima, struktura kriptosustava uključuje komunikaciju naprijed-nazad između dvije ili više strana u prostoru (npr. između pošiljatelja i primatelja sigurne poruke) ili kroz vrijeme (npr. između pošiljatelja i primatelja sigurne poruke) (npr. kriptografski zaštićeni sigurnosne kopije podataka).
Da biste se detaljno upoznali s nastavnim planom i programom certificiranja, možete proširiti i analizirati donju tablicu.
EITC/IS/ACC Napredni kurikulum za certifikaciju klasične kriptografije navodi didaktičke materijale otvorenog pristupa u obliku videa. Proces učenja podijeljen je u strukturu korak po korak (programi -> lekcije -> teme) koja pokriva relevantne dijelove kurikuluma. Također je osigurano neograničeno savjetovanje sa stručnjacima za domenu.
Za detalje o postupku certificiranja provjerite Kako radi.
Glavne bilješke s predavanja
Razumijevanje kriptografije Christofa Paara i Jana Pelzla, Online tečaj u obliku PDF slajdova
https://www.crypto-textbook.com/slides.php
Razumijevanje kriptografije Christofa Paara i Jana Pelzla, Online tečaj u obliku videa
https://www.crypto-textbook.com/movies.php
Glavna referenca knjige klasične kriptografije
Razumijevanje kriptografije Christofa Paara i Jana Pelzla
https://www.crypto-textbook.com/index.php
Dodatna primijenjena knjiga o klasičnoj kriptografiji
Priručnik za primijenjenu kriptografiju A. Menezesa, P. van Oorschota i S. Vanstonea:
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
https://notendur.hi.is/pgg/Handbook%20of%20Applied%20Cryptography.pdf
Preuzmite potpune izvanmrežne pripremne materijale za samoučenje za program napredne klasične kriptografije EITC/IS/ACC u PDF datoteci
EITC/IS/ACC pripremni materijali – standardna verzija
EITC/IS/ACC pripremni materijali – proširena verzija s pitanjima za ponavljanje