Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Zanimljivo
  • Kriptografska analiza asimetričnih enkripcijskih sistema. Moderni algoritmi šifriranja

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

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

Cipher- skup unaprijed određenih načina transformacije originalne tajne poruke kako bi se ona zaštitila.

Originalne poruke se obično nazivaju otvoreni tekstovi... U stranoj literaturi termin se koristi za otvoreni tekst otvoreni tekst.

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

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 pisanje poruka, pa se dopunjuju razmakom, tačkom, zarezom i drugim znakovima. Arapska numerička abeceda su znakovi 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 prirodnog broja. Bilo koja poruka se također može napisati binarnim alfabetom, odnosno korištenjem samo nula i jedinica.

Poziva se poruka primljena nakon transformacije upotrebom bilo koje šifre šifrovana poruka(u zatvorenom tekstu, kriptogram). U stranoj literaturi termin se koristi za zatvoreni tekst šifrirani tekst.

Pretvaranje otvorenog teksta u kriptogram se zove enkripcija... Reverzna akcija se zove dešifrovanje... U literaturi na engleskom jeziku termini "encryption/decryption" odgovaraju terminima "šifriranje / dešifriranje".

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

Sa stanovišta ruskog jezika, pojmovi "dešifriranje" i "dešifriranje" su sinonimi. Međutim, u radovima o kriptografiji posljednjih desetljeća ove riječi se često razlikuju. Pretpostavimo da pojmovi "dešifriranje" i "dešifriranje" nisu sinonimi. Pretpostavimo da se legalni primalac poruke (onaj koji zna ključ) bavi dešifrovanjem, a osoba kojoj poruka nije namenjena, pokušavajući da shvati njeno značenje, dešifruje.

Sistem šifriranja, ili sistem šifriranja, Da li je bilo koji sistem koji se može koristiti za reverzibilnu promjenu teksta poruke kako bi je učinio nerazumljivom svima osim onima kojima je namijenjena.

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

Dakle, uzimajući u obzir sve date definicije, može se dati preciznija definicija nauke "kriptografije". Kriptografija ispituje konstrukciju i upotrebu sistema šifriranja, uključujući njihovu snagu, slabost i ranjivost u odnosu na različite metode napada.

Sve metode pretvaranja informacija radi 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 privatnog ključa ili simetrično šifriranje) ljudi koriste već neko 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čna enkripcija) počela je da se koristi za kriptografsko zatvaranje informacija tek u drugoj polovini dvadesetog veka. Ova grupa uključuje metode šifriranja koje koriste dva različita ključa za šifriranje i dešifriranje podataka. U ovom slučaju, jedan od ključeva (javni ključ) može se prenijeti putem otvorenog (nezaštićenog) komunikacijskog kanala. Elektronski (digitalni) potpis je blok podataka koji se obično pridodaje poruci, dobijen kriptografskom transformacijom. Elektronski potpis omogućava da se, kada tekst primi drugi korisnik, provjeri autorstvo i autentičnost poruke.

Kriptografski sistem sigurnosti informacija- sistem sigurnosti informacija koji koristi kriptografske metode za šifriranje podataka.

3.5.3 Modeli i metode šifriranja/dešifriranja diskretnih poruka

Diskretne poruke mogu biti predstavljene signalima sa konačnim brojem stanja. To su razne vrste podataka, štampani tekstovi, kao i govorni signali i slike, ako su prethodno konvertovani u diskretne (digitalne) signale.

Matematički model sistema za šifrovanje/dešifrovanje diskretnih poruka je par funkcija

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

koji pretvaraju poruku M u kriptogram E koristeći ključ za šifriranje K sh i, obrnuto, kriptogram E u poruku M koristeći ključ za dešifriranje K d. Obje funkcije koje definiraju kriptosistem moraju zadovoljiti sljedeće zahtjeve:

· Funkcije f (M, K w) i g (E, K d) sa poznatim argumentima je lako izračunati;

· Funkciju g (E,?) sa nepoznatim ključem K d je teško izračunati.

Pretpostavlja se da je ključ za dešifriranje K d nepoznat ilegalnim korisnicima, iako oni mogu poznavati funkcije f i g, kao i ključ za šifriranje K sh, ako se ne poklapa s ključem K d. Posljednji uslov je tzv. -zvani Kaziski princip.

Treba razlikovati tri glavne vrste napada na kriptosistem:

· Samo sa poznatim kriptogramom E;

· Sa poznatim kriptogramom E i poznatom porukom M, koja odgovara određenom dijelu kriptograma dobijenog korištenjem istog ključa (napad s djelimično poznatom otvorenom porukom);

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

Moderni kriptosistemi se smatraju sigurnim ako su otporni na sve tri vrste napada.

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

K w = K d = K

tada se sistem naziva simetričan (jednostruki ključ). Da bi to funkcioniralo, točke šifriranja i dešifriranja moraju imati iste ključeve.

Ako K w nije jednako K d, tada se sistem šifriranja naziva asimetričan (dva ključa). U ovom slučaju, ključ K w se isporučuje u točku šifriranja, a ključ K d u točku dešifriranja. Oba ključa bi očigledno trebala biti povezana funkcionalnom zavisnošću K d = j (K w), ali tako da bi bilo nemoguće povratiti ključ za dešifriranje K d iz poznatog ključa za šifriranje K w. To znači da za asimetrični sistem šifriranja j () to bi trebala biti teška izračunljiva funkcija. U takvom sistemu moguće je tajno distribuirati među legitimnim korisnicima samo njihove ključeve za dešifriranje, te otvoriti ključeve za šifriranje, uključujući i za objavljivanje. Stoga se kriptosistem koji se razmatra naziva sistem javnog (javnog) ključa.

Prvi od ovih tipova šifri podrazumeva prisustvo neke informacije (ključa), čije posedovanje omogućava i šifrovanje i dešifrovanje poruke.

S jedne strane, takva šema ima nedostatke što je pored otvorenog kanala za prijenos šifriranog koda potrebno imati i tajni kanal za prijenos ključa, a osim toga, ako dođe do curenja informacija o ključu, nemoguće je dokazati od koga je od dva dopisnika došlo do curenja.

S druge strane, među šiframa ove posebne grupe, postoji jedina šema šifriranja na svijetu koja posjeduje apsolutnu teorijsku snagu. Svi ostali se mogu dešifrirati barem u principu. Takva šema je uobičajena enkripcija (na primjer, operacija XOR) s ključem čija je dužina jednaka dužini poruke. U tom slučaju, ključ treba koristiti samo jednom. Bilo kakvi pokušaji dešifriranja takve poruke su beskorisni, čak i ako postoje a priori informacije o tekstu poruke. Odabirom ključa možete dobiti bilo koju poruku kao rezultat.

