Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Zanimljiv
  • Kriptografska analiza asimetričnih enkripcijskih sustava. Moderni algoritmi šifriranja

Kriptografska analiza asimetričnih enkripcijskih sustava. Moderni algoritmi šifriranja

Sada, nakon što smo naučili svrhu kriptografije, upoznajmo se s osnovnim pojmovima koje ćemo koristiti prilikom proučavanja kriptografskih metoda zaštite informacija.

Šifra– skup unaprijed određenih načina transformacije izvorne tajne poruke kako bi se zaštitila.

Obično se nazivaju izvorne poruke obični tekstovi. U stranoj literaturi za otvorenog teksta koristiti izraz otvorenog teksta.

Simbol je bilo koji znak, uključujući slovo, broj ili interpunkcijski znak.

Abeceda- konačan skup simbola koji se koristi za kodiranje informacija. Na primjer, ruska abeceda sadrži 33 slova od A do Z. Međutim, ova trideset i tri znaka obično nisu dovoljna za snimanje poruka, pa se nadopunjuju razmakom, točkom, zarezom i drugim znakovima. Abeceda arapskih brojeva su simboli 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Ova abeceda sadrži 10 znakova i može se koristiti za pisanje bilo kojeg prirodni broj. Bilo koja poruka također se može napisati pomoću binarna abeceda, odnosno korištenje samo nula i jedinica.

Poziva se poruka primljena nakon pretvorbe pomoću bilo koje šifre šifrirana poruka(Zatvoreni tekst, kriptogram). U stranoj literaturi termin se koristi u zatvorenom tekstu šifrirani tekst.

Pretvaranje otvorenog teksta u kriptogram se zove šifriranje. Obrnuta radnja se zove dešifriranje. U literaturi na engleskom jeziku termini "encryption/decryption" odgovaraju pojmovima "šifriranje/dešifriranje".

Ključ– informacije potrebne za šifriranje i dešifriranje poruka.

Sa stajališta ruskog jezika, pojmovi "dešifriranje" i "dešifriranje" su sinonimi. Međutim, u radovima o kriptografiji posljednjih desetljeća, te se riječi često razlikuju. Pretpostavit ćemo da pojmovi "dešifriranje" i "dešifriranje" nisu sinonimi. Pretpostavimo da legalni primatelj poruke (onaj koji zna ključ) dešifrira, a osoba kojoj poruka nije namijenjena, pokušavajući shvatiti njezino značenje, dešifrira.

Sustav šifriranja, ili šifrirani sustav, je bilo koji sustav koji se može koristiti za reverzibilnu promjenu teksta poruke kako bi bio nerazumljiv za bilo koga osim za primatelja.

Kripto otpor je karakteristika šifre koja određuje njegovu otpornost na dešifriranje bez poznavanja ključa (tj. sposobnost odupiranja kriptoanalizi).

Dakle, uzimajući u obzir sve donesene definicije, moguće je dati precizniju definiciju znanosti "kriptografije". Kriptografija proučava konstrukciju i korištenje sustava šifriranja, uključujući njihovu snagu, slabosti i stupanj ranjivosti u odnosu na razne metode obdukcija.

Sve metode pretvorbe informacija u svrhu zaštite od neovlaštenog pristupa podijeljene su u dvije velike grupe: metode šifriranja privatnog ključa i metode šifriranja javnog ključa. Enkripcija privatnog ključa(šifriranje privatnim ključem ili simetrično šifriranje) ljudi koriste već duže vrijeme Dugo vrijeme. Ove metode koriste isti ključ za šifriranje i dešifriranje podataka, koje obje strane pokušavaju zadržati u tajnosti od protivnika. Šifriranje javnog ključa (asimetrično šifriranje) počeo se koristiti za kriptografsko zatvaranje informacija tek u drugoj polovici 20. stoljeća. Ova skupina uključuje metode šifriranja u kojima se koriste dvije metode za šifriranje i dešifriranje podataka. drugačiji ključ. U tom se slučaju jedan od ključeva (javni ključ) može prenijeti preko otvorenog (nezaštićenog) komunikacijskog kanala. Elektronički (digitalni) potpis je blok podataka, obično priložen poruci, dobiven kriptografskom transformacijom. Elektronički potpis omogućuje provjeru autorstva i autentičnosti poruke kada drugi korisnik primi tekst.

Sustav kriptografske sigurnosti informacija- informacijski sigurnosni sustav koji koristi kriptografske metode za šifriranje podataka.

3.5.3 Modeli i metode šifriranja/dešifriranja diskretne poruke

Diskretne poruke mogu biti predstavljene signalima koji imaju konačan broj stanja. To su razne vrste podataka, tiskani tekstovi, kao i govorni signali i slike ako se prethodno pretvore u diskretne (digitalne) signale.

Matematički model sustava za šifriranje/dešifriranje diskretnih poruka je par funkcija

E = f(M,K w), M = g(E,K d),

koji pretvaraju poruku M u kriptogram E pomoću ključa za šifriranje Ksh i, obrnuto, kriptogram E u poruku M pomoću ključa za dešifriranje Kd. Obje funkcije koje definiraju kriptosustav moraju zadovoljiti sljedeće zahtjeve:

funkcije f(M, K w) i g(E, K d) s poznatim argumentima izračunavaju se jednostavno;

· funkciju g(E,?) s nepoznatim ključem Kd teško je izračunati.

Pretpostavlja se da je ključ za dešifriranje Kd nepoznat ilegalnim korisnicima, iako oni mogu poznavati funkcije f i g, kao i ključ za šifriranje Ksh ako ne odgovara ključu Kd. Zadnji uvjetčini takozvani princip Kaziska.

Treba razlikovati tri glavne vrste napada na kriptosustav:

samo s poznatim kriptogramom E;

· s poznatim kriptogramom E i poznatom porukom M, koja odgovara određenom dijelu kriptograma dobivenom istim ključem (napad s djelomično poznatom otvorenom porukom);

· s poznatim kriptogramom i posebno odabranim dijelom poruke koji odgovara dijelu kriptograma primljenom na istom ključu (napad s djelomično odabranom otvorenom porukom).

Suvremeni kriptosustavi smatraju se sigurnima ako su otporni na sve tri vrste napada.

Ako je ključ za šifriranje jednak ključu za dešifriranje, t.j.

K w \u003d K d \u003d K

tada se sustav naziva simetričnim (jednoključnim). Za njegov rad, točke šifriranja i dešifriranja moraju imati iste ključeve.

Ako K w nije jednako K d, tada se sustav šifriranja naziva asimetričan (dva ključa). U tom slučaju, ključ K w isporučuje se na točku šifriranja, a ključ K d - na točku dešifriranja. Oba ključa očito moraju biti povezana. funkcionalna ovisnost Kd = j(Kw), ali takav da bi bilo nemoguće oporaviti ključ za dešifriranje Kd iz poznatog ključa za šifriranje Kw. To znači da bi za asimetrični sustav šifriranja j() trebala biti funkcija koju je teško izračunati. U takvom sustavu moguće je tajno distribuirati među legitimnim korisnicima samo njihove ključeve za dešifriranje, a ključeve za šifriranje učiniti javnim, uključujući i za objavljivanje. Stoga se razmatrani kriptosustav naziva sustavom s javnim (javnim) ključem.

Prva od ovih vrsta šifri podrazumijeva prisutnost neke informacije (ključa), čije vam posjedovanje omogućuje i šifriranje i dešifriranje poruke.

