Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Sigurnost
  • Tipovi enkripcije. Šta je šifriranje podataka? WiFi enkripcija - opće informacije

Tipovi enkripcije. Šta je šifriranje podataka? WiFi enkripcija - opće informacije

  1. Šifrovanje se dešava sa obe strane. Uostalom, ako je samo jedna strana šifrirana (na primjer, samo server), tada promet s druge strane (sa klijenta) neće biti šifriran. Može se čuti ili čak promijeniti.
  2. Formalno, niko nikome ne daje ključ. U TLS-u, klijent i server moraju generirati zajedničku tajnu, skup od 48 bajtova. Zatim klijent i server, na osnovu zajedničke tajne, izračunavaju ključeve: klijentov ključ za šifrovanje i ključ za šifrovanje servera. Procedura za izračunavanje ključeva iz zajedničke tajne je standardna i navedena je u opisu TLS protokol... Server i klijent znaju 2 ključa za šifriranje, šifriraju jednim, dešifriraju drugi. A sada je najzanimljiviji dio kako klijent i server izračunavaju zajedničku tajnu. Zavisi od odabranog paketa šifri:

    • TLS_RSA_WITH_: B u ovom slučaju klijent sam kreira zajedničku tajnu generišući 48 nasumičnih bajtova. Zatim ih šifrira koristeći javni RSA ključ, koji se nalazi u certifikatu servera. Server prima šifrovane podatke i dešifruje ih koristeći privatni RSA ključ. Ova šema retko se koristi.
    • TLS_DHE_RSA_ / TLS_ECDHE_RSA_ / TLS_ECDHE_ECDSA_: Ovo koristi Diffie-Hellman (DHE) kriptografsku šemu ili njenu verziju eliptičke krivulje (ECDHE). Suština šeme je sledeća: server i klijent generišu nasumično veliki brojevi(privatnih ključeva), izračunavaju druge brojeve (javne ključeve) na osnovu njih i šalju ih jedni drugima. Imajući svoj privatni ključ i javni ključ druge strane, oni izračunavaju zajedničku tajnu. Treća strana koja sluša na kanalu vidi samo 2 javna ključa i ne može otkriti zajedničku tajnu. Nakon toga, svi podaci koji se razmjenjuju između klijenta i servera za dobivanje ovog ključa potpisuju se serverskim certifikatom (RSA ili ECDSA potpis). Ako klijent vjeruje certifikatu servera, on provjerava ovaj potpis, a ako je ispravan, razmjena podataka već počinje. Ovo je najčešće korištena shema.
    • Postoji još nekoliko shema, ali se koriste vrlo rijetko ili se uopće ne koriste.

    O presretanju. Kao što sam gore opisao, ovdje je beskorisno presretati poruke, jer u prvom slučaju samo ih server može dešifrirati, au drugom se koristi pametna kriptografska shema.

    I server i klijent znaju algoritme šifriranja. Uostalom, ako klijent ne zna koji je algoritam šifriranja, kako će šifrirati podatke koje treba poslati? V moderna kriptografija niko ne koristi vlasničke algoritme. Otvorene algoritme neprestano proučavaju najbolji kriptografi na svijetu, traže se ranjivosti i predlažu rješenja za njihovo zaobilaženje.

    U TLS-u možemo uslovno reći da se algoritmi mijenjaju, jer se svaki put generiraju različiti ključevi za šifriranje. A onda, ako želite koristiti vlasnički algoritam, na primjer za pregled web stranice, kako ovaj algoritam može biti vlasnički ako vaš računar/uređaj šifrira/dešifruje?

Izostavio sam/pojednostavio neke detalje da bih opisao samo glavne ideje.

Sergej Panasenko,
šef razvojnog odjela softver firma "Ankad",
[email protected]

Osnovni koncepti

Proces pretvaranja otvorenih podataka u šifrirane i obrnuto obično se naziva enkripcija, a dvije komponente ovog procesa nazivaju se, respektivno, enkripcija i dešifriranje. Matematički, ova transformacija je predstavljena sljedećim ovisnostima koje opisuju akcije s početnim informacijama:

S = Ek1 (M)

M "= Dk2 (C),

gdje je M (poruka) - otvorene informacije(često se u literaturi o informacijskoj sigurnosti naziva " izvorni tekst");
C (cipher text) - šifrirani tekst (ili kriptogram) dobiven kao rezultat šifriranja;
E (encryption) - funkcija šifriranja koja vrši kriptografske transformacije originalnog teksta;
k1 (ključ) - parametar funkcije E, nazvan ključ za šifriranje;
M "- informacije dobivene kao rezultat dešifriranja;
D (dešifriranje) - funkcija dešifriranja koja izvodi kriptografske transformacije obrnutog šifriranja preko šifriranog teksta;
k2 je ključ koji se koristi za dešifriranje informacija.

Koncept "ključa" u standardu GOST 28147-89 (algoritam simetričnog šifriranja) definiran je na sljedeći način: ovaj algoritam"Drugim riječima, ključ je jedinstveni element pomoću kojeg možete promijeniti rezultate algoritma šifriranja: isti izvorni tekst bit će šifriran na različite načine kada koristite različite ključeve.

