Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Zanimljiv
  • p.s. Svi laboratorijski radovi moraju biti dovršeni i zaštićeni prije kreditiranja.

p.s. Svi laboratorijski radovi moraju biti dovršeni i zaštićeni prije kreditiranja.

Snaga sustava šifriranja, klasifikacija sustava šifriranja prema jačini. Vrste napada na sustav šifriranja.

Upornost- sposobnost odupiranja svih vrsta napada uljeza s ciljem pronalaska (izračunavanja) ključa, ili otvori poruku pod pretpostavkom da je ispunjen niz uvjeta.

Napadi uljeza

1. Kriptoanaliza se provodi samo na temelju presretnutih kriptograma;

2. Kriptoanaliza se provodi na temelju presretnutih kriptograma i njihovih odgovarajućih otvorenih poruka.

3. Kriptoanaliza se provodi na temelju otvorene poruke koju odabere neprijatelj;

Klase enkripcijskih sustava

· Svakako uporan ili savršen, savršen

· Računalno robustan

Bezuvjetno jaki (idealni) sustavi enkripcije

Bezuvjetno jak enkripcijski sustav (BSSS) je sustav šifriranja u kojem nijedan kriptogram (ako napadač nema ključ) ne sadrži dodatne informacije a priori poznato o poruci šifriranoj u ovom kriptogramu.

Na najbolji način dešifriranje BSSSH kriptograma je nagađanje

jedan od moguće poruke izvor Matematički, ACSS uvjet se može napisati u obliku:

Uvjetna vjerojatnost da poruka M i bio šifriran kriptogramom E j;

- a priori (s nepoznatim kriptogramom) vjerojatnost prisutnosti poruke M i.

Računarski otporni sustavišifriranje

Sustav šifriranja se zove računski otporan(VSSH), ako je otvaranje takvog sustava moguće, ali ravnomjerno najbolji algoritam otvaranje traje neizmjerno dugo ili neizmjerno sjajno sjećanje uređaji s kojima se provodi kriptoanaliza.

Vrijeme kriptoanalize određeno je:

1. Složenost algoritma dešifriranja;

2. Brzina računalnih uređaja,

dešifriranje

Složenost algoritama kriptoanalize mora odgovarati složenosti rješavanja složenog problema.

Osnovni pristupi kriptoanalizi:

1. Razbijanje ključeva

2. Analiza statističkih značajki kriptograma

3. Linearna kriptoanaliza

4. Diferencijalna kriptoanaliza

Brzina računalnih uređaja 10 10 - 10 12 operacija/s

Brzina računala se četiri puta povećava svake 3 godine

Zamjenski kod, njegova svojstva.

Jednostavna zamjenska šifra, jednostavna zamjenska šifra, jednoabecedna šifra - klasa metoda šifriranja koje se svode na stvaranje tablice šifriranja prema određenom algoritmu, u kojoj za svako slovo običan tekst s njim je povezano samo jedno slovo šifriranog teksta. Sama enkripcija se sastoji u zamjeni slova prema tablici. Za dešifriranje je dovoljno imati istu tablicu, odnosno znati algoritam po kojem se ona generira.

Šifra za zamjenu stupcanazvana šifra s abecedom otvorenih poruka Z m se podudara s abecedom šifriranih poruka i skupom ključeva K.

Dakle, šifra zamjene stupaca sastoji se u primjeni supstitucija iz simetrične skupine na znakove otvorenog teksta reda kardinalnosti abecede otvorenih poruka. U ovom slučaju, svaka se zamjena odabire ovisno o ključu i prethodnim znakovima običnog teksta.

Svojstva zamjenske šifre.

1. Ako su sve zamjene u tablici supstitucija jednako vjerojatne i međusobno neovisne, onda će sustav šifriranja koji koristi ovu metodu sigurno biti jak.

2. Za razliku od gama metode, implementacija ovu metodu enkripcija je složenija, što je određeno potrebom za izgradnjom upravljani čvor permutacije s m izlaza.

3. Kod šifriranja zamjenskom metodom nema umnožavanja pogrešaka koje nastaju u komunikacijskom kanalu zbog smetnji.

4. Preklapajuća šifra, tj. šifriranje s istom tablicom različite poruke ne dovodi do jednostavnog i nedvosmislenog dešifriranja, kao u gama metodi. Međutim, robusnost metode se smanjuje, budući da ponovljene zamjene omogućuju provođenje kriptoanalize na temelju stopa ponavljanja slova kriptograma.
deset). Blok šifra, Feistelova shema, svojstva blok šifre

Blok šifra nazvan kriptosustav u kojem se svaki novi blok otvorena poruka se pretvara u blok kriptograma prema istom pravilu određenom algoritmom šifriranja i ključem. Postupak dešifriranja provodi se po istom principu.

Prema Kerchhoffovom principu, kriptoanalitičari su u potpunosti poznati algoritmi šifriranja i dešifriranja. Nepoznat je samo ključ koji se koristi i za šifriranje i za dešifriranje. Isti blokovi poruka Mi i Mj uvijek se pretvaraju u iste blokove kriptograma Ei i Ej. Ako je ovo svojstvo nepoželjno, tada se koristi druga modifikacija istog algoritma za šifriranje bloka.

Principi građenja blok šifri su da algoritam blok šifre mora koristiti:

a) supstitucije (nelinearne transformacije kratkih dijelova (za blokove blok šifre);

b) permutacije simbola u blokovima;

c) ponavljanje operacija (a) i (b) (tj. njihovo ponavljanje više puta s različitim tipkama).

Feistelova shema.

Kako bi se pojednostavili postupci šifriranja i dešifriranja, koristi se Feistelova shema, koja se temelji na sljedećim načelima:

a) svaki trenutni blok podijeljen je na dva jednaka dijela - lijevi Li i desni Ri, gdje je i iteracijski (okrugli) parametar;

b) način formiranja sljedećih "pola" blokova od prethodnih određuje se kao što je prikazano na sl. 3.3, gdje je ki ključ i-te runde.

Ovu transformaciju predstavimo u analitičkom obliku:

L i = R i-1, R i = L i-l + f (R i-1, k i),

gdje je f () nelinearna funkcija dvaju argumenata, u kojoj je nelinearnost određena, na primjer, tablicom.

Značajke Feistelove sheme:

1) Reverzibilnost postupka šifriranja pokazuje se mogućom kada funkcija / () u shemi nije nužno reverzibilna.

2) Obje polovice bloka stalno mijenjaju mjesta i stoga su, unatoč prividnoj asimetriji, šifrirane istom snagom.


Karakteristike AES šifre

1.Može biti brži od normalne blok šifre;

2.Može se implementirati na pametnu karticu pomoću malog PAM-a i posjedovanja mali broj ciklusi;

3. Okrugla transformacija omogućuje paralelno izvođenje;

4. Ne koristi aritmetičke operacije, tako da tip arhitekture procesora nije bitan;

5. Može se koristiti za izračunavanje MAC-koda i hash-funkcije.

Ova se šifra temelji na principu iteracije (iteracija je ponavljanje nekih matematička operacija, koristeći rezultat prethodne analogne operacije) SD-transformacije i koristi takozvanu arhitekturu "kvadrat", odnosno sve se transformacije izvode unutar jednog kvadrata.

Trenutni podaci (uključujući izvornu poruku i primljeni kriptogram) upisuju se po jedan bajt (8 bitova) u svaku od 16 ćelija, što daje ukupnu duljinu bloka šifriranja od 8x16 -128 bita.