S jedne strane, takva shema ima nedostatke da, osim otvorenog kanala za prijenos šifriranog teksta, prisutnost tajni kanal za prijenos ključa, a osim toga, ako informacija o ključu procuri, nemoguće je dokazati od koga je od dva dopisnika došlo do curenja.

S druge strane, među šiframa ove posebne skupine, postoji jedina shema šifriranja na svijetu koja ima apsolutnu teorijsku stabilnost. Svi ostali se mogu dešifrirati barem načelno. Takva shema je normalna enkripcija (na primjer, operacija XOR) s ključem čija je duljina jednaka duljini poruke. Ključ se smije upotrijebiti samo jednom. Svaki pokušaj dešifriranja takve poruke je beskorisan, čak i ako postoji a priori informacija o tekstu poruke. Odabirom ključa možete dobiti bilo koju poruku kao rezultat.

Šifre javnog ključa podrazumijevaju prisutnost dva ključa - javnog i privatnog; jedan se koristi za šifriranje, a drugi za dešifriranje poruka. Javni ključ se objavljuje - dokazuje svima, dok tajni ključ čuva njegov vlasnik i ključ je tajnosti poruka. Bit metode je da se ono što je šifrirano tajnim ključem može dešifrirati samo javnim ključem i obrnuto. Ovi ključevi se generiraju u parovima i međusobno odgovaraju jedan na jedan. Štoviše, nemoguće je izračunati drugi iz jednog ključa.

karakteristično obilježješifre ovog tipa, po čemu se povoljno razlikuju od šifri s tajnim ključem, jest da je tajni ključ ovdje poznat samo jednoj osobi, dok u prvoj shemi mora biti poznat po barem dva. To pruža sljedeće prednosti:

za slanje tajnog ključa nije potreban siguran kanal, sva komunikacija je završena otvoreni kanal;

"Što dvoje ljudi zna, zna i svinja" - prisutnost jedini kopija ključa smanjuje mogućnost njegovog gubitka i omogućuje vam da utvrdite jasnu osobnu odgovornost za čuvanje tajne;

prisutnost dva ključa omogućuje korištenje ovog sustava šifriranja u dva načina - tajna komunikacija i digitalni potpis.

Najjednostavniji primjer razmatranih algoritama šifriranja je RSA algoritam. Svi ostali algoritmi ove klase od nje se neprincipijelno razlikuju. Može se reći da po uglavnom, RSA je jedini algoritam javnog ključa.

Matematički model sustava za šifriranje/dešifriranje diskretnih poruka je par funkcija

,
,

koji transformiraju poruku
u kriptogram pomoću ključa za šifriranje
i, obrnuto, kriptogram na poruku
pomoću ključa za dešifriranje . Obje funkcije koje definiraju kriptosustav moraju zadovoljiti sljedeće zahtjeve:


Nizozemski kriptograf A. Kerkhofs (1835. - 1903.) sugerirao je da se tajnost šifri treba temeljiti samo na tajnosti ključa, a ne na tajnosti algoritma šifriranja, koji, uostalom, može biti poznat neprijatelju.

Ako je ključ za šifriranje jednak ključu za dešifriranje, t.j.

= =,

tada se sustav poziva simetrično(jedan ključ). Za njegov rad isti ključevi moraju biti tajno dostavljeni na točke šifriranja i dešifriranja. .

Ako je a
, tj. ključ za šifriranje nije jednak ključu za dešifriranje, tada se poziva sustav šifriranja asimetrična(dva ključa). U ovom slučaju ključ
se isporučuje na točku šifriranja, a ključ – do točke dešifriranja. Oba ključa očito bi trebala biti povezana funkcionalnom ovisnošću

, ali takav da po poznatom ključu za šifriranje
bilo bi nemoguće vratiti ključ za dešifriranje . To znači da za asimetrični sustav šifriranja, funkciju  () mora biti teško izračunati.

Postoje dvije glavne klase sigurnosti kriptosustava:

    Savršen(svakako) uporan ili predan kriptosustavi za koje otpor kriptoanalizi (dešifriranju) bez poznavanja ključa ne ovisi o računskoj snazi ​​protivnika. Zovu se teoretski neodgonetljiv(TNDSh) sustavi.

    Računalstvo jaki kriptosustavi čija otpornost na kriptoanalizu ovisi o snazi računalni sustav protivnik.

  1. RSA kriosustav

Odaberite cijeli broj za šifriranje. N =str q, gdje str i q su dva velika prosta broja. Poruka M pojavljuje se kao jedan od brojeva

M {2,3,...,N –1}.

Formule koje opisuju šifriranje/dešifriranje su sljedeće:

,
,

gdje K- javni ključ za šifriranje, k– privatni ključ za dešifriranje.

Iz ova dva odnosa proizlazi jednakost

,

što u običnoj aritmetici vrijedi ako kK= 1, a u modularnoj aritmetici i za

kK = 1 + l (N ), (*)

gdje l- cijeli. Doista, pomoću Eulerovog teorema provjeravamo

,

ako M i N relativno su prosti brojevi.

Razmatrani odnosi ukazuju na način formiranja ključa. Prvo se biraju vrlo veliki slučajni brojevi. primarni brojevi str i q s nešto drugačijim brojem znamenki tako da proizvod N = pq imao najmanje 768 bita (prema podacima iz 2001.). Izračunajte Eulerovu funkciju

(N ) = (str –1)(q –1).

Jednakost (*) je ekvivalentna

Kk= 1 mod ( N ),

odakle slijedi da su oba ključa međusobno inverzna po modulu ( N ).

javni ključ K birajte prema sljedećim uvjetima:

K< (N ), GCD( K, (N )) = 1.

privatni ključ k izračunati

k = K 1 mod ( N ),

koristeći Euklid algoritam. Nakon završetka pripremnih radova, javni ključ K i modul N postavljeno u otvoreni imenik poduzimanjem koraka kako bi se osiguralo da zamjena nije moguća. Brojevi str i q držao u tajnosti.

Imajte na umu da je uvjet međusobno prostih brojeva M i N, čiji neuspjeh onemogućuje dekodiranje, ne stvara ozbiljna ograničenja. Prvo, među manjim brojevima N udio koprostih brojeva sa N jednako ( str–1)(q–1)/(pq), tj. se ne razlikuje od jedinstva, i, drugo, uvjet se lako osigurava beznačajnom modifikacijom poruke. Također diploma M K ne bi trebalo biti manje N. Ako ovaj uvjet nije ispunjen, kriptogram ima oblik

a bez modulo proračuna, lako se otvara, jer K znan.

Očito, u razmatranim omjerima, brojevi K i k jednaki, tj. ključevi se mogu mijenjati i koristiti k kao javni ključ za šifriranje, i K kao privatni ključ dešifriranje.

Dakle, oba RSA ključa su data parovima cijelih brojeva: ( K, N) i ( k, N).

Kada su autori R. Rivest, A. Shamir, L. Adleman (Rivest, Shamir, Adleman) je 1977. godine predložio RSA kriptosustav, šifrirali su frazu “ItsallGreektome”, predstavljenu u digitalnom obliku. Vrijednosti su objavljene M, K, Nšto ukazuje da 129 decimalnih mjesta N dobiveno množenjem 64-bitnih i 65-bitnih brojeva str i q. Faktorizacija N i otvaranje kriptograma obavljeno je za oko 220 dana tek 1994. godine nakon preliminarne teorijske pripreme. U radu je sudjelovalo 600 volontera i 1600 računala povezanih na mrežu putem interneta.