Da bi se rezultat dešifriranja poklopio s originalnom porukom (tj. za M "= M), potrebno je istovremeno izvršenje dva uslova. Prvo, funkcija dešifriranja D mora odgovarati funkciji šifriranja E. Drugo, ključ za dešifriranje k2 mora odgovarati ključu za šifriranje k1.

Ako je za enkripciju korišten kriptografski jak algoritam za šifriranje, tada je u nedostatku ispravnog ključa k2 nemoguće dobiti M "= M. Kriptografska snaga je glavna karakteristika algoritama šifriranja i ukazuje, prije svega, na stepen poteškoće u dobijanju originalnog teksta iz šifrovanog bez ključa k2.

Algoritmi šifriranja se mogu podijeliti u dvije kategorije: simetrični i asimetrično šifrovanje... Za prvi, omjer ključeva za šifriranje i dešifriranje je definiran kao k1 = k2 = k (tj. funkcije E i D koriste isti ključ za šifriranje). Kod asimetrične enkripcije, ključ za šifriranje k1 se izračunava iz ključa k2 na način da reverzna transformacija nemoguće, na primjer, formulom k1 = ak2 mod p (a i p su parametri korištenog algoritma).

Simetrična enkripcija

Algoritmi simetrične enkripcije imaju svoju istoriju od antike: upravo je ovaj metod skrivanja informacija koristio rimski car Gaj Julije Cezar u 1. veku pre nove ere. e., a algoritam koji je izmislio poznat je kao "Cezarov kriptosistem".

Trenutno najpoznatiji simetrični algoritam DES enkripcija(Standard za šifrovanje podataka), razvijen 1977. Donedavno je bio "američki standard" jer je vlada te zemlje preporučila da se koristi za implementaciju različiti sistemi enkripcija podataka. Unatoč činjenici da je prvobitno planirano da se DES koristi ne više od 10-15 godina, pokušaji njegove zamjene počeli su tek 1997.

Nećemo detaljno razmatrati DES (u skoro svim knjigama sa liste dodatni materijali pojedi to Detaljan opis) i okrenuti se modernijim algoritmima za šifriranje. Treba samo napomenuti da je glavni razlog za promjenu standarda enkripcije njegova relativno slaba kriptografska snaga, a razlog tome je što je dužina DES ključa samo 56 značajni bitovi... Poznato je da se svaki kriptografski jak algoritam može razbiti isprobavanjem svih mogućih varijanti ključeva za šifriranje (tzv. brute force napad). Lako je izračunati da će klaster od milion procesora, od kojih svaki izračunava milion ključeva u sekundi, provjeriti 256 DES ključeva za skoro 20 sati. A pošto je takva računarska snaga sasvim realna po današnjim standardima, jasno je da 56-bitni ključ je prekratak i DES algoritam mora se zamijeniti jačim.

Danas se sve više koriste dva moderna kriptografski jaka algoritma šifriranja: domaći standard GOST 28147-89 i novi američki kripto standard - AES (Advanced Encryption Standard).

Standard GOST 28147-89

Algoritam definisan GOST 28147-89 (slika 1) ima dužinu ključa za šifrovanje od 256 bita. On šifrira informacije u blokovima od 64 bita (takvi algoritmi se nazivaju blok algoritmi), koji se zatim dijele na dva podbloka od 32 bita (N1 i N2). Podblok N1 se obrađuje na određeni način, nakon čega se njegova vrijednost dodaje vrijednosti podbloka N2 (sabiranje se vrši po modulu 2, tj. logička operacija XOR - "isključivo ili"), a zatim se podblokovi zamjenjuju. Ova transformacija se izvodi određeni broj puta („rundova“): 16 ili 32, ovisno o načinu rada algoritma. U svakom krugu se izvode dvije operacije.

Prvi je preklapanje ključa. Sadržaju podbloka N1 dodaje se modul 2 sa 32-bitnim dijelom ključa Kx. Pun ključ enkripcija je predstavljena kao konkatenacija 32-bitnih potključeva: K0, K1, K2, K3, K4, K5, K6, K7. U procesu enkripcije koristi se jedan od ovih potključeva, ovisno o okruglom broju i načinu rada algoritma.

Druga operacija je zamjena stola. Nakon što se ključ primijeni, podblok N1 se dijeli na 8 dijelova od po 4 bita, od kojih se vrijednost svakog zamjenjuje u skladu sa zamjenskom tablicom za ovaj dio podbloka. Zatim se podblok po bitovima pomjera ulijevo za 11 bitova.

Zamjene stolova(Supstitution box - S-box) se često koriste u modernim algoritmima šifriranja, pa je vrijedno objasniti kako je takva operacija organizirana. Izlazne vrijednosti blokova se upisuju u tablicu. Blok podataka određene dimenzije (u našem slučaju 4-bitni) ima svoj numerički prikaz, koji određuje broj izlazne vrijednosti. Na primjer, ako S-box izgleda kao 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 i 4-bitni blok "0100" došao na ulaz (vrijednost 4), tada će, prema tabeli, izlazna vrijednost biti 15, odnosno "1111" (0 a 4, 1 a 11, 2 a 2 ...).

Algoritam, definisan GOST 28147-89, predviđa četiri načina rada: jednostavnu zamenu, igranje, igranje sa povratne informacije i generacija simulatora. Oni koriste istu transformaciju šifriranja opisanu gore, ali budući da je svrha načina različita, ova se transformacija u svakom od njih provodi na različite načine.

U modu jednostavna zamjena Izvode se 32 gore opisana kruga za šifriranje svakog 64-bitnog bloka informacija. U ovom slučaju, 32-bitni potključevi se koriste u sljedećem redoslijedu:

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1, itd. - u krugovima od 1. do 24.;

K7, K6, K5, K4, K3, K2, K1, K0 - u krugovima od 25. do 32.

Dešifrovanje u ovaj način rada se izvodi na potpuno isti način, ali s malo drugačijim redoslijedom korištenja potključeva:

K0, K1, K2, K3, K4, K5, K6, K7 - u krugovima od 1 do 8;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6 itd. - od 9. do 32. kola.

Svi blokovi su šifrirani nezavisno jedan od drugog, odnosno rezultat šifriranja svakog bloka ovisi samo o njegovom sadržaju (odgovarajućem bloku izvornog teksta). Ako postoji nekoliko identičnih blokova originalnog (običnog) teksta, odgovarajući blokovi šifriranog teksta će također biti isti, što daje dodatnu korisne informacije za kriptoanalitičara koji pokušava razbiti šifru. Stoga se ovaj način uglavnom koristi za šifriranje samih ključeva za šifriranje (veoma često se implementiraju šeme s više ključeva, u kojima se, iz više razloga, ključevi šifriraju jedan iznad drugog). Za šifriranje same informacije predviđena su još dva načina rada - igranje i igranje s povratnom spregom.

V gama mod svaki blok običan tekst dodaje se po bitu po modulu 2 sa 64-bitnim gama blokom šifre. Gama šifre je poseban niz koji se dobija kao rezultat određenih operacija sa registrima N1 i N2 (vidi sliku 1).

1. U registre N1 i N2 upisuje se njihovo početno popunjavanje - 64-bitna vrijednost koja se zove synchro-burst.

2. Sadržaj registara N1 i N2 je šifriran (u ovom slučaju sinkronizirane poruke) u načinu jednostavne zamjene.

3. Sadržaj registra N1 se dodaje po modulu (232 - 1) sa konstantom C1 = 224 + 216 + 28 + 24, a rezultat sabiranja se upisuje u registar N1.

4. Sadržaj registra N2 se dodaje po modulu 232 sa konstantom C2 = 224 + 216 + 28 + 1, a rezultat sabiranja se upisuje u registar N2.

5. Sadržaj registara N1 i N2 se dovodi na izlaz kao 64-bitni gama blok šifre (u ovom slučaju, N1 i N2 čine prvi gama blok).

Ako je potreban sljedeći blok gama (to jest, trebate nastaviti šifriranje ili dešifriranje), vraćate se na korak 2.

Za dešifriranje se generiše gama isti put a zatim se XOR ponovo primjenjuje na šifrirani tekst i gama bitove. Budući da je ova operacija reverzibilna, u slučaju ispravno razrađene skale dobija se originalni tekst (tabela).

Šifriranje i dešifriranje u gama modu

Za generiranje raspona šifre koji je potreban za dešifriranje, korisnik koji dešifrira kriptogram mora imati isti ključ i istu vrijednost sinhro poruke koje su korištene za šifriranje informacija. U suprotnom, neće biti moguće dobiti originalni tekst iz šifrovanog.

U većini implementacija algoritma GOST 28147-89, poruka za sinhronizaciju nije tajna, ali postoje sistemi u kojima je poruka za sinhronizaciju isti tajni element kao i ključ za šifrovanje. Za takve sisteme, efektivna dužina ključa algoritma (256 bita) se povećava za još 64 bita tajne sinhronizacione poruke, koja se takođe može smatrati ključnim elementom.

U gama modu sa povratnom spregom, za popunjavanje registara N1 i N2, počevši od 2. bloka, ne koristi se prethodni gama blok, već rezultat enkripcije prethodnog bloka otvorenog teksta (slika 2). Prvi blok u ovom načinu rada se generira potpuno slično prethodnom.

Rice. 2. Generisanje gama šifre u gama modu povratne sprege.

S obzirom na mod generacija simulatora, treba definisati pojam subjekta generacije. Imitator je kriptograf ček suma, izračunat pomoću ključa za šifriranje i dizajniran za provjeru integriteta poruka. Prilikom generiranja prefiksa izvode se sljedeće operacije: prvi 64-bitni blok niza informacija, za koji se prefiks izračunava, upisuje se u registre N1 i N2 i šifrira u smanjenom načinu jednostavne zamjene (prvi Izvodi se 16 rundi od 32). Rezultirajući rezultat se zbraja po modulu 2 sa sljedećim blokom informacija, pohranjujući rezultat u N1 i N2.

Ciklus se ponavlja do zadnji blok informacije. Rezultirajući 64-bitni sadržaj registara N1 i N2, ili njegov dio, dobijen kao rezultat ovih transformacija, naziva se prefiks. Veličina prefiksa se bira na osnovu zahtevane pouzdanosti poruke: ako je dužina prefiksa r bita, verovatnoća da će promena poruke ostati neprimećena je 2-r. Najčešće, 32-bitni prefiks koristi se, odnosno polovina sadržaja registra. Ovo je dovoljno, jer, kao i svaki kontrolni zbroj, simulator je prvenstveno dizajniran za zaštitu od slučajnog izobličenja informacija. Za zaštitu od namjerne izmjene podataka, drugo kriptografske tehnike- prvenstveno elektronski digitalni potpis.

Prilikom razmjene informacija, prefiks služi kao neka vrsta dodatni alat kontrolu. Izračunava se za otvoreni tekst kada se neke informacije šifriraju i šalju zajedno sa šifriranim tekstom. Nakon dešifriranja, izračunava se nova vrijednost prefiksa, koja se upoređuje sa poslanom. Ako se vrijednosti ne podudaraju, to znači da je šifrirani tekst izobličen tokom prijenosa ili su korišteni neispravni ključevi tokom dešifriranja. Prefiks je posebno koristan za provjeru ispravnog dešifriranja ključnih informacija kada se koriste sheme s više ključeva.

Algoritam GOST 28147-89 smatra se vrlo jakim algoritmom - trenutno više nije predloženo za njegovo otkrivanje. efikasne metode nego gore spomenuti metod "grube sile". Njegova visoka sigurnost postiže se prvenstveno zahvaljujući velikoj dužini ključa - 256 bita. Kada se koristi tajna sinhronizovana poruka, efektivna dužina ključa se povećava na 320 bita, a tajnost tabele zamene dodaje dodatne bitove. Osim toga, kriptografska snaga ovisi o broju rundi transformacija, koji bi, prema GOST 28147-89, trebao biti 32 ( pun efekat disperzija ulaznih podataka se postiže nakon 8 rundi).

AES standard

Za razliku od algoritma GOST 28147-89, koji dugo vrijeme ostala tajna, američki standard AES enkripcija dizajniran da zameni DES, izabran je putem javnog konkursa, na kojem su sve zainteresovane organizacije i pojedinci mogli da proučavaju i komentarišu algoritme-aplikante.

Konkurs za zamjenu DES-a raspisao je 1997. godine američki Nacionalni institut za standarde i tehnologiju (NIST - Nacionalni institut za standarde i tehnologiju). Na konkursu je predstavljeno 15 algoritama kandidata, koje su razvile kako organizacije poznate u oblasti kriptografije (RSA Security, Counterpane, itd.), tako i pojedinci. Rezultati takmičenja objavljeni su u oktobru 2000. godine: pobjednik je Rijndael algoritam, koji su razvila dva kriptografa iz Belgije, Vincent Rijmen i Joan Daemen.

Rijndaelov algoritam nije poput većine poznatih algoritama simetričnog šifriranja, čija se struktura naziva "Feistelova mreža" i slična je ruskom GOST 28147-89. Posebnost Feistelove mreže je u tome što je ulazna vrijednost podijeljena u dva ili više podblokova, od kojih se neki obrađuju u svakom krugu prema određenom zakonu, a zatim se postavljaju na neobrađene podblokove (vidi sliku 1).

Za razliku od domaćeg standarda šifriranja, Rijndaelov algoritam predstavlja blok podataka u obliku dvodimenzionalnog niza bajtova veličine 4X4, 4X6 ili 4X8 (nekoliko fiksne veličinešifrirani blok informacija). Sve operacije se izvode na pojedinačnim bajtovima niza, kao i na nezavisnim kolonama i redovima.

Rijndaelov algoritam izvodi četiri transformacije: BS (ByteSub) - zamjena tabele svakog bajta niza (slika 3); SR (ShiftRow) - pomeranje redova niza (slika 4). Tokom ove operacije, prva linija ostaje nepromijenjena, a ostali se ciklički pomiču ulijevo za fiksni broj bajtova, ovisno o veličini niza. Na primjer, za niz 4X4, redovi 2, 3 i 4 su pomjereni za 1, 2 i 3 bajta, respektivno. Slijedi MC (MixColumn) - operacija na nezavisnim stupcima niza (slika 5), ​​kada je svaki stupac određeno pravilo pomnoženo sa fiksnom matricom c (x). I na kraju, AK (AddRoundKey) - dodajte ključ. Svaki bit niza se dodaje po modulu 2 sa odgovarajućim bitom okruglog ključa, koji se, pak, izračunava na određeni način iz ključa za šifrovanje (slika 6).


Rice. 3. Operacija BS.

Rice. 4. Operacija SR.

Rice. 5. Operacija MC.

Broj rundi enkripcije (R) u Rijndael algoritmu je promjenjiv (10, 12 ili 14 rundi) i ovisi o veličini bloka i ključu za šifriranje (također postoji nekoliko fiksnih veličina za ključ).

Dešifriranje se izvodi pomoću sljedećih obrnutih operacija. Tablica je invertirana i zamjena tablice se izvodi na inverznoj tablici (u odnosu na onu koja se koristi za šifriranje). Inverzno od SR je da se redovi rotiraju udesno umjesto ulijevo. Inverzna operacija za MC je množenje prema istim pravilima drugom matricom d (x) koja zadovoljava uvjet: c (x) * d (x) = 1. Dodavanje ključa AK je inverzno samo od sebe, jer koristi samo XOR operacija. Ove reverzne operacije se koriste za dešifriranje obrnutim redoslijedom od onog koji se koristi za šifriranje.

Rijndael je postao novi standard za enkripciju podataka zbog niza prednosti u odnosu na druge algoritme. Prije svega, pruža velika brzina enkripcija na svim platformama: u softverskoj i hardverskoj implementaciji. Odlikuje se neuporedivim najbolje prilike paralelizacija proračuna u poređenju sa drugim algoritmima predstavljenim za takmičenje. Osim toga, zahtjevi za resursima za njegov rad su minimalni, što je važno kada se koristi u uređajima s ograničenim računarskim mogućnostima.

Jedini nedostatak algoritma je njegova inherentna nekonvencionalna shema. Činjenica je da su svojstva algoritama zasnovanih na Feistelovoj mreži dobro istražena, a Rijndael, za razliku od njih, može sadržavati skrivene ranjivosti koje se mogu otkriti tek nakon nekog vremena od početka njegove široke distribucije.

Asimetrična enkripcija

Kao što je već napomenuto, algoritmi asimetričnog šifriranja koriste dva ključa: k1 je ključ za šifriranje, ili javni, a k2 je ključ za dešifriranje, ili tajni. Javni ključ izračunato iz tajne: k1 = f (k2).

Algoritmi asimetrične enkripcije zasnovani su na upotrebi jednosmjernih funkcija. Po definiciji, funkcija y = f (x) je jednosmjerna ako: je lako izračunati za sve moguće opcije x i za većinu moguće vrijednosti y je prilično teško izračunati takvu vrijednost x, za koju je y = f (x).

Primjer jednosmjerne funkcije je množenje dva velika broja: N = P * Q. Samo po sebi, takvo množenje - jednostavan rad... Međutim, inverzna funkcija (dekompozicija N na dva velika faktora), nazvana faktorizacija, prema modernim vremenskim procjenama je prilično komplikovana matematički problem... Na primjer, faktoring N od 664 bita na P? Q će zahtijevati oko 1023 operacije, a da biste obrnuli x za modularni eksponent y = ax mod p sa poznatim a, p i y (sa istim dimenzijama a i p), trebate izvesti oko 1026 operacija. Posljednji od ovih primjera se zove Discrete Logarithm Problem (DLP), a ova vrsta funkcije se često koristi u algoritmima asimetrične enkripcije, kao i u algoritmima koji se koriste za kreiranje elektronskih digitalnih potpisa.

Druga važna klasa funkcija koje se koriste u asimetričnom šifriranju su jednosmjerne backdoor funkcije. Njihova definicija kaže da je funkcija jednosmjerna sa tajnim prolazom ako je jednosmjerna i postoji mogućnost efikasnog izračuna inverzna funkcija x = f-1 (y), odnosno ako je poznat "tajni prolaz" (određeni tajni broj, primijenjen na asimetrične algoritme šifriranja - vrijednost tajnog ključa).

Backdoor jednosmjerne funkcije se koriste u široko korištenom algoritmu asimetričnog šifriranja RSA.

RSA algoritam

Razvijen 1978. godine od strane tri autora (Rivest, Shamir, Adleman), ime je dobio po prvim slovima prezimena programera. Pouzdanost algoritma zasniva se na složenosti faktorizacije velikih brojeva i izračunavanja diskretnih logaritama. Glavni parametar RSA algoritma je sistemski modul N, prema kojem se provode svi proračuni u sistemu, a N = P * Q (P i Q su tajni slučajni prosti brojevi, obično iste dimenzije).

Bira se tajni ključ k2 nasumično i mora ispunjavati sljedeće uslove:

1

gdje je GCD najveći zajednički djelitelj, tj. k1 mora biti koprost sa vrijednošću Ojlerove funkcije F (N), a potonja je jednaka broju pozitivnih cijelih brojeva u rasponu od 1 do N, koprosta sa N, i se računa kao F (N) = (P - 1) * (Q - 1).

Javni ključ k1 se izračunava iz relacije (k2 * k1) = 1 mod F (N), a za to se koristi generalizirani Euklidov algoritam (algoritam za izračunavanje najvećeg zajedničkog djelitelja). Blok podataka M je šifriran korištenjem RSA algoritma na sljedeći način: C = M [na stepen k1] mod N... Imajte na umu da, pošto je u stvarnom kriptosistemu koji koristi RSA broj k1 veoma velik (trenutno njegova dimenzija može doseći 2048 bita), direktno izračunavanje M [na stepen k1] nerealno. Da bi se dobio, koristi se kombinacija višestrukog kvadrata M sa množenjem rezultata.

Inverzija ove funkcije nije izvodljiva za velike dimenzije; drugim riječima, nemoguće je pronaći M iz poznatih C, N i k1. Međutim, imajući tajni ključ k2, koristeći jednostavne transformacije, možemo izračunati M = Ck2 mod N. Očigledno, pored samog tajnog ključa, potrebno je osigurati i tajnost parametara P i Q. Ako napadač dobije njihove vrijednosti, on će moći izračunati tajni ključ k2.

Koja je enkripcija bolja?

Glavni nedostatak simetrične enkripcije je potreba za prijenosom ključeva "iz ruke u ruku". Ovaj nedostatak je veoma ozbiljan, jer onemogućava upotrebu simetrične enkripcije u sistemima sa neograničenim brojem učesnika. Međutim, ostatak simetrične enkripcije ima neke prednosti, koje su jasno vidljive na pozadini ozbiljnih nedostataka asimetrične enkripcije.

Prvi od njih je mala brzina izvođenja operacija šifriranja i dešifriranja zbog prisutnosti operacija koje zahtijevaju velike resurse. Još jedan "teorijski" nedostatak je da kriptografska snaga algoritama asimetrične enkripcije nije matematički dokazana. To je prvenstveno zbog problema diskretnog logaritma - do sada nije bilo moguće dokazati da je njegovo rješenje u prihvatljivom vremenu nemoguće. Nepotrebne poteškoće stvara i potreba da se javni ključevi zaštite od zamjene – promjenom javnog ključa legalnog korisnika, napadač će moći šifrirati važnu poruku u svoj javni ključ i naknadno je lako dešifrirati svojim privatnim ključem.

Međutim, ovi nedostaci ne sprječavaju široku upotrebu algoritama asimetričnog šifriranja. Danas postoje kriptosistemi koji podržavaju certifikaciju javnog ključa, kao i kombinaciju simetričnih i asimetričnih algoritama šifriranja. Ali ovo je već tema za poseban članak.

Dodatni izvori informacija

Za one čitatelje koje zanima šifriranje, autor preporučuje da prošire svoje vidike uz pomoć sljedećih knjiga.

  1. Brassard J. "Moderna kriptologija".
  2. Petrov A. A. "Kompjuterska sigurnost: kriptografske metode zaštite".
  3. Romanets Yu. V., Timofeev PA, Shangin VF "Zaštita informacija u savremenim računarskim sistemima".
  4. Sokolov A. V., Shangin V. F. "Informaciona sigurnost u distribuiranim korporativnim mrežama i sistemima".

Potpuni opis algoritama za šifriranje možete pronaći u sljedećim dokumentima:

  1. GOST 28147-89. Sistem za obradu informacija. Kriptografska zaštita. Algoritam za kriptografsku transformaciju. - M.: Gosstandart SSSR, 1989.
  2. AES algoritam: http://www.nist.gov/ae.
  3. RSA algoritam: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1.

Životni vijek informacija

§ Prilikom presretanja šifrovane poruke za neke vrste algoritama šifriranja, možete izračunati učestalost pojavljivanja određenih znakova i uporediti ih sa vjerovatnoćom pojavljivanja određenih znakova ili njihovih kombinacija (bigrami, trigrami, itd.). To, zauzvrat, može dovesti do nedvosmislenog dešifriranja (otkrivanja) pojedinačnih dijelova šifrirane poruke.

§ Prisustvo verovatnih reči. To su riječi ili izrazi za koje se može očekivati ​​da će se pojaviti u presretnutoj poruci (na primjer, za engleski tekst - "and", "the", "are" itd.).

§ Postoje metode da šifrovane poruke budu praktično neprikladne za statističku analizu i analizu verovatnih reči. To uključuje sljedeće.

§ Difuzija. Uticaj jednog znaka u otvorenoj poruci proteže se na mnogo znakova u šifrovanoj poruci. Ova metoda, iako dovodi do povećanja broja grešaka prilikom dešifriranja, međutim, uz njenu pomoć, moguće je sakriti statističku strukturu otvorene poruke.

§ Zapletanje. Razvoj principa raspršenja. U njemu se uticaj jednog znaka ključa proteže na mnogo znakova šifrovanog

poruke.

§ Miješanje. Zasnovan je na korištenju posebnih transformacija originalne poruke, zbog čega se čini da su vjerojatni nizovi rasuti po prostoru mogućih otvorenih poruka. Razvoj ove metode bio je korištenje složenih algoritama za šifriranje, koji se sastoje od niza jednostavnih operacija permutacije i zamjene.

Primjeri opisanih metoda su DES standardi šifriranja i GOST 28147-89.

Postoje dvije glavne vrste algoritama za šifriranje:

§ algoritmi simetrične enkripcije;

§ algoritmi za asimetrično šifrovanje.

Simetrična enkripcija.

Algoritmi simetrične enkripcije zasnivaju se na činjenici da se isti (dijeljeni) ključ koristi za šifriranje poruke i njeno dešifriranje (slika 1).

Jedna od glavnih prednosti simetričnih metoda je brzina šifriranja i dešifriranja, a glavni nedostatak je potreba da se vrijednost tajnog ključa prenese primaocu.



Neminovno se javlja problem: kako prenijeti ključ i istovremeno ne dozvoliti napadačima da ga presretnu.

Prednosti kriptografije sa simetričnim tipkama:

· Visoke performanse.

· Visoka izdržljivost. Uz sve ostale stvari jednake, snaga kriptografskog algoritma je određena dužinom ključa. Sa dužinom ključa od 256 bita, potrebno je izvršiti 10 77 enumeracija da bi se on odredio.

Nedostaci kriptografije sa simetričnim ključevima.

§ Problem distribucije ključeva. Budući da se za šifriranje i dešifriranje koristi isti ključ, potrebni su vrlo pouzdani mehanizmi za njihovu distribuciju (prijenos).

§ Skalabilnost. Pošto i pošiljalac i primalac koriste jedan ključ, broj potrebnih ključeva eksponencijalno raste u zavisnosti od broja učesnika u komunikaciji. Za razmjenu poruka između 10 korisnika potrebno je imati 45 ključeva, a za 1000 korisnika - već 499.500.

§ Ograničena upotreba. Kriptografija s tajnim ključem koristi se za šifriranje podataka i ograničavanje pristupa njima, nemoguće je pružiti takva svojstva informacija kao što su autentičnost i

neporicanje.

Asimetrična enkripcija

Algoritmi asimetrične enkripcije (kriptografija s javnim ključem) uključuju upotrebu dva ključa. Prvi ključ je otvoren. Distribuira se potpuno besplatno, bez ikakvih mjera opreza. Sekunda, zatvoreno ključ se čuva u tajnosti.

Svaka poruka šifrirana pomoću jednog od ovih ključeva može se dešifrirati samo pomoću svog uparenog ključa. Tipično, pošiljalac poruke koristi javni ključ primaoca, a primalac koristi svoj privatni privatni ključ.

U asimetričnoj shemi za prijenos šifriranih poruka, oba ključa su izvedena iz jednog generiranog glavni ključ. Kada se dva ključa formiraju iz jednog, oni su zavisni u matematičkom smislu, međutim, zbog složenosti računanja, nijedan od njih se ne može izračunati iz drugog. Nakon što se generiraju oba ključa (i javni i privatni, privatni), glavni ključ se uništava, a time se potiskuje svaki pokušaj vraćanja vrijednosti ključeva izvedenih iz njega.

Asimetrična shema je idealna za korištenje javnih mreža za razmjenu poruka (npr. Internet). Svaki mrežni pretplatnik može potpuno slobodno poslati javni ključ svom pregovaračkom partneru, a ovaj će u ulozi pošiljaoca poruke koristiti ovaj ključ prilikom šifriranja poruke koja se šalje (slika 2). Ovu poruku svojim privatnim ključem može dešifrirati samo primalac poruke koji je prethodno poslao odgovarajući javni ključ. Napadač koji presretne takav ključ može ga koristiti samo u svrhu prenošenja nekih šifriranih poruka legitimnom vlasniku ključa.

Nedostatak asimetrične sheme je veliko vrijeme potrebno za šifriranje i dešifriranje, što ne dozvoljava njihovu upotrebu za brzu razmjenu dugih poruka u načinu dijaloga. Implementacija asimetričnih metoda šifriranja zahtijeva CPU. Stoga se u svom čistom obliku kriptografija s javnim ključem obično ne koristi u svjetskoj praksi.



Rice. 2. Asimetrična šema šifriranja

Nemoguće je porediti koji je bolji, simetrični ili asimetrični algoritmi enkripcije. Primjećuje se da simetrični kriptografski algoritmi imaju kraću dužinu ključa i da su brži.

Tajna kriptografija i kriptografija javnog ključa dizajnirane su za rješavanje vrlo različitih problema. Simetrični algoritmi su vrlo pogodni za šifriranje podataka, asimetrični algoritmi su implementirani u većini mrežnih kriptografskih protokola.

Najraširenije metode su one koje kombiniraju prednosti obje sheme. Princip rada kombinovanih šema je da se simetričan (sesijski) ključ generiše za sledeću sesiju razmene poruka. Ovaj ključ se zatim šifrira i šalje pomoću asimetrične šeme. Nakon završetka trenutne pregovaračke sesije, simetrični ključ se uništava.

Na današnji dan Kriptografska služba Rusije slavi svoj profesionalni praznik.

"Kriptografija" od starogrčkog znači "Tajno pisanje".

Kako ste prije skrivali riječi?

Za vrijeme vladavine dinastije egipatskih faraona postojala je posebna metoda prenošenja tajnog pisma:

izabrao roba. Obrijali su mu glavu na ćelavo i naslikali tekst poruke na njoj vodootpornom biljnom bojom. Kada je kosa ponovo izrasla, poslan je primaocu.

Cipher Da li je bilo koji sistem za transformaciju teksta sa tajnom (ključem) kako bi se osigurala tajnost prenesenih informacija.

AiF.ru je napravio izbor zanimljivih činjenica iz istorije enkripcije.

Sva kriptografija ima sisteme

1. Akrostih- smisleni tekst (riječ, fraza ili rečenica), sastavljen od početnih slova svakog reda pjesme.

Na primjer, evo pjesme zagonetke s tragom u prvim slovima:

D Ja sam prilično poznat po svom imenu;
R prevarant i neporočni kune se njime,
Have Ja sam taj koji je najvise u nevolji,
Fživot je slađi sa mnom i to u najboljem dijelu.
B Mogu sam služiti čipki čistih duša,
A između zlikovaca - ja nisam stvoren.
Jurij Neledinsky-Meletsky
Sergej Jesenjin, Anna Ahmatova, Valentin Zagorjanski često su koristili akrostih.

2. Litorea- vrsta šifriranog pisanja korištenog u drevnoj ruskoj rukopisnoj literaturi. Ponekad jednostavno i mudro. Jednostavna se zove blebetanje, a sastoji se u sljedećem: stavljanje suglasnika u dva reda po redoslijedu:

koristite gornja slova umjesto donjih i obrnuto u pisanju, a samoglasnici ostaju nepromijenjeni; na primjer, toquepot = mače itd.

Mudra litoreja predlaže složenija pravila zamjene.

3. "ROT1"- šifra za djecu?

Možda ste ga koristili kao dijete. Ključ šifre je vrlo jednostavan: svako slovo abecede zamjenjuje se sljedećim slovom.

A je zamijenjeno sa B, B je zamijenjeno sa C, i tako dalje. "ROT1" doslovno znači "rotirati 1 slovo naprijed po abecednom redu." Fraza "Volim boršč" pretvoriće se u tajnu frazu "I myavmya vps"... Ova šifra je za zabavu i lako je razumjeti i dešifrirati, čak i ako se ključ koristi u suprotnom smjeru.

4. Iz permutacije pojmova ...

Tokom Prvog svetskog rata, poverljive poruke su slane korišćenjem takozvanih rehuffle fontova. U njima se slova preuređuju pomoću nekih unaprijed definiranih pravila ili tipki.

Na primjer, riječi se mogu napisati unatrag tako da fraza "Mama je oprala okvir" pretvara u frazu "Amam scarlet umar"... Drugi ključ za permutaciju je da permutirate svaki par slova tako da prethodna poruka postane "Am am yum al ar um".

Može se činiti da složena pravila permutacije mogu učiniti ove šifre veoma teškim. Međutim, mnoge šifrirane poruke mogu se dešifrirati korištenjem anagrama ili modernih kompjuterskih algoritama.

5. Pomična Cezarova šifra

Sastoji se od 33 različite šifre, po jedna za svako slovo abecede (broj šifri varira ovisno o pismu jezika koji se koristi). Osoba je morala znati koju šifru Julija Cezara koristiti da bi dešifrirala poruku. Na primjer, ako se koristi šifra E, tada A postaje E, B postaje F, C postaje Z, i tako dalje po abecednom redu. Ako se koristi šifra Y, tada A postaje Y, B postaje I, C postaje A, i tako dalje. Ovaj algoritam je osnova za mnoge složenije šifre, ali sam po sebi ne pruža pouzdanu zaštitu tajnosti poruka, jer će provjera 33 različita ključa šifre trajati relativno malo vremena.

Niko nije mogao. Probaj ti

Šifrovane javne poruke zadirkuju nas svojom intrigom. Neki od njih su još uvijek neriješeni. Evo ih:

Kryptos... Skulptura umjetnika Jima Sanborna koja se nalazi ispred sjedišta Centralne obavještajne agencije u Langleyu, Virginia. Skulptura sadrži četiri šifre, četvrti kod još nije otkriven. 2010. godine otkriveno je da likovi 64-69 NYPVTT u četvrtom dijelu predstavljaju riječ BERLIN.

Sada kada ste pročitali članak, vjerojatno možete pogoditi tri jednostavne šifre.

Ostavite svoje opcije u komentarima na ovaj članak. Odgovor će se pojaviti u 13:00 13. maja 2014.

odgovor:

1) Tanjir