Prva transformacija ovog algoritma izvodi se kao izračunavanje inverznog elementa u polju GF () po modulu nesvodivog polinoma + + + x +1, čime se osigurava dokaziva stabilnost šifre s obzirom na linearnu i diferencijalnu kriptoanalizu, dok se nulti element polja je sačuvan bez transformacije (slika 3.16).

Sljedeća transformacija sastoji se od množenja svake ćelije kvadrata, predstavljene kao binarni vektor stupca (,), s fiksnom matricom i dodavanjem fiksnog vektora stupca, a sve operacije ovdje se izvode u polju GF (2):

Matrica i vektor stupca koji se koriste u ovoj transformaciji ostaju isti u svim rundama i neovisni su o ključu.

Imajte na umu da se množenje matrice i zbrajanje vektora poboljšavaju kriptografska svojstvašifra za slučaj kada se nula elemenata pojavljuju u ćelijama kvadrata.

Kao sljedeća transformacija koristi se ciklički pomak bajtova niza poruka za različit broj bajtova (ćelija), prikazan na sl. 3.17.

Sljedeća transformacija naziva se miješanje stupaca. Na ovom koraku svi C-ti stupac kvadratna matrica je predstavljen kao 4-dimenzionalni vektor nad poljem GF (), a zatim se u tom polju, zadanom nereducibilnim polinomom + + + x +1, vrši množenje određenom matricom s elementima iz istog polja:

gdje su elementi prikazani u ovoj matrici navedeni kao elementi polja GF () (tj. kao binarni nizovi duljine 8), kao što je ilustrirano sljedeći primjer:

Konačno, izvodi se zbrajanje okruglog ključa, koje se izvodi jednostavno kao zbrajanje svih elemenata posljednjeg kvadrata po bitu sa 128 elemenata okruglog ključa mod 2. Nakon što je jedan krug završen, sve gore opisane operacije ponavljaju se drugim krugom tipke. Okrugli ključevi se generiraju iz jednog tajnog ključa duljine 128, 192 ili 256 bita (ovisno o odabranom načinu šifriranja) pomoću posebnih transformacija, uključujući cikličke pomake i proširenja. Broj krugova šifre ovisi o odabranom načinu rada i varira od 10 do 14.

Za dešifriranje se koristi slijed inverzne transformacije s obrnuti redoslijed slijedeći kružne tipke, što se pokazalo sasvim mogućim, budući da su sve operacije izvedene u svakom krugu, kao što je lako vidjeti, reverzibilne. Međutim, treba napomenuti da za razliku od šifri koje se temelje na Feistelovoj strukturi (na primjer, DES šifra), ova šifra mora koristiti različite elektronički sklopovi ili programe za šifriranje odnosno dešifriranje.

Značajke AES šifre

1) AES je fokusiran uglavnom na implementaciju s 8-bitnim procesorima;

2) sve se okrugle transformacije izvode u konačnim poljima, što omogućuje jednostavna implementacija na raznim platformama.

Snaga AES šifre

Očito je da je nabrajanje svih ključeva (čak i s njihovim minimalnim brojem - 2) nemoguće. Linearna i diferencijalna kriptoanaliza također su praktički nemoguće zbog izbora optimalnih transformacijskih postupaka, a posebno zbog korištenja računanja povratni elementi u završnom polju.

Kriptanaliza temeljena na rješenju nelinearnog sustava jednadžbi nad poljem GF (2) koje opisuje šifru teoretski je moguća, uključujući i zbog pojave dodatnih jednadžbi. Međutim, ovaj postupak zahtijeva neizmjerno velike računske resurse. Stoga se trenutno AES šifra može smatrati jakom protiv svih poznatih napada.

Ubrzati AES enkripcija

Na implementacija softvera ovaj algoritam najučinkovitije se implementira na 8- i 32-bitnim platformama. Za tipična računala, brzina enkripcije može biti reda veličine 1 MB / s - 500 KB / s. Uz hardversku implementaciju velike brzine enkripcija (oko 100 MB / s i više) zahtijevat će povećanje hardverskih resursa i, posljedično, povećanje veličine uređaja.

Snaga šifre A5/1

Prilikom razvoja ove šifre, pretpostavljalo se da će imati visoku vrijednost

trajnost, budući da je broj njegovih tipki ipak dovoljno velik

daljnja istraživanja neovisnih kriptografa

Pokazali su da ova šifra ima slabe strane... Jedna od njih se sastoji

činjenica da LRR uključeni u koder imaju male duljine, te stoga

podložni su nekim modifikacijama statističkih napada, i

napadi temeljeni na omjerima razmjene između potrebne veličine memorije

i vrijeme analize.

U konačnici, studije koje su provedene od tada

2000. (tj. gotovo odmah nakon uvođenja ovog standarda), pokazalo je da ovo

šifra se može "provaliti" korištenjem običnog računala u stvarnosti

22. Povećanje na stepen, pronalaženje diskretnog logaritma

Eksponencijacija po modulu je izračun ostatka dijeljenja prirodnog broja b(baza) podignuta na potenciju e(eksponent), na prirodni broj m(modul).
. Brzi način konstrukcija D. Knuta.

Predstavimo eksponent u binarnom obliku;

Svaku jedinicu zamjenjujemo parom slova KU (kvadrat + množenje);

Svaku nulu zamjenjujemo slovom K (kvadrat);

U rezultirajućem nizu prekrižite prvi par KU;

Izračune provodimo preko baze a, prema dobivenom nizu.

Primjer: 3 37 (mod7)

37 = 100101 = KUKKKUKKU = KKKKUKKU

3®3 2 (mod7) = 2®2 2 (mod7) = 4®4 2 (mod7) = 2®2 × 3 (mod7) = 6®6 2 (mod7) = 1®1 2 (mod7) = 1 ®1 × 3 (mod7) = 3

Računska složenost za operaciju eksponencijalnosti: [e-mail zaštićen](2logx).

Računska složenost za operaciju diskretnog logaritma: [e-mail zaštićen]((n) 1/2).

Pronalaženje diskretnog logaritma metodom "susret u sredini".

Izgradite bazu podataka veličine O ((n) 1/2) oblika a z (modn) za slučajne brojeve zÎ i sortirajte je.

Za slučajne brojeve b takve da je gcd (b, n-1) = 1, izračunajte y b (modn) i usporedite s brojevima u bazi podataka.

S velikom vjerojatnošću, nakon nekoliko pokušaja, dobivamo

a z (modn) = y b (modn)

4. Podignite obje strane na stepen b -1, dobivamo a z · b-1 (modn) = y (modn). Gdje slijedi

Ova metoda ima složenost N t @O ((n) 1/2 logn), N v @O ((n) 1/2)
Eksponencijacija je prilično jednostavna, čak i s velikim ulaznim vrijednostima. Ali izračun diskretnog logaritma, odnosno pronalaženje eksponenta e dano b, c i m je puno kompliciranije. Ovo jednosmjerno ponašanje funkcije čini je kandidatom za korištenje u kriptografskim algoritmima.

El Gamal COP.

Ovo je neka modifikacija RSA CS-a, čija stabilnost nije izravno povezana s problemom faktorizacije. Široko se koristi u standardima digitalni potpis i dopušta prirodnu generalizaciju za slučaj CS-a konstruiranih na temelju upotrebe eliptičkih krivulja, što će biti razmotreno u nastavku.

Generiranje ključeva.

Korisnik A izvodi sljedeće operacije za generiranje ključeva:

1) generira prosti broj p i primitivni element ɑ∈GF (p);

2) odabire slučajni broj ali takav da 1<= a<= p-2, и вычисляет число ɑ^a;

3) odabire skup: (p, ɑ, ɑ ^ amodp) kao javni ključ, a broj a kao privatni ključ.

