Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • U kontaktu s
  • Koja se vrsta obrade može klasificirati kao šifriranje. Najjednostavniji načini šifriranja teksta

Koja se vrsta obrade može klasificirati kao šifriranje. Najjednostavniji načini šifriranja teksta

Šifriranje podataka iznimno je važno za zaštitu privatnosti. U ovom članku govorit ću o različite vrste i metode šifriranja koje se danas koriste za zaštitu podataka.

Dali si znao?
Još u rimsko doba, Julije Cezar je koristio šifriranje kako bi pisma i poruke učinio nečitljivim neprijatelju. Igralo se važna uloga kao vojna taktika, osobito tijekom ratova.

Kako mogućnosti interneta nastavljaju rasti, sve više naših tvrtki zapošljava se putem interneta. Među njima su najvažniji internetsko bankarstvo, online plaćanje, e-poruke, razmjenu privatnih i službenih poruka i sl. kojima se omogućuje razmjena povjerljivih podataka i informacija. Ako ovi podaci dođu u pogrešne ruke, mogu naštetiti ne samo pojedinom korisniku, već i cijelom online sustav poslovanje.

Kako se to ne bi dogodilo, uvedene su neke online sigurnosne mjere za zaštitu prijenosa osobnih podataka. Glavni među njima su procesi šifriranja i dešifriranja podataka, koji su poznati kao kriptografija. Postoje tri glavne metode šifriranja koje se koriste u većini današnjih sustava: raspršivanje, simetrično i asimetrično šifriranje. U sljedeće redove, detaljnije ću obraditi svaku od ovih vrsta šifriranja.

Vrste šifriranja

Simetrično šifriranje

Sa simetričnim šifriranjem, normalno čitljivi podaci, poznati kao običan tekst, je kodiran (šifriran) tako da postaje nečitljiv. Ovo šifriranje podataka vrši se pomoću ključa. Nakon što su podaci šifrirani, mogu se sigurno prenijeti na prijemnik. Kod primatelja se šifrirani podaci dekodiraju pomoću istog ključa koji je korišten za kodiranje.

Stoga je jasno da je ključ najvažniji dio simetrično šifriranje. Trebao bi biti skriven od autsajdera, budući da će svatko tko ima pristup njemu moći dešifrirati privatne podatke. Zbog toga je ova vrsta enkripcije poznata i kao "tajni ključ".

U moderni sustavi ah, ključ je obično niz podataka koji dolazi iz jake lozinke ili iz potpuno slučajnog izvora. Unosi se u simetričnu enkripciju softver, koji ga koristi za osiguranje unosa. Šifriranje podataka postiže se korištenjem simetrični algoritam enkripcije kao što je standard šifriranja podataka (DES), napredni standard šifriranja (AES) ili međunarodni algoritam šifriranja podataka (IDEA).

Ograničenja

Najslabija karika u ovoj vrsti enkripcije je sigurnost ključa, kako u smislu pohrane tako i prijenosa autentificiranog korisnika. Ako se haker uspije dočepati ovog ključa, može lako dešifrirati šifrirane podatke, uništavajući cijeli smisao enkripcije.

Drugi nedostatak je zbog činjenice da softver koji obrađuje podatke ne može raditi s šifriranim podacima. Stoga, da biste mogli koristiti ovaj softver, podaci se najprije moraju dekodirati. Ako je sam softver ugrožen, napadač može lako doći do podataka.

Asimetrična enkripcija

Asimetrični ključ za šifriranje radi slično simetrični ključ, po tome što koristi ključ za kodiranje prenesene poruke. Međutim, umjesto korištenja istog ključa, koristi se potpuno drugačiji za dešifriranje ove poruke.

Ključ koji se koristi za šifriranje dostupan je svim korisnicima mreže. Kao takav poznat je kao "javni" ključ. S druge strane, ključ koji se koristi za dešifriranje čuva se u tajnosti i namijenjen je privatnom korištenju od strane samog korisnika. Stoga je poznat kao "privatni" ključ. Asimetrična enkripcija je također poznata kao šifriranje javnog ključa.

Budući da se ovom metodom tajni ključ potreban za dešifriranje poruke ne mora svaki put prenositi, a obično je poznat samo korisniku (primatelju), vjerojatnost da će haker uspjeti dešifrirati poruku je velika niži.

Diffie-Hellman i RSA primjeri su algoritama koji koriste šifriranje javnog ključa.

Ograničenja

Mnogi hakeri koriste "čovjeka u sredini" kao oblik napada kako bi zaobišli ovu vrstu enkripcije. U asimetričnoj enkripciji dobivate javni ključ na koji ste navikli sigurna razmjena podatke s drugom osobom ili uslugom. Međutim, hakeri koriste mreže prijevare kako bi vas prevarili u komunikaciji s njima, a pritom vas natjerali da vjerujete da ste na sigurnoj liniji.

Da biste bolje razumjeli ovu vrstu hakiranja, razmislite o dvije interakcijske strane Sashu i Natashu, te hakera Sergeja s namjerom da presretne njihov razgovor. Prvo, Sasha šalje poruku preko mreže namijenjenu Natashi, tražeći njezin javni ključ. Sergej presreće ovu poruku i dobiva javni ključ povezan s njom te ga koristi za šifriranje i slanje lažne poruke Natashi koja sadrži njegov javni ključ umjesto Sashin.

Natasha, misleći da je ova poruka došla od Sashe, sada je šifrira Sergejevim javnim ključem i šalje natrag. Sergey je ponovno presreo ovu poruku, dešifrirao, modificirao (po želji), ponovno šifrirao javnim ključem koji je Sasha izvorno poslao i poslao natrag Sashi.

Stoga, kada Sasha primi ovu poruku, naveden je da povjeruje da je došla od Natashe i i dalje nije svjestan loše igre.

Haširanje

Tehnika raspršivanja za generiranje koristi algoritam poznat kao hash funkcija posebna linija iz zadanih podataka, poznatih kao hash. Ovaj hash ima sljedeća svojstva:

  • isti podaci uvijek proizvode isti hash.
  • nije moguće generirati neobrađene podatke samo iz hasha.
  • Nije praktično isprobati različite kombinacije ulaza kako biste pokušali generirati isti hash.

Dakle, glavna razlika između raspršivanja i druga dva oblika enkripcije podataka je u tome što kada se podaci šifriraju (haširaju), ne mogu se dohvatiti u izvornom obliku (dešifrirani). Ova činjenica osigurava da čak i ako se haker dočepa heša, to će mu biti beskorisno, jer neće moći dešifrirati sadržaj poruke.

Message Digest 5 (MD5) i Secure Hashing Algoritam (SHA) dva su široko korištena algoritma za raspršivanje.

Ograničenja

Kao što je već spomenuto, gotovo je nemoguće dešifrirati podatke iz danog hasha. Međutim, to vrijedi samo ako je implementirano snažno raspršivanje. U slučaju slabe implementacije tehnike raspršivanja, korištenjem dovoljno resursa i napadima grube sile, uporan haker može pronaći podatke koji odgovaraju hash-u.

Kombinacija metoda šifriranja

Kao što je gore spomenuto, svaka od ove tri metode šifriranja pati od nekih nedostataka. Međutim, kada se koristi kombinacija ovih metoda, one tvore pouzdane i visokokvalitetne učinkovit sustavšifriranje.

Najčešće se kombiniraju i koriste tehnike privatnog i javnog ključa. Metoda tajnog ključa omogućuje brzo dešifriranje, dok metoda javnog ključa nudi sigurniju i više zgodan način za prijenos tajnog ključa. Ova kombinacija metoda poznata je kao "digitalna omotnica". Program za šifriranje E-mail PGP se temelji na tehnici "digitalne omotnice".

Haširanje se koristi kao sredstvo za provjeru jačine lozinke. Ako sustav pohrani hash lozinke umjesto same lozinke, bit će sigurniji, jer čak i ako ovaj hash padne u ruke hakeru, on ga neće moći razumjeti (pročitati). Tijekom provjere, sustav će provjeriti hash dolazna lozinka, i vidjet će odgovara li rezultat onome što je pohranjeno. Dakle, stvarna lozinka će biti vidljiva samo u kratkih trenutaka kada ga treba promijeniti ili provjeriti, što će značajno smanjiti vjerojatnost da padne u pogrešne ruke.

Hashing se također koristi za provjeru autentičnosti podataka tajnim ključem. Hash se generira pomoću podataka i ovog ključa. Stoga su vidljivi samo podaci i hash, a sam ključ se ne prenosi. Na ovaj način, ako se naprave promjene u podacima ili hash-u, lako će se otkriti.

Zaključno, ove se tehnike mogu koristiti za učinkovito kodiranje podataka u nečitljiv format koji može osigurati njihovu sigurnost. Većina modernih sustava obično koristi kombinaciju ovih metoda šifriranja zajedno sa snažnom implementacijom algoritama za poboljšanje sigurnosti. Osim sigurnosti, ovi sustavi pružaju i mnoge dodatne pogodnosti kao što je provjera identiteta korisnika i osiguranje da se primljeni podaci ne mogu mijenjati.

Sergej Panasenko,
Voditelj odjela za razvoj softvera tvrtke Ankad,
[e-mail zaštićen]

Osnovni koncepti

Proces pretvaranja otvorenih podataka u šifrirane podatke i obrnuto obično se naziva enkripcija, a dvije komponente ovog procesa nazivaju se šifriranje, odnosno dešifriranje. Matematički, ova transformacija je predstavljena sljedećim ovisnostima koje opisuju radnje 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 na izvornom tekstu;
k1 (ključ) - parametar funkcije E, nazvan ključ za šifriranje;
M" - informacije dobivene kao rezultat dešifriranja;
D (dekriptiranje) - funkcija dešifriranja koja vrši kriptografske transformacije inverzne šifriranju 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: "specifično tajno stanje nekih parametara algoritma kriptografske transformacije, koje osigurava izbor jedne transformacije iz ukupnosti svih mogućih za ovaj algoritam transformacije". Drugim riječima, ključ je jedinstveni element s kojim možete promijeniti rezultate algoritma šifriranja: isti izvorni tekst bit će različito šifriran kada koristite različite ključeve.