Snaga sustava javnog ključa, a posebno RSA, ovisi o izboru njegovih parametara. Ako odaberete dnevnik 2 N= 200 bita, tada će faktorizacija zahtijevati približno 2,710 11 operacija, što će trajati nekoliko dana na osobnom računalu. Ako odaberete dnevnik 2 N= 664 bita, tada će faktorizacija zahtijevati 1210 23 operacije. Pri brzini od 10 6 operacija u sekundi, faktorizacija će trajati nekoliko milijardi godina.

Dakle, ako su parametri RSA šifre ispravno odabrani i modul N uzeti dovoljno velik, na primjer
, onda ovaj sustav može se smatrati prilično stabilnim. Do danas ne postoje metode za njegovu uspješnu kriptoanalizu.

Implementacija RSA šifre je razrađena i softverski i hardverski. Koristi ga RSA za enkripciju u pametnim karticama. U softverskoj verziji brzina enkripcije je reda veličine 1 kbps, u hardverskoj verziji 1050 kbps.

Relativno niska brzina enkripcije i dešifriranja u usporedbi sa simetričnim, blokovnim ili stream sustavima je nedostatak svih asimetričnih enkripcijskih sustava, uključujući RSA.

  1. Digitalni potpis

Tradicionalno, autentičnost dokumenta ovjerava se uobičajenim "papirnatim" potpisom. Trajnost potpisa, t.j. nemogućnost krivotvorenja od strane neovlaštenih osoba osiguravaju dva glavna uvjeta: prvo, njegova jedinstvenost, temeljena na individualnim karakteristikama rukopisa, i drugo, fizički integritet papirnatog dokumenta na kojem je potpisan. Pritom potpis ne može krivotvoriti ni onaj tko provjerava njegovu vjerodostojnost.

Međutim, prilikom prijenosa dokumenata preko računalnih mreža, nemoguće je koristiti ove uvjete, uključujući i prijenos faksimilnih poruka (FAX), jer oni dopuštaju jednostavno krivotvorenje.

Digitalni potpisi se koriste za ovjeru dokumenata koji se prenose preko računalnih mreža. Digitalni potpis rješava problem mogućeg spora između pošiljatelja i primatelja, uključujući i sudski, ako postoji pravni temelj za njegovu primjenu.

Digitalni potpis mora imati svojstva redovitog potpisa i ujedno biti lanac podataka koji se može prenositi mrežama, t.j. mora ispunjavati sljedeća četiri osnovna zahtjeva:

    digitalni potpis mora biti jedinstven, t.j. nitko, osim autora, ne može izraditi isti potpis, uključujući i one koji provjeravaju njegovu vjerodostojnost;

    svaki netizen, legalan ili ilegalan, može testirati istinu digitalni potpis;

    potpisnik ne može odbiti poruku ovjerenu njegovim digitalnim potpisom;

    i implementacija i provjera digitalnog potpisa trebaju biti prilično jednostavni.

Da bi se zadovoljili svi navedeni zahtjevi, digitalni potpis, za razliku od "papirnatog", mora ovisiti o svim bitovima poruke i mijenjati se čak i kada se promijeni jedan bit potpisane poruke. Za implementaciju digitalnog potpisa temeljenog na simetričnim kriptosustavima potrebno je sudjelovanje osobe od povjerenja – arbitra. Implementacija digitalnog potpisa bez arbitra je moguća samo korištenjem asimetričnih sustava.

Postoje različite vrste digitalnog potpisa temeljenog na kriptosustavima javnog ključa. Razmotrite implementaciju CPU-a koji se temelji na RSA kriptosustavu.

U ovom slučaju korisnik A potpisivanja poruke M, generira par ključeva k A ,K A i obavještava korisnike mreže o vrijednostima K A i N. Sljedeći korisnik A stvara kontrolnu grupu

,

što će biti digitalni potpis (slika 17). Kontrolna grupa se dodjeljuje poruci i prenosi zajedno s njom.

Lako je to provjeriti u ovaj slučaj sva četiri prethodno navedena zahtjeva za digitalni potpis su ispunjena ako je RSA šifra odabrana da bude dovoljno jaka.

Međutim, razmatrani sustav za generiranje digitalnog potpisa ima dva značajna nedostatka:

    postoji značajna redundantnost zbog dodjele kontrolne grupe, čija je duljina jednaka duljini poruke, što zahtijeva udvostručenje količine memorije, vremena prijenosa itd.;

    za poruke velike duljine, operacija eksponencijalnosti pri izračunavanju kontrolne grupe i njezinoj provjeri će se izvoditi u nedopustivo dugom vremenu.

Državna i vojna korespondencija nastala je u antičko doba i praćena izumom raznih metoda zaštite ove korespondencije od neprijateljskog čitanja.

U prijevodu s grčkog, kriptografija je kriptografija (sada shvaćena u širem smislu). U kriptografiji je tekst vidljiv, ali se ne može pročitati. Kriptografija koristi transformaciju nekih znakova u druge preuzete iz iste ili druge abecede.

Latentno (simpatično) pisanje ne treba miješati s kriptografijom, čija je bit skrivanje vidljivosti napisanog. Na primjer, natpis napravljen mlijekom na bijelom papiru se ne vidi ako se papir ne zagrije.

Dakle, 400 godina pr. e. u Sparti je korišteno šifriranje na kružnom cilindru. Oko njega je bio namotan svitak, nakon čega je uz svitak paralelno s osi cilindra ispisan tekst - red po red. Kao rezultat toga, na rasklopljenom svitku slova su bila poredana bez ikakvog vidljivog redoslijeda. Da bi pročitao poruku, primatelj je morao namotati svitak oko točno istog cilindra.

Već 300 godina pr. e. u Grčkoj se pisalo o Tacticusu skrivene poruke. Za 200 godina pr. e. izmišljen je polibijski kvadrat koji sadrži 5x5=25 ćelija za dvadeset i četiri slova grčke abecede i prostor upisan u slučajni redoslijed. Prilikom šifriranja teksta, željeno slovo je pronađeno u kvadratu i zamijenjeno drugim slovom iz istog stupca, ali upisanom u donji redak. Slovo koje je bilo u donjem redu kvadrata zamijenjeno je slovom od Gornji red ista kolona. Primatelj, koji je imao potpuno isti kvadrat, dešifrirao je poruku izvodeći navedene operacije obrnutim redoslijedom.

Cezar je u svojoj korespondenciji s Ciceronom koristio ono što se sada zove Cezarova šifra. Cezarova metoda je sljedeća. Prvo, svakom slovu abecede dodjeljuje se redni broj. Tada se kod šifriranja ne piše samo slovo, već ono čiji je broj veći za cijeli broj DO, nazvan ključem. Za abecedu koja sadrži t slova, pravilo šifriranja je zadano na sljedeći način:

n \u003d (K + I) mod m,

gdje P- broj slova dobivenog kao rezultat šifriranja slova s ​​brojem ja Ovdje koristimo modulo operaciju t, pri čijem se izvršenju ne bilježi sam iznos K + I, a ostatak nakon dijeljenja ovog zbroja sa t.