2) Slončić je umoran od svega

3) Lijepo vrijeme

enkripcija se može protumačiti kao autentifikacija.

Ovo zvuči prilično dobro i obično je opravdano u praksi kada se koristi enkripcija. Šifriranje je nesumnjivo najvažniji sigurnosni alat. Mehanizmi šifriranja pomažu u zaštiti povjerljivost i integritet informacija. Mehanizmi šifriranja pomažu u identifikaciji izvora informacija. Međutim, samo šifriranje nije rješenje za sve probleme. Mehanizmi šifriranja mogu i trebaju biti dio potpuno funkcionalnog sigurnosnog programa. Zaista, mehanizmi šifriranja se široko koriste sigurnosnih mehanizama samo zato što pomažu u pružanju povjerljivost, integritet i mogućnost identifikacije.

Međutim, šifriranje je samo akcija odlaganja. Poznato je da bilo koji sistem za šifrovanje može biti hakovan. Poenta je u tome da može potrajati mnogo vremena i mnogo resursa da se dobije pristup šifrovanim informacijama. Uzimajući ovu činjenicu u obzir, napadač može pokušati pronaći i iskoristiti druge slabosti u cijelom sistemu u cjelini.

Ovo predavanje će objasniti osnovne koncepte vezane za enkripciju i kako koristiti enkripciju za sigurnost informacija. Nećemo detaljno razmatrati matematičku osnovu enkripcije, tako da čitatelju neće trebati mnogo znanja u ovoj oblasti. Međutim, pogledat ćemo nekoliko primjera koji će vam pomoći da shvatite koliko su različiti algoritmi za šifrovanje korišteno u dobrom sigurnosni program.