Šifriranje.

Korisnik B poduzima sljedeće korake za šifriranje poruke M namijenjene korisniku A:

1) Prima javni ključ A;

2) Predstavlja poruku M u obliku lanca brojeva Mi, od kojih svaki ne prelazi p-1;

3) Odabire slučajni broj k takav da je 1<=k<=p-2;

4) Izračunava ɣ = (ɑ ^ k) mod p, b = Mi ((ɑ ^ a) ^ k) mod p;

5) Šalje kriptogram C = (ɣ, b) korisniku A.

Dešifriranje

Korisnik A poduzima sljedeće korake za dešifriranje poruke primljene od korisnika B:

1) koristeći svoj privatni ključ, izračunava (ɣ ^ (- a)) mod str

2) vraća poruku Mi = (ɣ ^ (- a)) * b mod str

Doista, ɣ ^ (- a)*b=(ɑ^(- a k)) * Mi * (ɑ ^ ( a k)) = Mi mod str

Značajka El-Gamal sheme je da pripada takozvanim shemama randomizacijske enkripcije, budući da pri šifriranju koristi dodatnu slučajnost u obliku broja k.

Prednost El Gamal QS-a je i u tome što tada svi korisnici na mreži mogu odabrati isti ɑ i R, što je za KS RSA nemoguće. Štoviše, kao što će biti pokazano u nastavku, ova se shema može prirodno proširiti na slučaj eliptičkih krivulja.

Značajan nedostatak sheme je što je duljina kriptograma u njoj 2 puta veća od duljine poruke.

Otpornost El Gamala QS-a

Problem vraćanja poruke M na zadanu str, ɑ, ɑ ^ a, b, ɣ za nepoznato a je ekvivalentno rješavanju Diffie-Hellmanovog problema.

Također je jasno da ako se riješi problem nalaženja diskretnog logaritma, tada će se otvoriti El-Gamalov kriptosustav. Prilikom odabira R s kapacitetom od 768 bita (za povećanu sigurnost - do 1024 bita), sigurnost El-Gamalova CS-a bit će ista kao i RSA-ovog CS-a pri odabiru istih parametara za modul u potonjem.

Važno je napomenuti da je za šifriranje različitih poruka Mi, Mj potrebno koristiti različite vrijednosti brojeva k, budući da je u suprotnom slučaju b1 / b2 = Mi / Mj, a onda se poruka Mj može lako pronaći ako je poruka Mi poznata.


Generiranje ključeva.

Dva prosta broja p i q biraju se nasumce. Smješten

modul N = pq. Pronađite Eulerovu funkciju φ (N) = (p-1) (q-1).

Odaberite broj e takav da je GCD (e, φ (N)) = 1.

Nađi d kao inverz od e, de = 1 (mod φ (N)).

Proglašavamo d = SK, (e, N) = PK. PK se priopćava svima

dopisnici.

Šifriranje.

Corr. A prenosi šifriranu poruku dopisniku B

(koristi ispravak javnog ključa B)

Dešifriranje.

Corr. B dešifrira primljeni kriptogram od

Dopisnik A pomoću vašeg privatnog ključa.

Napadi.

1. RSA sustav se može otvoriti ako je moguće pronaći p i q, odnosno faktor N.

Polazeći od te činjenice, p i q treba odabrati s tako velikom dubinom bita da bi faktorizacija broja n zahtijevala nemjerljivo dugo vrijeme, čak i uz korištenje svih raspoloživih i modernih sredstava za računanje.

Trenutno, problem faktorizacije brojeva nema polinomsko rješenje. Razvijeno je samo nekoliko algoritama koji pojednostavljuju faktorizaciju, ali njihova implementacija za faktorizirane brojeve velikih znamenki i dalje zahtijeva nemjerljivo dugo vremena. Doista, složenost rješavanja problema faktorizacije za trenutno najbolji algoritam faktorizacije je

Dakle, na primjer ln n = 200, ako, tada će broj operacija biti približno jednak 1,37 ∙ 10 14.

S povećanjem broja bitova n na 1000 ili više, vrijeme faktorizacije postaje potpuno nemjerljivo.

2. Još jedan prirodni napad na RSA CS je diskretni logaritam. Ovaj napad (s poznatom porukom) izvodi se na sljedeći način: d = log EM mod N. Međutim, problem diskretnog logaritma po modulu višeznamenkastih brojeva također je težak u matematici, a ispada da ima gotovo istu složenost kao i problem faktorizacije.

3. Ciklični napad. Dobiveni kriptogram ćemo sekvencijalno podići na stepen jednak vrijednosti javnog ključa, t.j. ((((E e) e)… ..) e.

Ako se u nekom koraku pokaže da je E i = E, onda to znači

da je E i-1 = m. Dokazano je da ovaj napad nije ništa bolji od napada faktorizacije N.

4. Nedostatak enkripcije. Ovaj slučaj je moguć ako kao rezultat enkripcije dobijemo otvorenu poruku, tj. M e mod n = M. Takav uvjet mora biti ispunjen za barem jednu od poruka, na primjer, za poruke M = 0, 1, n - 1. Zapravo, takve poruke su općenito! nije šifrirano, postoji točno. Njihov je broj uvijek najmanje 9. Međutim, slučajnim odabirom q i p, udio takvih poruka bit će zanemariv i gotovo se nikada neće susresti u praksi.

5. Napad s malom količinom mogućih poruka

Pretpostavimo da je broj poruka ograničen vrijednostima M1, M2,…, Mr, gdje je r vidljiv. (To mogu biti npr. različite naredbe - naprijed, natrag, lijevo, desno itd.). Tada se poruka može lako dešifrirati.

Doista, neka se presretne kriptogram C. Zatim morate pokušati šifrirati sve naredbe poznatim javnim ključem i odrediti kriptogram koji odgovara primljenom C:

Način borbe protiv takvog napada je dodavanje soli porukama (to jest, pričvršćivanje malih nizova bitova, dobivenih pomoću čisto slučajnog senzora).

POGLEDI

Jednostavni ES je potpis koji korištenjem kodova, lozinki ili na neki drugi način potvrđuje činjenicu da je određena osoba formirala ES.

Nekvalificiran:
Primljeno kao rezultat kriptografske transformacije informacija pomoću ES ključa;

Omogućuje vam da identificirate osobu koja je potpisala dokument;

Omogućuje vam da otkrijete činjenicu promjena u ED;

Izrađen pomoću ES alata;

kvalificirani:
Udovoljava svim znakovima nekvalificiranog elektroničkog potpisa;

ES ključ za provjeru naveden je u kvalificiranom certifikatu.

Za izradu i provjeru ES koriste se ES sredstva koja su dobila potvrdu sukladnosti u skladu sa zakonom o ES.

RSA EP shema.

Neka postoji neka poruka M i neki korisnik A generira par javni/privatni ključ za RSA sustav, odnosno brojevi e A, n A; d A. Tada se poruka M dijeli na blokove, od kojih svaki može biti predstavljen cijelim brojem koji ne prelazi n A. Za svaku od takvih znamenki poruke M, CPU S se formira prema sljedećem pravilu: S = M dA mod (n A). Zatim se CPU pridružuje poruci, formirajući takozvanu potpisanu poruku, odnosno par M, S. Za provjeru CPU-a korisnik mora dobiti javni ključ A, kao i “potpisanu” (ali moguće krivotvorenu) poruku M, S i izračunati Ṁ = S eA mod (e A). Nadalje, on uspoređuje Ṁ s M i, ako se podudaraju, pretpostavlja da je poruku M doista potpisao A, inače je odbacuje kao krivotvorinu ili izobličenje.


Shema EP El-Gamal.

ES - elektronički potpis (CPU - digitalni potpis)

ES (CPU) su neki dodatni podaci priloženi glavnoj poruci, koji se formiraju ovisno i o poruci i o tajnom ključu autora poruke. Za provjeru vjerodostojnosti poruke (inače se naziva postupak provjere) koristi se javni ključ autora poruke kojem može pristupiti svaki korisnik.

Generiranje ključeva:

1) generira se veliki prosti R i primitivni element a nad konačnim poljem GF (p);