Šifre javnog ključa podrazumijevaju dva ključa, javni i privatni; jedan se koristi za šifriranje, a drugi za dešifriranje poruka. Javni ključ se objavljuje - stavlja se na znanje svima, dok tajni ključ čuva njegov vlasnik i predstavlja garanciju tajnosti poruka. Suština metode je da ono što je šifrirano tajnim ključem može biti dešifrirano samo javnim i obrnuto. Ovi ključevi se generiraju u parovima i međusobno se korespondiraju jedan-na-jedan. Štaviše, nemoguće je izračunati drugi iz jednog ključa.

Karakteristična karakteristika šifara ovog tipa, koja ih povoljno razlikuje od šifri sa tajnim ključem, jeste da je tajni ključ ovde poznat samo jednoj osobi, dok u prvoj šemi mora biti poznat najmanje dvema osobama. Ovo daje sljedeće prednosti:

za slanje tajnog ključa nije potreban siguran kanal, sva komunikacija se odvija preko otvorenog kanala;

"Što dvoje znaju, zna i svinja" - prisustvo jedini kopija ključa smanjuje mogućnost njegovog gubitka i omogućava utvrđivanje jasne lične odgovornosti za čuvanje tajnosti;

Prisustvo dva ključa omogućava da se ovaj sistem šifrovanja koristi u dva načina - tajna komunikacija i digitalni potpis.

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

Matematički model sistema šifriranja/dešifriranja za diskretne poruke je par funkcija

,
,

koji transformišu poruku
u kriptogram koristeći ključ za šifriranje
i obrnuto, kriptogram u poruci
koristeći ključ za dešifriranje ... Obje funkcije koje definiraju kriptosistem moraju ispuniti sljedeće zahtjeve:


Holandski kriptograf A. Kerkhoffs (1835 - 1903) predložio je da se tajnost šifri zasniva samo na tajnosti ključa, a ne na tajnosti algoritma šifriranja, koji bi, na kraju, mogao biti poznat neprijatelju .

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

= =,

tada se sistem poziva simetrično(sa jednim ključem). Da bi to funkcionisalo, isti ključevi moraju biti tajno dostavljeni tačkama za šifrovanje i dešifrovanje. .

Ako
, tj. ključ za šifriranje nije jednak ključu za dešifriranje, tada se poziva sistem šifriranja asimetrično(dva ključa). U ovom slučaju, ključ
isporučen na točku šifriranja, i ključ - do tačke dešifrovanja. Oba ključa bi očigledno trebala biti povezana funkcionalnom ovisnošću.

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

Postoje dvije glavne klase sigurnosti za kriptosisteme:

    Idealno(sigurno) uporan ili savršeno kriptosistemi za koje otpor kriptoanalizi (dešifriranju) bez poznavanja ključa ne zavisi od računarske snage protivnika. Oni se nazivaju teoretski nedešifrovano(TNDSH) sistemi.

    Računarski jaki kriptosistemi, u kojima otpor kriptoanalizi zavisi od snage protivničkog računarskog sistema.

  1. Kritski sistem RSA

Za šifriranje se bira cijeli broj N =str q, gdje str i q - dva velika prosta broja. Poruka M je predstavljen jednim od brojeva

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

Formule šifriranja/dešifriranja su sljedeće:

,
,

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

Ova dva odnosa impliciraju jednakost

,

koji se u običnoj aritmetici izvodi ako kK= 1, au modularnoj aritmetici i za

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

gdje l- cela. Zaista, koristeći Eulerovu teoremu, provjeravamo

,

ako M i N- koprosti brojevi.

Razmatrani odnosi ukazuju na način formiranja ključeva. Najprije se biraju vrlo veliki slučajni prosti brojevi. str i q sa nešto drugačijim brojem cifara tako da proizvod N = pq imao najmanje 768 bita (prema podacima iz 2001. godine). 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 izabrati, poštujući potrebne uslove:

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

Privatni ključ k izračunati

k = K 1 mod  ( N ),

koristeći Euklidov algoritam. Nakon završetka pripremnih radova, javni ključ K i modul N stavljen u otvoreni imenik, poduzimajući mjere kako bi se osigurala nemogućnost zamjene. Brojevi str i qčuvao u tajnosti.

Imajte na umu da je uslov međusobne jednostavnosti brojeva M i N ako to ne učinite, dekodiranje je nemoguće ne stvara ozbiljna ograničenja. Prvo, među manjim brojevima N razlomak međusobno prostih brojeva sa N je jednako ( str–1)(q–1)/(pq), tj. se ne razlikuje od jedinstva, i, drugo, uslov se lako obezbeđuje beznačajnom modifikacijom poruke. Takođe stepen M K ne bi trebalo biti manje N... Ako ovaj uslov nije ispunjen, kriptogram ima oblik

i bez proračuna po modulu može se lako otvoriti, jer K poznato.

Očigledno, u razmatranim relacijama, brojevi K i k su jednaki, tj. ključevi se mogu zamijeniti i koristiti k kao javni ključ za šifriranje, i K kao privatni ključ za dešifriranje.

Dakle, oba RSA ključa su specificirana u 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 kriptosistem, šifrirali su frazu “ItsallGreektome”, predstavljenu u digitalnom obliku. Vrijednosti su objavljene M, K, Nšto ukazuje da 129 decimalnih mjesta N dobijeno množenjem 64- i 65-bitnih brojeva str i q... Faktorizacija N a otvaranje kriptograma obavljeno je za oko 220 dana tek 1994. godine nakon preliminarne teorijske obuke. U radu je učestvovalo 600 volontera i 1600 računara umreženih putem interneta.

Snaga sistema javnog ključa, a posebno RSA, zavisi od izbora njegovih parametara. Ako odaberete dnevnik 2 N= 200 bita, tada će faktorizacija zahtijevati otprilike 2,710 11 operacija, što će trajati nekoliko dana na personalnom računaru. Ako odaberete dnevnik 2 N= 664 bita, tada faktorizacija zahtijeva 1210 23 operacije. Pri brzini od 10 6 operacija u sekundi, faktorizacija će trajati nekoliko milijardi godina.

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

Implementacija RSA šifre je razrađena iu softverskoj i hardverskoj verziji. Koristi ga RSA za enkripciju pametnih kartica. U softverskoj verziji, brzina šifriranja je reda veličine 1 kbps, u hardverskoj verziji - 10-50 kbps.