Da bi rezultat dešifriranja odgovarao izvornoj poruci (tj. za M "= M), potrebno je istovremeno izvršenje dva uvjeta. 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 šifriranje 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 za šifriranje i označava, prije svega, stupanj poteškoće u dobivanju izvornog teksta iz šifriranog bez ključa k2.

Algoritmi šifriranja mogu se podijeliti u dvije kategorije: simetrično i asimetrično šifriranje. Za prvi, omjer ključeva za šifriranje i dešifriranje definiran je 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 inverzna transformacija nemoguće, na primjer, formulom k1 = ak2 mod p (a i p su parametri korištenog algoritma).

Simetrično šifriranje

Algoritmi simetrične enkripcije potječu još iz antike: upravo je ovu metodu skrivanja informacija koristio rimski car Gaj Julije Cezar u 1. stoljeću prije Krista. e., a algoritam koji je izumio poznat je kao "Caesarov kriptosustav".

Trenutačno najpoznatiji algoritam simetrične enkripcije je DES (Data Encryption Standard), razvijen 1977. godine. Donedavno je bio "američki standard", budući da ga je vlada ove zemlje preporučila za razni sustavišifriranje podataka. Unatoč činjenici da se DES prvobitno planirao koristiti ne više od 10-15 godina, pokušaji njegove zamjene počeli su tek 1997. godine.

Nećemo detaljno raspravljati o DES-u (u gotovo svim knjigama s popisa dodatni materijali pojedi to Detaljan opis), ali okrenimo se modernijim algoritmima za šifriranje. Vrijedi samo napomenuti da je glavni razlog za promjenu standarda enkripcije njegova relativno slaba kriptografska snaga, a razlog tome je što je duljina ključa DES samo 56 značajni bitovi. Poznato je da se svaki algoritam otporan na kriptovalute može razbiti sortiranjem svih mogućih opcija za ključeve za šifriranje (tzv. brute force method - brute force attack). Lako je izračunati da će skupina od milijun procesora, od kojih svaki izračunava milijun ključeva u sekundi, provjeriti 256 varijanti DES tipki u gotovo 20 sati. A budući da je takva računalna snaga po današnjim standardima sasvim realna, jasno je da 56-bitni ključ je prekratak And DES algoritam mora se zamijeniti jačim.

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

Standard GOST 28147-89

Algoritam definiran GOST 28147-89 (slika 1) ima duljinu ključa za šifriranje od 256 bita. On šifrira informacije u blokovima od 64 bita (takvi se algoritmi nazivaju blok algoritmi), koji se zatim dijele u 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 (zbrajanje se vrši po modulu 2, tj. primjenjuje se logička operacija XOR - "isključivo ili"), a zatim se podblokovi zamjenjuju. Ova transformacija izvršava se određeni broj puta ("rundova"): 16 ili 32 ovisno o načinu rada algoritma. U svakom krugu se izvode dvije operacije.

Prvi je ključanje. Sadržaj podbloka N1 dodaje se po modulu 2 32-bitnom dijelu ključa Kx. Potpuni ključ enkripcija je predstavljena kao konkatenacija 32-bitnih potključeva: K0, K1, K2, K3, K4, K5, K6, K7. Jedan od ovih potključeva koristi se u procesu šifriranja, ovisno o okruglom broju i načinu rada algoritma.

Druga operacija je zamjena stola. Nakon preklapanja ključa, podblok N1 se dijeli na 8 dijelova od 4 bita, od kojih se vrijednost svakog zamjenjuje u skladu sa zamjenskom tablicom za ovaj dio podbloka. Podblok se zatim pobitno zakreće lijevo za 11 bita.

Zamjene stolova(Supstitution box - S-box) često se koriste u modernim algoritmima enkripcije, pa je vrijedno objasniti kako je takva operacija organizirana. Izlazne vrijednosti blokova upisuju se u tablicu. Podatkovni blok 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 ima oblik 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 tablici, izlazna vrijednost biti 15, tj. "1111" (0 a 4, 1 a 11, 2 a 2 ...).

Algoritam definiran GOST 28147-89 predviđa četiri načina rada: jednostavnu zamjenu, skaliranje, skaliranje s Povratne informacije i generiranje imitacijskih prefiksa. Koriste istu gore opisanu transformaciju šifriranja, ali budući da je svrha načina različita, ta se transformacija u svakom od njih provodi drugačije.

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

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šifriranje u ovaj način rada izvedeno na potpuno isti način, ali s malo drugačijim redoslijedom 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 neovisno jedan o drugom, tj. rezultat enkripcije svakog bloka ovisi samo o njegovom sadržaju (odgovarajućem izvornom bloku). Ako postoji nekoliko identičnih blokova izvornog (običnog) teksta, odgovarajući blokovi šifriranog teksta također će biti isti, što daje dodatnu korisna informacija za kriptoanalitičara koji pokušava razbiti šifru. Stoga se ovaj način uglavnom koristi za šifriranje samih ključeva za šifriranje (često se provode sheme 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 - gama i gama s povratnom spregom.

U gama način rada svaki blok otvorenog teksta dodaje se bit po bit po modulu 2 u gama blok šifre od 64 bita. Šifra gama je poseban niz, koji se dobiva kao rezultat određenih operacija s 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 sinkronizirana poruka.

2. Sadržaj registara N1 i N2 je šifriran (in ovaj slučaj- sinkronizacija poruka) u načinu jednostavne zamjene.

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

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

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

Ako je potreban sljedeći gama blok (tj. šifriranje ili dešifriranje treba nastaviti), vratite se na korak 2.

Za dešifriranje se proizvodi gama isti način, a zatim se šifrirani tekst i gama bitovi ponovno postavljaju XOR. Budući da je ova operacija reverzibilna, u slučaju ispravno razvijene game dobiva se izvorni tekst (tablica).

Šifriranje i dešifriranje u gama modu

Za razvoj raspona šifre potrebnog za dešifriranje, korisnik koji dešifrira kriptogram mora imati isti ključ i istu vrijednost sinkronizirajuće poruke koje su korištene prilikom šifriranja informacija. Inače nećete moći dobiti izvorni tekst iz šifriranog.

U većini implementacija algoritma GOST 28147-89, sinkronizirajuća poruka nije tajna, ali postoje sustavi u kojima je sinkronizirana poruka isti tajni element kao i ključ za šifriranje. Za takve sustave efektivna duljina ključa algoritma (256 bita) povećava se za još 64 bita tajne sinkronizirajuće poruke, što se također može smatrati ključnim elementom.

U povratnom gama modu, 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 generira se na potpuno isti način kao i prethodni.

Riža. 2. Razvoj gama šifre u gama modu s povratnom spregom.

Uzimajući u obzir način rada generiranje imitacijskih prefiksa, potrebno je definirati pojam subjekta generiranja. Prefiks imitacije je kriptografski ček zbroj, izračunato pomoću ključa za šifriranje i dizajnirano za provjeru integriteta poruka. Prilikom generiranja prefiksa izvode se sljedeće operacije: prvi 64-bitni blok polja podataka, za koji se prefiks izračunava, upisuje se u registre N1 i N2 i šifrira u reduciranom načinu jednostavne zamjene (prvih 16 izvode se krugovi od 32). Dobiveni rezultat se zbraja po modulu 2 sa sljedećim blokom informacija, spremajući rezultat u N1 i N2.

Ciklus se ponavlja sve dok posljednji blok informacija. 64-bitni sadržaj registara N1 i N2, ili njegov dio, koji proizlazi iz ovih transformacija, naziva se imitacijski prefiks. Veličina prefiksa se bira na temelju potrebne pouzdanosti poruke: s duljinom prefiksa od r bita, vjerojatnost da će promjena poruke proći nezapaženo je 2-r. Najčešće se koristi 32-bitni prefiks , odnosno polovica sadržaja registara. To je dovoljno, budući da je, kao i svaki kontrolni zbroj, imitacijski prefiks prvenstveno namijenjen zaštiti od slučajnog izobličenja informacija. Za zaštitu od namjerne izmjene podataka, drugo kriptografske metode- Prije svega, elektronički digitalni potpis.

Prilikom razmjene informacija prefiks imitacije služi kao neka vrsta dodatna sredstva kontrolirati. Izračunava se za otvoreni tekst kada su neke informacije šifrirane i šalju se zajedno s šifriranim tekstom. Nakon dešifriranja, izračunava se nova vrijednost prefiksa imitacije, koja se uspoređuje s poslanom. Ako se vrijednosti ne podudaraju, to znači da je šifrirani tekst izobličen tijekom prijenosa ili su korišteni netočni ključevi tijekom dešifriranja. Prefiks imitacije posebno je koristan za provjeru točne dešifriranja ključnih informacija kada se koriste sheme s više ključeva.

Algoritam GOST 28147-89 smatra se vrlo jakim algoritmom - trenutačno više nije predloženo za njegovo otkrivanje. učinkovite metode nego gore spomenuta metoda "brute sile". Njegova visoka sigurnost postiže se prvenstveno zbog velike duljine ključa - 256 bita. Kada se koristi tajna sinkronizirana poruka, efektivna duljina ključa se povećava na 320 bita, a tajna zamjenske tablice dodaje dodatne bitove. Osim toga, kriptografska snaga ovisi o broju rundi transformacija, koji bi, prema GOST 28147-89, trebao biti 32 ( puni učinak disperzija ulaznih podataka postiže se nakon 8 rundi).

AES standard

Za razliku od algoritma GOST 28147-89, koji Dugo vrijeme ostala tajna, američki standard AES enkripcija, dizajniran da zamijeni DES, odabran je na javnom natječaju, na kojem su sve zainteresirane organizacije i pojedinci mogli proučavati i komentirati algoritme kandidata.

Natječaj za zamjenu DES-a raspisao je 1997. godine američki Nacionalni institut za standarde i tehnologiju (NIST - National Institute of Standards and Technology). Na natječaj je pristiglo 15 prijavljenih algoritama koje su razvile kako poznate organizacije iz područja kriptografije (RSA Security, Counterpane, itd.), tako i pojedinci. Rezultati natjecanja objavljeni su u listopadu 2000.: pobjednik je Rijndaelov algoritam koji su razvila dva kriptografa iz Belgije, Vincent Rijmen i Joan Daemen.

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

Za razliku od domaćeg standarda za šifriranje, 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 neovisnim stupcima i recima.

Rijndaelov algoritam izvodi četiri transformacije: BS (ByteSub) - zamjena tablice svakog bajta niza (slika 3); SR (ShiftRow) - pomak reda niza (slika 4). Ovom operacijom, prvi red ostaje nepromijenjen, a ostali se ciklički pomiču bajt po bajt ulijevo za fiksni broj bajtova, ovisno o veličini niza. Na primjer, za niz 4X4, redovi 2, 3 i 4 pomaknuti su za 1, 2, odnosno 3 bajta. Slijedi MC (MixColumn) - operacija na neovisnim stupcima niza (slika 5), ​​kada svaki stupac određeno pravilo se množi s fiksnom matricom c(x). I na kraju, AK (AddRoundKey) - dodavanje ključa. Svaki bit niza dodaje se po modulu 2 odgovarajućem bitu okruglog ključa, koji se, pak, izračunava na određeni način iz ključa za šifriranje (slika 6.).


Riža. 3. BS rad.

Riža. 4. Operacija SR.

Riža. 5. MC rad.

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 inverznih operacija. Tablica je obrnuta i zamjena tablice se izvodi na inverznoj tablici (u odnosu na onu koja se koristi u šifriranju). Inverzna operacija prema SR je kružni pomak redaka udesno, a ne ulijevo. Inverzna operacija za MC je množenje u skladu s istim pravilima s drugom matricom d(x) koja zadovoljava uvjet: c(x) * d(x) = 1. Dodavanje ključa AK je inverzno od samog sebe, budući da koristi samo operaciju XOR. Ove reverzne operacije koriste se za dešifriranje obrnutim redoslijedom od onog koji se koristi za šifriranje.

Rijndael je postao novi standard za šifriranje podataka zbog niza prednosti u odnosu na druge algoritme. Prije svega, pruža velika brzina enkripcija na svim platformama: u softverskoj i hardverskoj implementaciji. Neusporedivo je istaknut najbolje prilike paralelizacija izračuna u usporedbi s drugim algoritmima prijavljenim na natječaj. Osim toga, zahtjevi za resursima za njegov rad su minimalni, što je važno kada se koristi u uređajima s ograničenim računalnim mogućnostima.

Nedostatak algoritma može se smatrati samo njegovom inherentnom netradicionalnom shemom. Činjenica je da su svojstva algoritama temeljenih na Feistelovoj mreži dobro prouč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

Asimetrični algoritmi šifriranja, kao što je već napomenuto, 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 temelje se na korištenju jednosmjernih funkcija. Prema definiciji, funkcija y = f(x) je jednosmjerna ako: je lako izračunati za sve 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 (razlaganje N na dva velika faktora), nazvana faktorizacija, prema suvremenim procjenama vremena, prilično je komplicirana. matematički problem. Na primjer, faktoring N s dimenzijom 664 bita na P ? Q će zahtijevati oko 1023 operacije, a za izračunavanje x natrag za modulo eksponent y = ax mod p s poznatim a, p i y (s istim dimenzijama a i p) potrebno je izvesti približno 1026 operacija. Posljednji od ovih primjera naziva se problem diskretnog logaritma (DLP), a takve se funkcije često koriste u algoritmima asimetrične enkripcije, kao i u algoritmima koji se koriste za izradu elektroničkog digitalnog 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 stražnjim vratima ako je jednosmjerna i moguće je učinkovito izračunati inverzna funkcija x = f-1(y), tj. ako je poznat "tajni prolaz" (određeni tajni broj, u primjeni na algoritme asimetrične enkripcije - vrijednost tajnog ključa).

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

RSA algoritam

Razvijen 1978. od strane tri autora (Rivest, Shamir, Adleman), ime je dobio po prvim slovima imena programera. Pouzdanost algoritma temelji se na poteškoćama faktoriranja velikih brojeva i računanja diskretnih logaritama. Glavni parametar RSA algoritam- modul sustava N koji se koristi za sve izračune u sustavu, a N = P*Q (P i Q su tajni slučajni jednostavni velike brojke, obično iste dimenzije).

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

1

gdje je gcd najveći zajednički djelitelj, tj. k1 mora biti kopriman s vrijednošću Eulerove funkcije F(N), pri čemu je potonja jednaka broju pozitivnih cijelih brojeva u rasponu od 1 do N koji su međusobno prosti s N, te je izračunato kao F(N) = (P - 1)*(Q - 1).

Javni ključ k1 izračunava se iz relacije (k2*k1) = 1 mod F(N), a za to se koristi generalizirani Euklid algoritam (algoritam za izračun najvećeg zajedničkog djelitelja). Podatkovni blok M šifriran je pomoću RSA algoritma na sljedeći način: C=M [na stepen k1] mod N. Imajte na umu da je u stvarnom kriptosustavu koji koristi RSA broj k1 vrlo velik (trenutno njegova dimenzija može doseći do 2048 bita), izravan izračun M [na stepen k1] nestvarno. Da bi se dobio, koristi se kombinacija višestrukog kvadriranja M s množenjem rezultata.

Inverzija ove funkcije na velikim dimenzijama nije izvediva; drugim riječima, nemoguće je pronaći M iz poznatih C, N i k1. Međutim, imajući tajni ključ k2, uz pomoć jednostavnih transformacija, može se izračunati M = Ck2 mod N. Očito, osim samog tajnog ključa, potrebno je osigurati tajnost parametara P i Q. napadač dobije njihove vrijednosti, tada može izračunati i tajni ključ k2.

Koja je najbolja enkripcija?

Glavni nedostatak simetrične enkripcije je potreba za prijenosom ključeva "iz ruke u ruku". Ovaj nedostatak je vrlo ozbiljan, jer onemogućuje korištenje simetrične enkripcije u sustavima s neograničenim brojem sudionika. Međutim, u drugim aspektima, simetrična enkripcija ima neke prednosti koje su jasno vidljive na pozadini ozbiljnih nedostataka asimetrične enkripcije.

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

Ipak, ovi nedostaci ne sprječavaju raširenu upotrebu algoritama asimetrične enkripcije. Danas postoje kriptosustavi koji podržavaju certifikaciju javnog ključa, kao i kombiniranje simetričnih i asimetričnih algoritama šifriranja. Ali ovo je tema za poseban članak.

Dodatni izvori informacija

Za one čitatelje koji nisu dokono zainteresirani za enkripciju, autor preporuča proširiti svoje vidike uz pomoć sljedećih knjiga.

  1. Brassard J. "Moderna kriptologija".
  2. Petrov A. A. "Računalna sigurnost: kriptografske metode zaštite".
  3. Romanets Yu. V., Timofeev PA, Shangin VF "Informacijska sigurnost u modernim računalnim sustavima".
  4. Sokolov A. V., Shangin V. F. "Zaštita informacija u distribuiranim korporativnim mrežama i sustavima".

Potpuni opis algoritama šifriranja može se pronaći u sljedećim dokumentima:

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

MINISTARSTVO OBRAZOVANJA I ZNANOSTI RUJSKE FEDERACIJE FEDERALNA DRŽAVNA OBRAZOVNA USTANOVA VISOKOG STRUČNOG OBRAZOVANJA

"JUŽNO FEDERALNO SVEUČILIŠTE"

TEHNOLOŠKI INSTITUT JUŽNOG FEDERALNOG SVEUČILIŠTA U TAGANROGU Fakultet za informacijsku sigurnost Odsjek BIT Esej na temu

"Kriptografija i vrste enkripcije"

Umjetnost. gr. I-21

Dovršio: V. I. Mishchenko Provjerio: E. A. Maro Taganrog - 2012.

Uvod

1. Povijest kriptografije

1.1 Pojava šifri

1.2 Evolucija kriptografije

2. Kriptoanaliza

2.1 Karakteristike poruke

2.2 Svojstva prirodnog teksta

2.3 Kriteriji za određivanje prirodnosti

3. Simetrično šifriranje

4. Asimetrično šifriranje

Zaključak

Uvod U sklopu vježbeničke prakse odabrao sam temu „Kriptografija i vrste enkripcije“. Tijekom rada razmatrana su pitanja poput povijesti nastanka kriptografije, njezine evolucije i vrste šifriranja. Proveo sam pregled postojećih algoritama za šifriranje, zbog čega se može primijetiti da čovječanstvo ne miruje i stalno smišlja različite načine za pohranu i zaštitu informacija.

Pitanje zaštite vrijednih informacija modificiranjem, isključujući njihovo čitanje od strane nepoznate osobe, muči najbolje ljudske umove od davnina. Povijest šifriranja gotovo je iste godine kao i povijest ljudskog govora. Osim toga, samo je pisanje izvorno bilo kriptografski sustav, budući da je u drevnim društvima samo nekolicina odabranih posjedovala takvo znanje. Sveti rukopisi raznih drevnih država primjeri su toga.

Otkako je pisanje postalo široko rasprostranjeno, kriptografija je postala potpuno neovisna znanost. Prvi kriptografski sustavi mogu se naći već na početku naše ere. Na primjer, Julije Cezar je u svojoj osobnoj korespondenciji koristio sustavnu šifru, koja je kasnije nazvana po njemu.
Ozbiljan razvoj sustava šifriranja primio je u doba prvog i drugog svjetskog rata. Od ranog poslijeratnog doba do danas, pojava modernih računala ubrzala je stvaranje i poboljšanje metoda šifriranja.
Zašto je pitanje korištenja metoda šifriranja u računalnim sustavima (CS) postalo posebno aktualno u naše vrijeme?
Prvo, proširio se opseg računalnih mreža, poput World Wide Weba, uz pomoć kojih se prenose ogromne količine informacija državne, vojne, komercijalne i osobne prirode, onemogućujući pristup trećim osobama.
Drugo, pojava modernih super-moćnih računala, naprednih tehnologija mrežnog i neuronskog računalstva omogućuje diskreditaciju enkripcijskih sustava koji su se jučer smatrali potpuno sigurnima.

1. Povijest kriptografije Sa samim dolaskom ljudske civilizacije, pojavila se potreba za prenošenjem informacija pravim ljudima kako se one ne bi dale do znanja autsajderima. U početku su ljudi koristili samo glas i geste za emitiranje poruka.

S pojavom pisanja, pitanje tajnosti i autentičnosti emitiranih poruka postalo je posebno važno. Kao rezultat toga, nakon izuma pisanja nastala je umjetnost kriptografije, metoda "tajnog pisanja" - skup tehnika dizajniranih za tajno prenošenje snimljenih poruka od jednog insajdera do drugog.

Čovječanstvo je osmislilo popriličan broj tehnologija tajnog pisanja, posebice, simpatičnu tintu koja nestaje ubrzo nakon što napiše tekst ili je nevidljiva od početka, "otapajući" vrijedne informacije u velikom tekstu s potpuno "stranim" značenjem, pripremajući poruke koristeći čudne nerazumljive simbole.

Šifriranje je nastalo upravo kao praktični predmet koji proučava i razvija metode šifriranja informacija, odnosno pri prijenosu poruka ne skriva samu činjenicu prijenosa, već tekst poruke čini nečitljivim za neupućene osobe. Radi toga, tekst poruke mora biti napisan na način da se nitko osim samih adresata ne može upoznati s njezinim sadržajem.

Pojava prvih računala sredinom 20. stoljeća uvelike je promijenila situaciju - praktična enkripcija napravila je ogroman skok u svom razvoju, a izraz "kriptografija" značajno je odstupio od svog izvornog značenja - "kriptografija", "tajna". pisanje". Danas ovaj predmet kombinira metode zaštite informacija potpuno heterogene prirode, temeljene na transformaciji podataka prema tajnim algoritmima, uključujući algoritme koji koriste različite tajne parametre.

1.1 Pojava šifri Neki od kriptografskih sustava došli su do nas od davnina. Najvjerojatnije su rođeni istodobno s pisanjem u 4. tisućljeću pr. Metode tajne korespondencije izumljene su neovisno u mnogim drevnim državama, poput Egipta, Grčke i Japana, ali detaljan sastav kriptologije u njima sada je nepoznat. Kriptogrami se nalaze još u antičko doba, iako su zbog ideografskog pisanja korištenog u antičkom svijetu u obliku stiliziranih piktograma bili prilično primitivni. Sumerani su se, očito, služili umijećem kriptografije.

Arheolozi su pronašli niz glinenih klinastih ploča, u kojima je prvi zapis često bio premazan debelim slojem gline, na kojem je napravljen drugi zapis. Pojava takvih čudnih tableta mogla bi se opravdati i kriptografijom i zbrinjavanjem. Budući da je broj znakova ideografskog pisanja iznosio više od tisuću, njihovo pamćenje bio je prilično težak zadatak - nije bilo vremena za šifriranje. Međutim, kodovi koji su se pojavili u isto vrijeme kad i rječnici bili su vrlo poznati u Babilonu i asirskoj državi, a stari Egipćani koristili su najmanje tri sustava šifriranja. S nastankom fonetskog pisanja, pisanje je odmah postalo jednostavnije. U starosemitskom alfabetu u 2. tisućljeću prije Krista bilo je samo 30-ak znakova. Označavali su suglasnike, kao i neke glasovne glasove i slogove. Pojednostavljivanje pisanja izazvalo je razvoj kriptografije i šifriranja.

Čak iu biblijskim knjigama možemo pronaći primjere šifri, iako ih gotovo nitko ne primjećuje. U knjizi proroka Jeremije (22,23) čitamo: "... i kralj Sesaški će piti za njima." Ovaj kralj i takvo kraljevstvo nisu postojali – je li to doista autorova pogreška? Ne, samo su ponekad sveti židovski rukopisi bili šifrirani uobičajenom zamjenom. Umjesto prvog slova abecede, napisali su posljednje, umjesto drugog - pretposljednje, i tako dalje. Ovaj stari način kriptografije naziva se atbash. Čitajući uz nju riječ SESSAH, imamo riječ BABILON u izvornom jeziku, a cijelo značenje biblijskog rukopisa mogu razumjeti čak i oni koji slijepo ne vjeruju u istinitost Svetog pisma.

1.2 Evolucija kriptografije Razvoj enkripcije u dvadesetom stoljeću bio je vrlo brz, ali prilično neravnomjeran. Gledajući povijest njegova razvoja kao specifičnog područja ljudskog života, možemo izdvojiti tri temeljna razdoblja.

Osnovna. Bavi se samo ručnim šiframa. Počeo je u antičko doba, a završio tek na samom kraju tridesetih godina dvadesetog stoljeća. Kriptografija je za to vrijeme prebrodila dug put od magične umjetnosti prapovijesnih svećenika do svakodnevne primijenjene profesije djelatnika tajnih agencija.

Sljedeće razdoblje može se zabilježiti stvaranjem i raširenim uvođenjem u praksu mehaničkih, zatim elektromehaničkih i na samom kraju elektroničkih uređaja kriptografije, stvaranjem čitavih mreža šifrirane komunikacije.

Rođenjem trećeg razdoblja u razvoju enkripcije obično se smatra 1976. godina, u kojoj su američki matematičari Diffie i Hellman izmislili temeljno novi način organiziranja šifrirane komunikacije koji ne zahtijeva prethodno davanje tajnih ključeva pretplatnicima - tzv. zove se šifriranje javnog ključa. Kao rezultat toga, sustavi šifriranja počeli su se pojavljivati ​​na temelju metode koju je Shannon izmislio još 40-ih godina. Predložio je projektiranje šifre na takav način da je dešifriranje jednako rješavanju složenog matematičkog problema koji zahtijeva izračune koji bi premašili mogućnosti modernih računalnih sustava. Ovo razdoblje razvoja enkripcije karakterizira pojava apsolutno automatiziranih kriptiranih komunikacijskih sustava, u kojima svaki korisnik posjeduje svoju osobnu lozinku za provjeru, pohranjuje je, na primjer, na magnetsku karticu ili negdje drugdje, te predstavlja prilikom autorizacije u sustav, a sve ostalo događa se automatski.

2. Kriptoanaliza Postoji ogroman jaz između ručne i računalne metode šifriranja. Ručne šifre su vrlo raznolike i mogu biti najnevjerojatnije. osim toga, poruke koje šifriraju prilično su sažete i kratke. Stoga je njihovo hakiranje mnogo učinkovitije od strane ljudi nego kod strojeva. Računalne šifre su više stereotipne, matematički vrlo složene i dizajnirane za šifriranje poruka prilično velike duljine. Naravno, njihovo ručno razotkrivanje ne vrijedi ni pokušavati. Ipak, i na ovom području vodeću ulogu imaju kriptoanalitičari, koji su generali kriptografskog napada, unatoč činjenici da se sama bitka vodi samo hardverom i softverom. Podcjenjivanje ovog fenomena dovelo je do fijaska strojnih šifri Enigma tijekom Drugog svjetskog rata.

Gotovo uvijek su poznati tip enkripcije i jezik poruke. Oni mogu biti potaknuti abecedom i statističkim značajkama kriptografije. Međutim, često se informacije o jeziku i vrsti šifre saznaju iz prikrivenih izvora. Ova situacija je pomalo poput provale u sef: ako “provalnik” ne zna unaprijed dizajn sefa koji će biti razbijen, što se čini malo vjerojatnim, on to ipak brzo određuje po izgledu, logotipu tvrtke. S tim u vezi, nepoznat je samo ključ koji treba razotkriti. Poteškoća je u tome što, kao što se sve bolesti ne liječe istim lijekom, a za bilo koju od njih postoje posebni lijekovi, tako se određene vrste šifri mogu razbiti samo vlastitim metodama.

2.1 Karakteristike poruka Poruke, bez obzira koliko složene, mogu se smatrati bilo kojim redoslijedom znakova. Ovi znakovi moraju biti uzeti iz unaprijed određenog skupa, na primjer, iz ruske abecede ili iz palete boja (crvena, žuta, zelena). U porukama se mogu pojaviti različiti znakovi u različitim intervalima. U tom smislu, količina informacija koje se prenose različitim simbolima može biti različita. U smislu koji je Shannon predložio, količina informacija određena je prosječnom vrijednošću broja mogućih pitanja s DA i NE odgovorima kako bi se predvidio sljedeći znak u poruci. Ako su znakovi u tekstu raspoređeni u nizu neovisno jedan o drugom, tada je prosječna količina informacija u takvoj poruci po znaku jednaka:

gdje je Pi učestalost manifestacije znaka i, a Ld binarni logaritam. Treba istaknuti tri fenomena ove distribucije informacija.

Potpuno je neovisan o semantici, značenju poruke, a može se koristiti čak iu situaciji kada točno značenje nije sasvim jasno. To implicira da vjerojatnost manifestacije simbola ne ovisi o njihovoj prethodnoj povijesti.

Unaprijed je poznat simbolički sustav u kojem se poruka emitira, odnosno jezik, način šifriranja.

U kojim se jedinicama mjeri vrijednost volumena informacija prema Shanonu? Najvjerojatniji odgovor na ovo pitanje može dati teorem šifriranja koji kaže da se svaka poruka može šifrirati simbolima 0 i 1 na način da će količina primljenih informacija biti proizvoljno blizu H odozgo. teorem nam omogućuje da naznačimo jedinicu informacije - ovo je bit.

2.2 Svojstva prirodnog teksta Sada zamislimo jedan način primjene znanja o značajkama prirodnog teksta na potrebe šifriranja. Iz teksta je potrebno odrediti što je to - poruka koja nosi semantičko opterećenje ili samo slijed nasumičnih znakova. Brojne kriptografske metode moraju se razbiti na računalu banalnim nabrajanjem ključeva, a ručno isprobavanje preko tisuću teksta dnevno jednostavno je nemoguće, a brzina nabrajanja je vrlo mala. s tim u vezi potrebno je takav zadatak provesti uz pomoć računala.

Pretpostavimo da na računalu moramo sortirati oko milijardu ključeva brzinom od tisuću ključeva u sekundi. To će nam trebati otprilike deset dana. U tom slučaju riskiramo da padnemo u dvije krajnosti. Ako budemo previše oprezni u svojim procjenama, neki od besmislenih fragmenata teksta bit će definirani kao poruke i vraćeni osobi. Takva se pogreška najčešće naziva "lažni alarm" ili pogreška tipa I.

Uz količinu takvih pogrešaka više od tisuću dnevno, osoba koja sjedi za računalom će se umoriti i kasnije može nepažljivo provjeravati fragmente teksta. To znači da je moguće napraviti najviše jednu grešku ove vrste na 100.000 provjera. S druge strane, ako provjerite pristupite nepažljivo, onda je sasvim moguće propustiti smisleni tekst i na kraju kompletnog nabrajanja morat ćete ga ponovno ponoviti. Kako ne bi riskirali ponavljanje cjelokupnog djela, pogreške druge vrste, koje se nazivaju i "preskočeni fragmenti", mogu se napraviti samo u jednom slučaju od 100 ili 1000.

2.3 Kriteriji za određivanje prirodnosti Najjednostavniji kriterij koji vam na prvi pogled može pasti na pamet je uporaba abecede fragmenta poruke. S obzirom da se u njemu teoretski mogu pronaći samo interpunkcijski znakovi, brojevi, velika i mala ruska slova, u tekstu fragmenta poruke ne može se naći više od polovice skupa ASCII kodne tablice.

To znači da ako računalo naiđe na nevažeći znak u fragmentu teksta, može definitivno proglasiti da nema smisla - greške druge vrste praktički su isključene dobro funkcionirajućim komunikacijskim kanalom.

Kako bismo teoretsku mogućnost "lažnih alarma" sveli na vrijednost navedenu u prethodnom članku, potreban nam je fragment poruke koji se sastoji od najmanje dvadeset i tri znaka. Pitanje postaje kompliciranije ako korišteni kod znakova nije suvišan, poput ASCII prikaza ruskog teksta, već sadrži točno onoliko znakova koliko ih ima u abecedi.

U ovom slučaju morat ćemo uvesti procjenu teoretskih mogućnosti pogađanja znakova u tekstu. Kako bi se osigurale mogućnosti pogrešaka prve i druge vrste koje smo prihvatili, pri procjeni najveće moguće vjerojatnosti potrebno je analizirati već oko 100 znakova, a analiza mogućnosti susreta bigrama samo neznatno smanjuje tu vrijednost .

Stoga je praktički nemoguće jednoznačno dekodirati kratke fragmente poruka s velikom vrijednošću ključa, budući da se slučajni fragmenti teksta mogu podudarati sa smislenim frazama. Isti problem mora se riješiti u kontroli kvalitete kriptografije. U ovom slučaju, međutim, mogućnost lažnog alarma može biti prilično povećana, čineći ne više od jedne tisućinke, uz istu mogućnost ignoriranja fragmenta poruke. To će nam omogućiti da se ograničimo na provjeru tekstova sa samo dvadeset ili trideset znakova.

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

Trenutno su simetrične šifre:

Blok šifre. Oni obrađuju informacije u blokovima određene duljine (obično 64, 128 bita), primjenjujući ključ na blok u propisanom redoslijedu, u pravilu nekoliko ciklusa miješanja i zamjene, koji se nazivaju rundi. Rezultat ponavljanja rundi je efekt lavine - progresivni gubitak podudaranja bitova između blokova čistih i šifriranih podataka.

Stream šifre u kojima se šifriranje provodi preko svakog bita ili bajta izvornog (običnog) teksta pomoću gama. Strujna šifra može se jednostavno izraditi na temelju blok šifre (na primjer, GOST 28 147-89 u gama modu) pokrenute u posebnom načinu.

Većina simetričnih šifri koristi složenu kombinaciju velikog broja zamjena i permutacija. Mnoge takve šifre se izvršavaju u nekoliko (ponekad i do 80) prolaza, koristeći "ključ za prolaz" na svakom prolazu. Skup "ključeva prolaza" za sve prolaze naziva se "raspored ključeva". U pravilu se stvara iz ključa izvođenjem određenih operacija nad njim, uključujući permutacije i zamjene.

Tipičan način za izradu simetričnih algoritama šifriranja je Feistelova mreža. Algoritam gradi shemu šifriranja temeljenu na funkciji F (D, K), gdje je D dio podataka upola manji od bloka šifriranja, a K je "ključ za prolaz" za ovaj prolaz. Funkcija ne mora biti invertibilna – njezina inverzna funkcija možda nije poznata. Prednosti Feistelove mreže su gotovo potpuna podudarnost dešifriranja s šifriranjem (jedina razlika je obrnuti redoslijed "ključeva prolaza" u rasporedu), što uvelike olakšava implementaciju hardvera.

Operacija permutacije miješa bitove poruke prema određenom zakonu. U hardverskim implementacijama, to je trivijalno implementirano kao zapletanje vodiča. Operacije permutacije omogućuju postizanje "efekta lavine". Operacija permutacije je linearna -- f (a) xor f (b) == f (a xor b)

Operacije zamjene se izvode kao zamjena vrijednosti nekog dijela poruke (često 4, 6 ili 8 bita) standardnim, tvrdo kodiranim u algoritam drugim brojem pozivanjem na konstantni niz. Operacija zamjene uvodi nelinearnost u algoritam.

Često snaga algoritma, posebno u odnosu na diferencijalnu kriptoanalizu, ovisi o izboru vrijednosti u tablicama zamjene (S-kutije). U najmanju ruku, smatra se nepoželjnim postojanje fiksnih elemenata S (x) = x, kao i izostanak utjecaja nekog bita ulaznog bajta na neki bit rezultata – odnosno slučajevi u kojima je bit rezultata isto za sve parove ulaznih riječi koje se razlikuju samo po ovom bitu.

Slika 1. Vrste ključeva

4. Asimetrična enkripcija Kriptografski sustav s javnim ključem (ili asimetrična enkripcija, asimetrična šifra) je enkripcijski i/ili sustav elektroničkog digitalnog potpisa u kojem se javni ključ prenosi preko otvorenog (tj. nezaštićenog, dostupnog za promatranje) kanal i koristi se za provjeru digitalnog potpisa i za šifriranje poruke. Tajni ključ se koristi za generiranje EDS-a i za dešifriranje poruke. Kriptografski sustavi javnog ključa trenutno se široko koriste u različitim mrežnim protokolima, posebno u TLS protokolima i njegovom prethodniku SSL (u osnovi HTTPS), u SSH-u.

Ideja kriptografije s javnim ključem vrlo je usko povezana s idejom jednosmjernih funkcija, odnosno funkcija takvih da je vrlo lako pronaći vrijednost iz poznate vrijednosti, dok je određivanje iz nje nemoguće u razumno vrijeme.

No, sama jednosmjerna funkcija je beskorisna u primjeni: može šifrirati poruku, ali je ne može dešifrirati. Stoga kriptografija s javnim ključem koristi jednosmjerne funkcije s rupom. Rupa je tajna koja pomaže dešifrirati. Odnosno, postoji jedan koji se, znajući i, može izračunati. Na primjer, ako rastavite sat na više dijelova, vrlo je teško ponovno sastaviti sat koji ponovno radi.

Sljedeći primjer pomaže razumjeti ideje i metode kriptografije javnog ključa – pohranjivanje lozinki u računalo. Svaki korisnik na mreži ima drugačiju lozinku. Na ulazu pokazuje ime i upisuje tajnu lozinku. Ali ako pohranite lozinku na disk računala, tada je netko može pročitati (administratoru ovog računala to je posebno lako učiniti) i dobiti pristup tajnim informacijama. Za rješavanje problema koristi se jednosmjerna funkcija. Prilikom izrade tajne lozinke računalo ne pohranjuje samu lozinku, već rezultat izračuna funkcije iz ove lozinke i korisničkog imena. Na primjer, korisnik Alice je smislio lozinku "Gladiolus". Prilikom spremanja ovih podataka izračunava se rezultat funkcije (GLADIOLUS), neka rezultat bude niz KAMILICA, koji će biti spremljen u sustav. Kao rezultat, datoteka lozinke će poprimiti sljedeći oblik:

Prijava sada izgleda ovako:

Kada Alice unese "tajnu" lozinku, računalo provjerava da li funkcija primijenjena na GLADIOLUS daje točan rezultat KAMILICA pohranjena na disku računala. Vrijedno je promijeniti barem jedno slovo u imenu ili lozinki, a rezultat funkcije bit će potpuno drugačiji. “Tajna” lozinka nije pohranjena na računalu ni u kojem obliku. Datoteku lozinke sada mogu vidjeti drugi korisnici bez gubitka privatnosti, budući da je funkcija gotovo nepovratna.

Prethodni primjer koristi jednosmjernu funkciju bez rupe, budući da nije potrebno dobiti izvornu poruku iz šifrirane poruke. U sljedećem primjeru razmatra se shema s mogućnošću vraćanja izvorne poruke koristeći "backdoor", odnosno informacije koje je teško pronaći. Za šifriranje teksta možete uzeti veliki imenik pretplatnika koji se sastoji od nekoliko debelih svezaka (vrlo je lako pronaći broj bilo kojeg stanovnika grada koji ga koristi, ali je gotovo nemoguće pronaći pretplatnika pomoću poznatog broja). Za svako slovo iz šifrirane poruke odabire se ime koje počinje istim slovom. Dakle, slovo je dodijeljeno telefonskom broju pretplatnika. Poruka koja se šalje, na primjer "BOX", bit će šifrirana na sljedeći način:

Poruka

Izabrano ime

Kriptotekst

Kirsanova

Arsenijev

Kriptotekst će biti lanac brojeva napisanih redoslijedom kojim su odabrani u imeniku. Kako biste otežali dešifriranje, trebali biste odabrati nasumična imena koja počinju željenim slovom. Dakle, izvorna poruka može biti šifrirana s mnogo različitih popisa brojeva (kriptotekstova).

Primjeri takvih kriptotekstova:

Kriptotekst 1

Kriptotekst 2

Kriptotekst 3

Za dešifriranje teksta morate imati priručnik sastavljen prema uzlaznim brojevima. Ovaj vodič je rupa (tajna koja pomaže da se dobije početni tekst) poznata samo pravnim korisnicima. Bez primjerka referentne knjige pri ruci, kriptoanalitičar će provesti dosta vremena dešifrirajući.

Shema šifriranja javnog ključa Neka je prostor za ključeve, a i biti ključ za šifriranje i dešifriranje. -- funkcija šifriranja za proizvoljni ključ, tako da:

Ovdje, gdje je prostor šifriranog teksta, a gdje prostor za poruke.

Funkcija dešifriranja, pomoću koje možete pronaći izvornu poruku, znajući šifrirani tekst:

(: ) je skup šifriranja, a (: ) je odgovarajući skup za dešifriranje. Svaki par ima svojstvo: znajući, nemoguće je riješiti jednadžbu, odnosno za dani proizvoljni šifrirani tekst, nemoguće je pronaći poruku. To znači da je nemoguće odrediti odgovarajući ključ za dešifriranje iz zadanog. je jednosmjerna funkcija, ali predstavlja rupu.

Ispod je dijagram prijenosa informacija od strane osobe A osobi B. To mogu biti i pojedinci i organizacije itd. No, radi lakše percepcije, uobičajeno je sudionike programa poistovjećivati ​​s osobama koje se najčešće nazivaju Alisa i Bob. Sudionik koji želi presresti i dešifrirati Aliceine i Bobove poruke najčešće se naziva Eva.

Slika 2. Asimetrično šifriranje Bob bira par i šalje ključ za šifriranje (javni ključ) Alice preko javnog kanala, a ključ za dešifriranje (privatni ključ) je siguran i tajan (ne smije se prenositi putem javnog kanala).

Za slanje poruke Bobu, Alice koristi funkciju šifriranja definiranu javnim ključem: -- primljeni šifrirani tekst.

Bob dešifrira šifrirani tekst primjenom inverzne transformacije jedinstveno identificirane vrijednosti.

Znanstvena pozadina Asimetrične šifre započele su u New Directions in Modern Cryptography Whitfielda Diffiea i Martina Hellmana, objavljenom 1976. godine. Pod utjecajem rada Ralpha Merklea na distribuciji javnih ključeva, predložili su metodu za dobivanje privatnih ključeva putem javnog kanala. Ova eksponencijalna razmjena ključeva, koja je postala poznata kao Diffie-Hellmanova razmjena ključeva, bila je prva objavljena praktična metoda za uspostavljanje dijeljenja tajnih ključeva između provjerenih korisnika kanala. Godine 2002. Hellman je predložio da se ovaj algoritam nazove "Diffie-Hellman-Merkle", prepoznajući Merkleov doprinos izumu kriptografije s javnim ključem. Istu shemu razvio je Malcolm Williamson 1970-ih, ali je držana u tajnosti do 1997. godine. Merkleova metoda distribucije javnog ključa izumljena je 1974. i objavljena 1978. godine, koja se također naziva Merkleova zagonetka.

Godine 1977. znanstvenici MIT-a Ronald Rivest, Adi Shamir i Leonard Adleman razvili su algoritam šifriranja temeljen na problemu faktorizacije. Sustav je dobio ime prema prvim slovima njihovih prezimena (RSA -- Rivest, Shamir, Adleman). Isti sustav je 1973. godine izmislio Clifford Cox, koji je radio u Vladinom komunikacijskom centru (GCHQ), ali je taj rad zadržan samo u internim dokumentima centra, pa se za njegovo postojanje znalo tek 1977. godine. RSA je bio prvi algoritam prikladan i za enkripciju i za digitalni potpis.

Općenito, poznati asimetrični kriptosustavi temelje se na jednom od složenih matematičkih problema, koji vam omogućuje izgradnju jednosmjernih funkcija i backdoor funkcija. Na primjer, kriptosustavi Merkle-Hellman i Hoare-Rivest oslanjaju se na takozvani backpacking problem.

Osnovni principi izgradnje kriptosustava s javnim ključem Počnimo s teškim zadatkom. Trebao bi biti težak za rješavanje u smislu teorije: ne bi trebao postojati algoritam koji bi se mogao koristiti za sortiranje svih opcija za rješavanje problema u polinomskom vremenu u odnosu na veličinu problema. Ispravnije je reći: ne bi trebao postojati poznati polinomski algoritam koji rješava ovaj problem – budući da za niti jedan problem još nije dokazano da za njega u principu ne postoji odgovarajući algoritam.

Možete odabrati jedan jednostavan podzadatak. Mora se riješiti u polinomskom vremenu, a bolje ako u linearnom vremenu.

"Promiješajte i protresite" da biste dobili zadatak koji je potpuno drugačiji od originala. Problem bi trebao barem izgledati kao izvorni nerješivi problem.

otvara s opisom kako se može koristiti kao ključ za šifriranje. Kako do njega doći, čuva se kao tajna puškarnica.

Kriptosustav je organiziran na način da se algoritmi dešifriranja za legalnog korisnika i kriptoanalitičara bitno razlikuju. Dok drugi rješava -problem, prvi koristi tajnu rupu i rješava -problem.

Kriptografija višestrukih javnih ključeva Sljedeći primjer pokazuje shemu u kojoj Alice šifrira poruku tako da je samo Bob može pročitati, i obrnuto, Bob šifrira poruku tako da je samo Alice može dešifrirati.

Neka budu raspoređena 3 ključa kako je prikazano u tablici.

kriptografski ključ za šifriranje simetričan

Tada Alice može šifrirati poruku ključem, a Ellen može dešifrirati ključevima, Carol može šifrirati ključem, a Dave može dešifrirati ključevima. Ako Dave šifrira poruku ključem, onda Ellen može pročitati poruku, ako ključem, onda je Frank može pročitati, ako s oba ključa i tada će poruku pročitati Carol. Drugi sudionici djeluju na sličan način. Dakle, ako se jedan podskup ključeva koristi za šifriranje, tada su preostali ključevi skupa potrebni za dešifriranje. Takva se shema može koristiti za n ključeva.

Sada možete slati poruke grupama agenata bez da unaprijed znate sastav grupe.

Razmotrimo prvo skup koji se sastoji od tri agenta: Alice, Boba i Carol. Alice dobiva ključeve, a Bob - i, Carol - i. Sada, ako je poruka koja se šalje šifrirana ključem, tada je samo Alice može pročitati uzastopnom primjenom ključeva i. Ako želite poslati poruku Bobu, poruka je šifrirana ključem, Carol ključem. Ako želite poslati poruku i Alice i Carol, tada se ključevi i koriste za šifriranje.

Prednost ove sheme je što je za implementaciju potrebna samo jedna poruka i n ključeva (u shemi s n agenata). Ako se šalju pojedinačne poruke, odnosno, koriste se zasebni ključevi za svakog agenta (ukupno n ključeva) i svaku poruku, tada su ključevi potrebni za slanje poruka svim različitim podskupovima.

Nedostatak ove sheme je da također trebate emitirati podskup agenata (popis imena može biti dugačak) kojima želite emitirati poruku. Inače će svaki od njih morati proći kroz sve kombinacije tipki u potrazi za prikladnim. Također, agenti će morati pohraniti znatnu količinu informacija o ključevima.

Kriptoanaliza algoritama javnog ključa Čini se da je kriptosustav javnog ključa idealan sustav koji ne zahtijeva siguran kanal za prijenos ključa za šifriranje. To bi značilo da dva legitimna korisnika mogu komunicirati preko otvorenog kanala bez potrebe da se sastanu radi razmjene ključeva. Nažalost, to nije tako. Slika ilustrira kako Eva, djelujući kao aktivni prisluškivač, može preuzeti sustav (dešifrirati poruku namijenjenu Bobu) bez razbijanja sustava šifriranja.

Slika 3. Kriptosustav javnog ključa s aktivnim presretačem U ovom modelu, Eve presreće javni ključ koji je Bob poslao Alisi. Zatim stvara par ključeva i "maskira se" u Boba šaljući Alice javni ključ, za koji Alice misli da je javni ključ koji joj je poslao Bob. Eve presreće šifrirane poruke od Alice Bobu, dešifrira ih privatnim ključem, ponovno ih šifrira Bobovim javnim ključem i šalje poruku Bobu. Dakle, nitko od sudionika ne shvaća da postoji treća strana koja može jednostavno presresti poruku ili je zamijeniti lažnom porukom. Ovo naglašava potrebu za provjerom autentičnosti javnog ključa. Za to se obično koriste certifikati. Distribuirano upravljanje ključevima u PGP-u rješava ovaj problem uz pomoć jamaca.

Drugi oblik napada je izračunavanje privatnog ključa iz javnog ključa (slika ispod). Kriptoanalitičar poznaje algoritam šifriranja, analizira ga, pokušava ga pronaći. Ovaj je proces pojednostavljen ako je kriptoanalitičar presreo nekoliko kriptotekstova koje je osoba A poslala osobi B.

Slika 4. Asimetrični kriptosustav s pasivnim presretačem.

Većina kriptosustava s javnim ključem temelji se na problemu faktorizacije velikog broja. Na primjer, RSA koristi umnožak dva velika broja kao javni ključ n. Složenost razbijanja takvog algoritma leži u poteškoćama faktoriranja broja n. Ali ovaj se problem može realno riješiti. I svake godine proces razgradnje postaje sve brži i brži. U nastavku su podaci faktorizacije pomoću algoritma "Kvadratično sito".

Također, problem dekompozicije potencijalno se može riješiti korištenjem Shorovog algoritma korištenjem dovoljno moćnog kvantnog računala.

Za mnoge metode asimetrične enkripcije, kriptografska snaga dobivena kao rezultat kriptoanalize značajno se razlikuje od vrijednosti koje su deklarirali programeri algoritama na temelju teorijskih procjena. Stoga je u mnogim zemljama pitanje korištenja algoritama za šifriranje podataka u području zakonske regulative. Konkretno, u Rusiji su samo oni softverski alati za šifriranje podataka koji su prošli državnu certifikaciju u upravnim tijelima, posebno u FSB-u, dopušteni za korištenje u državnim i komercijalnim organizacijama.

Zaključak U okviru rada na odabranoj temi u okviru nastavne prakse izvršio sam: pregled povijesti razvoja kriptografije i kriptoanalize; analitički pregled postojećih tipova kriptografskih algoritama (razmatraju se simetrične i asimetrične šifre) i metode za procjenu njihove snage. Nadam se da će razvoj kriptografije samo koristiti čovječanstvu.

Literatura Gatchin Yu. A., Korobeinikov A. G. Osnove kriptografskih algoritama. Vodič. - Sankt Peterburg: SPbGITMO (TU), 2002.

Kon P. Univerzalna algebra. — M.: Mir. — 1968

Korobeinikov A. G. Matematički temelji kriptografije. Vodič. Sankt Peterburg: Sankt Peterburg GITMO (TU), 2002.

Schneier B. Primijenjena kriptografija. Protokoli, algoritmi, izvorni kod u jeziku C = primijenjena kriptografija. Protokoli, algoritmi i izvorni kod u C. - M.: Trijumf, 2002.

Osnovni algoritmi šifriranja

Osnovni pojmovi i definicije

Kako se informacijsko društvo formira, tehnički načini totalnog nadzora milijuna ljudi postaju dostupni velikim državama. Stoga kriptografija postaje jedan od glavnih alata koji osiguravaju privatnost, povjerenje, autorizaciju, elektroničko plaćanje, korporativnu sigurnost i druge važne stvari.

Bavi se problemom zaštite informacija preobrazbom kriptologija , koji je podijeljen u dva smjera: kriptografija I kriptoanaliza . Ciljevi ovih pravaca su izravno suprotni.

Kriptografija bavi se traženjem i proučavanjem matematičkih metoda transformacije informacija. Područje interesa kriptoanaliza– proučavanje mogućnosti dešifriranja informacija bez poznavanja ključeva.

Moderna kriptografija uključuje 4 glavna odjeljka:

1. Simetrični kriptosustavi.

2. Kriptosustavi s javnim ključem.

3. Sustavi elektroničkog potpisa.

4. Upravljanje ključem.

Glavni smjerovi korištenja kriptografskih metoda su prijenos povjerljivih informacija komunikacijskim kanalima, autentifikacija poslanih poruka i pohranjivanje informacija na medijima u šifriranom obliku.

Kriptografija omogućuje transformaciju informacija na način da je njihovo čitanje (obnavljanje) moguće samo ako je ključ poznat. Kao informacije koje treba šifrirati i dešifrirati, smatrat će se tekstovi izgrađeni na određenoj abecedi.

Abeceda je konačan skup znakova koji se koriste za kodiranje informacija. primjeri:

ü abeceda Z33 - sadrži 32 slova ruske abecede i razmak;

ü abeceda Z256 - znakovi uključeni u standardne ASCII i KOI-8 kodove;

ü binarna abeceda Z2 – dva simbola (0 i 1);

ü oktalne ili heksadecimalne abecede.

Tekst je uređeni skup elemenata abecede.

Šifriranje– transformacijski proces zamjene izvornog (običnog) teksta šifriranim tekstom.

Dešifriranje(obrnuta enkripcija) je transformacijski proces zamjene, na temelju ključa, šifriranog teksta s čistim tekstom.

Ključ– informacije potrebne za nesmetano šifriranje i dešifriranje tekstova.

Kriptografski sustav je obitelj T [T 1 , T 2 , ..., T do ] transformacija otvorenog teksta. Članovi ove obitelji su indeksirani ili označeni simbolom do; parametar do je ključ. Prostor ključeva K je skup mogućih vrijednosti ključeva. Obično je ključ niz abecednih znakova.

Kriptosustavi se dijele na simetrično I asimetrična . U simetričnih kriptosustava Isti ključ se koristi i za šifriranje i za dešifriranje. U asimetrični sustavi (javni ključ) koriste se dva ključa - javni i privatni, koji su međusobno matematički povezani. Informacije se kriptiraju javnim ključem koji je dostupan svima, a dešifriraju se privatnim ključem, koji je poznat samo primatelju poruke.

Pojmovi distribucija ključeva I upravljanje ključem odnose se na procese obrade informacija čiji je sadržaj kompilacija ključeva i njihova distribucija među korisnicima.

Elektronički (digitalni) potpis njegova kriptografska transformacija naziva se dodana tekstu, što omogućuje, nakon što je drugi korisnik primio tekst, provjeru autorstva i autentičnosti poruke.

Kripto otpor naziva se karakteristika šifre koja određuje njegovu otpornost na dešifriranje bez poznavanja ključa (tj. otpornost na kriptoanalizu). Postoji nekoliko pokazatelja kriptografske snage:

broj svih mogućih ključeva;

prosječno vrijeme potrebno za kriptoanalizu.

Zahtjevi za kriptosustave

Proces kriptografskog zatvaranja podataka može se provesti i softverski i hardverski. Hardverska implementacija je znatno skuplja, ali ima visoke performanse, jednostavnost i sigurnost. Implementacija softvera je praktičnija i omogućuje određenu fleksibilnost u korištenju.

Uobičajeni zahtjevi za kriptografske sustave:

Šifrirana poruka mora biti čitljiva samo ako je ključ prisutan.

· broj operacija potrebnih za određivanje korištenog ključa iz fragmenta šifrirane poruke i odgovarajućeg otvorenog teksta ne smije biti manji od ukupnog broja mogućih ključeva;

Broj operacija potrebnih za dešifriranje informacija pretraživanjem mogućih ključeva mora imati strogu donju granicu i nadilaziti mogućnosti modernih računala (uzimajući u obzir mogućnosti mrežnog računalstva);

poznavanje algoritma šifriranja ne bi trebalo utjecati na pouzdanost zaštite;

mala promjena ključa trebala bi dovesti do značajne promjene vrste šifrirane poruke;

Strukturni elementi algoritma šifriranja moraju biti nepromijenjeni;

dodatni bitovi uneseni u poruku tijekom procesa šifriranja moraju biti potpuno i sigurno skriveni u šifriranom tekstu;

Duljina šifriranog teksta mora biti jednaka duljini izvornog teksta;

· ne bi trebalo postojati jednostavne i lako uspostavljene ovisnosti između ključeva koji se uzastopno koriste u procesu šifriranja;

svaki ključ iz skupa mogućih trebao bi osigurati pouzdanu zaštitu informacija;

Algoritam bi trebao omogućiti i softversku i hardversku implementaciju, dok promjena duljine ključa ne bi trebala dovesti do kvalitativnog pogoršanja algoritma šifriranja.

Osnovni algoritmi šifriranja

Metoda šifriranja-dešifriranja se zove šifra . Ključ koji se koristi za dešifriranje možda nije isti kao ključ koji se koristi za šifriranje, ali u većini algoritama ključevi su isti.

Algoritmi koji koriste ključ podijeljeni su u dvije klase: simetrično (sa tajnim ključem) i asimetrična (s javnim ključem). Simetrični algoritmi koriste isti ključ za šifriranje i dešifriranje, ili se ključ za dešifriranje jednostavno izračunava iz ključa za šifriranje. Asimetrični algoritmi koriste različite ključeve i ključ za dešifriranje se ne može izračunati iz ključa za šifriranje.

Simetrični algoritmi dijele se na stream šifre i blok šifre. Streaming vam omogućuje šifriranje informacija bit po bit, dok blokovi rade s određenim skupom bitova podataka ( obično je veličina bloka 64 bita) i šifrirajte ovaj skup kao cjelinu.

Tipično, ključ za šifriranje je datoteka ili niz podataka i pohranjen je na osobnom ključu (na primjer, flash pogon ili pametna kartica); obvezno je poduzeti mjere kako bi se osiguralo da nositelj osobnog ključa nije dostupan nikome osim njegovom vlasniku.



Autentičnost je osigurana zbog činjenice da je bez preliminarne dešifriranja praktički nemoguće izvršiti semantičku modifikaciju i krivotvorenje kriptografski zatvorene poruke. Lažna poruka ne može se ispravno šifrirati bez poznavanja tajnog ključa.

Integritet podataka osigurava se dodavanjem posebnog koda prenesenim podacima ( imitacija umetaka ) generiran tajnim ključem. Umetanje imitacije je svojevrsni kontrolni zbroj, t.j. neka referentna karakteristika poruke, prema kojoj se provjerava integritet potonje. Algoritam za generiranje imitacije umetka mora osigurati njegovu ovisnost, prema nekom složenom kriptografskom zakonu, o svakom bitu poruke. Provjeru integriteta poruke primatelj poruke generira iz tajnog ključa imitaciju uloška koja odgovara primljenoj poruci i uspoređuje je s primljenom vrijednošću imitacije umetka. Ako postoji podudaranje, zaključuje se da podaci nisu mijenjani na putu od pošiljatelja do primatelja.

Simetrična enkripcija idealna je za šifriranje informacija "za sebe", na primjer, kako bi se spriječio neovlašteni pristup njima u odsutnosti vlasnika. Imam veliku brzinu šifriranja, kriptosustavi s jednim ključem omogućuju rješavanje mnogih važnih problema zaštite informacija. Međutim, autonomna uporaba simetričnih kriptosustava u računalnim mrežama otvara problem distribucije ključeva za šifriranje između korisnika.

Prije početka razmjene kriptiranih podataka potrebno je razmijeniti tajne ključeve sa svim primateljima. Prijenos tajnog ključa simetričnog kriptosustava ne može se provesti javnim komunikacijskim kanalima, tajni ključ se mora prenijeti do pošiljatelja i primatelja putem sigurnog kanala (ili uz pomoć kurira). Kako bi se osigurala učinkovita zaštita poruka koje kruže mrežom, neophodan je ogroman broj ključeva koji se često mijenjaju (jedan ključ za svaki par korisnika). Problem distribucije tajnih ključeva velikom broju korisnika vrlo je dugotrajan i složen zadatak. U mreži za N korisnika potrebno je distribuirati N (N-1) / 2 tajna ključa.

Asimetrične šifre dopustiti da javni ključ bude dostupan svima (na primjer, objavljen u novinama). To svakome omogućuje šifriranje poruke. Međutim, samo korisnik koji posjeduje ključ za dešifriranje može dešifrirati ovu poruku. Poziva se ključ za šifriranje javni ključ , a ključ za dešifriranje je privatni ključ ili tajni ključ .

Privatni i javni ključ generiraju se u parovima. Tajni ključ mora ostati kod svog vlasnika i biti sigurno zaštićen od neovlaštenog pristupa (slično ključu za šifriranje u simetričnim algoritmima). Kopiju javnog ključa mora čuvati svaki pretplatnik kriptografske mreže s kojim vlasnik tajnog ključa razmjenjuje podatke.

Kriptografski sustavi s javnim ključem koriste takozvane nepovratne ili jednosmjerne funkcije koje imaju sljedeće svojstvo: za danu vrijednost x relativno lako izračunati f(x), međutim, ako yM = j(x), tada ne postoji jednostavan način izračunavanja vrijednosti x. Skup klasa ireverzibilnih funkcija generira svu raznolikost sustava javnih ključeva.

Proces prijenosa šifriranih informacija u asimetričnom kriptosustavu provodi se na sljedeći način.

Pripremna faza:

· pretplatnik B generira par ključeva: tajni ključ k in i javni ključ K in;

javni ključ Kb šalje se pretplatniku A i drugim pretplatnicima (ili se stavlja na raspolaganje, na primjer, na zajedničkom resursu).

Korištenje ( razmjena informacija između A i B ):

pretplatnik A šifrira poruku koristeći javni ključ K pretplatniku B i šalje šifrirani tekst pretplatniku B;

· pretplatnik B dešifrira poruku koristeći svoj tajni ključ k in; nitko drugi ne može dešifrirati ovu poruku, jer nema tajni ključ pretplatnika B.

Zaštita informacija u asimetričnom kriptosustavu temelji se na tajnosti ključa k u primatelju poruke.

Prednosti asimetrični kriptografski sustavi prije simetričnih kriptosustava:

ü u asimetričnim kriptosustavima riješen je složen problem distribucije ključeva između korisnika, budući da svaki korisnik može generirati vlastiti par ključeva, a javni ključevi korisnika mogu se slobodno objavljivati ​​i distribuirati putem mrežne komunikacije;

ü nestaje kvadratna ovisnost broja ključeva o broju korisnika; u asimetričnom kriptosustavu, broj korištenih ključeva povezan je s brojem pretplatnika linearnim odnosom (u sustavu od N korisnika koristi se 2N ključeva), a ne kvadratnim, kao u simetričnim sustavima;

ü Asimetrični kriptosustavi omogućuju implementaciju protokola za interakciju između strana koje nemaju povjerenja jedna u drugu, budući da pri korištenju asimetričnih kriptosustava privatni ključ treba biti poznat samo njegovom vlasniku.

nedostatke asimetrični kriptosustavi:

ü u ovom trenutku ne postoji matematički dokaz nepovratnosti funkcija koje se koriste u asimetričnim algoritmima;

ü asimetrična enkripcija je znatno sporija od simetrične enkripcije, budući da se tijekom enkripcije i dešifriranja koriste operacije koje zahtijevaju velike resurse; iz istog razloga, mnogo je teže implementirati hardverski koder s asimetričnim algoritmom nego implementirati hardverski simetrični algoritam;

ü potrebu zaštite javnih ključeva od zamjene.

Moderni algoritmi enkripcije-dešifriranja prilično su složeni i ne mogu se izvoditi ručno. Pravi kriptografski algoritmi dizajnirani su za korištenje od strane računala ili posebnih hardverskih uređaja. U većini aplikacija, kriptografija se proizvodi softverom i dostupni su mnogi kriptografski paketi.

Simetrični algoritmi su brži od asimetričnih. U praksi se obje vrste algoritama često koriste zajedno: algoritam javnog ključa koristi se za prijenos nasumično generiranog tajnog ključa, koji se zatim koristi za dešifriranje poruke.

Mnogi visokokvalitetni kriptografski algoritmi su široko dostupni. Najpoznatiji simetrični algoritmi su DES i IDEA; najbolji asimetrični algoritam je RSA. U Rusiji je GOST 28147-89 prihvaćen kao standard za šifriranje.

Tablica 1 prikazuje klasifikaciju kriptografskog zatvaranja informacija.

stol 1

Vrste pretvorbe Metode transformacije Vrste metode Način implementacije
Šifriranje Zamjena (zamjena) Jednostavno (jednoznačno) Program
Poliabecedni jednokružni obični Program
Višeabecedni monofoni s jednom petljom Program
Program
permutacija Jednostavan Program
Komplicirano prema tablici Program
Komplicirano na rutama Program
Analitička transformacija Prema pravilima matrične algebre Program
Za posebne ovisnosti Program
Kockanje S konačnom kratkom skalom App.-prog.
S konačno dugom gamom App.-prog.
S beskrajnim rasponom App.-prog.
Kombinirano Zamjena + permutacija App.-prog.
Zamjena + igranje App.-prog.
Permutacija+igranje App.-prog.
Kockanje+kockanje App.-prog.
Kodiranje semantičke Prema posebnim tablicama (rječnicima) Program
Simbolički Po kodnoj abecedi Program
Druge vrste rezati-eksplodirati semantičke App.-prog.
Mehanički Program
Kompresija-ekspanzija

ja Pod, ispod šifriranje podrazumijeva se ova vrsta kriptografskog zatvaranja, u kojoj je svaki znak zaštićene poruke podvrgnut transformaciji.

Sve poznate metode šifriranja mogu se podijeliti u pet skupina: supstitucija (supstitucija), permutacija, analitička transformacija, gama i kombinirana enkripcija. Svaka od ovih metoda može imati nekoliko varijanti.

Vrste metode zamjena (zamjena ):

1) Jednostavan (single-alphabetic) - znakovi šifriranog teksta zamjenjuju se drugim znakovima iste abecede. Ako je količina šifriranog teksta velika, tada će učestalost pojavljivanja slova u šifriranom tekstu biti bliža učestalosti pojavljivanja slova u abecedi (jezika na kojem je tekst napisan) i dešifriranje će biti vrlo jednostavno. Ova metoda se trenutno rijetko koristi iu slučajevima kada je šifrirani tekst kratak.

2) Višeabecedno zamjena - najjednostavniji tip transformacije, koji se sastoji u zamjeni znakova izvornog teksta znakovima iz drugih abeceda prema više ili manje složenom pravilu. Kako bi se osigurala visoka kriptografska snaga, potrebna je upotreba velikih ključeva.