2) generira se broj x: 1 ;

3) izračunava se y = a x mod (p);

4) odabran je javni ključ CPU provjere: ( p, a, y) i tajni ključ za stvaranje CPU-a: x.

Oblikovanje procesora

Ako korisnik A želi potpisati poruku m, predstavljenu kao broj koji pripada Zp, tada izvodi sljedeće operacije:

1) generira tajni broj k: 1 ≤ k≤ p - 2; gcd ( k, p - l) = 1, gdje je gcd gcd

2) izračunava r = a k mod (p);

3) izračunava k -1 mod (p - 1);

4) izračunava s = k -l (m - xr) mod (p - l);

5) Formira CPU S na poruku m kao par brojeva S = (r, t).

CPU provjera (verifikacija)

Kako bi provjerio potpis S koji je napravio A pod porukom M, svaki korisnik poduzima sljedeće korake:

1) dobiva javni ključ A: (p, a, y);

2) provjerava da je 1 ≤ r ≤ p - 1, a ako ne uspije, onda odbija CPU;

3) izračunava V 1 = y r r s mod (p);

4) izračunava V 2 = a m mod (p);

5) prihvaća CPU kao ispravan pod uvjetom da je V 1 = V 2

Otpornost CPU-a Na temelju ElGamalova COP-a

1) Napadač može pokušati krivotvoriti potpis na svoju poruku M na sljedeći način: generirati slučajni broj k, izračunati r = a k mod (p), a zatim pokušati pronaći s = k - l (m - xr) mod (p - l).

Međutim, da bi izvršio posljednju operaciju, mora znati a,što se ne može izračunati s odgovarajućim izborom parametara procesora.

3) Treba napomenuti da ako nije ispunjeno korak 2 algoritma provjere CPU-a tada napadač može ispravno potpisati bilo koju poruku po svom izboru, pod uvjetom da ima neku drugu poruku s ispravnim CPU-om na raspolaganju. Dakle, pri odabiru modula R, koji u binarnom prikazu ima duljinu od oko 768 bita, pruža dobru stabilnost CPU-a, a da bi se osigurala dugoročna stabilnost preporučljivo je povećati na 1024 bita.


Zahtjevi za kriptografski HF

1. Jednosmjernost, kada je za poznati hash h računski neizvedivo (tj. zahtijeva neostvarivo velik broj operacija) pronaći barem jednu vrijednost x za koju, to jest, h (x) ispada jednosmjerna funkcija (ONF).

2. Slaba otpornost na sudar, kada je za dane x, h (x) = h računski neizvedivo pronaći drugu x ’vrijednost koja zadovoljava jednadžbu h (x’) = h.

3. Jaka otpornost na sudar, kada je računski neizvedivo pronaći par argumenata x, x ’za koje vrijedi relacija h (x) = h (x’).

Ispravak ranjivosti

Denning i Sacco su predložili korištenje vremenskih oznaka u porukama kako bi se spriječili napadi poput gore opisanog. Označimo takvu oznaku slovom t. Razmotrite opciju da popravite ranjivost:

PKI komponente

· Tijelo za izdavanje certifikata (CA)- dio sustava javnog ključa koji izdaje certifikat za provjeru prava korisnika ili sustava koji podnose zahtjev. Izrađuje certifikat i potpisuje ga privatnim ključem. Zbog svoje funkcije stvaranja certifikata, CA je središnji dio PKI-ja.

· Repozitorijum certifikata... Repozitorijum za važeće certifikate i popise opoziva certifikata (CRL). Aplikacije provjeravaju valjanost certifikata i razinu pristupa koju odobrava provjeravanjem uzorka sadržanog u repozitoriju.

· Poslužitelj za oporavak ključeva- poslužitelj koji izvodi automatski oporavak ključa, ako je ova usluga instalirana.

· Aplikacija s PKI-om- aplikacije koje mogu koristiti PKI alate za sigurnost. PKI upravlja digitalnim certifikatima i ključevima koji se koriste za šifriranje informacija na web poslužiteljima prilikom korištenja e-pošte, razmjene poruka, pregledavanja Interneta i prijenosa podataka. Neke aplikacije mogu koristiti PKI izvorno, dok druge zahtijevaju od programera da ih modificiraju.

· Registracijsko tijelo- modul odgovoran za registraciju korisnika i prihvaćanje zahtjeva za certifikatom.

· Sigurnosni poslužitelj- Poslužitelj koji upravlja pristupom korisnika, digitalnim certifikatima i jakim odnosima u PKI okruženju. Sigurnosni poslužitelj centralno upravlja svim korisnicima, certifikatima, CA vezama, izvješćima i provjerava popis opoziva certifikata.

PKI funkcije

· Registracija- proces prikupljanja podataka o korisniku i provjere njihove autentičnosti, koji se zatim koriste prilikom registracije korisnika, u skladu sa sigurnosnim pravilima.

· Izdavanje potvrde... Nakon što CA potpiše certifikat, on se izdaje podnositelju zahtjeva i/ili šalje u spremište certifikata. CA na certifikate stavlja razdoblje valjanosti, što zahtijeva periodično obnavljanje certifikata.

· Opoziv certifikata... Certifikat može postati nevažeći prije isteka iz različitih razloga: korisnik je napustio tvrtku, promijenio ime ili ako je njegov privatni ključ ugrožen. U tim okolnostima, CA će opozvati certifikat unošenjem njegovog serijskog broja u CRL.

· Oporavak ključa... Dodatna PKI funkcija omogućuje vam oporavak podataka ili poruka u slučaju gubitka ključa.

· Upravljanje životnim ciklusom- Kontinuirana podrška certifikata u PKI-u, uključujući obnavljanje, obnavljanje i arhiviranje ključeva. Te se funkcije izvode povremeno, a ne kao odgovor na ad hoc zahtjeve. Automatizirano upravljanje ključevima najvažnija je značajka za velike PKI-ove. Ručno upravljanje ključevima može ograničiti skalabilnost PKI-ja.

Osnovne definicije

· Popisi opoziva certifikata (CRL-ovi)- popis poništenih certifikata. Otkazivanje može biti zbog promjene posla, krađe privatnog ključa ili drugih razloga. PKI aplikacije mogu provjeriti korisničke certifikate u odnosu na CRL prije odobravanja pristupa tom certifikatu.

· Digitalni certifikat / Certifikat X.509... Struktura podataka koja se koristi za povezivanje određenog modula s određenim javnim ključem. Digitalni certifikati koriste se za provjeru autentičnosti korisnika, aplikacija i usluga te za kontrolu pristupa (autorizacija). Digitalne certifikate izdaju i distribuiraju CA-ovi.

· Digitalna omotnica... Metoda korištenja šifriranja javnog ključa za sigurnu distribuciju tajnih ključeva koji se koriste u simetričnoj enkripciji i za slanje šifriranih poruka. Problem distribucije ključa povezan sa simetričnom enkripcijom uvelike je smanjen.

