Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Zanimljivo
  • P.S. Svi laboratorijski radovi moraju biti završeni i zaštićeni prije kreditiranja.

P.S. Svi laboratorijski radovi moraju biti završeni i zaštićeni prije kreditiranja.

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

Upornost- sposobnost izdržavanja svih vrsta napada uljeza u cilju pronalaženja (izračunavanja) ključa, ili otvori poruku pod pretpostavkom da je ispunjen niz uslova.

Napadi uljeza

1. Kriptoanaliza se vrši samo na osnovu presretnutih kriptograma;

2. Kriptoanaliza se vrši na osnovu presretnutih kriptograma i njihovih odgovarajućih otvorenih poruka.

3. Kriptanaliza se vrši na osnovu otvorene poruke koju odabere neprijatelj;

Klase sistema za šifrovanje

· Svakako uporan ili savršen, savršen

· Računarski robustan

Bezuslovno jaki (idealni) sistemi za šifrovanje

Bezuslovno jak sistem šifrovanja (BSSS) je sistem šifrovanja u kojem nijedan kriptogram (ako napadač nema ključ) ne sadrži Dodatne informacije a priori poznato o poruci šifrovanoj u ovom kriptogramu.

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

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

Uslovna vjerovatnoća da će poruka M i je šifriran kriptogramom E j;

- a priori (sa nepoznatim kriptogramom) vjerovatnoća prisustva poruke M i.

Računarski otporni sistemi enkripcija

Sistem šifriranja se zove računarski otporan(VSSH), ako je otvaranje takvog sistema moguće, ali ravnomerno najbolji algoritam otvaranje traje neizmjerno dugo ili neizmjerno odlično pamćenje uređaji sa kojima se vrši kriptoanaliza.

Vrijeme kriptoanalize je određeno:

1. Složenost algoritma za dešifrovanje;

2. Brzina računarskih uređaja,

dešifrovanje

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

Osnovni pristupi kriptoanalizi:

1. Razbijanje ključeva

2. Analiza statističkih karakteristika kriptograma

3. Linearna kriptoanaliza

4. Diferencijalna kriptoanaliza

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

Brzina računara se učetvorostručuje svake 3 godine

Zamjenski kod, njegova svojstva.

Jednostavna zamjenska šifra, jednostavna zamjenska šifra, jednoazbučna šifra - klasa metoda šifriranja koje se svode na kreiranje tablice šifriranja prema određenom algoritmu, u kojoj za svako slovo običan tekst postoji samo jedno slovo šifriranog teksta povezano s njim. Sama enkripcija se sastoji u zamjeni slova prema tabeli. Za dešifrovanje je dovoljno imati istu tabelu, odnosno znati algoritam po kojem se ona generiše.

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

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

Svojstva zamjenske šifre.

1. Ako su sve zamjene u tablici zamjene jednako vjerovatne i međusobno nezavisne, onda će sistem š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 sa m izlaza.

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

4. Preklapanje šifre, tj. šifriranja sa istom tablicom različite poruke ne dovodi do jednostavnog i nedvosmislenog dešifriranja, kao u gama metodi. Međutim, robusnost metode se smanjuje, jer ponovljene zamjene omogućavaju izvođenje kriptoanalize na temelju stopa ponavljanja slova kriptograma.
10). Blok šifra, Feistelova šema, svojstva blok šifre

Blok šifra nazvan kriptosistem u kojem svaki novi blok otvorena poruka se pretvara u blok kriptograma prema istom pravilu određenom algoritmom šifriranja i ključem. Postupak dešifriranja se izvodi 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 se uvijek 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) zamjene (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 ključevima).

Feistelova šema.

Da bi se pojednostavile procedure šifriranja i dešifriranja, koristi se Feistelova shema, zasnovana na sljedećim principima:

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

b) način formiranja narednih "polovina" blokova od prethodnih je određen kao što je prikazano na sl. 3.3, gdje je ki ključ i-te runde.