Na višeabecedni jednokružni obični zamjene, za zamjenu znakova izvornog teksta koristi se nekoliko abeceda, a abeceda se mijenja uzastopno i ciklički, t.j. prvi znak zamjenjuje se odgovarajućim znakom prve abecede, drugi znakom druge abecede i tako dalje. dok se ne upotrijebe sve odabrane abecede. Nakon toga se ponavlja upotreba abecede.

značajka višeabecedni monofoni s jednom petljom supstitucija je da se broj i sastav abecede biraju na način da su učestalosti pojavljivanja svih znakova u šifriranom tekstu jednake. U ovoj situaciji kriptoanaliza šifriranog teksta uz pomoć njegove statističke obrade postaje teža. Usklađivanje učestalosti pojavljivanja znakova postiže se činjenicom da je za učestalo pojavljivanje znakova izvornog teksta predviđen veći broj zamjenskih elemenata nego za rijetko pojavljuju.

Višeabecedna višepetlja supstitucija se sastoji u tome da se za enkripciju koristi nekoliko skupova (krugova) abeceda, koji se koriste ciklički, a svaki sklop u općem slučaju ima svoje individualno razdoblje primjene. Ovo razdoblje se u pravilu izračunava brojem znakova nakon čijeg se šifriranja mijenja kontura abecede.

