EITC/IS/ACC Advanced Classical Cryptography je evropski certifikacijski program IT, ki izboljšuje raven strokovnega znanja na področju klasične kriptografije, predvsem se osredotoča na kriptografijo z javnim ključem, z uvodom v praktične šifre z javnim ključem, kot tudi digitalne podpise, infrastrukturo javnih ključev in varnostna potrdila, ki se pogosto uporabljajo v internetu.
Učni načrt napredne klasične kriptografije EITC/IS/ACC se osredotoča na (asimetrično) kriptografijo z javnim ključem, začenši z uvodom v Diffie-Hellmanovo izmenjavo ključev in problemom diskretnega dnevnika (vključno z njegovo posplošitvijo), nato pa nadaljuje s šifriranjem. s problemom diskretnega dnevnika, ki zajema Elgamalovo šifrirno shemo, eliptične krivulje in kriptografijo eliptične krivulje (ECC), digitalne podpise (vključno z varnostnimi storitvami in Elgamal digitalnim podpisom), hash funkcije (vključno s funkcijo SHA-1), kode za preverjanje pristnosti sporočil (vključno z MAC in HMAC), vzpostavitev ključa (vključno s Symmetric Key Establishment SKE in Kerberos), da se zaključi z obravnavo razreda napadov človek v sredini, skupaj s kriptografskimi potrdili in infrastrukturo javnih ključev (PKI), znotraj naslednje strukture , ki vključuje obsežno video didaktično vsebino kot referenco za to potrdilo EITC.
Kriptografija se nanaša na načine varne komunikacije v prisotnosti nasprotnika. Kriptografija je v širšem smislu proces ustvarjanja in analiziranja protokolov, ki tretjim osebam ali širši javnosti preprečujejo dostop do zasebnih (šifriranih) sporočil. Sodobna klasična kriptografija temelji na več glavnih značilnostih informacijske varnosti, kot so zaupnost podatkov, celovitost podatkov, avtentikacija in nezavrnitev. V nasprotju s kvantno kriptografijo, ki temelji na radikalno različnih pravilih kvantne fizike, ki so značilna za naravo, se klasična kriptografija nanaša na kriptografijo, ki temelji na zakonih klasične fizike. Področja matematike, računalništva, elektrotehnike, komunikologije in fizike se srečujejo v klasični kriptografiji. Elektronsko poslovanje, plačilne kartice na osnovi čipov, digitalne valute, računalniška gesla in vojaške komunikacije so vsi primeri kriptografskih aplikacij.
Pred sedanjo dobo je bila kriptografija skoraj sinonim za šifriranje, ki je informacije spremenila iz berljivih v nerazumljive neumnosti. Da bi preprečili napadalcem dostop do šifriranega sporočila, pošiljatelj deli postopek dekodiranja samo s predvidenimi prejemniki. V kriptografski literaturi se pogosto uporabljajo imena Alice (»A«) za pošiljatelja, Bob (»B«) za predvidenega prejemnika in Eva (»prisluškovalka«) za nasprotnika.
Metode kriptografije so postajale vse bolj zapletene in njene aplikacije so bile bolj raznolike, od razvoja rotorskih šifrirnih strojev v prvi svetovni vojni in uvedbe računalnikov v drugi svetovni vojni.
Sodobna kriptografija je močno odvisna od matematične teorije in računalniške prakse; kriptografske metode so zgrajene na podlagi predpostavk o trdoti računanja, zaradi česar jih je vsak nasprotnik težko zlomiti v praksi. Medtem ko je vdor v dobro zasnovan sistem teoretično možen, je to v praksi nemogoče. Takšne sheme se imenujejo "računsko varne", če so ustrezno izdelane; kljub temu pa teoretični preboji (npr. izboljšave metod faktorizacije celih števil) in hitrejša računalniška tehnologija zahtevajo nenehno ponovno vrednotenje in, če je potrebno, prilagajanje teh načrtov. Obstajajo informacijsko teoretično varni sistemi, kot je enkratna ploščica, za katere je mogoče dokazati, da so nezlomljivi tudi z neskončno računalniško močjo, vendar jih je v praksi bistveno težje uporabiti kot najboljše teoretično zlomljive, a računalniško varne sheme.
V informacijski dobi je napredek kriptografske tehnologije povzročil številne pravne izzive. Številni narodi so kriptografijo razvrstili kot orožje, saj omejujejo ali prepovedujejo njeno uporabo in izvoz zaradi njene možnosti vohunjenja in upora. Preiskovalci lahko prisilijo, da predajo šifrirne ključe za dokumente, ki se nanašajo na preiskavo na nekaterih mestih, kjer je kriptografija zakonita. V primeru digitalnih medijev igra kriptografija ključno vlogo tudi pri upravljanju digitalnih pravic in sporih glede kršitev avtorskih pravic.
Izraz »kriptograf« (v nasprotju s »kriptogram«) je bil prvič uporabljen v devetnajstem stoletju v kratki zgodbi Edgarja Allana Poeja »The Gold-Bug«.
Do nedavnega se je kriptografija skoraj sklicevala na »šifriranje«, ki je dejanje pretvarjanja navadnih podatkov (znanih kot golo besedilo) v neberljivo obliko (imenovano šifrirano besedilo). Dešifriranje je nasprotje šifriranja, tj. prehod iz nerazumljivega šifriranega besedila v golo besedilo. Šifra (ali šifra) je niz tehnik, ki izvajajo šifriranje in dešifriranje v obratnem vrstnem redu. Algoritem in v vsakem primeru "ključ" sta zadolžena za natančno izvedbo šifre. Ključ je skrivnost (po možnosti poznajo samo sogovorniki), ki se uporablja za dešifriranje šifriranega besedila. Običajno je niz znakov (idealno kratek, da si ga lahko zapomni uporabnik). "Kriptosistem" je urejena zbirka elementov končnih potencialnih odprtih besedil, šifriranih besedil, ključev ter postopkov šifriranja in dešifriranja, ki ustrezajo vsakemu ključu v formalnih matematičnih izrazih. Ključi so ključnega pomena tako formalno kot praktično, saj se šifre s fiksnimi ključi zlahka zlomijo samo z informacijami šifre, zaradi česar so neuporabne (ali celo kontraproduktivne) za večino namenov.
V preteklosti so se šifre pogosto uporabljale brez dodatnih postopkov, kot so preverjanje pristnosti ali celovitosti za šifriranje ali dešifriranje. Kriptosistemi so razdeljeni v dve kategoriji: simetrični in asimetrični. Isti ključ (skrivni ključ) se uporablja za šifriranje in dešifriranje sporočila v simetričnih sistemih, ki so bili edini znani do sedemdesetih let prejšnjega stoletja. Ker simetrični sistemi uporabljajo krajše dolžine ključev, je obdelava podatkov v simetričnih sistemih hitrejša kot v asimetričnih sistemih. Asimetrični sistemi šifrirajo komunikacijo z "javnim ključem" in jo dešifrirajo s podobnim "zasebnim ključem". Uporaba asimetričnih sistemov izboljša komunikacijsko varnost zaradi težav pri določanju razmerja med dvema ključema. RSA (Rivest-Shamir-Adleman) in ECC sta dva primera asimetričnih sistemov (Elliptic Curve Cryptography). Široko uporabljeni AES (Advanced Encryption Standard), ki je nadomestil prejšnji DES, je primer visokokakovostnega simetričnega algoritma (Standard šifriranja podatkov). Različne tehnike zapletanja v otroškem jeziku, kot je prašičja latinščina ali drugi pisci, in pravzaprav vse kriptografske sheme, ne glede na to, kako resno so mišljene, iz katerega koli vira pred uvedbo enkratne blazinice v začetku dvajsetega stoletja, so primeri nizke kakovosti. simetričnih algoritmov.
Izraz "koda" se pogosto uporablja pogovorno za katero koli tehniko šifriranja ali prikrivanja sporočil. Vendar se v kriptografiji koda nanaša na zamenjavo kodne besede za enoto odprtega besedila (tj. smiselno besedo ali besedno zvezo) (na primer »wallaby« nadomesti »napad ob zori«). Nasprotno pa je šifrirano besedilo ustvarjeno s spreminjanjem ali zamenjavo elementa pod tako ravnjo (na primer črka, zlog ali par črk), da se oblikuje šifrirano besedilo.
Kriptoanaliza je preučevanje načinov za dešifriranje šifriranih podatkov brez dostopa do ključa, ki je za to potreben; z drugimi besedami, to je študija o tem, kako "razbiti" šifrirne sheme ali njihove izvedbe.
V angleščini nekateri izmenično uporabljajo izraza »kriptografija« in »kriptologija«, medtem ko drugi (vključno z vojaško prakso ZDA na splošno) uporabljajo »kriptografijo« za uporabo in prakso kriptografskih tehnik, »kriptologija« pa za kombinirano študij kriptografije in kriptoanalize. Angleščina je bolj prilagodljiva kot številni drugi jeziki, kjer se "kriptologija" (kot jo izvajajo kriptologi) vedno uporablja v drugem pomenu. Steganografija je včasih vključena v kriptologijo, v skladu z RFC 2828.
Kriptolingvistika je preučevanje jezikovnih lastnosti, ki imajo določen pomen v kriptografiji ali kriptologiji (na primer statistika frekvenc, kombinacije črk, univerzalni vzorci itd.).
Kriptografija in kriptoanaliza imata dolgo zgodovino.
Zgodovina kriptografije je glavni članek.
Pred moderno dobo se je kriptografija ukvarjala predvsem z zaupnostjo sporočil (tj. šifriranjem) – pretvorbo sporočil iz razumljive v nerazumljivo obliko in ponovno, zaradi česar so prestrezniki ali prisluškovalci brez tajnega znanja (in sicer ključ, potreben za dešifriranje) postali neberljivi. tega sporočila). Šifriranje je bilo zasnovano tako, da ohrani zasebnost pogovorov vohunov, vojaških voditeljev in diplomatov. V zadnjih desetletjih je disciplina med drugim narasla in vključuje tehnike, kot so preverjanje celovitosti sporočil, preverjanje pristnosti pošiljatelja/prejemnika, digitalni podpisi, interaktivna dokazila in varno računanje.
Dve najpogostejši klasični vrsti šifriranja sta transpozicijske šifre, ki sistematično nadomeščata črke ali skupine črk z drugimi črkami ali skupinami črk (npr. 'zdravo svet' postane 'ehlol owrdl' v trivialno preprosti shemi preureditve), in nadomestne šifre, ki črke ali skupine črk sistematično nadomeščajo z drugimi črkami ali skupinami črk (npr. 'leti naenkrat' postane 'gmz bu Enostavne različice obeh nikoli niso zagotavljale veliko zasebnosti pred zvitimi nasprotniki. Cezarjeva šifra je bila zgodnja nadomestna šifra, v kateri vsaka črka v odprtem besedilu je bila zamenjana s črko na določenem številu položajev po abecedi. Po Svetonijevih besedah jo je Julij Cezar uporabljal s tričlansko premiko za komunikacijo s svojimi generali. Primer je zgodnja hebrejska šifra Atbash. Najstarejša znana uporaba kriptografije je vklesano šifrirano besedilo na kamnu v Egiptu (približno 1900 pr.n.št.), vendar je možno, da je bilo to storjeno za uživanje pismenih gledalcev in ne. za prikrivanje informacij.
Poročajo, da so bile kripte znane že klasičnim Grkom (npr. šifra za transpozicijo scytale, za katero se trdi, da jo je uporabljala špartanska vojska). Steganografija (praksa prikrivanja celo prisotnosti komunikacije, da se ohrani zasebnost) je bila tudi izumljena v starih časih. Po Herodotu je fraza vtetovirana na sužnjevo obrito glavo in skrita pod poraščenimi lasmi. Uporaba nevidnega črnila, mikropik in digitalnih vodnih žigov za prikrivanje informacij so bolj aktualni primeri steganografije.
Kautiliyam in Mulavediya sta dve vrsti šifr, omenjeni v indijski 2000-letni Kamasutri iz Vtsyyane. Zamenjave šifriranih črk v Kautiliyamu temeljijo na fonetičnih razmerjih, kot so samoglasniki, ki postanejo soglasniki. Šifrana abeceda v Mulavediji je sestavljena iz ujemajočih se črk in vzajemnih črk.
Po mnenju muslimanskega učenjaka Ibn al-Nadima je imela Sasanidska Perzija dve tajni pisavi: h-dabrya (dobesedno »kraljeva pisava«), ki se je uporabljala za uradno korespondenco, in rz-saharya, ki je bila uporabljena za izmenjavo tajnih sporočil z drugimi držav.
David Kahn v svoji knjigi The Codebreakers piše, da se je sodobna kriptologija začela pri Arabcih, ki so prvi skrbno dokumentirali kriptoanalitične postopke. Knjigo kriptografskih sporočil je napisal Al-Khalil (717–786) in vsebuje najzgodnejše uporabo permutacij in kombinacij za seznam vseh možnih arabskih besed z in brez samoglasnikov.
Šifrirana besedila, ki jih ustvari klasična šifra (kot tudi nekatere sodobne šifre), razkrivajo statistične informacije o odprtem besedilu, ki jih je mogoče uporabiti za razbijanje šifre. Skoraj vse takšne šifre bi lahko razbil inteligentni napadalec po odkritju frekvenčne analize, verjetno s strani arabskega matematika in polimata Al-Kindija (znanega tudi kot Alkindus) v 9. stoletju. Klasične šifre so še danes priljubljene, čeprav večinoma kot uganke (glej kriptogram). Risalah fi Istikhraj al-Mu'amma (Rokopis za dešifriranje kriptografskih sporočil) je napisal Al-Kindi in dokumentiral prvo znano uporabo kriptoanaliznih tehnik frekvenčne analize.
Nekaterim razširjenim pristopom šifriranja zgodovine, kot je homofonična šifra, ki se nagibajo k izravnavi porazdelitve frekvenc, morda ne bodo koristile frekvence jezikovnih črk. Frekvence skupine jezikovnih črk (ali n-gramov) lahko povzročijo napad na te šifre.
Do odkritja večabecedne šifre, predvsem Leona Battiste Albertija okoli leta 1467, so bile praktično vse šifre dostopne kriptoanalizi z uporabo pristopa frekvenčne analize, čeprav obstajajo dokazi, da je bil Al-Kindi že znan. Alberti je prišel na zamisel o uporabi ločenih šifr (ali nadomestnih abeced) za različne dele komunikacije (morda za vsako zaporedno črko odprtega besedila na meji). Ustvaril je tudi tisto, kar naj bi bilo prvo avtomatsko šifrirno napravo, kolo, ki je izvedlo del njegove zasnove. Šifriranje v šifri Vigenère, večabecedni šifri, nadzira ključna beseda, ki ureja zamenjavo črk glede na to, katera črka ključne besede je uporabljena. Charles Babbage je pokazal, da je bila šifra Vigenère ranljiva za Kasiskijevo analizo sredi devetnajstega stoletja, vendar je Friedrich Kasiski svoje ugotovitve objavil deset let pozneje.
Kljub dejstvu, da je frekvenčna analiza močna in široka tehnika proti številnim šifram, je šifriranje v praksi ostalo učinkovito, ker se mnogi potencialni kriptoanalitiki ne zavedajo te tehnike. Za razbijanje sporočila brez uporabe frekvenčne analize je bilo potrebno poznavanje uporabljene šifre in morda vpletenega ključa, zaradi česar so vohunjenje, podkupovanje, vlomi, prebeg in druge kriptoanalitično neinformirane taktike postale bolj privlačne. Skrivnost šifrirnega algoritma je bila končno priznana v 19. stoletju kot niti razumno niti izvedljivo zagotovilo varnosti sporočil; pravzaprav bi morala vsaka ustrezna kriptografska shema (vključno s šiframi) ostati varna, tudi če nasprotnik popolnoma razume sam algoritem šifriranja. Varnost ključa bi morala zadostovati, da dobra šifra ohrani zaupnost ob napadu. Auguste Kerckhoffs je to temeljno načelo prvič navedel leta 1883 in je znan kot Kerckhoffsov princip; alternativno, in bolj odkrito, Claude Shannon, izumitelj informacijske teorije in osnov teoretične kriptografije, jo je ponovil kot Shannon's Maxim - "sovražnik pozna sistem."
Za pomoč pri šifrah je bilo uporabljenih veliko fizičnih pripomočkov in pomoči. Scytale starodavne Grčije, palica, ki so jo Špartanci domnevno uporabljali kot orodje za šifriranje transpozicije, je bila morda ena prvih. V srednjem veku so se izmislili tudi drugi pripomočki, kot je šifrirana rešetka, ki so jo uporabljali tudi za steganografijo. Z razvojem večabecednih šifr so postali na voljo bolj izpopolnjeni pripomočki, kot so Albertijev šifrirni disk, shema tabula recta Johannesa Trithemiusa in kolesna šifra Thomasa Jeffersona (ni javno znana in jo je Bazeries neodvisno izumil okoli leta 1900). Številni mehanski sistemi za šifriranje/dešifriranje so bili zasnovani in patentirani v začetku dvajsetega stoletja, vključno z rotorskimi stroji, ki so jih nemška vlada in vojska uporabljali od poznih dvajsetih let prejšnjega stoletja do druge svetovne vojne. Po prvi svetovni vojni so šifre, ki so jih izvajali bolj kakovostni primerki teh modelov strojev, povzročile znatno povečanje kriptoanalitičnih težav.
Kriptografija se je ukvarjala predvsem z jezikovnimi in leksikografskimi vzorci pred zgodnjim dvajsetim stoletjem. Od takrat se je fokus razvil in kriptografija zdaj vključuje vidike teorije informacij, računske kompleksnosti, statistike, kombinatorike, abstraktne algebre, teorije števil in končne matematike na splošno. Kriptografija je vrsta inženiringa, vendar je edinstvena po tem, da se ukvarja z aktivnim, inteligentnim in sovražnim odporom, medtem ko se druge vrste inženiringa (kot je civilni ali kemični inženiring) ukvarjajo le z naravnimi silami, ki so nevtralne. Raziskuje se tudi povezava med težavami s kriptografijo in kvantno fiziko.
Razvoj digitalnih računalnikov in elektronike je pomagal kriptoanalizi, saj je omogočil ustvarjanje bistveno bolj izpopolnjenih šifr. Poleg tega so v nasprotju s tradicionalnimi šiframi, ki so šifrirale izključno besedila v pisnem jeziku, računalniki omogočali šifriranje vseh vrst podatkov, ki bi jih lahko predstavili v kateri koli binarni obliki; to je bilo novo in ključno. Tako pri oblikovanju šifrir kot pri kriptoanalizi so računalniki tako izpodrinili jezikovno kriptografijo. Za razliko od klasičnih in mehanskih metod, ki primarno manipulirajo s tradicionalnimi znaki (tj. črkami in številkami) neposredno, številne računalniške šifre delujejo na binarnih bitnih zaporedjih (občasno v skupinah ali blokih). Računalniki so po drugi strani pomagali kriptoanalizi, ki je delno kompenzirala povečano kompleksnost šifriranja. Kljub temu so dobre sodobne šifre ostale pred kriptoanalizo; pogosto se zgodi, da je uporaba dobre šifre zelo učinkovita (tj. hitra in zahteva malo virov, kot sta pomnilnik ali zmogljivost CPE), medtem ko je za njeno zlom potreben trud, ki je veliko večji in veliko večji od tistega, ki je potreben za katero koli klasično šifro, ki dejansko onemogoča kriptoanalizo.
Sodobna kriptografija je debitiral.
Kripanaliza novih mehanskih naprav se je izkazala za zahtevno in dolgotrajno. Med drugo svetovno vojno so kriptoanalitične dejavnosti v Bletchley Parku v Združenem kraljestvu spodbudile izum učinkovitejših metod za opravljanje ponavljajočih se nalog. Colossus, prvi popolnoma elektronski, digitalni, programabilni računalnik na svetu, je bil razvit za pomoč pri dekodiranju šifr, ki jih je ustvaril stroj nemške vojske Lorenz SZ40/42.
Kriptografija je relativno novo področje odprtih akademskih raziskav, ki se je začela šele sredi sedemdesetih let prejšnjega stoletja. IBM-ovi zaposleni so zasnovali algoritem, ki je postal zvezni (tj. ameriški) standard šifriranja podatkov; Whitfield Diffie in Martin Hellman sta objavila svoj ključni algoritem dogovora; in kolumna Martina Gardnerja Scientific American je objavila algoritem RSA. Kriptografija je od takrat postala priljubljena kot tehnika za komunikacije, računalniška omrežja in računalniško varnost na splošno.
Obstajajo globoke vezi z abstraktno matematiko, saj lahko številni sodobni kriptografski pristopi ohranijo svoje ključe v tajnosti le, če so nekateri matematični problemi nerešljivi, kot so celoštevilska faktorizacija ali težave z diskretnim logaritmom. Obstaja le peščica kriptosistemov, za katere se je izkazalo, da so 100% varni. Claude Shannon je dokazal, da je enkratna podloga ena izmed njih. Obstaja nekaj ključnih algoritmov, za katere se je izkazalo, da so varni pod določenimi pogoji. Nezmožnost faktoriranja izjemno velikih celih števil, na primer, je osnova za prepričanje, da so RSA in drugi sistemi varni, vendar je dokaz nezlomljivosti nedosegljiv, ker osnovni matematični problem ostaja nerešen. V praksi se te pogosto uporabljajo in večina kompetentnih opazovalcev meni, da so v praksi nezlomljivi. Obstajajo sistemi, podobni RSA, kot je tisti, ki ga je razvil Michael O. Rabin, ki so dokazljivo varni, če je faktorje n = pq nemogoče; vendar so praktično neuporabni. Problem diskretnega logaritma je temelj za prepričanje, da so nekateri drugi kriptosistemi varni, in obstajajo podobni, manj praktični sistemi, ki so dokazljivo varni v smislu rešljivosti ali nerešljivosti problema diskretnega logaritma.
Oblikovalci kriptografskih algoritmov in sistemov morajo pri delu na svojih zamislih upoštevati tudi morebitni prihodnji napredek, poleg tega pa morajo poznati kriptografsko zgodovino. Na primer, ko se je moč računalniške obdelave izboljšala, se je povečala širina napadov s surovo silo, zato so se povečale tudi zahtevane dolžine ključev. Nekateri oblikovalci kriptografskih sistemov, ki raziskujejo postkvantno kriptografijo, že razmišljajo o možnih posledicah kvantnega računalništva; napovedana bližina skromnih izvedb teh strojev lahko naredi potrebo po preventivni previdnosti več kot le špekulativno.
Klasična kriptografija v sodobnem času
Simetrična (ali z zasebnim ključem) kriptografija je vrsta šifriranja, pri kateri pošiljatelj in prejemnik uporabljata isti ključ (ali manj pogosto, pri katerem so njuni ključi različni, vendar so povezani na lahko izračunljiv način in se hranijo v tajnosti, zasebno ). Do junija 1976 je bila to edina vrsta šifriranja, ki je bila javno znana.
Za implementacijo simetričnih šifrirnih ključev se uporabljajo tako blokovne šifre kot tokovne šifre. Blok šifra šifrira vnos v blokih golega besedila in ne v posameznih znakih, kot to počne šifra.
Vlada ZDA je kot standarda za kriptografijo določila standard za šifriranje podatkov (DES) in napredni standard šifriranja (AES) (čeprav je bil certifikat DES na koncu umaknjen, ko je bil AES ustanovljen). DES (zlasti njegova še vedno odobrena in bistveno bolj varna različica trojnega DES) ostaja priljubljen kljub temu, da je opuščen kot uradni standard; uporablja se v številnih aplikacijah, od šifriranja bankomatov do zasebnosti e-pošte in varnega oddaljenega dostopa. Izumljenih in izdanih je bilo veliko različnih blokovnih šifr, z različnimi stopnjami uspeha. Mnogi, vključno z nekaterimi, ki so jih oblikovali usposobljeni izvajalci, kot je FEAL, so bili močno pokvarjeni.
Pretočne šifre, za razliko od blokovnih šifr, generirajo neskončno dolg tok ključnega materiala, ki je povezan z golim besedilom bit za bitjem ali znak za znakom, podobno kot enkratna ploščica. Izhodni tok tokovne šifre je ustvarjen iz skritega notranjega stanja, ki se spreminja, ko šifra deluje. Za nastavitev tega notranjega stanja se sprva uporablja material tajnega ključa. Pretočna šifra RC4 se široko uporablja. Z ustvarjanjem blokov toka ključev (namesto generatorja psevdonaključnih številk) in uporabo operacije XOR za vsak bit odprtega besedila z vsakim bitom toka ključev je mogoče blokovne šifre uporabiti kot šifre toka.
Kode za preverjanje pristnosti sporočil (MAC) so podobne kriptografskim zgoščenim funkcijam, z izjemo, da je skrivni ključ mogoče uporabiti za potrditev zgoščene vrednosti ob prejemu; ta dodatna zapletenost preprečuje napad na gole algoritme prebave, zato se šteje za vredno truda. Tretja vrsta kriptografske tehnike so kriptografske hash funkcije. Za vhod vzamejo sporočilo poljubne dolžine in izpišejo majhen hash s fiksno dolžino, ki ga je mogoče uporabiti na primer v digitalnih podpisih. Napadalec z dobrimi algoritmi zgoščevanja ne more najti dveh sporočil, ki ustvarjata isto razprševanje. MD4 je pogosto uporabljena, a zdaj napačna hash funkcija; MD5, izboljšana oblika MD4, se prav tako pogosto uporablja, vendar je v praksi pokvarjena. Serijo zgoščenih algoritmov, podobnih MD5, je razvila ameriška agencija za nacionalno varnost: ameriška agencija za standarde se je odločila, da je z varnostnega vidika "preudarno" razviti nov standard za "znatno izboljšanje robustnosti celotnega zgoščevalnega algoritma NIST". komplet orodij." SHA-1 se pogosto uporablja in je bolj varen kot MD5, vendar so kriptoanalitiki odkrili napade nanj; družina SHA-2 izboljšuje SHA-1, vendar je od leta 2011 ranljiva za spopade; in družina SHA-2 izboljšuje SHA-1, vendar je ranljiva za spopade. Posledično je bilo do leta 2012 organizirano tekmovanje za oblikovanje zgoščenih funkcij, da bi izbrali nov ameriški nacionalni standard, znan kot SHA-3. Tekmovanje se je zaključilo 2. oktobra 2012, ko je Nacionalni inštitut za standarde in tehnologijo (NIST) razglasil Keccak kot nov hash algoritem SHA-3. Kriptografske zgoščene funkcije, za razliko od invertibilnih blokovnih in tokovnih šifr, zagotavljajo zgoščeni izhod, ki ga ni mogoče uporabiti za obnovitev izvirnih vhodnih podatkov. Kriptografske hash funkcije se uporabljajo za preverjanje pristnosti podatkov, pridobljenih iz nezanesljivega vira, ali za dodajanje dodatne stopnje zaščite.
Čeprav ima lahko sporočilo ali niz sporočil drugačen ključ kot drugi, kriptosistemi s simetričnim ključem uporabljajo isti ključ za šifriranje in dešifriranje. Upravljanje ključev, ki je potrebno za varno uporabo simetričnih šifr, je velika pomanjkljivost. Vsak posamezni par komunicirajočih strank bi moral v idealnem primeru souporabljati drugačen ključ, pa tudi po možnosti drugačno šifrirano besedilo za vsako poslano šifrirano besedilo. Število potrebnih ključev raste neposredno sorazmerno s številom udeležencev v omrežju, kar zahteva zapletene tehnike upravljanja ključev, da ostanejo vsi dosledni in tajni.
Whitfield Diffie in Martin Hellman sta izumila koncept kriptografije z javnim ključem (znana tudi kot asimetrični ključ) v pomembnem delu iz leta 1976, v katerem sta uporabljena dva različna, a matematično povezana ključa – javni ključ in zasebni ključ. Čeprav sta neločljivo povezana, je sistem javnih ključev zgrajen tako, da je izračun enega ključa ("zasebnega ključa") od drugega ("javnega ključa") računalniško neizvedljiv. Namesto tega sta oba ključa izdelana na skrivaj, kot povezan par. Kriptografija z javnim ključem je po mnenju zgodovinarja Davida Kahna »najbolj revolucionaren nov pojem na tem področju, odkar se je večabecedna zamenjava pojavila v renesansi«.
Javni ključ v kriptosistemu z javnim ključem se lahko prosto prenaša, vendar mora biti povezani zasebni ključ skrit. Javni ključ se uporablja za šifriranje, medtem ko se zasebni ali skrivni ključ uporablja za dešifriranje v shemi šifriranja z javnim ključem. Medtem ko Diffie in Hellman nista mogla ustvariti takšnega sistema, sta dokazala, da je kriptografija z javnim ključem možna z zagotavljanjem protokola za izmenjavo ključev Diffie-Hellman, rešitve, ki omogoča dvema osebama, da se prikrito dogovorita o skupnem šifrirnem ključu. Najpogosteje uporabljen format za potrdila javnega ključa je opredeljen s standardom X.509.
Objava Diffieja in Hellmana je sprožila široko akademsko zanimanje za razvoj praktičnega sistema šifriranja z javnim ključem. Ronald Rivest, Adi Shamir in Len Adleman so na koncu zmagali na tekmovanju leta 1978 in njihov odgovor je postal znan kot algoritem RSA.
Poleg tega, da so prvi javno znani primeri visokokakovostnih algoritmov z javnim ključem, sta bila med najpogosteje uporabljenimi algoritmi Diffie–Hellman in RSA. Cramer-Shoupov kriptosistem, ElGamal šifriranje in številni pristopi eliptične krivulje so primeri algoritmov z asimetričnim ključem.
V skladu z dokumentom, ki ga je leta 1997 izdal vladni štab za komunikacije (GCHQ), britanska obveščevalna organizacija, so kriptografi GCHQ predvideli več znanstvenih napredkov. Po legendi je kriptografijo asimetričnega ključa izumil James H. Ellis okoli leta 1970. Clifford Cocks je leta 1973 izumil rešitev, ki je bila po zasnovi izjemno podobna RSA. Malcolm J. Williamson je zaslužen za izum Diffie-Hellmanove izmenjave ključev leta 1974.
Sistemi digitalnega podpisa se izvajajo tudi s kriptografijo z javnim ključem. Digitalni podpis je podoben tradicionalnemu podpisu, saj ga uporabnik preprosto ustvari, drugi pa ga je težko ponarediti. Digitalne podpise je mogoče tudi trajno povezati z vsebino podpisane komunikacije; to pomeni, da jih ni mogoče 'prestaviti' iz enega dokumenta v drugega, ne da bi jih zaznali. V shemah digitalnega podpisovanja obstajata dva algoritma: eden za podpisovanje, ki uporablja skrivni ključ za obdelavo sporočila (ali zgoščeno vrednost sporočila ali oboje), in drugi za preverjanje, ki uporablja javni ključ, ki se ujema s sporočilom za potrditev. pristnost podpisa. Dve najpogosteje uporabljeni metodi digitalnega podpisa sta RSA in DSA. Infrastrukture javnih ključev in številni varnostni sistemi omrežja (npr. SSL/TLS, številni VPN-ji) se za delovanje zanašajo na digitalne podpise.
Računska zapletenost »težkih« problemov, kot so tisti, ki izhajajo iz teorije števil, se pogosto uporablja za razvoj metod z javnim ključem. Problem celoštevilske faktorizacije je povezan s trdoto RSA, medtem ko je problem diskretnega logaritma povezan z Diffie–Hellmanom in DSA. Varnost kriptografije eliptične krivulje temelji na teoretičnih problemih številk eliptične krivulje. Večina algoritmov z javnim ključem vključuje operacije, kot sta modularno množenje in eksponentiranje, ki so zaradi težavnosti osnovnih težav bistveno dražje od tehnik, ki se uporabljajo v večini blokovnih šifrantov, zlasti pri običajnih velikostih ključev. Posledično so kriptosistemi z javnim ključem pogosto hibridni kriptosistemi, v katerih je sporočilo šifrirano s hitrim, visokokakovostnim algoritmom s simetričnim ključem, medtem ko je ustrezen simetrični ključ poslan s sporočilom, vendar šifriran z algoritmom javnega ključa. Običajno se uporabljajo tudi hibridne podpisne sheme, v katerih se izračuna kriptografska zgoščena funkcija in je digitalno podpisan samo nastali zgoščenec.
Hash funkcije v kriptografiji
Kriptografske zgoščene funkcije so kriptografski algoritmi, ki proizvajajo in uporabljajo posebne ključe za šifriranje podatkov za simetrično ali asimetrično šifriranje, in jih je mogoče obravnavati kot ključe. Za vhod vzamejo sporočilo poljubne dolžine in izpišejo majhen hash s fiksno dolžino, ki ga je mogoče uporabiti na primer v digitalnih podpisih. Napadalec z dobrimi algoritmi zgoščevanja ne more najti dveh sporočil, ki ustvarjata isto razprševanje. MD4 je pogosto uporabljena, a zdaj napačna hash funkcija; MD5, izboljšana oblika MD4, se prav tako pogosto uporablja, vendar je v praksi pokvarjena. Serijo zgoščenih algoritmov, podobnih MD5, je razvila ameriška agencija za nacionalno varnost: ameriška agencija za standarde se je odločila, da je z varnostnega vidika "preudarno" razviti nov standard za "znatno izboljšanje robustnosti celotnega zgoščevalnega algoritma NIST". komplet orodij." SHA-1 se pogosto uporablja in je bolj varen kot MD5, vendar so kriptoanalitiki odkrili napade nanj; družina SHA-2 izboljšuje SHA-1, vendar je od leta 2011 ranljiva za spopade; in družina SHA-2 izboljšuje SHA-1, vendar je ranljiva za spopade. Posledično je bilo do leta 2012 organizirano tekmovanje za oblikovanje zgoščenih funkcij, da bi izbrali nov ameriški nacionalni standard, znan kot SHA-3. Tekmovanje se je zaključilo 2. oktobra 2012, ko je Nacionalni inštitut za standarde in tehnologijo (NIST) razglasil Keccak kot nov hash algoritem SHA-3. Kriptografske zgoščene funkcije, za razliko od invertibilnih blokovnih in tokovnih šifr, zagotavljajo zgoščeni izhod, ki ga ni mogoče uporabiti za obnovitev izvirnih vhodnih podatkov. Kriptografske hash funkcije se uporabljajo za preverjanje pristnosti podatkov, pridobljenih iz nezanesljivega vira, ali za dodajanje dodatne stopnje zaščite.
Kriptografski primitivi in kriptosistemi
Velik del teoretičnega dela kriptografije se osredotoča na kriptografske primitive – algoritme z osnovnimi kriptografskimi lastnostmi – in na njihov odnos do drugih kriptografskih izzivov. Ti osnovni primitivi se nato uporabljajo za ustvarjanje kompleksnejših kriptografskih orodij. Ti primitivi zagotavljajo temeljne lastnosti, ki se uporabljajo za ustvarjanje kompleksnejših orodij, znanih kot kriptosistemi ali kriptografski protokoli, ki zagotavljajo eno ali več varnostnih lastnosti na visoki ravni. Meja med kriptografskimi primitivi in kriptosistemi je po drugi strani poljubna; algoritem RSA, na primer, včasih velja za kriptosistem, včasih pa za primitiven. Psevdonaključne funkcije, enosmerne funkcije in drugi kriptografski primitivi so pogosti primeri.
Kriptografski sistem ali kriptosistem je ustvarjen s kombinacijo enega ali več kriptografskih primitivov za ustvarjanje bolj zapletenega algoritma. Kriptosistemi (npr. šifriranje El-Gamal) so namenjeni zagotavljanju posebne funkcionalnosti (npr. šifriranje z javnim ključem), hkrati pa zagotavljajo določene varnostne lastnosti (npr. naključni model orakla, izbrano – golo besedilo, napad CPA varnost). Za podporo varnostnih lastnosti sistema kriptosistemi uporabljajo lastnosti osnovnih kriptografskih primitivov. Sofisticiran kriptosistem je mogoče ustvariti iz kombinacije številnih bolj rudimentarnih kriptosistemov, saj je razlika med primitivnimi in kriptosistemi nekoliko poljubna. V mnogih okoliščinah struktura kriptosistema obsega komunikacijo naprej in nazaj med dvema ali več stranmi v prostoru (npr. med pošiljateljem in prejemnikom varnega sporočila) ali skozi čas (npr. med pošiljateljem in prejemnikom varnega sporočila). (npr. kriptografsko zaščiteni varnostni podatki).
Da bi se podrobneje seznanili s kurikulumom certificiranja, lahko razširite in analizirate spodnjo tabelo.
Kurikulum za certificiranje napredne klasične kriptografije EITC/IS/ACC se sklicuje na didaktična gradiva z odprtim dostopom v video obliki. Učni proces je razdeljen na strukturo po korakih (programi -> lekcije -> teme), ki zajema ustrezne dele učnega načrta. Zagotovljeno je tudi neomejeno svetovanje s strokovnjaki za področje.
Za podrobnosti o postopku certificiranja preverite Kako deluje.
Glavni zapiski predavanj
Razumevanje kriptografije Christofa Paara in Jana Pelzla, spletni tečaj v obliki diapozitivov PDF
https://www.crypto-textbook.com/slides.php
Razumevanje kriptografije Christofa Paara in Jana Pelzla, spletni tečaj v obliki videoposnetkov
https://www.crypto-textbook.com/movies.php
Glavna referenca knjige klasične kriptografije
Razumevanje kriptografije Christofa Paarja in Jana Pelzla
https://www.crypto-textbook.com/index.php
Dodatna referenca knjige o uporabni klasični kriptografiji
Priročnik uporabne kriptografije avtorjev A. Menezes, P. van Oorschot in S. Vanstone:
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
Prenesite celotno pripravljalno gradivo za samoučenje brez povezave za program EITC/IS/ACC Advanced Classical Cryptography v datoteki PDF
Pripravljalni materiali EITC/IS/ACC – standardna različica
Pripravljalna gradiva EITC/IS/ACC – razširjena različica z vprašanji za pregled