Hajde da predstavimo ovu transformaciju 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 dva argumenta, u kojoj je nelinearnost određena, na primjer, tablicom.

Karakteristike Feistelove šeme:

1) Pokazalo se da je reverzibilnost procedure šifriranja moguća kada funkcija / () u šemi nije nužno reverzibilna.

2) Obje polovine bloka stalno mijenjaju mjesta i stoga su, uprkos prividnoj asimetriji, šifrirane istom snagom.


Karakteristike AES šifre

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

2.Može se implementirati na pametnoj kartici koristeći mali PAM i posjedovanje mali broj ciklusi;

3. Okrugla transformacija omogućava paralelno izvršavanje;

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 šifra se zasniva 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 transformacije se izvode unutar jednog kvadrata.

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

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

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

Matrica i vektor stupaca 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 sabiranje 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 se zove miješanje stupaca. Na ovom koraku, svi C-ta kolona kvadratna matrica je predstavljen kao 4-dimenzionalni vektor nad poljem GF (), a zatim se u ovom polju, zadanom nesvodljivim polinomom + + + x +1, vrši množenje određenom matricom sa elementima iz istog polja:

gdje su elementi prikazani u ovoj matrici specificirani kao elementi polja GF () (tj. kao binarne sekvence dužine 8), kao što je ilustrovano sljedeći primjer:

Konačno, vrši se sabiranje okruglog ključa, koje se izvodi jednostavno kao pobitno sabiranje svih elemenata posljednjeg kvadrata sa 128 elemenata okruglog ključa mod 2. Nakon što je jedan krug završen, sve gore opisane operacije se ponavljaju koristeći drugu rundu ključevi. Okrugli ključevi se generiraju iz jednog tajnog ključa dužine 128, 192 ili 256 bita (u zavisnosti od odabranog načina šifriranja) korištenjem posebnih transformacija, uključujući ciklične pomake i proširenja. Broj rundi šifre ovisi o odabranom načinu rada i varira od 10 do 14.

Za dešifriranje se koristi sekvenca inverzne transformacije With obrnutim redosledom 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 zasnovanih na Feistelovoj strukturi (na primjer, DES šifra), ova šifra mora koristiti različite elektronska kola ili programi za šifrovanje i dešifrovanje, respektivno.

Karakteristike AES šifre

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

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

Snaga AES šifre

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

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

Brzina AES enkripcija

At implementacija softvera ovaj algoritam je najefikasnije implementiran na 8- i 32-bitnim platformama. Za tipične računare, brzina šifrovanja može biti reda veličine 1 MB / s - 500 KB / s. Sa hardverskom implementacijom 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

izdržljivost, budući da je broj njegovih tipki ipak dovoljno velik

daljnja istraživanja nezavisnih kriptografa

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

činjenica da LRR uključeni u koder imaju male dužine, i stoga

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

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

i vrijeme analize.

Konačno, studije koje su vođene od tada

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

šifra se može "provaliti" korišćenjem običnog računara u stvarnosti

22. Podizanje na stepen, nalaženje diskretnog logaritma

Eksponencijacija po modulu je izračunavanje 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 precrtajte prvi par KU;

Proračune vršimo preko baze a, prema dobijenom 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: [email protected](2logx).

Računska složenost za operaciju diskretnog logaritma: [email protected]((n) 1/2).

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

Napravite 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 uporedite sa brojevima u bazi podataka.

Sa velikom vjerovatnoćom, nakon nekoliko pokušaja, dobijamo

a z (modn) = y b (modn)

4. Podignite obje strane na stepen b -1, dobijamo 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 sa velikim ulaznim vrijednostima. Ali izračunavanje diskretnog logaritma, odnosno pronalaženje eksponenta e dato b, c i m je mnogo komplikovanije. Ovo jednosmjerno ponašanje funkcije čini je kandidatom za upotrebu u kriptografskim algoritmima.