Put permutacije - jednostavan način kriptografske transformacije. Obično se koristi u kombinaciji s drugim metodama. Ova metoda se sastoji u činjenici da se znakovi šifriranog teksta preuređuju prema određenim pravilima unutar šifriranog bloka znakova. Svi postupci za šifriranje i dešifriranje metodom permutacije dovoljno su formalizirani i mogu se provesti algoritamski.

Šifriranje jednostavnom permutacijom provodi se na sljedeći način:

odabrana je ključna riječ sa znakovima koji se ne ponavljaju;

· šifrirani tekst ispisuje se u uzastopnim redovima ispod simbola ključne riječi;

· šifrirani tekst ispisuje se u stupcima redoslijedom kojim su slova ključa raspoređena po abecedi (ili redoslijedom brojeva u prirodnom redu, ako je digitalna).

Primjer:

običan tekst: OPREZ

ključ: 5 8 1 3 7 4 6 2

shema šifriranja:

STAY q O (gdje je q razmak)

OPREZ

Grupiramo po 2 znaka i dobivamo šifrirani tekst:

DOOYREZHBSqNTOUT

Nedostatak jednostavnog permutacijskog šifriranja je taj što ako je duljina šifriranog teksta velika, šifrirani tekst može pokazati uzorke u ključnim simbolima. Da biste uklonili ovaj nedostatak, možete promijeniti ključ nakon šifriranja određenog broja znakova. Uz dovoljno čestu promjenu ključa, snaga enkripcije može se značajno povećati. To, međutim, komplicira organizaciju procesa šifriranja i dešifriranja.