Relativno niska brzina enkripcije i dešifriranja u poređenju sa simetričnim, blok ili streaming sistemima je nedostatak svih asimetričnih enkripcijskih sistema, uključujući RSA.

  1. Digitalni potpis

Autentičnost dokumenta se tradicionalno potvrđuje uobičajenim "papirnim" potpisom. Jačina potpisa, tj. nemogućnost njegovog falsifikovanja od strane neovlašćenih lica osiguravaju dva osnovna uslova: prvo, njegova jedinstvenost, zasnovana na individualnim karakteristikama rukopisa, i drugo, fizički integritet papirnog dokumenta na kojem je potpisan. Štaviše, potpis ne može krivotvoriti ni osoba koja potvrđuje njegovu autentičnost.

Međutim, prilikom prenosa dokumenata preko računarskih mreža, nemoguće je koristiti ove uslove, uključujući i prenošenje faks poruka (FAX), jer se mogu lako krivotvoriti.

Dokumenti koji se prenose preko računarskih mreža ovjereni su digitalnim potpisom. Digitalni potpis rješava problem mogućeg spora između pošiljaoca i primaoca, uključujući i sudski, ako postoji pravni osnov za njegovu primjenu.

Digitalni potpis mora imati svojstva običnog potpisa i istovremeno biti lanac podataka koji se može prenositi preko mreža, tj. mora ispuniti sljedeća četiri osnovna zahtjeva:

    digitalni potpis mora biti jedinstven, tj. niko, osim autora, ne može kreirati isti potpis, uključujući i osobe koje provjeravaju njegovu autentičnost;

    svaki netizen, legalan ili ilegalan, može provjeriti valjanost digitalnog potpisa;

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

    i implementacija i verifikacija digitalnog potpisa treba da budu prilično jednostavne.

Da bi se zadovoljili svi gore navedeni zahtjevi, digitalni potpis, za razliku od "papirnog", mora ovisiti o svim bitovima poruke i mijenjati se čak i kada se promijeni jedan bit potpisane poruke. Za implementaciju digitalnog potpisa zasnovanog na simetričnim kriptosistemima, potrebno je učešće osobe od poverenja – arbitra. Implementacija digitalnog potpisa bez arbitra je moguća samo upotrebom asimetričnih sistema.

Postoje različite vrste digitalnih potpisa zasnovanih na kriptosistemima javnog ključa. Razmotrite CPU implementaciju zasnovanu na RSA kriptosistemu.

U ovom slučaju, korisnik A potpisivanja poruke M, generira par ključeva k A ,K A i informiše korisnike interneta o vrijednostima K A i N... Sljedeći korisnik A kreira kontrolnu grupu

,

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

Lako je provjeriti da su u ovom slučaju sva četiri prethodno formulirana zahtjeva za digitalne potpise ispunjena ako je RSA šifra odabrana dovoljno jaka.

Međutim, razmatrani sistem za generisanje digitalnog potpisa ima dva značajna nedostatka:

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

    za duge poruke, operacija eksponencijalnosti u izračunavanju kontrolne grupe i njenoj provjeri će trajati neprihvatljivo dugo.

Državna i vojna prepiska nastala je u antičko doba i bila je praćena izumom različitih 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 različite abecede.

Ne treba ga brkati sa kriptografskim latentnim (simpatičnim) pisanjem, čija je suština skrivanje vidljivosti napisanog. Na primjer, natpis napravljen mlijekom na bijelom papiru nije vidljiv bez zagrijavanja ovog papira.

Dakle, 400 godina prije Krista. e. u Sparti je korišćeno šifrovanje na kružnom cilindru. Oko njega je bio namotan svitak, nakon čega je ispisan tekst duž svitka paralelno sa osom cilindra - red po red. Kao rezultat toga, na rasklopljenom svitku slova su bila poređana bez ikakvog vidljivog redoslijeda. Da bi pročitao poruku, primalac je morao namotati svitak na potpuno isti cilindar.

Za 300 godina prije Krista. e. u Grčkoj je o skrivenim porukama napisano djelo "Tacticus". 200 godina pne. e. izmišljen je Polibijev kvadrat koji sadrži 5x5 = 25 ćelija za dvadeset četiri slova grčkog alfabeta i razmak, upisan slučajnim redoslijedom. Prilikom šifriranja teksta, traženo slovo je pronađeno u kvadratu i zamijenjeno drugim slovom iz iste kolone, ali upisano u red ispod. Slovo u donjem redu kvadrata zamijenjeno je slovom u gornjem redu iste kolone. Primalac, koji je imao potpuno isti kvadrat, dešifrovao je poruku izvodeći navedene operacije obrnutim redosledom.

Cezar je u prepisci sa Ciceronom koristio ono što se sada zove Cezarova šifra. Cezarova metoda je sljedeća. Prvo, svako slovo abecede je povezano sa svojim serijskim brojem. Tada se tokom šifriranja ne upisuje samo slovo, već ono čiji je broj veći za cijeli broj DO, zove ključ. Za abecedu koja sadrži T slova, pravilo šifriranja je postavljeno omjerom:

n = (K + I) mod m,

gdje P- broj slova dobijenog kao rezultat šifriranja slova brojem I Ovdje smo koristili operaciju izračunavanja po modulu T, kada se izvrši, ne bilježi se sam iznos K + I, a ostatak dijeljenja ovog zbroja sa T.

Generalizacija Cezarove šifre se zove jednostavna zamjenska šifra. Njegova suština 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 v, b-on sa, u- na v,..., ja sam- na G. Broj mogućih permutacija s takvom enkripcijom koja odgovara abecedi s volumenom T= 32 je m! =32! = 2, 63 10 35. Ako se u jednoj sekundi, prilikom dešifriranja jednostavnom brute-force metodom, nabroji milion ključeva, onda će ukupno vrijeme dešifriranja biti 8,3-10 21 godina.



Šifra Blaisea Vigenerea (XVI vek, Francuska) postala je razvoj jednostavne supstitucijske šifre. U ovoj šifri ključ je riječ, tj. niz uzastopnih brojeva slova ključa. Ključ, koji se ponavlja ako je potrebno, potpisuje se ispod poruke, nakon čega se vrši modulo dodavanje T u svakoj koloni koja sadrži jedno slovo poruke i jedan ključ.