El Gamal COP.

Ovo je neka modifikacija RSA CS-a, čija stabilnost nije direktno povezana sa problemom faktorizacije. Široko se koristi u standardima digitalni potpis i dozvoljava prirodnu generalizaciju za slučaj CS-a konstruisanih na osnovu upotrebe eliptičkih krivulja, što će biti razmotreno u nastavku.

Generisanje ključeva.

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

1) generiše prost broj p i primitivni element ɑ∈GF (p);

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

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

Enkripcija.

Korisnik B poduzima sljedeće korake da šifrira poruku M namijenjenu korisniku A:

1) Prima javni ključ A;

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

3) Bira 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šifrovanje

Korisnik A poduzima sljedeće korake da dešifruje poruku primljenu od korisnika B:

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

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

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

Karakteristika El-Gamal šeme je da pripada takozvanim randomizacijskim enkripcijskim šemama, jer koristi dodatnu slučajnost u obliku broja k prilikom šifriranja.

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

Značajan nedostatak šeme je što je dužina kriptograma u njoj 2 puta veća od dužine poruke.

Otpornost El Gamala QS

Problem vraćanja poruke M na datu 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, onda će se otvoriti El-Gamalov kriptosistem. Prilikom odabira R sa kapacitetom od 768 bita (za povećanu sigurnost - do 1024 bita), sigurnost El-Gamalovog CS će biti ista kao i RSA 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, jer je u suprotnom slučaju b1 / b2 = Mi / Mj, a onda se poruka Mj može lako pronaći ako je poruka Mi poznata.


Generisanje ključeva.

Dva prosta broja p i q biraju se nasumično. Located

modul N = pq. Naći Ojlerovu 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 saopštava svima

dopisnici.

Enkripcija.

Corr. A prenosi šifrovanu poruku dopisniku B

(koristi ispravku javnog ključa B)

Dešifrovanje.

Corr. B dešifruje primljeni kriptogram od

Dopisnik A koristeći vaš privatni ključ.

Napadi.

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

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

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

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

Sa 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 (sa poznatom porukom) izvodi se na sljedeći način: d = log EM mod N. Međutim, problem diskretnog logaritma po modulu višecifrenih brojeva je također težak u matematici, a ispostavilo se da ima gotovo istu složenost kao i problem faktorizacije.

3. Ciklični napad. Dobijeni kriptogram ćemo sekvencijalno podići na stepen jednak vrijednosti javnog ključa, tj. ((((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 uslov mora biti ispunjen za barem jednu od poruka, na primjer, za poruke M = 0, 1, n - 1. U stvari, takve poruke su općenito! nije šifrovano, tačno postoji. Njihov broj je uvijek najmanje 9. Međutim, slučajnim odabirom q i p, udio takvih poruka će biti zanemarljiv i gotovo se nikada neće sresti u praksi.

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

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

Zaista, 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 (odnosno, dodavanje malih nizova bitova, dobijenih korištenjem čisto slučajnog senzora).

VRSTE

Jednostavan ES je potpis koji upotrebom kodova, lozinki ili na drugi način potvrđuje činjenicu da je određena osoba formirala ES.

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

Omogućava vam da identifikujete osobu koja je potpisala dokument;

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

Kreirano korištenjem ES alata;

kvalificirani:
Poštuje sve znakove nekvalifikovanog elektronskog potpisa;

ES verifikacijski ključ je naveden u kvalificiranom certifikatu.

Za kreiranje i verifikaciju ES koriste se ES sredstva koja su dobila potvrdu usaglašenosti u skladu sa zakonom o ES.

RSA EP šema.

Neka postoji neka poruka M i neki korisnik A je generisao par javni/privatni ključ za RSA sistem, 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 cifara 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 verifikaciju CPU-a, korisnik mora dobiti javni ključ A, kao i „potpisanu“ (ali moguće falsifikovanu) poruku M, S i izračunati Ṁ = S eA mod (e A). Dalje, on upoređuje Ṁ sa M i, ako se poklapaju, pretpostavlja da je poruku M zaista potpisao A, inače je odbacuje kao krivotvorinu ili izobličenje.


Shema EP El-Gamal.

ES - Elektronski potpis (CPU - Digitalni potpis)

ES (CPU) su neki dodatni podaci priloženi glavnoj poruci, koji se formiraju u zavisnosti kako od poruke tako i od tajnog ključa autora poruke. Za provjeru autentičnosti poruke (inače se naziva procedura verifikacije) 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 preko konačnog polja GF (p);

2) generira se broj x: 1 ;

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

4) se bira javni ključ CPU verifikacije: ( p, a, y) i tajni ključ za kreiranje CPU-a: x.

Oblikovanje procesora

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

1) generiše 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 verifikacija (verifikacija)

Da bi potvrdio potpis S koji je kreirao A pod porukom M, svaki korisnik poduzima sljedeće korake:

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

2) potvrđuje 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) prihvata CPU kao ispravan pod uslovom da je V 1 = V 2