Komplicirana permutacija tablice leži u činjenici da se za bilježenje znakova šifriranog teksta koristi posebna tablica u koju se unose neki komplicirani elementi. Tablica je matrica čija se veličina može proizvoljno odabrati. U njemu su, kao i u slučaju jednostavne permutacije, ispisani znakovi šifriranog teksta. Komplikacija leži u činjenici da se određeni broj ćelija tablice ne koristi. Broj i mjesto neiskorištenih elemenata je dodatni ključ za šifriranje. Šifrirani tekst u blokovima od ( m x nS) elementi se upisuju u tablicu ( m x n- dimenzije stola, S- broj neiskorištenih elemenata). Nadalje, postupak šifriranja sličan je jednostavnoj permutaciji.

Promjenom veličine tablice, redoslijeda ključnih simbola, broja i rasporeda neiskorištenih elemenata moguće je dobiti potrebnu snagu šifriranog teksta.

Komplicirana permutacija ruta ima visoku snagu enkripcije, koristi kompliciranu metodu permutacija duž ruta Hamiltonovog tipa. U ovom slučaju, vrhovi neke hiperkocke koriste se za pisanje znakova šifriranog teksta, a znakovi šifriranog teksta izračunavaju se duž Hamiltonovih ruta, a koristi se nekoliko različitih ruta.