Osnovni koncepti enkripcije

Enkripcija je skrivanje informacija od neovlašćenih osoba, a istovremeno dajući pristup ovlaštenim korisnicima. Korisnici se nazivaju ovlaštenim ako imaju odgovarajući ključ za dešifriranje informacija. Ovo je vrlo jednostavan princip. Cijela poteškoća leži u tome kako se cijeli ovaj proces implementira.

Još jedan važan koncept kojeg treba imati na umu je da je cilj svakog sistema šifriranja da oteža što je više moguće neovlaštenim osobama pristup informacijama, čak i ako posjeduju šifrirani tekst i znaju algoritam koji se koristi za njegovo šifriranje. Sve dok neovlašteni korisnik ne posjeduje ključ, tajnost i integritet informacija nije narušen.

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

  • Povjerljivost. Šifriranje se koristi za skrivanje informacija od neovlašćenih korisnika tokom prenosa ili skladištenja.
  • Integritet. Šifriranje se koristi da spriječi promjenu informacija tokom prijenosa ili skladištenja.
  • Identifikacija. Šifriranje se koristi za provjeru autentičnosti izvora informacija i sprječavanje pošiljatelja informacija da negira činjenicu da su mu podaci poslani.

Uslovi šifriranja

Prije nego započnemo detaljnu priču o enkripciji, evo definicija nekih pojmova koji će se koristiti u raspravi. Prvo ćemo se pozabaviti terminima koji označavaju komponente uključene u šifriranje i dešifriranje. Slika 12.1 prikazuje opći princip po kojem se šifriranje izvodi.