Otpornost CPU-a Zasnovano na ElGamalovoj COP

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, koji se ne može izračunati odgovarajućim izborom CPU parametara.

3) Treba napomenuti da ako nije ispunjeno korak 2 algoritma CPU verifikacije tada napadač može ispravno potpisati bilo koju poruku po svom izboru, pod uslovom da ima neku drugu poruku sa ispravnim CPU-om na raspolaganju. Dakle, prilikom odabira modula R, koji u binarnom predstavljanju ima dužinu od oko 768 bita, pruža dobru stabilnost procesora, 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 neizvodljivo (tj. zahtijeva neostvarivo veliki 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 dati x, h (x) = h računski neizvodljivo pronaći drugu x ’vrijednost koja zadovoljava jednačinu h (x’) = h.

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

Popravka ranjivosti

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

PKI komponente

· Autoritet za izdavanje certifikata (CA)- dio sistema javnog ključa koji izdaje certifikat za validaciju prava korisnika ili sistema koji podnose zahtjev. Ona kreira sertifikat i potpisuje ga privatnim ključem. Zbog svoje funkcije kreiranja certifikata, CA je središnji dio PKI-ja.

· Repozitorijum certifikata... Repozitorijum za važeće sertifikate i liste opoziva sertifikata (CRL). Aplikacije provjeravaju valjanost certifikata i nivo pristupa koji odobrava provjeravanjem uzorka sadržanog u spremištu.

· Server za oporavak ključeva- server koji vrši automatski oporavak ključa, ako je ova usluga instalirana.

· PKI-omogućena aplikacija- aplikacije koje mogu koristiti PKI alate za sigurnost. PKI upravlja digitalnim certifikatima i ključevima koji se koriste za šifriranje informacija na web serverima prilikom korištenja e-pošte, razmjene poruka, pretraživanja interneta i prijenosa podataka. Neke aplikacije mogu koristiti PKI izvorno, dok druge zahtijevaju od programera da ih modifikuju.

· Registracijski organ- modul odgovoran za registraciju korisnika i prihvatanje zahtjeva za certifikat.

· Security Server- Server koji upravlja pristupom korisnika, digitalnim certifikatima i jakim vezama u PKI okruženju. Sigurnosni server centralno upravlja svim korisnicima, certifikatima, CA vezama, izvještajima i provjerava listu 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 sertifikata... Nakon što CA potpiše certifikat, on se izdaje podnosiocu zahtjeva i/ili šalje u skladište certifikata. CA na certifikate stavlja period važenja, što zahtijeva periodično obnavljanje certifikata.

· Opoziv certifikata... Sertifikat može postati nevažeći prije isteka iz različitih razloga: korisnik je napustio kompaniju, promijenio ime ili ako je njegov privatni ključ kompromitovan. Pod ovim okolnostima, CA će opozvati certifikat unošenjem njegovog serijskog broja u CRL.

· Key Recovery... Dodatna PKI funkcija vam omogućava da povratite podatke ili poruke u slučaju gubitka ključa.

· Upravljanje životnim ciklusom- Kontinuirana podrška sertifikata u PKI, uključujući obnavljanje, restauraciju i arhiviranje ključeva. Ove funkcije se obavljaju periodično, a ne kao odgovor na ad hoc zahtjeve. Automatsko upravljanje ključevima je najvažnija karakteristika za velike PKI-ove. Ručno upravljanje ključevima može ograničiti skalabilnost PKI-ja.

Osnovne definicije

· Liste opoziva certifikata (CRL)- lista 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 prema tom certifikatu.

· Digitalni certifikat / X.509 certifikat... Struktura podataka koja se koristi za povezivanje određenog modula sa određenim javnim ključem. Digitalni sertifikati se koriste za autentifikaciju korisnika, aplikacija i usluga, kao i za kontrolu pristupa (autorizacija). Digitalne sertifikate izdaju i distribuiraju CA.

· Digital Envelope... 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 je znatno smanjen.

· Digitalni potpis... Metoda korištenja šifriranja javnog ključa kako bi se osigurao integritet podataka i nemogućnost odbijanja paketa. Šifrovani blok informacija, nakon dešifrovanja od strane primaoca, identifikuje pošiljaoca i potvrđuje sigurnost podataka. Na primjer: dokument je "komprimiran", HASH je šifriran korištenjem privatnog ključa pošiljaoca i priložen dokumentu (u stvari, to znači prilaganje "otiska prsta" ovog dokumenta). Primalac koristi javni ključ za dešifrovanje primljene poruke u stanje "stiskanja", koje se zatim poredi sa "stiskanjem" dobijenim nakon što je poslani dokument "komprimovan". Ako se oba "stiska" ne poklapaju, to znači da je dokument promijenjen ili oštećen tokom prijenosa.

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

· Simetrična enkripcija (zajednička tajna kriptografija)... Postoje dvije glavne vrste šifriranja: javni ključ i tajni (simetrični) ključ. Sa simetričnim šifriranjem, primalac i pošiljalac koriste isti ključ za šifriranje i dešifriranje. To znači da mnogi korisnici moraju imati iste ključeve. Očigledno, dok korisnik ne dobije ključ, enkripcija nije moguća, a distribucija ključa preko mreže nije sigurna. Druge metode distribucije, kao što je specijalni kurir, su skupe i spore.

· RSA algoritam je prvi sistem šifriranja javnog ključa nazvan po svojim izumiteljima: Ronaldu Rivestu, Adi 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 certifikata i drugih informacija (obično društvenih i medicinskih).

· Digitalni akreditivi. U okviru PKI tehnologije, standard ISO/TS 17090-1 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 strukture PKI korisnika, listu pouzdanih CA, i drugi parametri koji se odnose na domen korisnika - identifikator korisnika, nazivi primijenjenih kriptografskih algoritama, vrijednosti početnih vrijednosti itd. Akreditivi se mogu postaviti na hardverski ili softverski medij.

Princip rada

Certifikati se obično koriste za razmjenu šifriranih podataka preko velikih mreža. Kriptosistem javnog ključa rješava problem razmjene tajnih ključeva između učesnika u sigurnoj razmjeni, ali ne rješava problem povjerenja u javne ključeve. Pretpostavimo da Alice, želeći da prima šifrovane poruke, generiše par ključeva, od kojih jedan (javni) na neki način objavljuje. Svako ko želi da joj pošalje povjerljivu poruku ima mogućnost da je šifrira ovim ključem i budi siguran da će samo ona (pošto samo ona ima odgovarajući tajni ključ) moći pročitati ovu poruku. Međutim, opisana šema ni na koji način ne može spriječiti napadača Davida da kreira par ključeva i objavi svoj javni ključ, izdajuć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 koja stoji 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 operativnom sistemu ili objavljeni u logovima. Tako se lako otkriva krivotvorenje javnog ključa treće strane.

Kriptografski sistemi s javnim ključevima za šifriranje omogućavaju korisnicima siguran prijenos podataka preko nezaštićenog kanala bez ikakve prethodne pripreme. Takvi kriptosistemi moraju biti asimetrični u smislu da pošiljalac i primalac imaju različite ključeve i nijedan od njih se ne može izvesti iz drugog računanjem. U ovim sistemima, faze šifriranja i dešifriranja su razdvojene i poruka je zaštićena bez da se ključ za šifriranje učini tajnim, jer 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, pošto samo on zna tajni ključ za dešifriranje.

Među asimetričnim (otvorenim) kriptosistemima, najrašireniji je RSA kriptografski sistem. U ovom sistemu, primalac poruke bira dva velika prosta broja p i q tako da je proizvod n = pq izvan računskih mogućnosti. Originalna poruka M može biti proizvoljne dužine u rasponu od 1

Originalni tekst M se vraća iz šifriranog C obrnutom transformacijom

Primalac bira e i d kako bi bili ispunjeni sljedeći uslovi:

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

(a, b) je najveći zajednički djelitelj dva broja.

To jest, e i d u multiplikativnoj grupi su recipročni u modusu aritmetike ostatka.

Očigledno, 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 br

Primena faktorizacije od n nam omogućava 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 koji je trenutno poznat može faktorizirati n u koracima po redu

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

Direktno računanje

Drugi mogući način kriptoanalize povezan je sa direktnim izračunavanjem Eulerove funkcije bez faktoringa n. Direktno računanje nije nimalo jednostavnije od faktorizacije n, jer onda olakšava faktorizaciju n. To se može vidjeti iz sljedećeg primjera. Neka

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 relacija:

Direktna procjena d

Treća metoda kriptoanalize je direktno izračunavanje vrijednosti d. Obrazloženje iza ove metode zasniva se na činjenici da ako je d odabran dovoljno veliko da jednostavno nabrajanje bude neprihvatljivo, izračunavanje d nije jednostavnije od faktoriranja n, jer ako je d poznato, onda se n lako faktorizira. To se može prikazati na sljedeći način. Ako je d poznato, 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, s druge strane, može pokušati pronaći neku vrijednost d "koja je ekvivalentna skrivenoj vrijednosti d koja se koristi u dizajnu šifre. Ako postoji mnogo takvih d", onda se grubom silom može pokušati razbiti šifra . Ali svi d" se razlikuju za faktor jednak i ako se ovaj faktor izračuna, onda se n može faktorizirati. Stoga je pronalaženje d jednako teško kao i faktoriranje n.

Dakle, glavni zadatak kriptoanalize asimetričnih enkripcijskih sistema 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 dat cijeli broj n> 0 i 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, koji se zove test jednostavnosti, je provjeriti da li takvi a i b postoje; drugi, koji se zove dekompozicija, je problem njihovog pronalaženja. Razmotrimo oba ova zadatka.

Prvi deterministički test.

Ovaj test je zasnovan na Fermatovoj Maloj teoremi, koja 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 provjeri

b za pripadnost klasi prostih brojeva prema uslovu a b-1 1 (mod b) u skladu sa 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 sa 2, 3, ...,. Ako pri nekom dijeljenju dobijemo nulti ostatak, onda je broj “b” složen, a djelitelj i količnik su njegovi činioci; inače je b prost.

Pošto je potrebno izvršiti dijeljenje, vrijeme koje je potrebno da se provjeri prosti broj “b” je O ().

Ovaj veoma spor eksponencijalni test ne samo da utvrđuje da li je broj prost, već i pronalazi faktore kompozitnog 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 cifara, onda (b-1)! ima otprilike 100 102 cifre.

Svi gore navedeni testovi su bili deterministički. To znači da za dati broj "b" uvijek dobijemo odgovor, bilo da je jednostavan ili složen. Ako riječ "uvijek" zamijenimo sa "s određenom vjerovatnoćom", onda se ispostavlja da je moguće konstruirati probabilističke testove, koji se također nazivaju testovi pseudo-jednostavnosti.

Prvi probabilistički test.

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

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

gdje je J (a, b) Jakobijev simbol.

Jacobijev simbol je definiran sljedećim relacijama:

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šenje u Z p,

gdje je Z p prsten ostataka po modulu p.

Ako je b prost broj, gore navedeni uslovi su uvijek ispunjeni, a ako je b složen, onda nisu ispunjeni s vjerovatnoćom. Stoga, izvođenje k testova osigurava da je odgovor netačan sa vjerovatnoćom 2 -k.

Drugi probabilistički test.

Pošto 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 ispunjenost uslova

1 (mod b) za 0< j

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

Treći probabilistički test.

Za dato b, nasumično biramo m, 1

Vjerovatnoća da je dat odgovor „b je složeni broj“ jednaka je vjerovatnoći da je m | b. Ako je d (b) broj djelitelja b i m je nasumično odabran unutar 1

Ovo je veoma slab test.

Četvrti probabilistički test.

Za dato „b“, nasumično biramo m, 1

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

Peti probabilistički test.

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

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 prost. Pokažimo indukcijom da je 1 (mod b) za, što bi bilo u suprotnosti sa hipotezom teoreme.

Očigledno, ovo važi za r = S prema Fermatovoj teoremi. Pod pretpostavkom da je tvrdnja tačna za i, lako je vidjeti da je tačna za i-1, jer je jednakost

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

Dokazano je da ako je b složeni broj, onda vjerovatnoća 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 je mnogo gora nego s testom jednostavnosti. Sljedeća je najmoćnija poznata metoda.

Metoda je zasnovana 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, i 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 multiplikativna baza B. Prisjetimo se svih brojeva a k koji se mogu proširiti u smislu multiplikativne baze, tj. napisano kao

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

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

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

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 se izvodi na sljedeći način. Neprijatelj pokupi broj j, za koji je ispunjen sljedeći odnos:

To jest, protivnik jednostavno šifrira j puta na javnom ključu presretnutog šifratnog 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. Ovo slijedi iz činjenice da C ej (mod n ) = (C e (j-1) (mod n)) e = C. To jest, neki broj C e (j-1) (mod n) u stepenu 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. 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 podešeni 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.

Modeli kriptografskih sistema

Ciphertext- rezultat operacije šifriranja. Često se koristi i umjesto izraza "kriptogram", iako ovaj drugi naglašava samu činjenicu da se poruka prenosi, a ne šifriranje.

Poziva se proces primjene operacije šifriranja na šifrirani tekst ponovno šifriranje.

Svojstva šifriranog teksta

Uzimajući u obzir šifrirani tekst kao slučajnu varijablu u zavisnosti od odgovarajućih nasumičnih vrijednosti 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 principa nezavisnosti otvorenog teksta od ključa i svojstva nedvosmislene enkripcije) tada

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