Mnogi poznati matematičari kao što su Viet, Cardano, Leibniz i konačno Francis Bacon bavili su se kriptografijom. Potonji je predložio binarno kodiranje latinice.

U Rusiji je nezavisnu kriptografsku službu prvi organizovao Petar I, koji je pod uticajem komunikacije sa Lajbnicom osnovao digitalnu komoru za razvoj i upotrebu kriptografije.

Industrijska revolucija u razvijenim zemljama dovela je do stvaranja mašina za šifrovanje. Krajem 18. stoljeća, Jefferson (budući treći predsjednik Sjedinjenih Država) izumio je kotače za šifriranje. Vernam je 1917. ponudio prvu praktično funkcionalnu mašinu za šifrovanje. Iste godine izumljena je rotaciona mašina za šifrovanje, koju je kasnije proizveo Siemens pod imenom "Enigma" (misterija) - glavni neprijatelj kriptografa savezničkih sila tokom Drugog svetskog rata.

K. Shannon dao je neprocjenjiv doprinos kriptografiji, posebno svojim djelom "Tajnost i tajnost", napisanom 1948. Godine 1976. Diffie i Hellman su predložili kriptosisteme javnog ključa. Godine 1977. SAD su uvele otvoreni federalni standard šifriranja za neklasificirane poruke (DES). Godine 1989. uveden je otvoreni domaći sistem šifriranja GOST 28147-89.

Rice. 1. Glavne faze razvoja kriptografskih sistema

Istovremeno sa usavršavanjem veštine šifrovanja (slika 1), došlo je do razvoja kriptoanalize, č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 moderne faze i prethodnih, a to su:

Široka upotreba matematičkih metoda za dokazivanje snage šifri ili za kriptoanalizu,

Upotreba brze računarske opreme,

Otkriće nove vrste kriptografije sa "transparentnijim" metodama kriptoanalize (kriptografija s javnim ključem),

Pojava novih dodatnih sigurnosnih funkcija, pored enkripcije i dešifriranja,

Korištenje najnovijih fizičkih metoda u kriptografiji (dinamički haos, kvantna kriptografija, kvantni kompjuter).

2. Matematički model sistema šifriranja/dešifriranja diskretnih poruka

Razmotrit ćemo šifriranje i dešifriranje takozvanih diskretnih poruka, koje se mogu predstaviti signalima s konačnim brojem stanja. To su podaci, štampani tekstovi, kao i govorni signali i slike, ako su prethodno konvertovani u diskretne (digitalne) signale. U slučaju analognih signala koriste se druge metode, o kojima će biti riječi posebno.

Matematički model sistema šifriranja/dešifriranja za diskretne poruke je par funkcija

, (1)

, (2)

koji transformišu poruku M u kriptogram E koristeći ključ za šifriranje K W i obrnuto, kriptogram E u poruci M koristeći ključ za dešifriranje Za DS. Oba funkcije koje definiraju kriptosistem moraju ispunjavati sljedeće zahtjeve:

Funkcije f(,) i g (,) jer se poznati argumenti izračunavaju jednostavno,

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

Pretpostavlja se da je ključ za dešifriranje K DSh nepoznati ilegalnim korisnicima, iako možda poznaju funkcije f(.) i g(.) kao i ključ za šifriranje K W ako se ne poklapa sa ključem Za DS. Poslednji uslov je takozvani Kaziski princip.

Ako je ključ za šifriranje jednak ključu za dešifriranje, tj. K W = K DSh tada se sistem poziva simetrično (jednostruki taster). Za njegov rad, identični ključevi moraju biti tajno dostavljeni na točke šifriranja i dešifriranja.

Ako K W = K DSh, tada se poziva sistem šifrovanja asimetrična (dva ključa). U ovom slučaju, ključ K W isporučen na točku šifriranja, i ključ K DSh - do tačke dešifrovanja. Oba ključa bi očigledno trebala biti povezana funkcionalnom ovisnošću. K LH = φ (K W) ali takav da prema poznatom ključu za šifriranje K W bilo bi nemoguće povratiti ključ za dešifriranje K DSh To znači da za asimetrični sistem šifriranja φ(.) trebala bi biti funkcija koju je teško izračunati. U takvom sistemu moguće je tajno distribuirati među legitimnim korisnicima samo njihove ključeve za dešifriranje, a ključeve šifriranja učiniti javnim i objaviti, na primjer, u javnom imeniku. Stoga se kriptosistem koji se razmatra naziva sistem sa otvoreno (javno) ključ. Kriptosistem javnog ključa prvi su predložili Diffie i Hellman 1976. godine. Potrebno je razlikovati tri glavne vrste napada (napada) protivnika na kriptosistem:

Samo sa poznatim kriptogramom E,

Sa poznatim kriptogramom E i poznata poruka M, koji odgovara određenom dijelu kriptograma dobivenom korištenjem istog ključa (napad s djelomično poznatom otvorenom porukom).

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

Moderni kriptosistemi se smatraju sigurnim ako su otporni na sve tri vrste napada.

Za kriptosisteme koji šifriraju poruke sa niskim zahtjevima za vjerovatnoću greške u prijenosu (digitalni govor, digitalna slika), potrebno je dodati četvrti, dodatni, zahtjev:

Dešifrovanje nakon prenosa kriptograma preko šumnih kanala ne bi trebalo da povećava broj grešaka u odnosu na broj grešaka koje su nastale u komunikacijskom kanalu usled smetnji, drugim rečima, ne bi trebalo da dođe do umnožavanja grešaka nakon dešifrovanja.

Objasnimo suštinu koncepta propagacije greške. Pretpostavimo da prilikom prijenosa kriptograma E došlo je do grešaka preko komunikacijskog kanala (slika 2).

Lokacija i veličina grešaka u primljenom kriptogramu određuju se vektorom grešaka kanala e... Sa binarnim sistemom prijenosa, primljeni kriptogram će imati oblik E- E ® ë gdje je znak ® znači bitsko sabiranje po modulu 2, i ukupan broj grešaka t jednaka je normi vektora greške |e |, tj. t = e |. Broj grešaka e" u dešifrovanoj poruci M izračunava se kao t "=|f |, gdje je 1 = R8A /. Greške se ne množe pod uslovom da je f = t.