Zove se generalizacija Cezarove šifre jednostavna supstitucijska šifra. Njegova bit leži u činjenici da se sva slova abecede zamjenjuju drugim slovima iste abecede prema pravilu, koje je ključno. Na primjer, a je zamijenjen sa u, b-on od do- na u,..., ja- na G. Broj mogućih permutacija s takvom enkripcijom, što odgovara abecedi s volumenom t= 32, jest m! =32! = 2, 63 10 35 . Ako se u jednoj sekundi, pri dešifriranju jednostavnim nabrajanjem, sortira milijun ključeva, tada će ukupno vrijeme za dešifriranje biti 8,3-10 21 godina.



Razvoj jednostavne supstitucijske šifre bila je šifra Blaisea Vigenèrea (XVI. stoljeće, Francuska). U ovoj šifri ključ je riječ, t.j. slijed od serijski brojevi ključna slova. Ključ, koji se ponavlja ako je potrebno, potpisuje se ispod poruke, nakon čega se vrši modulo zbrajanje t u svakom stupcu, koji sadrži jedno slovo poruke i ključ.

Mnogi poznati matematičari bavili su se kriptografijom, kao što su Viet, Cardano, Leibniz i, konačno, Francis Bacon. Posljednje predloženo binarno kodiranje latinično pismo.

U Rusiji je samostalnu kriptografsku službu prvi organizirao Petar I., koji je pod utjecajem komunikacije s Leibnizom osnovao digitalnu komoru za razvoj i korištenje kriptografije.

Industrijska revolucija u razvijenim zemljama dovela je do stvaranja strojeva za šifriranje. Krajem 18. stoljeća Jefferson (budući treći predsjednik Sjedinjenih Država) izumio je kotače za šifriranje. Vernam je 1917. predložio prvi praktički radni stroj za šifriranje. Iste godine izumljen je rotacijski stroj za šifriranje, koji je kasnije proizveo Siemens pod nazivom "Enigma" (zagonetka), - glavni protivnik kriptografa savezničkih sila tijekom Drugog svjetskog rata.

Neprocjenjiv doprinos kriptografiji dao je K. Shannon, posebno svojim djelom "Secrecy and secrecy", napisanim 1948. Godine 1976. Diffie i Hellman su predložili kriptosustave s javnim ključem. Godine 1977. Sjedinjene Države su uvele otvoreni Federal Unclassified Message Encryption Standard (DES). 1989. otvoren je domaći sustavšifriranje GOST 28147-89.

Riža. 1. Glavne faze u razvoju kriptografskih sustava

Usporedno s usavršavanjem umijeća šifriranja (slika 1.) razvijala se i kriptoanaliza čiji je predmet otvaranje kriptograma bez poznavanja ključeva. Iako se u današnje vrijeme nastavlja stalna konkurencija između enkripcije i kriptoanalize, postoji niz značajnih razlika između sadašnje faze i prethodnih, a to su:

Široka upotreba matematičkih metoda za dokazivanje snage šifri ili za provođenje kriptoanalize,

Korištenje brzog djelovanja informatiku,

Otvaranje nove vrste kriptografije s "transparentnijim" metodama kriptoanalize (kriptografija s javnim ključem),

Pojava novih dodatne mogućnosti sigurnost, uz enkripciju i dešifriranje,

Korištenje najnovijih fizičkih metoda u kriptografiji (dinamički kaos, kvantna kriptografija, kvantno računalo).

2. Matematički model sustavi za šifriranje/dešifriranje diskretnih poruka

Razmotrit ćemo šifriranje i dešifriranje takozvanih diskretnih poruka koje se mogu predstaviti signalima koji imaju konačan broj stanja. To su podaci, tiskani tekstovi, kao i govorni signali i slike, ako su prethodno pretvoreni u diskretne (digitalne) signale. Kada analogni signali koristiti druge metode, o kojima će biti riječi posebno.

Matematički model sustava za šifriranje/dešifriranje diskretnih poruka je par funkcija

, (1)

, (2)

koji transformiraju poruku M u kriptogram E pomoću ključa za šifriranje K W i, obrnuto, kriptogram E na poruku M pomoću ključa za dešifriranje Za DSh. Oba funkcije koje definiraju kriptosustav moraju ispunjavati sljedeće zahtjeve:

Funkcije f(,) i g(,) s poznatim argumentima izračunavaju se jednostavno,

Funkcija g(E, K LW) s nepoznatim ključem K LH teško izračunati.

Pretpostavlja se da je ključ za dešifriranje K LH nepoznati ilegalnim korisnicima, iako možda poznaju funkcije f(.) i g(.) kao i ključ za šifriranje K W ako ne odgovara ključu Za DSh. Posljednji uvjet čini takozvani princip Kaziska.

Ako je ključ za šifriranje jednak ključu za dešifriranje, t.j. K W = K LH tada se sustav poziva simetrično (jednotipno). Za njegov rad, isti ključevi moraju biti tajno dostavljeni na točke šifriranja i dešifriranja.

Ako je a K W = Za DSh, tada se poziva sustav šifriranja asimetrična (dva ključa). U ovom slučaju ključ K W se isporučuje na točku šifriranja, a ključ Za DSh - do točke dešifriranja. Oba ključa očito bi trebala biti povezana funkcionalnom ovisnošću K LH = φ(K W) ali takav da poznatim ključem za šifriranje K W bilo bi nemoguće vratiti ključ za dešifriranje K LH To znači da za asimetrični sustav šifriranja φ(.) mora biti funkcija koju je teško izračunati. U takvom je sustavu moguće potajno distribuirati među legitimnim korisnicima samo njihove ključeve za dešifriranje, te otvoriti ključeve za šifriranje i objaviti, na primjer, u javnom imeniku. Stoga se razmatrani kriptosustav naziva sustavom s otvoreno (javno) ključ. Kriptosustav javnog ključa prvi su predložili Diffie i Helman 1976. godine. Treba razlikovati tri glavne vrste napada (napada) protivnika na kriptosustav:

Samo s poznatim kriptogramom E,

S poznatim kriptogramom E i poznata poruka M,što odgovara određenom dijelu kriptograma dobivenom pomoću istog ključa (djelomično poznat napad otvorene poruke).

S poznatim kriptogramom i posebno odabranim dijelom poruke koji odgovara dijelu kriptograma primljenog na istom ključu (djelomično odabran napad otvorene poruke),

Suvremeni kriptosustavi smatraju se sigurnima ako su otporni na sve tri vrste napada.

Za kriptosustave koji šifriraju poruke s niskim zahtjevima za vjerojatnost pogreške u prijenosu (digitalni govor, digitalna slika) potrebno je dodati četvrti, dodatni, zahtjev:

Dešifriranje nakon prijenosa kriptograma kroz kanale s smetnjama ne bi smjelo povećati broj pogrešaka u odnosu na broj pogrešaka koje su nastale u komunikacijskom kanalu zbog smetnji, drugim riječima, ne bi smjelo doći do širenja pogrešaka nakon dešifriranja.

Objasnimo bit koncepta propagacije pogreške. Neka pri prijenosu kriptograma E došlo je do pogrešaka na komunikacijskom kanalu (slika 2).

Mjesto i veličina pogrešaka u primljenom kriptogramu određuju se vektorom pogreške kanala e. Na binarni sustav prijenosa, primljeni kriptogram će izgledati ovako E- E ® yo, gdje je znak ® znači bitsko zbrajanje po modulu 2, i ukupni broj pogreške t jednaka je normi vektora pogreške |e|, tj. t=|e|. Broj pogrešaka e" u dešifriranoj poruci M izračunava se kao t"=|f |, gdje je 1= R8A/. Pogreške se ne množe pod uvjetom da je f = t.