Za apsolutno pouzdan kriptosistem

To je

Upotreba za kriptoanalizu

Shannon je u svom članku iz 1949. godine "Teorija komunikacije u tajnim sistemima" pokazao da je za neku slučajnu šifru teoretski moguće (koristeći neograničene resurse) pronaći originalni 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 sume, itd.), N je veličina korištene abecede.

Enkripcija- reverzibilnu transformaciju informacija u cilju njihovog sakrivanja od neovlašćenih lica, uz istovremeno omogućavanje pristupa njima ovlaštenim korisnicima. Šifriranje uglavnom služi u svrhu održavanja povjerljivosti prenesenih informacija. Važna karakteristika svakog algoritma za šifrovanje je upotreba ključa koji odobrava izbor određene transformacije iz skupa mogućih za ovaj algoritam.

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

Uz pomoć enkripcije obezbjeđuju se tri stanja sigurnosti informacija:

· Privatnost: šifrovanje se koristi za skrivanje informacija od neovlašćenih korisnika tokom prenosa ili skladištenja.

· Integritet: šifrovanje se koristi za sprečavanje promene informacija tokom prenosa ili skladištenja.

· Identifikacija: enkripcija se koristi za autentifikaciju izvora informacija i sprečavanje pošiljaoca informacija da negira činjenicu da su mu podaci poslani.