U prethodnim brojevima smo to saznali kriptografija je disciplina koja proučava načine zaštite procesa interakcije informacija od svrsishodnih pokušaja da se oni odstupe od uslova normalnog toka, na osnovu kriptografskih transformacija, odnosno transformacija podataka pomoću tajnih algoritama. Od antičkih vremena do danas najvažniji zadatak kriptografije je zaštita podataka koji se prenose komunikacijskim kanalima ili pohranjuju u sistemima za obradu informacija od neovlaštenog upoznavanja s njima i njihovog 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 pohranjivanja, oni se podvrgavaju enkripcija;
- za vraćanje originalnih podataka iz šifriranih podataka, postupak se primjenjuje na njih dešifrovanje.

Sljedeća slika 1 prikazuje šemu konverzije podataka za enkripciju:

Slika 1. Šema konverzije podataka za enkripciju.

Cipher je par algoritama koji implementiraju svaku od navedenih transformacija. Tajnost drugog od njih čini podatke nedostupnim za neovlašćeno upoznavanje, a tajnost prvog onemogućava nametanje lažnih podataka. Dobijanje otvorenih podataka šifriranih bez poznavanja algoritma za dešifriranje se zove dešifrovanje... U početku se šifriranje koristilo za zaštitu poslanih poruka od obje ove prijetnje, ali se kasnije pokazalo da može zaštititi podatke od neovlaštene izmjene samo ako su ispunjeni određeni uvjeti i to:

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

Pošto ovi uslovi nisu uvek ispunjeni, u opštem slučaju, šifrovanje nije sredstvo imitoprotection- zaštita od nametanja lažnih podataka. Ovom problemu će biti posvećeno jedan ili više narednih brojeva, ali ćemo ga za sada na neko vrijeme "zaboraviti".

Koje uslove šifra mora da zadovolji? Pa, prije svega, postupak dešifriranja uvijek treba vratiti otvorenu poruku u njen izvorni oblik. Drugim riječima, za svaku valjanu poruku T transformacije za- i dešifriranje moraju zadovoljiti sljedeće osobine:

T = D (E (T))

Drugi uslov koji šifra mora zadovoljiti je sljedeći: mora ... encrypt podatke, odnosno učiniti ih neshvatljivim neupućenima.

Drugim riječima, ne bi trebalo postojati veze koje se mogu lako pratiti između originalnih i šifriranih podataka. Osim toga, šifra mora biti kriptografski siguran, odnosno otporan na pokušaje dešifriranja poruka. Jasno je da je pitanje jačine šifara glavno u ovoj grani kriptografije, a mi ćemo započeti njegovo razmatranje otkrivanjem šta može poslužiti kao mjera snage.

Poslana poruka prije nego što stigne do primaoca je nedefinisana za njega i, naravno, za napadača - da nije tako, onda ne bi imalo smisla da je šaljete. Omogućite slanje poruka T1, T2, ..., Tn sa vjerovatnoćom p1, p2, ..., pn respektivno. Zatim izmjerite dvosmislenost poruke za svakoga ko ima ovu apriornu informaciju može poslužiti vrijednost matematičkog očekivanja logaritma vjerovatnoće jedne poruke, uzete sa predznakom minus; iz nekog razloga, zgodno je izabrati 2 kao bazu logaritma:

Ova vrijednost ima potpuno razumljivo fizičko značenje: broj bitova informacija koji neophodno u prosjeku, prenositi kako bi se potpuno eliminisala nesigurnost. Ako nema apriorne informacije o poruci osim njene veličine od N bitova, tada se sve moguće od 2 N opcije smatraju jednako vjerojatnim, i tada je nesigurnost poruke jednaka njenoj veličini:

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

gdje kroz | X| naznačena je veličina bloka podataka X u bitovima. Što ako se ništa ne zna o izvornom tekstu, čak ni njegova veličina? U ovom slučaju i dalje je potrebno uzeti za osnovu bilo koji model distribucije. U pravilu, u stvarnosti, takve poteškoće ne nastaju, jer postoje mnoge vrlo jake šifre<не считают нужным>sakriti veličinu šifrovane poruke, jer to gotovo nikada nije potrebno, a ova karakteristika se napadaču a priori smatra poznatom. Tamo gdje ovu veličinu zaista treba sakriti, sve poruke se pretvaraju u nizove podataka iste dužine prije enkripcije, 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") uslovna nesigurnost - uvjet ovdje je presretnuta šifrirana poruka T " ... Sada je to dato sljedećom formulom:

,