· Digitalni potpis... Metoda korištenja šifriranja javnog ključa kako bi se osigurao integritet podataka i nemogućnost odbijanja paketa. Šifrirani blok informacija, nakon dešifriranja od strane primatelja, identificira pošiljatelja i potvrđuje sigurnost podataka. Na primjer: dokument je "komprimiran", HASH je šifriran korištenjem privatnog ključa pošiljatelja i priložen dokumentu (u stvari, to znači prilaganje "otiska prsta" ovog dokumenta). Primatelj koristi javni ključ za dešifriranje primljene poruke u stanje "stiskanja", koje se zatim uspoređuje s "stiskanjem" dobivenim nakon što je poslani dokument "komprimiran". Ako se oba "stiska" ne podudaraju, to znači da je dokument promijenjen ili oštećen tijekom prijenosa.

· Kriptografija javnog ključa... Postoje dvije glavne vrste enkripcije: javni ključ i tajni (simetrični) ključ. Šifriranje javnog ključa koristi par ključeva: otvoreni, t.j. slobodno dostupan, i njegov odgovarajući privatni ključ, poznat samo određenom korisniku, aplikaciji ili usluzi koja posjeduje ovaj ključ. Ovaj par ključeva je povezan na način da se ono što je šifrirano privatnim ključem može dešifrirati samo javnim ključem i obrnuto.

· Simetrična enkripcija (zajednička tajna kriptografija)... Postoje dvije glavne vrste enkripcije: javni ključ i tajni (simetrični) ključ. Kod simetrične enkripcije primatelj i pošiljatelj koriste isti ključ za šifriranje i dešifriranje. To znači da mnogi korisnici moraju imati iste ključeve. Očito, dok korisnik ne dobije ključ, enkripcija nije moguća, a distribucija ključa preko mreže nije sigurna. Druge metode distribucije, poput posebne kurira, skupe su i spore.

· RSA algoritam je prvi sustav šifriranja s javnim ključem nazvan po svojim izumiteljima: Ronaldu Rivestu, Adiju Shamiru i Leonardu Adlemanu.

· Pametna kartica. Uređaj sličan kreditnoj kartici s ugrađenom memorijom i procesorom koji se koristi za sigurno pohranjivanje korisničkih ključeva i potvrda i drugih informacija (obično društvenih i medicinskih).

· Digitalne vjerodajnice. U okviru PKI tehnologije, ISO / TS 17090-1 standard definira ovaj pojam kao kriptografski zaštićeni objekt koji može sadržavati pojedinačne korisničke ključeve, certifikate pojedinačnih ključeva, certifikate CA-ova strukture PKI korisnika, popis pouzdanih CA-ova, i drugi parametri vezani uz korisničku domenu - identifikator korisnika, nazivi primijenjenih kriptografskih algoritama, vrijednosti početnih vrijednosti itd. Vjerodajnice se mogu postaviti na hardverski ili softverski medij.

Princip rada

Certifikati se obično koriste za razmjenu šifriranih podataka preko velikih mreža. Kriptosustav javnog ključa rješava problem razmjene tajnih ključeva između sudionika u sigurnoj razmjeni, ali ne rješava problem povjerenja u javne ključeve. Pretpostavimo da Alice, želeći primati šifrirane poruke, generira par ključeva od kojih jedan (javni) na neki način objavljuje. Svatko tko joj želi poslati povjerljivu poruku ima mogućnost da je šifrira ovim ključem i budi siguran da će samo ona (budući da samo ona ima odgovarajući tajni ključ) moći pročitati ovu poruku. Međutim, opisana shema ni na koji način ne može spriječiti napadača Davida da stvori par ključeva i objavi svoj javni ključ, provodeći ga kao Alisin ključ. U tom slučaju David će moći dešifrirati i pročitati barem onaj dio poruka namijenjenih Alice, a koje su greškom šifrirane njegovim javnim ključem.

Ideja iza certifikata je da postoji treća strana kojoj druge dvije strane u razmjeni informacija vjeruju. Pretpostavlja se da je malo takvih trećih strana, a njihovi javni ključevi su svima na neki način poznati, na primjer, pohranjeni u operacijskom sustavu ili objavljeni u zapisnicima. Tako se lako otkriva krivotvorenje javnog ključa treće strane.

Kriptografski sustavi s javnim ključevima za šifriranje omogućuju korisnicima siguran prijenos podataka preko nezaštićenog kanala bez prethodne pripreme. Takvi kriptosustavi moraju biti asimetrični u smislu da pošiljatelj i primatelj imaju različite ključeve, a niti jedan od njih se ne može zaključiti iz drugog računanjem. U tim su sustavima faze šifriranja i dešifriranja razdvojene i poruka je zaštićena bez da se ključ za šifriranje učini tajnim, budući da se ne koristi u dešifriranju.

Koristeći javni ključ za šifriranje, korisnik i šifrira poruku M i šalje je korisniku j putem nezaštićenog kanala za prijenos podataka. Samo korisnik j može dešifrirati da povrati M, budući da samo on zna tajni ključ za dešifriranje.

Među asimetričnim (otvorenim) kriptosustavima najrašireniji je RSA kriptografski sustav. U ovom sustavu primatelj poruke bira dva velika prosta broja p i q tako da je proizvod n = pq izvan računalnih mogućnosti. Izvorna poruka M može biti proizvoljne duljine u rasponu od 1

Izvorni tekst M obnavlja se iz šifriranog C obrnutom transformacijom

Primatelj odabire e i d kako bi bili ispunjeni sljedeći uvjeti:

gdje je Eulerova funkcija jednaka (p - 1) (q - 1);

(a, b) je najveći zajednički djelitelj dvaju brojeva.

To jest, e i d u multiplikativnoj skupini su recipročni u aritmetičkom modusu ostatka.

Očito, glavna svrha kriptografskog otkrivanja je određivanje tajnog ključa (eksponent na C - vrijednost d).

Postoje tri poznata načina na koje bi kriptoanalitičar mogao otkriti vrijednost d iz otvorenih informacija o paru (e, n).

Faktorizacija n

Prafaktorizacija od n omogućuje nam da izračunamo funkciju, a time i skrivenu vrijednost d, koristeći jednadžbu

Prikazani su različiti algoritmi za takvu dekompoziciju. Najbrži algoritam trenutno poznati može faktorizirati n u koracima po redu

Analiza ovog izraza pokazuje da će broj n s 200 decimalnih znamenki biti dobro zaštićen od poznatih metoda proširenja.

Izravno računanje

Drugi mogući način kriptoanalize povezan je s izravnim izračunom Eulerove funkcije bez faktoriranja n. Izravno računanje nije nimalo jednostavnije od faktoriziranja n, budući da onda olakšava faktoriziranje n. To se može vidjeti iz sljedećeg primjera. Neka bude

x = p + q = n + 1 -,

y = (p - q) 2 = x 2 - 4n.

Znajući, možete odrediti x i, prema tome, y, znajući x i y, prosti p i q mogu se odrediti iz sljedećih odnosa:

Izravna procjena d

Treća metoda kriptoanalize je izravno izračunavanje vrijednosti d. Obrazloženje ove metode temelji se na činjenici da ako je d odabran dovoljno velik da jednostavno nabrajanje bude neprihvatljivo, izračunavanje d nije jednostavnije od faktoriranja n, budući da ako je d poznato, onda se n lako faktorizira. To se može prikazati na sljedeći način. Ako je d poznat, onda možemo izračunati višekratnik Eulerove funkcije koristeći uvjet

gdje je k proizvoljan cijeli broj.