Šifrovanje i dešifrovanje

Kao što je rečeno, enkripcija se sastoji od dva međusobno suprotna procesa: enkripcije i dešifriranja. Oba ova procesa na apstraktnom nivou su predstavljena matematičkim funkcijama kojima se postavljaju određeni zahtjevi. Matematički, podaci koji se koriste u enkripciji mogu biti predstavljeni u obliku skupova na kojima su ove 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 mapiranje jednog od ovih skupova u drugi.

Funkcija šifriranja:

Funkcija dešifriranja:

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

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 svrhe šifriranja, ove funkcije prije svega moraju biti međusobno inverzne.

Važna karakteristika funkcije šifriranja E je njena kriptografska snaga... Indirektna procjena kriptografske snage je procjena međusobne informacije između otvorenog teksta i šifrovanog 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 kripto otpornosti različitih algoritama stvorena je posebna teorija koja razmatra vrste šifri i njihovih ključeva, kao i njihovu snagu. Osnivač ove teorije je Claude Shannon. Kriptografska snaga šifre je njena najvažnija karakteristika, koja odražava koliko uspješno algoritam rješava problem šifriranja.

Svaki sistem šifriranja, osim onih koji su apsolutno kriptografski sigurni, 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 sistemi

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

Dakle, napadač ne bi mogao da izvuče bilo kakvu korisnu informaciju o otvorenom tekstu iz presretnutog šifrovanog teksta. Poziva se šifra sa ovim svojstvom apsolutno otporan.