Metoda šifriranja korištenjem analitičkih transformacija osigurava dovoljno pouzdano zatvaranje informacija. Da biste to učinili, možete primijeniti metode matrične algebre, na primjer, množenje matrice vektorom. Ako se matrica koristi kao ključ, a umjesto vektorske komponente zamjenjuju se znakovi izvornog teksta, tada će komponente rezultirajućeg vektora biti znakovi šifriranog teksta. Dešifriranje se provodi korištenjem istog pravila za množenje matrice s vektorom, samo se matrica uzima kao osnova, obrnuta od one s kojom se izvodi zatvaranje, a odgovarajući broj znakova zatvorenog teksta je uzeti kao vektor množenja. Vrijednosti vektora rezultata bit će digitalni ekvivalenti znakova otvorenog teksta.

Kockanje- ova metoda se sastoji u nametanju izvornom tekstu nekog pseudoslučajnog niza generiranog na temelju ključa. Postupak primjene gama na izvorni tekst može se provesti na dva načina. U prvi način izvorni tekst i gama znakovi zamjenjuju se njihovim digitalnim ekvivalentima, koji se zatim dodaju po modulu DO, gdje je K broj znakova u abecedi, t.j.

t c = (t p + t g) mod K, gdje tc, tp,t g -šifrirani, otvoreni tekst i gama znakovi, redom.