gde kroz p (T i | T ") vjerovatnoća da je originalna poruka T i pod uslovom da je rezultat njegove enkripcije T ".

Jedna od najvažnijih karakteristika kvaliteta šifre je količina informacija o originalnom tekstu koje napadač može izvući iz presretnutog šifratnog teksta – nalazi se kao razlika između apriorne i aposteriorne nesigurnosti originalne poruke:

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

Ova vrijednost je uvijek nenegativna. Pokazatelj je ovdje koliko će se smanjiti nesigurnost izvornog teksta - jasno je da se ne može povećati - kada se dobije odgovarajući šifrirani tekst, u poređenju sa apriornom nesigurnošću, i da li neće postati manja od minimalno dozvoljene vrijednosti .

U najboljem slučaju za programere šifara, obje ove nesigurnosti su jednake:

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

to jest, napadač ne može izdvojiti bilo koju korisnu informaciju o otvorenom tekstu iz presretnutog šifriranog teksta: I = 0. Drugim rečima, poznavanje šifrovanog teksta ne dozvoljava da se smanji nesigurnost odgovarajućeg otvorenog teksta, poboljša njegova procena i poveća verovatnoća njegovog tačnog određivanja. Šifre koje zadovoljavaju ovaj uslov se nazivaju apsolutno uporan ili savršene šifre, budući da poruke šifrovane njihovom upotrebom ne samo da se u principu ne mogu dešifrovati, već se napadač neće moći ni približiti uspešnom utvrđivanju originalnog teksta, odnosno povećanju verovatnoće njegovog ispravnog dešifrovanja.

Naravno, glavno pitanje koje je zanimalo kriptografe bilo je da li u praksi postoje apsolutno jake šifre. Stručnjaci su intuitivno shvatili da postoje, a primjer takve šifre dao je Vernam više od dvije decenije prije nego što je jedan od osnivača teorije informacija K. Shannon formalno dokazao njihovo postojanje. U ovom dokazu, Shannon je također dobio neophodan uslov za apsolutnu snagu šifre:

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

Nesigurnost algoritma šifriranja definira se na isti način kao i nesigurnost poruke - matematičko očekivanje binarnog logaritma vjerovatnoće korištenja algoritma sa predznakom minus - i ima smisla samo ako je skup mogućih algoritama definirana i vjerovatnoća korištenja svakog od njih je postavljena. Snaga šifri zasniva se na tajnosti, odnosno na nesigurnosti za napadača algoritma za dešifriranje - da to nije slučaj, svako bi mogao dešifrirati šifrirane podatke. Što manje napadač zna o šifri, manja je vjerovatnoća da će uspješno dešifrirati poruku. Objasnimo rečeno na primjeru: neka se presretne kratka 12-bitna enkripcija koja ima sljedeći sadržaj:

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

Radi jednostavnosti, pretpostavimo da je originalna poruka iste dužine. Ako napadač nema nikakve apriorne informacije o šifrovanoj poruci, za njega je svaka od 2 12 početnih varijanti podjednako verovatna, pa je verovatnoća da se originalna poruka pravilno identifikuje jednostavnim pogađanjem 2 -12. Pretpostavimo sada da napadač a priori zna da je šifriranje nametanje iste 4-bitne maske na svaku 4-bitnu grupu poruke koristeći operaciju bitova isključiva ili. Očigledno je moguće 16 = 2 4 različite varijante bit maske, odnosno moguće je 16 različitih vrijednosti originalnog teksta:

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

Dakle, sada je vjerovatnoća da ćete ispravno pogoditi originalni tekst 1/16 - poznavanje posebnosti korištene metode šifriranja povećalo ju je 256 puta. Iz ovoga slijedi zanimljiv zaključak: što je veća nesigurnost u transformaciji šifriranja za autsajdera, što je dalje od rješavanja šifre, to je šifra pouzdanija. Šifra potpuno nedefinisana za napadača

za njega je neotkrivena, odnosno apsolutno otporna! Ispostavilo se da pouzdanost šifre zavisi isključivo od njene tajnosti i ne zavisi od njenih drugih svojstava.

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

Analizirajte presretnutu šifriranu poruku - on gotovo uvijek ima na raspolaganju određeni skup šifriranih tekstova, za neke od njih može postojati odgovarajući otvoreni tekst, ili čak mogućnost da dobije šifrirani tekst za bilo koji unaprijed određeni otvoreni tekst;

Napadač može imati apriorne informacije o šifri dobijene iz različitih izvora - na primjer, ranije je to mogla biti instrukcija za šifriranje ili nacrt sa međurezultatima za određeni tekst, sada - komad kompjuterskog koda ili mikrokolo koje implementira hardversku enkripciju .

Prva prilika je uvijek dostupna napadaču, druga je također vrlo vjerovatna - teško je sačuvati aktivno "radni" algoritam u tajnosti od autsajdera. Na osnovu gore navedenog, možemo navesti nekoliko kvaliteta koje šifra mora zadovoljiti, tvrdeći da se smatra dobrom.

1. Analiza šifriranih podataka ne bi trebala dati napadaču bilo kakvu informaciju o unutrašnjoj strukturi šifre. U šifriranom tekstu se ne bi trebali pratiti statistički obrasci – na primjer, statistički testovi ne bi trebali otkriti nikakve zavisnosti ili odstupanja od jednako vjerovatne raspodjele bitova (simbola) šifrovanog teksta u šifriranim podacima.

2. Algoritam mora biti rekonfigurabilan. Prije ili kasnije, napadač može imati na raspolaganju opis algoritma, njegovu softversku ili hardversku implementaciju. Kako bi se izbjegla potpuna zamjena algoritma na svim enkripcijskim čvorovima gdje se koristi, u ovom slučaju mora sadržavati dio koji se lako zamjenjuje.

Drugi uslov nas dovodi do principa Kirchhoffa (u prijevodima s engleskog se ponekad "zove" Kerkhoff, što nije sasvim tačno, jer je Holanđanin, a ne Englez, a transkripcija njegovog prezimena treba da bude njemački, a ne engleski ), što je sada bezuslovno prihvaćeno u umjetnosti izgradnje pouzdanih šifri. Ovaj princip je sljedeći: šifra je definirana kao parametrizirani algoritam, koji se sastoji od proceduralnog dijela, odnosno opisa tačno koje se operacije i kojim redoslijedom izvode nad šifriranim podacima, i parametara - različitih elemenata podataka koji se koriste u transformacije. Otkrivanje samo proceduralnog dijela ne bi trebalo dovesti do povećanja vjerovatnoće uspješnog dešifriranja poruke od strane napadača iznad dozvoljene granice. Iz tog razloga, kao i zbog činjenice da je deklasifikacija ovog dijela vrlo vjerovatna sama po sebi, nema smisla držati to u tajnosti. Određeni dio parametara algoritma čuva se u tajnosti, što se zove šifra ključ:

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

ovdje K - ključ za šifru.

Korištenje Kirchhoffovog principa omogućava vam da dobijete sljedeće prednosti u konstrukciji šifri:

Otkrivanje određene šifre (algoritma i ključa) ne dovodi do potrebe za potpunom zamjenom implementacije cijelog algoritma, dovoljno je zamijeniti samo kompromitovani ključ;

Ključevi se mogu otuđiti od ostalih komponenti enkripcionog sistema - pohranjuju se odvojeno od implementacije algoritma na sigurnije mjesto i učitavaju u enkriptor samo po potrebi i samo za vrijeme trajanja enkripcije - ovo značajno povećava pouzdanost sistema kao cjelina;

Postaje moguće precizno procijeniti "stepen neizvjesnosti" algoritma šifriranja - on je jednostavno jednak nesigurnosti korištenog ključa:

H ( E K ) = H (K ).

U skladu s tim, postaje moguće procijeniti vjerovatnoću i složenost uspješnog dešifriranja, odnosno količinu računskog posla koji napadač treba da obavi za to.

Vratimo se nužnim uvjetima za apsolutnu snagu šifre za šifre izgrađene u skladu s Kirchhoffovim principom. Pod pretpostavkom da nema apriornih podataka o šifrovanom tekstu osim njegove dužine, dobijamo da je nesigurnost originalnog teksta jednaka njegovoj dužini, izraženoj u bitovima:

H ( T ) = | T |.

Maksimalna moguća nesigurnost bloka podataka fiksne veličine postiže se kada su sve moguće vrijednosti ovog bloka jednako vjerojatne - u ovom slučaju je jednaka veličini bloka u bitovima. Dakle, nesigurnost ključa K ne prelazi svoju dužinu:

Uzimajući u obzir gore navedeno, dobijamo neophodan uslov za apsolutnu sigurnost za šifre koje zadovoljavaju Kirchhoff princip:

Da bi šifra izgrađena po principu Kirchhoffa bila apsolutno jaka, potrebno je da veličina ključa koji se koristi za šifriranje ne bude manja od veličine šifriranih podataka,

Tačna jednakost je moguća samo ako su sve moguće vrijednosti ključa jednako vjerojatne, što je ekvivalentno uvjetu da su bitovi ključa jednako vjerojatni i statistički nezavisni jedan od drugog.

Primjer apsolutno jake šifre je Vernamov jednokratni gama - preklapanje na otvorene podatke ( T) ključ ( K) iste veličine, sastavljen od statistički nezavisnih bitova, uzimajući moguće vrijednosti sa istom vjerovatnoćom, koristeći neku binarnu operaciju °:

Operacija koja se koristi za nametanje gama mora zadovoljiti određene uslove, koji se mogu sažeti na sljedeći način: jednadžba enkripcije mora biti nedvosmisleno rješiva ​​u odnosu na otvorene podatke s poznatim šifriranim i ključem, i nedvosmisleno rješiva ​​u odnosu na ključ s poznatim otvorenim i šifrirani podaci. Ako operacija zadovoljava ovo svojstvo, ona je prikladna. Među pogodnim operacijama nema boljih i lošijih, sa stanovišta jačine šifre, sve su iste - koncept "savršenstva" ne poznaje komparativne stepene, ili postoji ili postoji ne postoji. Iz tog razloga, za praktičnu upotrebu, obično se bira najpogodnija operacija u implementaciji - bitni zbir po modulu 2 ili bitovsko isključivo OR, jer je ona:

Za njegovu implementaciju zahtijeva logiku minimalne složenosti svih mogućih operacija;

To je obrnuto od sebe, tako da se za dešifriranje i dešifriranje koristi ista procedura.

Vratimo se pitanju apsolutne snage šifri: kao što je ranije navedeno, apsolutno jake šifre zahtijevaju korištenje ključa koji nije po veličini manji od šifriranih podataka. Taj ključ moraju imati i pošiljalac i primalac, odnosno prvo im se mora dostaviti, a za to je potreban siguran kanal. Stoga, zajedno sa potencijalno nezaštićenim kanalom za prijenos šifriranih podataka, mora postojati siguran kanal za prijenos iste veličine ključa. To nije uvijek prihvatljivo iz ekonomskih razloga, pa se takvi sistemi koriste samo u izuzetnim slučajevima za zaštitu informacija posebne vrijednosti. U ogromnoj većini stvarnih šifrovanih komunikacionih sistema koriste se algoritmi koji nemaju apsolutnu snagu i stoga se nazivaju nesavršene šifre.

Naravno, za takve šifre je relevantno pitanje pouzdane procjene njihove snage. Za njih, poznavanje šifrovanog teksta omogućava smanjenje nesigurnosti odgovarajućeg otvorenog teksta, čime se povećava vjerovatnoća uspješnog dešifriranja. Međutim, suprotno popularnoj zabludi, iz toga uopće ne slijedi da je takvo dešifriranje moguće. uvijek.

Mišljenje da se poruka šifrovana nesavršenom šifrom uvijek može nedvosmisleno dešifrirati ako kriptoanalitičar ima dovoljan šifrirani tekst i neograničene računske mogućnosti je previše pojednostavljeno i općenito netačno.

Poenta je da malo povećati vjerovatnoću uspješnog dešifriranja i učiniti je jednakom jedinici nije ista stvar. Ova ideja se može lako ilustrirati na primjeru: neka se šifrira određeni niz bitova, ključ ima veličinu od jednog bita, a šifriranje se provodi prema sljedećim pravilima:

Ako je ključ 0, neparni bitovi izvornog teksta se invertiraju, numerišući s lijeva na desno;

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

Dakle, E 0 (01) = 11, E 1 (01) = 00. Očigledno je da naša šifra nije apsolutno sigurna. Pretpostavimo da je šifriranje "10" presretnuto. Šta je izvorni kod? Jasno je da može biti ili 00 ili 11, u zavisnosti od vrijednosti ključa, a to je nemoguće jednoznačno utvrditi, što je trebalo dokazati. Za naprednije šifre, kriptoanalitičar će jednostavno imati više "izbora" u otvorenom tekstu, i nema naznake koju da preferira.

Stoga ostaje otvoreno pitanje mogućnosti nedvosmislene dešifriranja poruke šifrirane nesavršenom šifrom. Kada je ovo dešifrovanje moguće? Shannon je detaljno istražio ovo pitanje u svojim radovima. Za analizu je uveo u razmatranje sljedeće karakteristike šifre, kako bi pojednostavio prezentaciju, ovdje su date za verziju bitnog prikaza podataka:

1. Funkcija nepouzdanosti ključa - dvosmislenost ključa za poznatih n bitova šifriranog teksta:

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

To je jasno f(n) možda nije definisano za svakoga n.

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

U (E) = n, gdje n-minimalni od onih za koje

Shannon je pokazao da obje gore definirane vrijednosti zavise od redundancije otvorenog teksta, a udaljenost jedinstvenosti je direktno proporcionalna veličini ključa i obrnuto proporcionalna redundanciji:

,

gdje je redundantnost originalnog teksta R određena sljedećim odnosom:

To znači da ćemo potpunim eliminisanjem suvišnosti otvorenog teksta onemogućiti njegovo nedvosmisleno dešifrovanje na osnovu poznavanja samo odgovarajućeg šifrovanog teksta, čak i ako kriptoanalitičar ima neograničene računarske mogućnosti. U ovom slučaju, nesigurnost izvornog teksta bit će jednaka nesigurnosti, a samim tim i veličini ključa:

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

Potpuno odsustvo redundancije u izvornom tekstu znači da bez obzira koji ključ uzmemo, nakon dešifriranja ćemo dobiti "ispravne" početne podatke i jednostavno neće biti razloga da preferiramo jednu opciju od druge. Iz ovoga, posebno, proizilazi da je u stvarnoj praksi, prije šifriranja podataka, vrlo korisno "stisnuti" neku vrstu arhivatora. Naravno, potpuna redundancija izvornog teksta je u ovom slučaju nedostižna, ali će takva "kompresija" uvelike zakomplicirati kriptoanalizu zasnovanu samo na šifriranom tekstu.

Slične numeričke karakteristike jačine šifre mogu se dobiti za situaciju kada kriptoanalitičar ima na raspolaganju ne samo šifrirani tekst, već i odgovarajući običan tekst. Jasno je da više neće ovisiti o redundanciji originalnih poruka. U ovom slučaju, udaljenost jedinstvenosti šifre je reda veličine njenog ključa, odnosno vrlo je mala. Iz tih razloga, ovakva šifra se lako može razbiti uz neograničene računske resurse analitičara, a pri dizajniranju jakih šifri dolaze do izražaja potpuno drugačiji principi. Ali o tome će biti riječi u sljedećem broju.

(Nastavlja se)

Akademska godina

Teorijski dio

1. Glavni tipovi kriptografskih transformacija informacija. Suština svake transformacije, obim.

2. Predstavljanje sistema šifriranja grafom, princip jedinstvenosti šifriranja-dešifriranja.

3. Matematički model sistema za šifrovanje-dešifrovanje informacija.

4. Jačina sistema šifrovanja, klasifikacija sistema šifrovanja prema jačini. Vrste napada na sistem šifriranja.

5. Definicija bezuslovno bezbednog sistema šifrovanja, izjava o neophodnim uslovima za postojanje bezuslovno sigurnog sistema.

6. Definicija bezuslovno bezbednog sistema šifrovanja, izjava o dovoljnim uslovima za postojanje bezuslovno sigurnog sistema.

7. Računski jaki sistemi šifriranja, koncept kompleksnosti kriptografske analize, glavni pristupi razbijanju kriptografskih sistema, analiza brute-force napada i napada na osnovu statistike poruka.

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

9. Zamjenski kod, njegova svojstva.

10. Gama kod i njegova svojstva.

11. Modovi (način 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 i gama modovima sa povratnom spregom. Poređenje modova.

15. Linearni rekurentni registar, algebarska svojstva linearnog rekurentnog niza, analiza svojstva predvidljivosti.

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

17. Principi konstruisanja šifarnika gamuta (koncept ekvivalentne linearne složenosti, upotreba nelinearnih čvorova za povećanje linearne složenosti).

18. Šifra A5/1, karakteristike šifre, princip konstrukcije, primena.

19. Princip konstrukcije i karakteristike AES šifre.

20. Koncept jednosmjerne funkcije, opći princip izgradnje kriptografskih sistema sa javnim ključem.

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

22. Hash funkcija prema GOST R34.11-12, karakteristike, princip konstrukcije, primjena.

23. El Gamal sistem šifriranja, napadi na sistem.

24. RSA enkripcijski sistem, napadi na sistem.

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

26. Šema EP RSA.

27. Šema EP El-Gamal.

28. EDS u skladu sa GOST 34.10-12, opšte karakteristike, princip formiranja i verifikacije potpisa.

29. Autentifikacija poruka u telekomunikacionim sistemima (model sistema zaštite od imitacije, strategije nametanja, indikatori sigurnosti imitacije).

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

31. Izgradnja sistema autentikacije sa zagarantovanom vjerovatnoćom nametanja.

32. Izgradnja sistema autentikacije za višestruki prijenos poruka.

33. Računski otporni sistemi autentifikacije.

34. Razvoj imitacije umetka prema GOST R34.12-2015.

35. Model upravljanja ključevima u simetričnim kriptografskim sistemima, karakteristike životnog ciklusa ključa.

36. Metode distribucije ključeva zasnovane na međusobnoj razmjeni poruka između dopisnika. Diffie-Hellmanova metoda.

37. Metode za generisanje slučajnih brojeva prilikom generisanja ključeva.

38. Metode distribucije ključeva koristeći CRC u početnoj fazi.

39. Metode za distribuciju ključeva koristeći CRC u interaktivnom načinu rada. Needham-Schroeder protokol.

40. Princip distribucije javnih ključeva.

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

42. Svrha, princip formiranja i karakteristike sertifikata javnog ključa.

Praktični dio

1. Ručno šifrirajte (dešifrirajte) poruku zamjenom, permutacijom i gama kodiranjem. LR1_1.exe program.

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

3. Naći faktor množenja grešaka pri dešifriranju kriptograma supstitucijsko-permutacijske šifre bloka s dužinom bloka od 16 bita. tst program.

4. Dešifrirajte kriptogram permutacijsko-permutacijske šifre brute-force nabrajanjem ključeva koristeći tst program. Utemeljiti parametre za donošenje odluke o ispravnom dekodiranju.

5. Šifrirajte 64-bitnu poruku 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 inverziju elementa u GF polju (2 8).

7. Koristeći karakteristični polinom h (x), konstruirajte LRR (početno punjenje 10 ... 01) Odredite period niza. Pronađite balans, provjerite svojstva serije i prozora. Provjerite rezultat pomoću programa LRR 1.

8. Pronađite niz na izlazu generatora gamuta šifre koji sadrži elemente ILI, I NE, Jeff. Koristeći program LRR 2, odredite ekvivalentnu složenost sekvence. Konstruirajte ekvivalentni LRR. Izvucite zaključke.

9. Izvršite sljedeće proračune za diskretnu matematiku:

Pronađite najveći zajednički faktor koristeći Euklidov algoritam;

Izračunajte x modp koristeći algoritam za brzu eksponencijaciju;

Pronađite inverz broja mod p.

Naći Ojlerovu funkciju x;

10. - koristeći Fermatov test za provjeru da li je broj x prost, pronaći vjerovatnoću da provjera daje pogrešan rezultat.

11. Parametri El-Gamal sistema šifriranja su postavljeni a = 4, p = 11, privatni ključ x = 7, šifriranje poruke M =. Dešifrirajte kriptogram.

12. Parametri RSA enkripcionog sistema su postavljeni p = 11, q = 13, šifrovana poruka M = 5. Dešifrirajte kriptogram.

13. Parametri sistema za šifrovanje El-Gamal su postavljeni a = 4, p = 11, privatni ključ x = 8, potpišite poruku, čiji je hash kod h (M) =. Provjerite potpis.

14. Parametri RSA enkripcionog sistema su postavljeni na p = 11, q = 13, potpišite poruku čiji je hash kod h (M) = 6. Provjerite potpis.

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

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

17. Postavlja se eliptična kriva E13 (1,1). Pronađite tačku C jednaku zbroju dvije tačke, koordinata tačaka i x 1 =, y 1 =, x 2 =, y 2 =. Pronađite suprotnu tačku. Izračunajte tačku gdje k =3.

18. Formirajte autentifikator za binarnu poruku M= 1010 zasnovano na striktno univerzalnim hash funkcijama prema algoritmu K 0 = 0101, K 1= (broj karte). Proračuni na terenu se vrše po modulu nesvodljivog polinoma , b=4.

Top srodni članci