U prethodnim brojevima smo to saznali kriptografija je disciplina koja proučava kako zaštititi procese razmjena informacija od namjernih pokušaja odstupanja od uvjeta normalnog protoka, temeljenih na kriptografskim transformacijama, odnosno transformacijama podataka korištenjem tajnih algoritama. Od davnih vremena do danas najvažniji zadatak kriptografije je zaštita podataka koji se prenose komunikacijskim kanalima ili pohranjuju u sustavima za obradu informacija od neovlaštenog upoznavanja s njima i od njihova namjernog izobličenja. Kriptografija rješava ovaj problem šifriranjem zaštićenih podataka, što uključuje korištenje sljedeće dvije međusobno inverzne transformacije:

Prije nego što se podaci pošalju komunikacijskom linijom ili prije nego što se pohrane, podliježu šifriranje;
- za vraćanje izvornih podataka iz šifriranih, na njih se primjenjuje postupak dešifriranje.

Sljedeća slika 1 prikazuje shemu transformacije podataka tijekom enkripcije:

Sl. 1. Shema pretvorbe podataka tijekom enkripcije.

Šifra je par algoritama koji implementiraju svaku od ovih transformacija. Tajnost drugog od njih čini podatke nedostupnima za neovlašteni pristup, a tajnost prvog onemogućuje nametanje lažnih podataka. Zove se dobivanje otvorenih podataka iz šifriranih podataka bez poznavanja algoritma za dešifriranje dešifriranje. U početku se šifriranje koristilo za zaštitu poslanih poruka od obje ove prijetnje, no kasnije se pokazalo da može zaštititi podatke od neovlaštene izmjene samo ako su ispunjeni određeni uvjeti, a to su:

Šifrirana poruka sadrži mnogo suvišnosti;
- proces enkripcije dobro "miješa" strukturne jedinice poruke (bitove, simbole itd.).

Budući da ti uvjeti nikako nisu uvijek zadovoljeni, u općem slučaju šifriranje nije sredstvo zaštita od imitacije- zaštita od nametanja lažnih podataka. Ovom problemu će biti posvećeno jedan ili više budućih brojeva, ali ćemo ga za sada nakratko "zaboraviti".

Koje uvjete šifra mora zadovoljiti? Pa, prije svega, postupak dešifriranja uvijek treba vratiti otvori poruku u njegovom izvorni oblik. Drugim riječima, za svaku valjanu poruku T transformacije za- i dešifriranje moraju zadovoljiti sljedeće svojstvo:

T = D(E(T))

Drugi uvjet koji šifra mora zadovoljiti je da mora... šifrirati podatke, odnosno učiniti ih neshvatljivim neupućenima.

Drugim riječima, između izvornih i šifriranih podataka ne bi trebalo postojati lako sljedivih veza. Osim toga, šifra mora biti kriptootporan, odnosno otporan na pokušaje dešifriranja poruka. Jasno je da je pitanje snage šifre glavno u ovoj grani kriptografije, a njegovo ćemo razmatranje započeti otkrivanjem što može poslužiti kao mjera snage.

Poslana poruka prije nego što stigne do primatelja neodređena je za njega i, naravno, za napadača - da nije tako, onda je uopće ne bi imalo smisla slati. Neka se poruke šalju T1,T2,...,Tn s vjerojatnošću p1, p2,..., pn odnosno. Zatim izmjerite nesigurnost poruke za svakoga tko ima tu apriornu informaciju može poslužiti vrijednost matematičkog očekivanja logaritma vjerojatnosti jedne poruke, uzete sa predznakom minus; iz nekih razloga, prikladno je odabrati 2 kao bazu logaritma:

Ova vrijednost ima sasvim razumljivo fizičko značenje: broj bitova informacija koji potrebno prosječni prolaz za potpuno uklanjanje nesigurnosti. Ako nema a priori informacija o poruci osim njezine veličine u N bita, tada se sve moguće od 2 N opcije smatraju jednako vjerojatnim i tada je nesigurnost poruke jednaka njezinoj veličini:

H( T ) = -2 N 2 - N dnevnik 2 (2 - N ) = N = | T |,

gdje kroz | x| naznačena je veličina podatkovnog bloka x u bitovima. A ako se ništa ne zna o izvornom tekstu, čak ni njegova veličina? U ovom slučaju ipak je potrebno za osnovu uzeti neki model distribucije. U pravilu, u stvarnosti, takve poteškoće ne nastaju, budući da postoje mnoge vrlo jake šifre<не считают нужным>sakriti veličinu šifrirane poruke, jer za tim gotovo nikad nema posebne potrebe, a ta se karakteristika a priori smatra poznatom napadaču. Tamo gdje ovu veličinu stvarno treba sakriti, sve se poruke pretvaraju u nizove podataka iste duljine prije šifriranja, i opet dobivamo situaciju o kojoj smo gore govorili.

Nakon presretanja šifriranog teksta, ova vrijednost se, naravno, može promijeniti, sada postaje aposteriori ("post-eksperimentalna") uvjetna nesigurnost - uvjet je ovdje presretnuta šifrirana poruka T " . Sada se to daje sljedećom formulom:

,