U drugoj metodi znakovi izvornog teksta i gama predstavljaju se kao binarni kod, a zatim se odgovarajuće znamenke zbrajaju po modulu 2. Umjesto zbrajanja po modulu 2, za gamu se mogu koristiti druge logičke operacije, na primjer transformacija prema na pravilo logičke ekvivalencije ili logičke neekvivalencije. Takva zamjena jednaka je uvođenju drugog ključa, a to je izbor pravila za formiranje znakova šifrirane poruke od znakova izvornog teksta i gama.

Jačina enkripcije gama metodom određena je uglavnom svojstvima gama - duljinom razdoblja i ujednačenošću statističkih karakteristika. Posljednje svojstvo osigurava da nema pravilnosti u pojavljivanju različitih simbola unutar razdoblja.

Uz dobra statistička svojstva gama, snaga enkripcije određena je samo duljinom njezinog razdoblja. Štoviše, ako duljina gama razdoblja premašuje duljinu šifriranog teksta, tada je takva šifra teoretski apsolutno sigurna. Bilo koji slijed nasumičnih simbola može se koristiti kao beskonačna gama, na primjer, niz znamenki broja PI. Kod šifriranja pomoću računala, gama slijed se formira pomoću generatora pseudo-slučajnih brojeva.

Kombinirane metode šifriranja istovremeno se koristi više različitih metoda, t.j. sekvencijalno šifriranje otvorenog teksta korištenjem dvije ili više metoda. Ovo je prilično učinkovito sredstvo za povećanje snage enkripcije.

Tipičan primjer kombinirane šifre je američki nacionalni standard za ograđivanje kriptografskih podataka (DES).

II. Pod, ispod kodiranje ova vrsta kriptografskog zatvaranja podrazumijeva se kada se neki elementi zaštićenih podataka (to nisu nužno pojedinačni znakovi) zamijene unaprijed odabranim kodovima (numeričkim, alfabetskim, alfanumeričkim kombinacijama itd.).

Ova metoda ima dvije varijante: semantičko i kodiranje znakova. Na semantičko kodiranje kodirani elementi imaju dobro definirano značenje (riječi, rečenice, skupine rečenica). Na kodiranje znakova svaki znak zaštićene poruke je kodiran. Simboličko kodiranje u biti je isto kao i zamjensko šifriranje.

Kada se pravilno koriste, kodovi su puno teže razbiti od ostalih klasičnih sustava. To je zbog tri razloga. Prvo, velika duljina korištenog koda (za enkripciju - nekoliko stotina bitova; šifrarnik - stotine tisuća - milijun bitova). Drugo, kodovi uklanjaju suvišnost - posao kriptoanalitičara je kompliciran. Treće, kodovi djeluju na relativno velikim blokovima otvorenog teksta (riječi i fraze) i stoga skrivaju lokalne informacije koje bi inače mogle pružiti vrijedne tragove kriptoanalitičaru.

DO nedostatke kodiranje treba pripisati činjenici da se ključ ne koristi dovoljno dobro tijekom kodiranja, tk. kod kodiranja jedne riječi i izraza koristi se samo vrlo mali dio šifrarnika. Kao rezultat toga, kod, kada se intenzivno koristi, može se djelomično analizirati i ispada da je posebno osjetljiv na napad u prisutnosti poznatog otvorenog teksta. Iz tih razloga, kodove je potrebno češće mijenjati kako bi se osigurala veća pouzdanost.

III. druge metode kriptografska zatvaranja uključuju rezanje/širenje i kompresiju podataka. Rezanje/proširivanje podataka sastoji se u tome što je niz zaštićenih podataka podijeljen na takve elemente od kojih svaki ne dopušta otkrivanje sadržaja zaštićene informacije, a tako dodijeljeni elementi smješteni su u različite memorijske zone. Obrnuti postupak naziva se prikupljanje podataka. Sasvim je očito da se algoritam raspršivanja podataka i ponovnog sastavljanja mora držati u tajnosti.

Kompresija podataka predstavlja zamjenu često pojavljujućih identičnih nizova podataka ili nizova identičnih znakova nekim unaprijed odabranim znakovima.

Hash funkcije

hash funkcija je jednosmjerna funkcija dizajnirana za dobivanje sažetka ili "otiska prsta" datoteke, poruke ili nekog bloka podataka.

U početku su se funkcije raspršivanja koristile kao funkcije za stvaranje jedinstvene slike informacijskih nizova proizvoljne duljine kako bi se identificirala i utvrdila njihova autentičnost. Sama slika mora biti mali blok fiksne duljine, obično 30, 60, 64, 128, 256 ili 512 bita. Stoga su operacije sortiranja pretraživanja i druge s velikim nizovima ili bazama podataka uvelike pojednostavljene, t.j. uzeti mnogo manje vremena. Kako bi se osigurala potrebna vjerojatnost pogreške, potrebno je osigurati niz zahtjeva za hash funkciju:

· hash funkcija mora biti osjetljiva na sve vrste promjena u tekstu M, kao što su umetanja, emisije, permutacije;

hash funkcija mora imati svojstvo nepovratnosti, odnosno problem odabira dokumenta M", koji bi imao traženu vrijednost hash funkcije, mora biti računski nerješiv;

· vjerojatnost da će se vrijednosti hash funkcija dvaju različitih dokumenata (bez obzira na njihovu duljinu) podudarati mora biti zanemariva.

Veliki broj postojećih matematičkih funkcija može pružiti ove zahtjeve. Ako se ove funkcije koriste za sortiranje, pretraživanje itd. Međutim, kasnije je, na temelju Simonsonovog rada na teoriji provjere autentičnosti, postalo jasno da je svrsishodnost korištenja metoda raspršivanja u shemama provjere autentičnosti poruka u komunikacijskim kanalima i telekomunikacijskim sustavima. S tim u vezi otvoren je niz smjerova istraživanja u području kriptografije koji su povezani s razvojem novih i poboljšanjem postojećih hash funkcija. Glavna ideja korištenja funkcija raspršivanja je dobivanje jednosmjernih funkcija na temelju njih, koje su glavni proizvod za razvoj modernih kriptografskih mehanizama i metoda provjere autentičnosti.
Pogledajmo osnovne koncepte u vezi s jednosmjernim hash funkcijama.

Većina hash funkcija izgrađena je oko jednosmjerne funkcije f( ), koji proizvodi izlaznu vrijednost duljine n kada se daju dvije ulazne vrijednosti duljine n. Ovi ulazi su izvorni blok Mi i hash vrijednost Bok–1 prethodni blok teksta (slika 1):

Hi = f (Mi, Hi–1).

Hash vrijednost izračunata kada se unese zadnji blok teksta postaje hash vrijednost cijele poruke M.

Sl. 1. Dijagram jednosmjerne hash funkcije

Kao rezultat toga, jednosmjerna hash funkcija uvijek proizvodi izlaz fiksne duljine n (bez obzira na duljinu ulaznog teksta). Algoritam raspršivanja je iterativan, pa se hash funkcije nazivaju i iterativnim algoritmima. Bit algoritma hashiranja leži u njegovoj jednostranosti, t.j. funkcija bi trebala raditi u jednom smjeru - komprimirati, miješati i raspršiti, ali nikada ne vraćati. Takve sheme omogućuju praćenje promjena u izvornim tekstovima, čime se osigurava integritet podataka, te u algoritmima digitalnog potpisa kako bi se osigurala autentičnost podataka. Međutim, u čistom obliku, ove funkcije ne dopuštaju potvrdu autentičnosti.