Zahtjevi za apsolutno jake sisteme šifriranja:

· Za svaku poruku se generiše ključ (svaki ključ se koristi jednom).

· Ključ je statistički pouzdan (tj. vjerovatnoće pojavljivanja svakog od mogućih simbola su jednake, simboli u nizu ključeva su nezavisni i nasumični).

· Dužina ključa je jednaka ili veća od dužine poruke.

Trajnost takvih sistema ne zavisi od sposobnosti kriptoanalitičara. Međutim, praktična primjena apsolutno sigurnih kriptosistema ograničena je razmatranjem cijene takvih sistema i njihove pogodnosti. Idealni tajni sistemi imaju sljedeće nedostatke:

Sistem šifriranja mora biti kreiran sa izuzetno dubokim poznavanjem strukture korišćenog jezika za prenos poruka



· Složena struktura prirodnih jezika je izuzetno složena i može biti potreban izuzetno složen uređaj da bi se eliminisala suvišnost prenošenih informacija.

· Ako dođe do greške u poslanoj poruci, tada ova greška snažno raste u fazi kodiranja i prijenosa, zbog složenosti uređaja i algoritama koji se koriste.

Kriptografski sistem javnog ključa(ili asimetrična enkripcija, asimetrična šifra) - sistem enkripcije i/ili elektronskog potpisa (ES), u kojem se javni ključ prenosi preko otvorenog (tj. nezaštićenog, dostupnog za posmatranje) 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 sistemi javnog ključa sada se široko koriste u različitim mrežnim protokolima, posebno u TLS protokolima i njegovom prethodniku SSL (u osnovi HTTPS), u SSH. Također se koristi u PGP, S / MIME.

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

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 znamenki 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 i za enkripciju u pametnim karticama. 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.

Top srodni članci