Možete faktorizirati n koristeći bilo koji višekratnik. Dešifrator bi, s druge strane, mogao pokušati pronaći neku vrijednost d "koja je ekvivalentna skrivenoj vrijednosti d korištenoj u dizajnu šifre. Ako takvih d ima mnogo", tada se grubom silom može pokušati razbiti šifra . Ali svi d" razlikuju se za faktor jednak i ako se ovaj faktor izračuna, tada se n može faktorizirati. Stoga je pronalaženje d jednako teško kao i faktoriranje n.

Dakle, glavni zadatak kriptoanalize asimetričnih enkripcijskih sustava svodi se uglavnom na problem faktorizacije (faktorizacije). Ovaj problem je jedan od glavnih u teoriji brojeva i formuliran je na sljedeći način:

Neka nam je zadan cijeli broj n> 0, a potrebno je, ako je moguće, pronaći dva broja a i b takva da je ab = n. Zapravo postoje dva različita zadatka: prvi, nazvan test jednostavnosti, je provjeriti postoje li takvi a i b; drugi, nazvan dekompozicija, je problem njihovog pronalaženja. Razmotrimo oba ova zadatka.

Prvi deterministički test.

Ovaj test se temelji na Fermatovom Malom teoremu, koji kaže da ako je p prost broj, onda je p-1 1 (mod p) za sve a, 1

Dakle, test se sastoji u odabiru broja a koji je manji od b i provjeravanju

b za pripadnost klasi prostih brojeva prema uvjetu a b-1 1 (mod b) u skladu s gornjim izrazom. U praksi je potrebno provjeriti samo nekoliko vrijednosti. Odabir jednakog 3 otkriva sve složene brojeve. Međutim, poznato je da ovaj test preskače složene Carmichaelove brojeve (na primjer, 561 = 3 x 11 x 17).

Drugi deterministički test.

Podijelimo broj "b" uzastopno s 2, 3, ...,. Ako pri nekom dijeljenju dobijemo nulti ostatak, tada je broj “b” složen, a djelitelj i kvocijent su njegovi faktori; inače je b prost.

Budući da je potrebno izvršiti dijeljenje, vrijeme potrebno da se provjeri prosti broj “b” je O ().

Ovaj vrlo spor eksponencijalni test ne samo da utvrđuje je li broj prost, već također pronalazi faktore složenog broja.

Treći deterministički test.