gdje kroz p (T i | T") označava vjerojatnost da je izvorna poruka T i pod uvjetom da je rezultat njegove enkripcije T".

Jedan od najvažnije karakteristike Kvaliteta šifre je količina informacija o izvornom tekstu koju napadač može izvući iz presretnutog šifratnog teksta - nalazi se kao razlika između apriorne i posteriorne nesigurnosti izvorne poruke:

I= H (T ) - H (T | T" ).

Ova vrijednost je uvijek nenegativna. Ovdje je pokazatelj koliko će se smanjiti – jasno je da se ne može povećati – neizvjesnost izvorni kod kada primi odgovarajući šifrirani tekst u usporedbi s apriornom nesigurnošću, te hoće li ona postati manja od minimalne dopuštene vrijednosti.

U najboljem slučaju programera šifre, obje ove nesigurnosti su jednake:

H( T | T" ) = H (T ),

to jest, napadač ne može izdvojiti nikakve korisne informacije o otvorenom tekstu iz presretnutog šifratnog teksta: ja = 0. Drugim riječima, poznavanje šifriranog teksta ne smanjuje nesigurnost odgovarajućeg otvorenog teksta, ne poboljšava njegovu procjenu i ne povećava vjerojatnost njegova točnog određivanja. Šifre koje zadovoljavaju ovaj uvjet nazivaju se apsolutno otporan ili savršene šifre, budući da poruke šifrirane pomoću njih ne samo da se u načelu ne mogu dešifrirati, nego se napadač neće moći ni približiti uspješnom određivanju izvornog teksta, odnosno povećati vjerojatnost njegove ispravne dešifriranja.

Naravno, glavno pitanje koje je zanimalo kriptografe bilo je postoje li apsolutno jake šifre u praksi. Stručnjacima je intuitivno bilo jasno da postoje, a Vernam je dao primjer takve šifre više od dva desetljeća prije nego što je jedan od utemeljitelja teorije informacija, K. Shannon, formalno dokazao njihovo postojanje. U ovom dokazu, Shannon je također dobio nužni uvjet za apsolutnu sigurnost šifre:

Da bi šifra bila apsolutno sigurna, potrebno je da nesigurnost algoritma šifriranja ne bude manja od nesigurnosti šifrirane poruke:

Dvosmislenost algoritma za šifriranje definirana je na potpuno isti način kao i dvosmislenost poruke - srednja vrijednost binarnog logaritma vjerojatnosti korištenja minus algoritma - i ima smisla samo ako je skup mogući algoritmi a dana je vjerojatnost korištenja svakog od njih. Snaga šifri temelji se na tajnosti, odnosno na nesigurnosti za napadača algoritma dešifriranja - da to nije slučaj, svatko bi mogao dešifrirati šifrirane podatke. Što manje napadač zna o šifri, manja je vjerojatnost da će uspješno dešifrirati poruku. Objasnimo gore navedeno na primjeru: presretnimo kratku 12-bitnu enkripciju sljedećeg sadržaja:

1 0 0 1 0 1 1 1 0 1 0 1

Radi jednostavnosti, pretpostavimo da je izvorna poruka iste duljine. Ako napadač nema nikakve a priori informacije o šifriranoj poruci, za njega će svaki od 2 12 početne opcije jednako je vjerojatno, pa je vjerojatnost ispravnog pogađanja izvorne poruke 2 -12. Pretpostavimo sada da napadač unaprijed zna da je enkripcija nametanje iste 4-bitne maske na svaku 4-bitnu grupu poruke korištenjem operacije pobitno isključiva ili. Očito, možda 16 = 2 4 razne opcije bit maska, odnosno, eventualno 16 različita značenja izvorni tekst:

maska ​​otvoreni tekst 0000 100101110101 0001 100001100100 0010 101101010110 ..... 1111 011010001010

Dakle, sada je vjerojatnost ispravnog pogađanja izvornog teksta 1/16 - poznavanje značajki korištene metode šifriranja povećalo ju je za 256 puta. Iz ovoga slijedi zanimljiv zaključak: veća je nesigurnost u transformaciji šifriranja za autsajder, što je dalje od rješenja šifre, to je šifra pouzdanija. Šifra potpuno neodređena za napadača

za njega je neotkriven, odnosno apsolutno uporan! Ispada da pouzdanost šifre ovisi isključivo o njezinoj tajnosti i ne ovisi o njezinim drugim svojstvima.

Najzanimljivije je da je to istina, i tu nema paradoksa. Međutim, u praksi može biti teško zadržati napadača potpuno nesigurnim u vezi s šifrom - on može dobiti informacije o šifri na sljedeće načine:

Analizirajte presretnutu šifriranu poruku - gotovo uvijek ima na raspolaganju određeni skup šifriranih tekstova, za neke od njih mogu postojati odgovarajući otvoreni tekstovi, ili čak mogućnost dobivanja šifriranog teksta za bilo koji unaprijed određeni otvoreni tekst;

Napadač može imati a priori informacije o šifri dobivene iz različitih izvora - na primjer, ranije je to mogla biti instrukcija za šifriranje ili nacrt s međurezultatima za određeni tekst, trenutno je to fragment računalni kod ili čip koji implementira enkripciju u hardveru.

Napadač uvijek ima prvu mogućnost, druga je također vrlo vjerojatna - teško je sačuvati aktivno "radni" algoritam u tajnosti od nepoznatih ljudi. Na temelju navedenog možemo navesti nekoliko kvaliteta koje šifra mora zadovoljiti da bi se smatrala dobrom.

1. Analiza šifriranih podataka ne bi trebala dati napadaču nikakve informacije o unutarnjoj strukturi šifre. U šifriranom tekstu ne bi smjelo biti statističkih pravilnosti – na primjer, statistički testovi ne bi smjeli otkriti nikakve ovisnosti i odstupanja od jednako vjerojatne raspodjele bitova (znakova) šifriranog teksta u šifriranim podacima.

2. Algoritam se mora rekonfigurirati. Prije ili kasnije, napadač može imati na raspolaganju opis algoritma, njegovu softversku ili hardversku implementaciju. Kako ne bi morao u potpunosti zamijeniti algoritam u svim enkripcijskim čvorovima gdje se u ovom slučaju koristi, on mora sadržavati dio koji se lako zamjenjuje.

Drugi uvjet nas vodi do principa Kirchhoffa (u prijevodima s engleskog ponekad ga se "zove" Kerckhoff, što nije sasvim točno, budući da je Nizozemac, a ne Englez, a transkripcija njegovog prezimena trebala bi biti njemački, a ne engleski), bezuvjetno prihvaćen sada u umijeću izgradnje sigurnih šifri. Ovaj princip je sljedeći: šifra je definirana kao parametrizirani algoritam koji se sastoji od proceduralnog dijela, odnosno opisa točno koje se operacije i kojim redoslijedom izvode nad šifriranim podacima, te parametara - različitih elemenata podataka koji se koriste u transformacijama. Otkrivanje samo proceduralnog dijela ne bi trebalo dovesti do povećanja vjerojatnosti uspješnog dešifriranja poruke od strane napadača iznad dopuštene granice. Iz tog razloga, a također i zato što je skidanje tajnosti s ovog dijela vrlo vjerojatno samo po sebi, nema puno smisla držati ga u tajnosti. Neki dio parametara algoritma čuva se u tajnosti, što se zove ključ šifre:

T" = E (T )= E K (T ),

ovdje K - ključ za šifru.

Korištenjem Kirchhoffovog principa moguće je dobiti sljedeće pogodnosti u građenju šifri:

Otkrivanje određene šifre (algoritma i ključa) ne dovodi do potrebe potpuna zamjena implementacija cijelog algoritma, dovoljno je zamijeniti samo kompromitirani ključ;

Ključevi se mogu otuđiti od ostalih komponenti sustava šifriranja - pohranjeni odvojeno od implementacije algoritma na pouzdanije mjesto i učitani u enkriptor samo prema potrebi i samo za vrijeme trajanja enkripcije - to značajno povećava pouzdanost sustava kao cjelina;

Postaje moguće točno procijeniti "stupanj nesigurnosti" algoritma šifriranja - on je jednostavno jednak nesigurnosti korištenog ključa:

H( E K ) = H (K ).

Sukladno tome, postaje moguće procijeniti vjerojatnost i složenost uspješne dešifriranja, odnosno količinu računskog posla koji napadač treba obaviti za to.

Vratimo se na nužni uvjet za apsolutnu snagu šifre za šifre konstruirane u skladu s Kirchhoffovim principom. Uz pretpostavku da nema apriornih podataka o šifriranom tekstu osim njegove duljine, dobivamo da je nesigurnost izvornog teksta jednaka njegovoj duljini izraženoj u bitovima:

H( T ) = | T |.

Maksimalna moguća nesigurnost podatkovnog bloka fiksna veličina postignuto kada sve moguće vrijednosti ovog bloka su jednako vjerojatni - u ovom slučaju jednaka je veličini bloka u bitovima. Dakle, nesigurnost ključa K ne prelazi svoju dužinu:

Uzimajući u obzir gore navedeno, dobivamo nužan uvjet apsolutne sigurnosti za šifre koje zadovoljavaju Kirchhoffovo načelo:

Da bi šifra izgrađena po Kirchhoffovom principu bila apsolutno sigurna, potrebno je da veličina ključa koji se koristi za šifriranje nije manja od veličine podataka koji se šifriraju,

Točna jednakost je moguća samo ako su sve moguće vrijednosti ključeva jednako vjerojatne, što je ekvivalentno uvjetu da su bitovi ključa jednako vjerojatni i statistički neovisni jedan o drugom.

Primjer apsolutno sigurne šifre je Vernamova jednokratna gama - prekrivanje otvorenih podataka ( T) ključ ( K) iste veličine, sastavljen od statistički neovisnih bitova koji s istom vjerojatnošću poprimaju moguće vrijednosti, koristeći neku binarnu operaciju °:

Operacija koja se koristi za prekrivanje gama mora zadovoljiti određene uvjete, koji se mogu sažeti na sljedeći način: jednadžba enkripcije mora biti jednoznačno rješiva ​​u odnosu na otvoreni tekst s obzirom na šifrirane podatke i ključ, te jedinstveno rješiva ​​u odnosu na ključ s poznatim javne i šifrirane podatke. Ako operacija zadovoljava ovo svojstvo, ona je prihvatljiva. Među prikladnim operacijama nema boljih i lošijih prikladnih, sa stajališta sigurnosti šifre, sve su iste - koncept "savršenstva" ne poznaje usporedne stupnjeve, ili postoji ili postoji ne. Iz tog razloga, za praktična upotreba obično odaberite najprikladniju operaciju u provedbi - pobitno zbrajanje po modulu 2 ili bitni XOR, jer je ona:

Za njegovu provedbu zahtijeva minimalnu složenost logike svih mogućih operacija;

On je inverzan samom sebi, pa se za dešifriranje i dešifriranje koristi isti postupak.

Vratimo se pitanju apsolutne snage šifri: kao što je ranije navedeno, apsolutno jake šifre zahtijevaju korištenje ključa koji nije manji od veličine podataka koji se šifriraju. Taj ključ moraju imati i pošiljatelj i primatelj, odnosno prvo im se mora dostaviti, a za to je potreban siguran kanal. Dakle, uz potencijalno nesiguran kanal za prijenos šifriranih podataka, potrebno je imati i siguran kanal za prijenos ključa iste veličine. To nije uvijek prihvatljivo iz ekonomskih razloga, dakle slični sustavi koriste se samo u iznimnim slučajevima za zaštitu informacija posebne vrijednosti. Velika većina stvarni sustavišifriranoj komunikaciji, koriste se algoritmi koji nemaju apsolutnu sigurnost pa se stoga nazivaju nesavršene šifre.

Naravno, za takve šifre relevantno je pitanje pouzdane procjene njihove snage. Za njih, poznavanje šifriranog teksta smanjuje nesigurnost odgovarajućeg otvorenog teksta, čime se povećava vjerojatnost uspješnog dešifriranja. Međutim, suprotno popularnoj zabludi, iz toga uopće ne proizlazi da je takvo dešifriranje moguće. stalno.

Mišljenje da se poruka šifrirana nesavršenom šifrom uvijek može nedvosmisleno dešifrirati ako kriptoanalitičar ima dovoljan šifrirani tekst i neograničene računalne mogućnosti je pretjerano grubo pojednostavljenje i općenito je netočno.

Stvar je u tome da malo povećati vjerojatnost uspješnog dešifriranja i napraviti ga jednako jednom- nije ista stvar. Ova ideja se može lako ilustrirati primjerom: neka se šifrira niz bitova, ključ ima veličinu jednog bita, a šifriranje se provodi prema sljedećim pravilima:

Ako je ključ 0, neparni bitovi izvornog teksta su obrnuti, numerirajući s lijeva na desno;

Ako je ključ 1, parni bitovi izvornog teksta se invertiraju;

Dakle, E 0 (01) = 11, E 1 (01) = 00. Očito, naša šifra nema apsolutnu sigurnost. Pretpostavimo da je šifra "10" presretnuta. Koji je izvorni tekst? Jasno je da može biti ili 00 ili 11, ovisno o vrijednosti ključa, a nemoguće je to jednoznačno odrediti, što je trebalo dokazati. Za ozbiljnije šifre, kriptoanalitičar će jednostavno imati više "izbora" u otvorenom tekstu, i nema naznaka koju će preferirati.

Stoga ostaje otvoreno pitanje mogućnosti nedvosmislene dešifriranja poruke šifrirane nesavršenom šifrom. Kada je takvo dešifriranje moguće? Shannon je detaljno istražio ovo pitanje u svojim djelima. Za analizu je uveo sljedeće karakteristikešifra, kako bi se pojednostavio prikaz, ovdje su dani za varijantu bitnog prikaza podataka:

1. Funkcija nepouzdanosti ključa - nesigurnost ključa s poznatim n bitova šifriranog teksta:

f( n ) = H (K | T" ), gdje je | T" | = n .

Jasno je da f(n) ne može biti definiran za svakoga n.

2. Udaljenost jedinstvenosti šifre je takva vrijednost n, pri čemu funkcija nepouzdanosti, odnosno nesigurnost ključa postaje bliska 0 .

U(E) = n, gdje n je minimum onih za koje

Shannon je pokazao da obje gore definirane veličine ovise o redundanciji otvorenog teksta, pri čemu je udaljenost jedinstvenosti izravno proporcionalna veličini ključa i obrnuto proporcionalna redundanciji:

,

gdje je redundancija izvornog teksta R određena sljedećom relacijom:

To znači da ćemo potpunim eliminiranjem suvišnosti otvorenog teksta onemogućiti njegovu nedvosmislenu dešifriranje na temelju poznavanja samo odgovarajućeg šifriranog teksta, čak i ako kriptoanalitičar ima na raspolaganju neograničene računske mogućnosti. U ovom slučaju, nesigurnost izvornog teksta bit će jednaka nesigurnosti, a time i veličini ključa:

H( T ) = H (K ) = | K |

Potpuna odsutnost redundancija u izvornom tekstu znači da bez obzira koji ključ uzmemo, nakon dešifriranja ćemo dobiti "ispravne" izvorne podatke i jednostavno neće biti razloga da preferiramo jednu opciju od druge. Iz ovoga, posebno, proizlazi da je u stvarnoj praksi, prije enkripcije, podatke vrlo korisno "komprimirati" nekom arhivatoru. Naravno, potpuna neredundantnost izvornog teksta u ovom slučaju je nedostižna, međutim, takvo "stiskivanje" će uvelike zakomplicirati kriptoanalizu temeljenu samo na šifriranom tekstu.

Slične numeričke karakteristike jačine šifre mogu se dobiti i za situaciju u kojoj kriptoanalitičar ima na raspolaganju ne samo šifrirani tekst, već i odgovarajući otvoreni tekst. Jasno je da one više neće ovisiti o redundanciji izvornih poruka. U ovom slučaju, udaljenost jedinstvenosti šifre je reda veličine njezina ključa, odnosno vrlo je mala. Zahvaljujući dati razlozi takva se šifra lako može razbiti s neograničenim računalnim resursima analitičara, a pri projektiranju jakih šifri dolaze do izražaja potpuno drugačiji principi. Ali o tome će biti riječi u sljedećem broju.

(Nastavit će se)

Akademska godina

Teorijski dio

1. Glavne vrste kriptografskih transformacija informacija. Bit svake transformacije, opseg.

2. Prikaz sustava šifriranja grafom, princip jedinstvenosti enkripcije-dešifriranja.

3. Matematički model sustava za šifriranje-dešifriranje informacija.

4. Jačina sustava šifriranja, klasifikacija sustava šifriranja prema jačini. Vrste napada na sustav šifriranja.

5. Definicija bezuvjetno jakog sustava šifriranja, izjava o potrebni uvjeti postojanje bezuvjetno stabilnog sustava.

6. Definicija bezuvjetno sigurnog sustava šifriranja, izjava o dovoljnim uvjetima za postojanje bezuvjetno sigurnog sustava.

7. Računalstvo trajni sustavi enkripcija, koncept složenosti kriptoanalize, glavni pristupi otvaranju kriptografskih sustava, analiza brute-force napada i napada na temelju statistike poruka.

8. Blok šifra, Feistelova shema, svojstva blok šifre.

9. Supstitucijska šifra, njezina svojstva.

10. Kod igara na sreću i njegova svojstva.

11. Modovi (načini rada) blok šifri, kratak opis načina rada.

12. Standard šifriranja GOST R34.12-2015, osnovni algoritam šifriranja za 64-bitni blok.

13. Standard šifriranja GOST R34.12-2015, osnovni algoritam šifriranja za 128-bitni blok.

14. Standard šifriranja GOST R34.13-2015, algoritam šifriranja u načinu jednostavne zamjene, algoritam šifriranja u gama načinu rada i gama s Povratne informacije. Usporedba načina rada.

15. Linearni rekurentni registar, algebarska svojstva linearni rekurentni slijed, analiza svojstva predvidljivosti.

16. Linearni rekurentni registar, statistička svojstva linearnog rekurentnog niza.

17. Principi konstruiranja gama generatora šifriranja (koncept ekvivalentne linearne složenosti, korištenje nelinearnih čvorova za povećanje linearne složenosti).

18. Šifra A5/1, karakterizacija šifre, princip konstrukcije, primjena.

19. Princip konstrukcije i karakteristike AES šifre.

20. Koncept jednosmjerne funkcije, opći princip izgradnja kriptografskih sustava s javnim ključem.

21. Koncept hash funkcije, zahtjevi za kriptografske hash funkcije.

22. Funkcija raspršivanja prema GOST R34.11-12, karakteristika, princip konstrukcije, primjena.

23. ElGamal enkripcijski sustav, napadi na sustav.

24. RSHA enkripcijski sustav, napadi na sustav.

25. Definicija, klasifikacija, osnovna svojstva, EP model.

26. Shema EP RSHA.

27. Shema El-Gamal EP-a.

28. EDS prema GOSTR 34.10-12, opće karakteristike, princip formiranja i provjere potpisa.

29. Provjera autentičnosti poruka u telekomunikacijskim sustavima (model sustava zaštite od imitacije, strategije nametanja, pokazatelji zaštite od imitacije).

30. Koncept ključne hash funkcije. Klasa strogo univerzalnih hash funkcija, primjeri implementacije ovih hash funkcija.

31. Izgradnja sustava provjere autentičnosti sa zajamčenom vjerojatnošću nametanja.

32. Izgradnja sustava provjere autentičnosti za višestruki prijenos poruka.

33. Računalni otporni sustavi autentifikacije.

34. Razvoj imitacije umetka u skladu s GOST R34.12-2015.

35. Model upravljanja ključem u simetriji kriptografski sustavi, karakteristika životni ciklus ključ.

36. Načini raspodjele ključeva na temelju međusobne razmjene poruka među dopisnicima. Diffie-Hellmanova metoda.

37. Metode za generiranje slučajnih brojeva pri generiranju ključeva.

38. Metode distribucije ključeva pomoću CRC-a u početnoj fazi.

39. Metode distribucije ključeva pomoću CRC-a u interaktivni način rada. Needham-Schroederov protokol.

40. Načelo raspodjele javni ključevi.

41. Pojam infrastrukture javnog ključa (PKI), sastav, princip interakcije elemenata strukture.

42. Namjena, načelo formiranja i karakteristike certifikata javnog ključa.

Praktični dio

1. Šifrirajte (dešifrirajte) poruku ručni mod zamjena, permutacija i šifra za igranje. Program LR1_1.exe.

2. Dešifrirajte kriptogram na temelju analize njegove statistike pomoću programa CHANGE.EXE.

3. Pronađite faktor množenja pogreške pri dešifriranju kriptograma blok supstitucijsko-permutacijske šifre s duljinom bloka od 16 bita. tst program.

4. Dešifrirajte kriptogram supstitucijsko-permutacijske šifre iscrpnim nabrajanjem ključeva pomoću programa tst. Obrazložite parametre za donošenje odluke o ispravnom dekodiranju.

5. Šifrirajte 64-bitnu poruku s osnovnim algoritmom šifriranja GOST R 34.12-2015 (1 krug)

6. Šifrirajte 128-bitnu poruku pomoću programa AES.exe. Provjerite da li prva transformacija (operacija SubBytes) koristi element u polju GF(2 8).

7. Na temelju karakterističnog polinoma h(x), konstruirajte LRR (početno punjenje 10…01) Odredite period niza. Pronađite ravnotežu, provjerite svojstva serije i prozora. Provjerite rezultat pomoću programa LRR 1.

8. Pronađite slijed na izlazu kodirajućeg gama generatora koji sadrži elemente ILI, I-NE, Jeff. Pomoću programa LRR 2 odredite ekvivalentnu složenost niza. Konstruirajte ekvivalentni LRR. Izvucite zaključke.

9. Izvršite sljedeće izračune u dijelu diskretne matematike:

Pronađite najveći zajednički djelitelj pomoću Euklidovog algoritma;

Izračunajte x modp koristeći algoritam brzog eksponencijaliranja;

Pronaći inverzni element na broj po modulu str.

Pronađite Eulerovu funkciju broja x;

10. - pomoću Fermatovog testa provjeriti je li broj x prost, pronaći vjerojatnost da test daje pogrešan rezultat.

11. Parametri ElGamal sustava enkripcije su postavljeni a=4, p=11, privatni ključ x=7 , šifriranje poruke M= . Dešifrirajte kriptogram.

12. Postavljaju se parametri RSA enkripcijskog sustava p=11, q=13 za šifriranje poruke M=5. Dešifrirajte kriptogram.

13. Parametri ElGamal sustava enkripcije su postavljeni a=4, p=11, privatni ključ x=8, potpišite poruku, čiji je hash kod h(M)= . Provjerite potpis.

14. Podešeni su parametri RSHA enkripcionog sustava p=11, q=13, potpišite poruku čiji je hash kod h(M)= 6. Provjerite potpis.

15. Koristeći RSA program, šifrirajte veliku datoteku sigurnim RSA kriptosustavom i procijenite vrijeme šifriranja i dešifriranja.

16. Koristeći RSA program, potpišite poruke i provjerite potpis. Duljina poruke je najmanje 100 bita.

17. Zadana je eliptična krivulja E13(1,1). Pronađite točku C jednaku zbroju dviju točaka, koordinata točaka i x 1 = , y 1 = , x 2 = , y 2 = . Pronađite suprotnu točku. Izračunajte točku gdje k =3.

18. Generirajte autentifikator za binarnu poruku M=1010 temeljeno na strogo univerzalnim hash funkcijama po algoritmu K 0 \u003d 0101, K1= (broj ulaznice) . Proračuni na terenu se provode po modulu nesvodivog polinoma , b=4.

Vrhunski povezani članci