Postoje i četiri pojma koje morate znati:

  • Kriptografija. Nauka o skrivanju informacija pomoću enkripcije.
  • Kriptograf. Osoba koja se bavi kriptografijom.
  • Kriptanaliza. Umijeće analize kriptografskih algoritama za ranjivosti.
  • Cryptanalyst. Osoba koja koristi kriptoanalizu za identifikaciju i iskorištavanje ranjivosti u kriptografskim algoritmima.

Napadi enkripcije

Enkripcijski sistemi mogu biti napadnuti na tri načina:

  • Kroz slabosti u algoritmu.
  • Napadom grube sile na ključ.
  • Kroz ranjivosti u okolnom sistemu.

Kada napada algoritam, kriptoanalitičar traži ranjivosti u metodi transformacije običan tekst u šifru za otkrivanje otvorenog teksta bez upotrebe ključa. Algoritmi sa takvim ranjivostima nisu dovoljno moćni. Razlog je taj što se poznata ranjivost može iskoristiti za brzi oporavak originalnog teksta. U ovom slučaju, napadač ne bi morao koristiti nikakve dodatne resurse.

Napadi grubom silom su pokušaji grube sile bilo kojeg mogućeg ključa za pretvaranje šifre u otvoreni tekst. U prosjeku, analitičar koji koristi ovu metodu mora potvrditi 50 posto svih ključeva prije nego što bude uspješan. Dakle, snaga algoritma je određena samo brojem ključeva koje analitičar treba da isproba. Stoga, što je ključ duži, veći je ukupan broj ključeva i više ključeva napadač mora isprobati prije nego što pronađe ispravan ključ. U teoriji, napadi grubom silom bi uvijek trebali biti uspješni s obzirom na odgovarajuću količinu vremena i resursa. Stoga, algoritme treba ocijeniti prema količini vremena u kojem informacije ostaju sigurne u napadu grube sile.

Top srodni članci