Broj “b” je jednostavan ako i samo ako je b | ((b-1)! + 1). Faktorijal (b-1)! a test djeljivosti (b-1)! + 1 za veliko “b” uništava svaki interes za ovaj test. Ako `b' ima 100 decimalnih znamenki, tada (b-1)! ima otprilike 100 102 znamenke.

Svi gore navedeni testovi bili su deterministički. To znači da za zadani broj "b" uvijek dobijemo odgovor, bilo da je jednostavan ili složen. Ako riječ “uvijek” zamijenimo s “s nekom vjerojatnošću”, onda se ispostavlja da je moguće konstruirati probabilističke testove, koji se također nazivaju testovima pseudo-jednostavnosti.

Prvi probabilistički test.

Ovaj test vam omogućuje da identificirate sve složene brojeve Carmichaela. Odabire se slučajni broj a u rasponu od 1 do b-1 i provjerava se ispunjenost uvjeta.

(a, b) = 1, J (a, b) a (b-1) / 2 (mod b),

gdje je J (a, b) Jacobijev simbol.

Jacobijev simbol definiran je sljedećim odnosima:

J (a, p) = 1 ako x 2 a (mod p) ima rješenja u Z p,

J (a, p) = -1 ako x 2 a (mod p) nema rješenja u Z p,

gdje je Z p prsten ostataka po modulu p.

Ako je b prost broj, gore navedeni uvjeti su uvijek ispunjeni, a ako je b složen, onda nisu ispunjeni s vjerojatnošću. Stoga izvođenje k testova osigurava da je odgovor netočan s vjerojatnošću 2 -k.

Drugi probabilistički test.

Budući da je broj b, koji mora biti prost, uvijek neparan, može se predstaviti kao

gdje je s paran broj. Zatim se u testu nasumično bira broj a u rasponu od 1 do b-1 i provjerava se ispunjenje uvjeta

1 (mod b) za 0< j

Oba testa se koriste za provjeru pripada li broj prostoj klasi i zahtijevaju O (log 2 b) operacija na velikim brojevima.

Treći probabilistički test.

Za dano b, nasumično biramo m, 1

Vjerojatnost da je zadan odgovor "b je složeni broj" jednaka je vjerojatnosti da je m | b. Ako je d (b) broj djelitelja b i m je nasumično odabran unutar 1

Ovo je vrlo slab test.

Četvrti probabilistički test.

Za dano "b" nasumično biramo m, 1

Ako je b složeni broj, tada je broj brojeva m

Peti probabilistički test.

Ovo je test snažne pseudo-jednostavnosti. Neka su zadani b i m. Neka bude

gdje je t neparan broj i razmotrimo brojeve za (x r je najmanja apsolutna vrijednost ostatka po modulu b).

Ako je ili x 0 = 1, ili postoji indeks i, i

Dokažimo to kontradikcijom. Pretpostavimo da je b neparan prosti. Pokažimo indukcijom da je 1 (mod b) za, što bi bilo u suprotnosti s hipotezom teorema.

Očito, to vrijedi za r = S prema Fermatovom teoremu. Uz pretpostavku da je tvrdnja istinita za i, lako je vidjeti da je istinita za i-1, jer je jednakost

znači da je broj koji treba kvadrirati ± 1. Ali -1 ne odgovara uvjetu (inače bi test proizveo odgovor "ne može se odrediti").

Dokazano je da ako je b složeni broj, onda vjerojatnost da će test dati odgovor "b je složeni broj" nije manja.

Faktoriranje velikih cijelih brojeva.

Situacija s problemom nalaženja djelitelja velikih prostih brojeva puno je gora nego s testom jednostavnosti. Sljedeća je najmoćnija poznata metoda.

Metoda se temelji na Legendreovoj ideji ako je U 2 V 2 (mod b) 0

Pretpostavimo da želimo faktor b. Neka je n = maksimalni broj koji ne prelazi, a izračunajte brojeve a k = (n + k) 2 - b za mali k (brojevi k mogu biti negativni).

Neka je (q i, i = 1, 2,…, j) skup malih prostih brojeva koji mogu podijeliti izraz kao što je x 2 - b (tj. b je kvadrat po modulu q i). Takav skup se obično naziva multiplikativnom bazom B. Prisjetimo se svih brojeva a k koji se mogu proširiti u smislu multiplikativne baze, t.j. napisano kao

Takvi ak se nazivaju B-brojevi. Svaki B-broj ak povezan je s vektorom indikatora

Ako pronađemo dovoljno B-brojeva da skup odgovarajućih eksponentnih vektora bude linearno ovisan po modulu 2

(bilo koji skup od j + 2 B-broja ima ovo svojstvo), tada će biti moguće predstaviti nulti vektor kao zbroj vektora eksponenata nekog skupa S, npr.

Definirajte cijele brojeve

i = 0, 1, ..., j,

Iz navedenog slijedi da U 2 V 2 (mod b) i (U-V, b) mogu biti netrivijalni djelitelj od b.

Dešifriranje iteracijama izvodi se na sljedeći način. Neprijatelj pokupi broj j, za koji je ispunjen sljedeći omjer:

To jest, protivnik jednostavno šifrira j puta na javnom ključu presretnutog šifriranog teksta. To izgleda ovako: (C e) e) e ..) e (mod n) = C e j (mod n)). Nakon što je pronašao takav j, protivnik izračunava C e (j-1) (mod n) (tj. ponavlja operaciju šifriranja j-1 puta) - ova vrijednost je običan tekst M. To proizlazi iz činjenice da C ej (mod n ) = (C e (j-1) (mod n)) e = C. Odnosno, neki broj C e (j-1) (mod n) u stupnju e daje šifrirani tekst C. A ovo je običan tekst M.

Primjer. p = 983, q = 563, e = 49, M = 123456.

C = M 49 (mod n) = 1603, C497 (mod n) = 85978, C498 (mod n) = 123456, C499 (mod n) = 1603.

Akademska godina

Teorijski dio

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

2. Prikaz sustava enkripcije 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 sigurnog sustava šifriranja, izjava o potrebnim uvjetima za postojanje bezuvjetno sigurnog sustava.

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

7. Računalno jaki enkripcijski sustavi, koncept složenosti kriptoanalize, glavni pristupi razbijanju kriptografskih sustava, analiza brute-force napada i napada na temelju statistike poruka.

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

9. Zamjenski kod, njegova svojstva.

10. Gama kod i njegova svojstva.

11. Načini rada (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 i gama načinima s povratnom spregom. Usporedba načina rada.

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

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

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

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

19. Princip konstrukcije i karakteristike AES šifre.

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

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

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

23. El Gamal enkripcijski sustav, napadi na sustav.

24. RSA enkripcijski sustav, napadi na sustav.

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

26. Shema EP RSA.

27. Shema EP-a El-Gamal.

28. EDS u skladu s GOST 34.10-12, opće karakteristike, načelo formiranja i provjere potpisa.

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

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

31. Konstrukcija sustava provjere autentičnosti s zajamčenom vjerojatnošću nametanja.

32. Izgradnja autentifikacijskog sustava za višestruki prijenos poruka.

33. Računalno otporni sustavi autentifikacije.

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

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

36. Metode distribucije ključeva temeljene na međusobnoj razmjeni poruka između dopisnika. 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 interaktivnom načinu. Needham-Schroederov protokol.

40. Princip distribucije javnih ključeva.

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. Ručno šifrirajte (dešifrirajte) poruku zamjenom, permutacijom i gama kodiranjem. 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šaka pri dešifriranju kriptograma blok supstitucijsko-permutacijske šifre s blokom duljine 16 bita. tst program.

4. Dešifrirajte kriptogram permutacijsko-permutacijske šifre brute-force nabrajanjem ključeva pomoću programa tst. Utemeljite 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 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 ravnotežu, provjerite svojstva serije i prozora. Provjerite rezultat pomoću programa LRR 1.

8. Pronađite slijed na izlazu generatora raspona šifre 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. Izvedite sljedeće izračune za odjeljak diskretne matematike:

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

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

Pronađite inverz broja mod p.

Pronađite Eulerovu funkciju od x;

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

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

12. Parametri RSA sustava šifriranja su postavljeni p = 11, q = 13, šifriranje poruke M = 5. Dešifrirajte kriptogram.

13. Parametri sustava za šifriranje 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 sustava šifriranja 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 sigurnim RSA kriptosustavom 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. Postavljena 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. Formirajte autentifikator za binarnu poruku M= 1010 na temelju strogo univerzalnih hash funkcija prema algoritmu K 0 = 0101, K 1= (broj ulaznice). Proračuni na terenu se provode po modulu nesvodivog polinoma , b=4.

Modeli kriptografskih sustava

Šifrirani tekst- rezultat operacije šifriranja. Također se često koristi umjesto izraza "kriptogram", iako potonji naglašava samu činjenicu da se poruka prenosi, a ne šifriranje.

Proces primjene operacije šifriranja na šifrirani tekst se zove ponovno šifriranje.

Svojstva šifriranog teksta

Uzimajući u obzir šifrirani tekst kao slučajnu varijablu ovisno o odgovarajućim slučajnim vrijednostima otvorenog teksta X i ključa za šifriranje Z, mogu se odrediti sljedeća svojstva šifriranog teksta:

Svojstvo nedvosmislene enkripcije:

Lančane jednakosti impliciraju

(iz svojstva nedvosmislenosti dešifriranja)

(iz načela neovisnosti otvorenog teksta od ključa i svojstva jednoznačne enkripcije) tada

ova se jednakost koristi za izvođenje formule udaljenosti jedinstvenosti.

Za apsolutno pouzdan kriptosustav

To je

Upotreba za kriptoanalizu

Shannon je u svom članku iz 1949. "Teorija komunikacije u tajnim sustavima" pokazao da je za neku slučajnu šifru teoretski moguće (koristeći neograničene resurse) pronaći izvorni otvoreni tekst ako su poznata slova šifratnog teksta, gdje je entropija ključa šifre , r je redundancija otvorenog teksta (uključujući broj uključujući kontrolne zbrojeve, itd.), N je veličina korištene abecede.

Šifriranje- reverzibilnu transformaciju informacija kako bi se one sakrile od neovlaštenih osoba, uz istovremeno omogućavanje pristupa njima ovlaštenim korisnicima. Uglavnom, šifriranje služi u svrhu održavanja povjerljivosti prenesenih informacija. Važna značajka svakog algoritma za šifriranje je korištenje ključa koji odobrava izbor određene transformacije iz skupa mogućih za ovaj algoritam.

Općenito, enkripcija ima dva dijela - šifriranje i dešifriranje.

Uz pomoć enkripcije osiguravaju se tri stanja informacijske sigurnosti:

· Privatnost: šifriranje se koristi za skrivanje informacija od neovlaštenih korisnika tijekom prijenosa ili pohrane.

· Integritet: šifriranje se koristi za sprječavanje promjene informacija tijekom prijenosa ili pohranjivanja.

· Identifikacija: enkripcija se koristi za provjeru autentičnosti izvora informacija i sprječavanje pošiljatelja informacija da negira činjenicu da su mu podaci poslani.

Šifriranje i dešifriranje

Kao što je rečeno, šifriranje se sastoji od dva međusobno suprotna procesa: enkripcije i dešifriranja. Oba ova procesa na apstraktnoj razini mogu se prikazati matematičkim funkcijama kojima se postavljaju određeni zahtjevi. Matematički, podaci koji se koriste u enkripciji mogu se predstaviti u obliku skupova na kojima su te funkcije izgrađene. Drugim riječima, pretpostavimo da postoje dva skupa koji predstavljaju podatke - M i C; a svaka od dvije funkcije (šifriranje i dešifriranje) je preslikavanje jednog od ovih skupova u drugi.

Funkcija šifriranja:

Funkcija dešifriranja:

Elementi ovih skupova - ~ m i ~ c - su argumenti odgovarajućih funkcija. Također, koncept ključa je već uključen u ove funkcije. To jest, potrebni ključ za šifriranje ili dešifriranje dio je funkcije. To nam omogućuje da procese enkripcije razmotrimo na apstraktan način, bez obzira na strukturu korištenih ključeva. Iako su, općenito, za svaku od ovih funkcija argumenti podaci i ključ za unos.

Ako se isti ključ koristi za šifriranje i dešifriranje, tada se takav algoritam naziva simetričnim. Ako je algoritamski teško dobiti ključ za dešifriranje iz ključa za šifriranje, tada se algoritam naziva asimetričnim, odnosno algoritmima s javnim ključem.

· Za korištenje u svrhu šifriranja, ove funkcije prije svega moraju biti međusobno inverzne.

Važna karakteristika funkcije šifriranja E je njezina kriptografska snaga... Neizravna procjena kriptografske snage je procjena međusobne informacije između otvorenog teksta i šifriranog teksta, koja bi trebala težiti nuli.

Kriptografska snaga šifre

Kriptografska snaga- svojstvo kriptografske šifre da se odupre kriptoanalizi, odnosno analizi koja ima za cilj proučavanje šifre kako bi se ona dešifrirala. Za proučavanje kriptootpornosti različitih algoritama stvorena je posebna teorija koja razmatra vrste šifri i njihovih ključeva, kao i njihovu snagu. Utemeljitelj ove teorije je Claude Shannon. Kriptografska snaga šifre je njena najvažnija karakteristika, koja odražava koliko uspješno algoritam rješava problem šifriranja.

Bilo koji sustav šifriranja, osim onih apsolutno kriptografski sigurnih, može se razbiti jednostavnim nabrajanjem svih mogućih ključeva u ovom slučaju. Ali morat ćete to riješiti dok se ne pronađe jedini ključ koji će pomoći dešifrirati šifrirani tekst.

Apsolutno otporni sustavi

Shanonova procjena kriptografske snage šifre određuje temeljni zahtjev za funkciju šifriranja E. Za kriptografski najjaču šifru, nesigurnosti (uvjetne i bezuvjetne), prilikom presretanja poruka, moraju biti jednake za proizvoljno velik broj presretnutih šifriranih tekstova.

Dakle, napadač ne bi mogao izdvojiti bilo kakve korisne informacije o otvorenom tekstu iz presretnutog šifriranog teksta. Šifra s ovim svojstvom naziva se apsolutno otporan.

Zahtjevi za apsolutno jake sustave šifriranja:

· Za svaku poruku se generira ključ (svaki ključ se koristi jednom).

· Ključ je statistički pouzdan (odnosno, vjerojatnosti pojavljivanja svakog od mogućih simbola su jednake, simboli u slijedu ključeva su neovisni i slučajni).

· Duljina ključa jednaka je ili veća od duljine poruke.

Trajnost takvih sustava ne ovisi o sposobnostima kriptoanalitičara. Međutim, praktična primjena apsolutno sigurnih kriptosustava ograničena je razmatranjem cijene takvih sustava i njihove praktičnosti. Idealni tajni sustavi imaju sljedeće nedostatke:

Sustav šifriranja mora biti kreiran s iznimno dubokim poznavanjem strukture korištenog jezika za prijenos poruka



· Složena struktura prirodnih jezika iznimno je složena i može biti potreban iznimno složen uređaj kako bi se eliminirala suvišnost prenesenih informacija.

· Ako se u odaslanoj poruci pojavi pogreška, tada ta pogreška snažno raste u fazi kodiranja i prijenosa, zbog složenosti uređaja i korištenih algoritama.

Kriptografski sustav javnog ključa(ili asimetrična enkripcija, asimetrična šifra) - sustav šifriranja i/ili elektroničkog potpisa (ES), u kojem se javni ključ prenosi preko otvorenog (tj. nezaštićenog, dostupnog za promatranje) kanala i koristi se za provjeru ES-a i za šifriranje poruke. Privatni ključ se koristi za generiranje ES-a i dešifriranje poruke. Kriptografski sustavi javnog ključa sada se široko koriste u raznim mrežnim protokolima, posebno u TLS protokolima i njegovom prethodniku SSL-u (u osnovi HTTPS), u SSH-u. Također se koristi u PGP, S / MIME.

Simetrični kriptosustavi(također simetrično šifriranje, simetrične šifre) - metoda šifriranja u kojoj se za šifriranje i dešifriranje koristi isti kriptografski ključ. Prije izuma sheme asimetrične enkripcije, jedina postojeća metoda bila je simetrična enkripcija. Obje strane moraju čuvati ključ algoritma u tajnosti. Algoritam šifriranja odabiru strane prije početka razmjene poruka.

Matematički model sustava za šifriranje/dešifriranje za diskretne poruke je par funkcija

,
,

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


Nizozemski kriptograf A. Kerkhoffs (1835. - 1903.) sugerirao je da se tajnost šifri treba temeljiti samo na tajnosti ključa, a ne na tajnosti algoritma za šifriranje, koji bi, na kraju, mogao biti poznat neprijatelju .

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

= =,

tada se sustav poziva simetrično(s jednim ključem). Da bi funkcionirao, isti ključevi moraju biti tajno dostavljeni točkama za šifriranje i dešifriranje. .

Ako
, 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č
isporučen na točku šifriranja i ključ - do točke dešifriranja. Oba ključa očito bi trebala biti povezana funkcionalnom ovisnošću.

, ali takav da prema 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 za kriptosustave:

    Idealno(svakako) uporan ili savršen kriptosustavi za koje otpor kriptoanalizi (dešifriranju) bez poznavanja ključa ne ovisi o računskoj snazi ​​protivnika. Zovu se teoretski nedešifrirano(TNDSH) sustavi.

    Računarski jaki kriptosustavi, u kojima otpor kriptoanalizi ovisi o snazi ​​protivničkog računalnog sustava.

  1. Kretski sustav RSA

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

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

Formule za šifriranje/dešifriranje su sljedeće:

,
,

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

Ova dva odnosa podrazumijevaju jednakost

,

koja se u običnoj aritmetici izvodi ako kK= 1, a u modularnoj aritmetici i za

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

gdje l- cijeli. Doista, koristeći Eulerov teorem, provjeravamo

,

ako M i N- međusobno prosti brojevi.

Razmatrani omjeri ukazuju na način formiranja ključeva. Najprije se biraju vrlo veliki slučajni prosti 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 odabrati, poštujući potrebne uvjete:

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 uvjet međusobne jednostavnosti brojeva M i N neuspjeh u tome onemogućuje dekodiranje ne stvara ozbiljna ograničenja. Prvo, među manjim brojevima N razlomak međusobno prostih brojeva s N jednako je ( 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

i bez proračuna po modulu može se lako otvoriti, budući da K znan.

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

Dakle, oba RSA ključa navedena su 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 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- i 65-bitnih brojeva str i q... Faktorizacija N a otvaranje kriptograma obavljeno je za oko 220 dana tek 1994. nakon preliminarne teorijske obuke. U radu je sudjelovalo 600 volontera i 1600 računala umreženih 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 otprilike 2,710 11 operacija, što će trajati nekoliko dana na osobnom računalu. 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 ispravno odabrani i modul N uzeti dovoljno velik, na primjer
, onda se ovaj sustav može smatrati prilično stabilnim. Do danas ne postoje metode za njegovu uspješnu kriptoanalizu.

Implementacija RSA šifre razrađena je iu softverskoj i u 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 usporedbi sa simetričnim, blok ili streaming sustavima je nedostatak svih asimetričnih enkripcijskih sustava, uključujući RSA.

  1. Digitalni potpis

Autentičnost dokumenta tradicionalno je ovjerena uobičajenim "papirnatim" potpisom. Jačina potpisa, tj. 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. Štoviše, potpis ne može krivotvoriti ni osoba koja provjerava njegovu autentičnost.

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 se mogu lako krivotvoriti.

Dokumenti koji se prenose putem računalnih mreža ovjereni su digitalnim potpisom. 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 istovremeno 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 osobe koje provjeravaju njegovu vjerodostojnost;

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

    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 gore 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 moguća je samo korištenjem asimetričnih sustava.

Postoje različite vrste digitalnih potpisa temeljenih na kriptosustavima javnog ključa. Razmotrite implementaciju CPU-a temeljenu na RSA kriptosustavu.

U ovom slučaju korisnik A potpisivanja poruke M, generira par ključeva k A ,K A i informira korisnike interneta 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 š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 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 duge poruke, operacija eksponencijalnosti u izračunavanju kontrolne grupe i njezinoj provjeri trajat će neprihvatljivo dugo.

Vrhunski povezani članci