U nekim izvorima steganografija, kodiranje i kompresija informacija odnose se na grane znanja povezane s kriptografijom, ali nisu uključene u nju.

Tradicionalne (klasične) metode šifriranja uključuju permutacijske šifre, jednostavne i složene supstitucijske šifre, kao i neke njihove modifikacije i kombinacije. Kombinacije permutacijskih šifri i supstitucijskih šifri čine čitav niz simetričnih šifri koje se koriste u praksi.

Permutacijske šifre. Kod šifriranja permutacijom znakovi šifriranog teksta se preuređuju prema određenom pravilu unutar bloka tog teksta. Permutacijske šifre su najjednostavnije i vjerojatno najstarije šifre.

tablice za šifriranje. Sljedeće se koristi kao ključ u tablicama šifriranja: veličina tablice, riječ ili fraza koja specificira permutaciju i značajke strukture tablice.

Jedna od najprimitivnijih šifri permutacijske tablice je jednostavna permutacija, za koju je veličina tablice ključ. Naravno, pošiljatelj i primatelj poruke moraju unaprijed dogovoriti zajednički ključ u obliku tablice. Treba napomenuti da kombinacija slova šifriranog teksta u skupine od 8 slova nije uključena u ključ šifre i provodi se radi praktičnosti pisanja besmislica. Prilikom dešifriranja, koraci se izvode obrnutim redoslijedom.


Nešto otporniji na otkrivanje ima metoda enkripcije koja se zove permutacija jednog ključa. Ova se metoda razlikuje od prethodne po tome što su stupci tablice preuređeni po ključnoj riječi, frazi ili skupu brojeva duljine retka tablice.

Za dodatnu privatnost možete ponovno šifrirati poruku koja je već šifrirana. Ova metoda šifriranja naziva se dvostruka permutacija. U slučaju dvostruke permutacije stupaca i redaka, permutacijske tablice se definiraju zasebno za stupce i za retke. Prvo se tekst poruke upisuje u tablicu u stupcima, a zatim se redom redaju stupci, a zatim redovi.

Broj opcija dvostruke permutacije brzo raste kako se veličina tablice povećava: za stol 3x3 - 36 opcija, za stol 4x4 - 576 opcija, za stol 5x5 - 14400 opcija. Međutim, dvostruka permutacija nije jako jaka i relativno je lako "probiti" na bilo kojoj veličini tablice šifriranja.

Jednostavne zamjenske šifre. Kod zamjenske enkripcije (supstitucije) znakovi šifriranog teksta zamjenjuju se znakovima iste ili druge abecede s unaprijed određenim pravilom zamjene. U jednostavnoj supstitucijskoj šifri, svaki znak izvornog teksta zamjenjuje se znakovima iste abecede, slijedeći isto pravilo u cijelom tekstu. Jednostavne supstitucijske šifre često se nazivaju monoalfabetskim supstitucijskim šiframa.

Cezarov sustav šifriranja . Cezarova šifra je poseban slučaj jednostavne supstitucijske šifre (zamjena s jednom abecedom). Ova šifra je dobila ime po rimskom caru Gaju Juliju Cezaru, koji je koristio ovu šifru u korespondenciji.

Kod šifriranja izvornog teksta svako slovo je zamijenjeno drugim slovom iste abecede prema sljedećem pravilu. Zamjensko slovo određeno je pomicanjem po abecedi m iz originalnog pisma k slova. Kada se dosegao kraj abecede, izvršen je ciklički prijelaz na njegov početak. Cezar je koristio latinicu m= 26 i supstitucijska šifra u pomaku k= 3. Takva zamjenska šifra može se specificirati zamjenskom tablicom koja sadrži odgovarajuće parove slova otvorenog teksta i šifriranog teksta. Skup mogućih zamjena za k= 3 prikazano je u tablici 6.1.

Tablica 6.1 - Monoalfabetske zamjene (k = 3, m = 26)

Sustav šifriranja Caesar u biti tvori obitelj monoalfabetskih zamjena za odabrane vrijednosti ključa k, i 0 £ k < m. Prednost sustava za šifriranje Caesar je jednostavnost šifriranja i dešifriranja.

Nedostaci Cezarovog sustava uključuju sljedeće:

Zamjene izvedene prema Cezarovom sustavu ne maskiraju učestalost pojavljivanja različitih slova u izvornom otvorenom tekstu;

U slijedu zamjenskih slova sačuvan je abecedni red; pri promjeni vrijednosti k mijenjaju se samo početni položaji takvog niza;

Broj mogućih tipki k je mali;

Cezarovu šifru je lako razbiti analizom frekvencije slova u šifriranom tekstu.

Kriptoanalitički napad na monoalfabetski sustav zamjene počinje prebrojavanjem učestalosti pojavljivanja znakova: utvrđuje se broj pojavljivanja svakog slova u šifriranom tekstu. Zatim se rezultirajuća frekvencijska raspodjela slova u šifriranom tekstu uspoređuje s frekvencijskom distribucijom slova u abecedi izvornih poruka. Slovo s najvećom učestalošću pojavljivanja u šifriranom tekstu zamjenjuje se slovom s najvećom učestalošću pojavljivanja u abecedi itd. Vjerojatnost uspješnog razbijanja sustava šifriranja raste s duljinom šifriranog teksta. Istodobno, ideje ugrađene u Cezarov sustav šifriranja pokazale su se vrlo plodonosnima, o čemu svjedoče njihove brojne modifikacije.

Afini Cezarov supstitucijski sustav. U ovoj transformaciji, slovo koje odgovara broju t, zamjenjuje se slovom koje odgovara brojčanoj vrijednosti ( na + b) po modulu m. Takva transformacija je jedan-na-jedan preslikavanje na abecedi ako i samo ako je gcd ( a, m) - najveći zajednički djelitelj brojeva a i m jednak je jedan, tj. ako su a i m relativno prosti brojevi.

Prednost afinskog sustava je praktično upravljanje ključevima: ključevi za šifriranje i dešifriranje predstavljeni su u kompaktnom obliku kao par brojeva ( a, b). Nedostaci afinskog sustava slični su nedostacima Cezarovog sustava šifriranja. U praksi se afinski sustav koristio prije nekoliko stoljeća.

Složene supstitucijske šifre . Složene supstitucijske šifre nazivaju se polialfabetskim, budući da je svaki znak izvorne poruke šifriran korištenjem svoje jednostavne šifre zamjene. Višeabecedna zamjena uzastopno i ciklički mijenja korištene alfabete. Na r-abecedni zamjenski znak x 0 izvorne poruke zamjenjuje se znakom y 0 iz abecede B 0 , simbol x 1 - simbol y 1 iz abecede B 1 itd.; simbol x r-1 zamjenjuje se znakom y r-1 iz abecede B r-1 , simbol x r zamjenjuje se simbolom y r opet iz abecede B 0 itd.

Učinak korištenja polialfabetske zamjene je da se prirodna statistika izvornog jezika maskira, budući da određeni znak iz izvorne abecede A može se pretvoriti u nekoliko različitih znakova šifriranih abeceda B j. Stupanj zaštite teoretski je proporcionalan duljini razdoblja r u slijedu korištenih abeceda B j.

Sustav vigenere enkripcija . Sustav Vigenere sličan je sustavu šifriranja Caesar, u kojem se zamjenski ključ mijenja od slova do slova. Ova polialfabetska supstitucijska šifra može se opisati šifrirnom tablicom koja se naziva Vigenereova tablica (kvadrat). Vigenere tablica se koristi i za šifriranje i za dešifriranje.

Ima dva ulaza:

Gornji red podcrtanih znakova koji se koriste za čitanje sljedećeg slova izvornog otvorenog teksta;

Krajnji lijevi stupac ključa.

Redoslijed tipki se obično dobiva iz brojčanih vrijednosti slova ključne riječi. Kod šifriranja izvorne poruke ona se ispisuje u retku, a ispod nje se ispisuje ključna riječ (ili fraza).

Ako je ključ kraći od poruke, onda se ciklički ponavlja. U procesu šifriranja, sljedeće slovo izvornog teksta nalazi se u gornjem redu tablice, a sljedeća vrijednost ključa u lijevom stupcu. Sljedeće slovo šifriranog teksta nalazi se na sjecištu stupca, određenog šifriranim slovom, i retka, određenog numeričkom vrijednošću ključa.

Jednokratne šifre. Gotovo sve šifre koje se koriste u praksi okarakterizirane su kao uvjetno sigurne, budući da se u načelu mogu razbiti u prisutnosti neograničene računalne snage. Apsolutno jake šifre ne mogu se razbiti čak ni upotrebom neograničene računalne snage. U praksi se koristi samo jedna takva šifra - jednokratni sustav šifriranja. Karakteristična značajka sustava za jednokratno šifriranje je jednokratna upotreba slijeda ključeva.

Ova šifra je apsolutno sigurna ako je skup ključeva K i stvarno nasumično i nepredvidivo. Ako kriptoanalitičar pokuša upotrijebiti sve moguće skupove ključeva za dani šifrirani tekst i oporaviti sve moguće verzije izvornog teksta, onda se ispostavi da su svi jednako vjerojatni. Ne postoji način da odaberete izvorni tekst koji je stvarno poslan. Teorijski je dokazano da su jednokratni sustavi sustavi koji se ne mogu dešifrirati jer njihov šifrirani tekst ne sadrži dovoljno informacija za oporavak otvorenog teksta.

Mogućnosti korištenja jednokratnog sustava ograničene su isključivo praktičnim aspektima. Bitna točka je zahtjev za jednokratnom upotrebom slučajnog niza ključeva. Slijed ključeva čija duljina nije manja od duljine poruke mora se prenijeti primatelju poruke unaprijed ili zasebno preko nekog tajnog kanala. Takav zahtjev je praktički teško implementirati za suvremene sustave za obradu informacija, gdje je potrebno šifriranje mnogo milijuna znakova, međutim, u opravdanim slučajevima, najprikladnija je izgradnja sustava s jednokratnim šiframa.

Povijesno gledano, razlikuju se skrembleri s vanjskim i unutarnjim mjerilima. U šiframa s vanjskom gamom, kao ključ se koristi slučajni niz za jednokratnu upotrebu čija je duljina jednaka duljini šifrirane poruke. U šiframa s unutarnjom gama, kao ključ se koristi višekratni slučajni niz duljine mnogo manje od duljine šifriranog teksta, na temelju kojeg se formira gama šifre. U izgradnji kriptiranih komunikacijskih sustava trenutno prevladavaju koderi s unutarnjim dometom, tj. koji imaju svojstvo praktične stabilnosti. Njihova glavna prednost je jednostavnost upravljanja ključem, odnosno njihova priprema, distribucija, isporuka i uništavanje. Ova prednost omogućuje stvaranje šifriranih komunikacijskih sustava gotovo bilo koje veličine temeljene na koderima s internim rasponom, bez ograničavanja njihovog zemljopisnog položaja i broja pretplatnika.

Suvremeni razvoj informacijskih tehnologija omogućuje koncentriranje značajne količine informacija na male fizičke medije, što također određuje praktičnu primjenjivost ovog pristupa.

Zadatak izgradnje kriptiranog komunikacijskog sustava baziranog na koderima s eksternom gama može imati nekoliko pristupa svom rješenju. Primjerice, na temelju postavljene granične vrijednosti volumena ključnog dokumenta utvrđuje se optimalan broj pretplatnika sustava i dopušteno opterećenje. S druge strane, moguće je, na temelju potrebnog broja pretplatnika i opterećenja na njih, izračunati potrebnu količinu ključnog dokumenta.

Metoda šifriranja skaliranje . Kockanje se podrazumijeva kao proces nametanja gama šifre otvorenim podacima prema određenom zakonu. Šifra gama je pseudo-slučajni slijed generiran prema zadanom algoritmu za šifriranje otvorenih podataka i dešifriranje primljenih podataka.

Proces šifriranja sastoji se od generiranja gama šifre i primjene rezultirajuće game na izvorni otvoreni tekst na reverzibilan način, na primjer, korištenjem operacije zbrajanja po modulu 2.

Prije enkripcije otvoreni se podaci dijele na blokove iste duljine, obično svaki od 64 bita. Šifra gama se generira kao niz iste duljine. Proces dešifriranja svodi se na ponovno generiranje gama šifre i preklapanje te game na primljene podatke.

Šifrirani tekst dobiven ovom metodom prilično je teško razbiti, budući da je ključ sada promjenjiv. U suštini, gama šifre mora se nasumično mijenjati da bi svaki blok bio šifriran. Ako gama razdoblje prelazi duljinu cijelog šifriranog teksta, a napadač ne poznaje niti jedan dio izvornog teksta, tada se takva šifra može riješiti samo izravnim nabrajanjem svih ključnih opcija. U ovom slučaju, snaga šifre je određena duljinom ključa.

Vrhunski povezani članci