Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • U kontaktu sa
  • 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 je izuzetno važno za zaštitu privatnosti. U ovom članku ću govoriti o razne vrste i metode šifriranja koje se danas koriste za zaštitu podataka.

Da li ste znali?
Još u rimsko doba, Julije Cezar je koristio šifriranje kako bi neprijatelju učinio nečitljivim pisma i poruke. Igralo se važnu ulogu kao vojnu taktiku, posebno tokom ratova.

Kako mogućnosti interneta rastu, sve više i više naših poslova se zapošljava na mreži. Među njima najvažniji su internet bankarstvo, online plaćanje, emailovi, razmjenu privatnih i službenih poruka i sl. kojima se obezbjeđuje razmjena povjerljivih podataka i informacija. Ako ovi podaci dođu u pogrešne ruke, mogu naštetiti ne samo pojedinačnom korisniku, već i cijelom onlajn sistem posao.

Kako bi se to spriječilo, uvedene su neke mjere sigurnosti na mreži kako bi se zaštitio prijenos ličnih 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 sistema danas: heširanje, simetrično i asimetrično šifriranje. IN sledeći redovi, detaljnije ću pokriti svaku od ovih vrsta šifriranja.

Tipovi enkripcije

Simetrična enkripcija

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

Stoga je jasno da je ključ najvažniji dio simetrično šifrovanje. Trebalo bi ga sakriti od stranaca, jer će svi koji imaju pristup njemu moći dešifrirati privatne podatke. Zbog toga je ova vrsta enkripcije poznata i kao "tajni ključ".

IN savremeni sistemi ah, ključ je obično niz podataka koji dolazi iz jake lozinke ili iz potpuno slučajnog izvora. Unosi se u simetričnu enkripciju softvera, koji ga koristi za osiguranje ulaza. Šifrovanje podataka se postiže korišćenjem simetrični algoritam enkripciju 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 može dočepati ovog ključa, može lako dešifrirati šifrirane podatke, uništavajući cijeli smisao enkripcije.

Još jedan nedostatak je zbog činjenice da softver koji obrađuje podatke ne može raditi sa šifriranim podacima. Stoga, da biste mogli koristiti ovaj softver, podaci prvo moraju biti dekodirani. Ako je sam softver kompromitovan, napadač može lako doći do podataka.

Asimetrična enkripcija

Asimetrični ključ za šifriranje radi slično simetrični ključ, u tome što koristi ključ za kodiranje prenesene poruke. Međutim, umjesto da koristi isti ključ, on koristi potpuno drugačiji za dešifriranje ove poruke.

Ključ koji se koristi za enkripciju 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 (primaocu), vjerovatnoća da će haker uspjeti dešifrirati poruku je velika. niže.

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

Ograničenja

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

Da biste bolje razumeli ovu vrstu hakovanja, razmotrite dve strane u interakciji Sašu i Natašu i hakera Sergeja sa namerom da presretne njihov razgovor. Prvo, Sasha šalje poruku preko mreže namijenjenu Nataši, tražeći njen javni ključ. Sergej presreće ovu poruku i dobija javni ključ povezan sa njom i koristi ga za šifrovanje i slanje lažne poruke Nataši koja sadrži njegov javni ključ umesto Sašinog.

Nataša, misleći da je ova poruka stigla od Saše, sada je šifruje Sergejevim javnim ključem i šalje nazad. Sergey je ponovo presreo ovu poruku, dešifrirao, modificirao (po želji), ponovo šifrirao koristeći javni ključ koji je Sasha prvobitno poslao i poslao nazad Sashi.

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

Hashing

Tehnika heširanja koristi algoritam poznat kao hash funkcija za generiranje posebna linija iz datih 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 heša.
  • Nije praktično isprobati različite kombinacije ulaza da biste pokušali generirati isti hash.

Dakle, glavna razlika između heširanja i druga dva oblika enkripcije podataka je da kada se podaci šifriraju (haširaju), ne mogu se dohvatiti u svom 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) su dva široko korišćena algoritma heširanja.

Ograničenja

Kao što je ranije spomenuto, gotovo je nemoguće dešifrirati podatke iz datog heša. Međutim, ovo je tačno samo ako je implementirano snažno heširanje. U slučaju slabe implementacije tehnike heširanja, koristeći dovoljno resursa i napade grubom silom, uporan haker može pronaći podatke koji odgovaraju hešu.

Kombinacija metoda šifriranja

Kao što je gore objašnjeno, svaka od ove tri metode šifriranja pati od nekih nedostataka. Međutim, kada se koristi kombinacija ovih metoda, oni čine pouzdane i visokokvalitetne efikasan sistem enkripcija.

Najčešće se kombinuju i koriste zajedno tehnike privatnog i javnog ključa. Metoda tajnog ključa omogućava brzo dešifriranje, dok metoda javnog ključa nudi sigurniju i više zgodan način za prijenos tajnog ključa. Ova kombinacija metoda je poznata kao "digitalna omotnica". Program za šifrovanje Email PGP je baziran na tehnici "digitalne koverte".

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

Haširanje se također koristi za autentifikaciju podataka pomoću tajnog ključa. Haš se generira pomoću podataka i ovog ključa. Dakle, vidljivi su samo podaci i hash, a sam ključ se ne prenosi. Na ovaj način, ako se naprave promjene u podacima ili hešu, one će biti lako otkrivene.

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

Sergej Panasenko,
Šef odjela za razvoj softvera kompanije Ankad,
[email protected]

Osnovni koncepti

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

S = Ek1(M)

M" = Dk2(C),

gdje je M (poruka) - otvorene informacije(često se u literaturi o informacijskoj sigurnosti naziva " izvorni tekst");
C (cipher text) - šifrirani tekst (ili kriptogram) dobijen 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 (dešifriranje) - funkcija dešifriranja koja vrši kriptografske transformacije inverzne šifriranju preko šifrovanog 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 pomoću kojeg možete promijeniti rezultate algoritma šifriranja: isti izvorni tekst će biti različito šifriran kada se koriste različiti ključevi.

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

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

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

Simetrična enkripcija

Algoritmi simetrične enkripcije datiraju još iz antike: upravo je ovaj metod skrivanja informacija koristio rimski car Gaj Julije Cezar u 1. vijeku prije nove ere. e., a algoritam koji je izumio poznat je kao "Cezarov kriptosistem".

Trenutno najpoznatiji algoritam simetrične enkripcije je DES (Data Encryption Standard), razvijen 1977. godine. Donedavno je bio "američki standard", pošto je vlada ove zemlje preporučila njegovo korištenje za razni sistemi enkripcija podataka. Unatoč činjenici da je prvobitno planirano da se DES koristi ne više od 10-15 godina, pokušaji njegove zamjene počeli su tek 1997. godine.

Nećemo detaljno raspravljati o DES-u (u skoro svim knjigama sa liste dodatni materijali pojedi to Detaljan opis), ali okrenimo se modernijim algoritmima za šifriranje. Vrijedi samo napomenuti da je glavni razlog za promjenu standarda šifriranja njegova relativno slaba kriptografska snaga, a razlog tome je što je dužina DES ključa samo 56 značajni bitovi. Poznato je da se svaki 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 klaster od 1 milion procesora, od kojih svaki izračunava milion ključeva u sekundi, provjeriti 256 varijanti DES ključeva za skoro 20 sati. A pošto je takva računarska snaga sasvim realna po današnjim standardima, jasno je da 56-bitni ključ je prekratak 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 definisan GOST 28147-89 (slika 1) ima dužinu ključa za šifrovanje od 256 bita. On šifrira informacije u blokovima od 64 bita (takvi algoritmi se nazivaju blok algoritmi), koji se zatim dijele na dva podbloka od 32 bita (N1 i N2). Podblok N1 se obrađuje na određeni način, nakon čega se njegova vrijednost dodaje vrijednosti podbloka N2 (sabiranje se vrši po modulu 2, tj. 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 u zavisnosti od načina rada algoritma. U svakom krugu se izvode dvije operacije.

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

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

Zamjene stolova(Supstitution box - S-box) se često koriste u modernim algoritmima šifriranja, pa je vrijedno objasniti kako je takva operacija organizirana. Izlazne vrijednosti blokova se upisuju u tablicu. Blok podataka određene dimenzije (u našem slučaju 4-bitni) ima svoj numerički prikaz, koji određuje broj izlazne vrijednosti. Na primjer, ako S-box 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 tabeli, izlazna vrijednost biti 15, odnosno "1111" (0 a 4, 1 a 11, 2 a 2 ...).

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

U modu jednostavna zamjena da bi se šifrirao svaki 64-bitni blok informacija, izvode se 32 kruga opisana gore. U ovom slučaju, 32-bitni potključevi se koriste u sljedećem redoslijedu:

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

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

Dešifrovanje u ovaj način rada 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. - u krugovima od 9. do 32.

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

IN gama mod svaki blok otvoreni tekst dodaje se bit po bit po modulu 2 u gama blok šifre od 64 bita. Šifra gama je poseban niz, koji se dobija kao rezultat određenih operacija sa registrima N1 i N2 (vidi sliku 1).

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

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

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

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

5. Sadržaj registara N1 i N2 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 da se nastavi), vratite se na korak 2.

Za dešifriranje se proizvodi gama isti put, a zatim se šifrirani tekst i gama bitovi ponovo XOR. Budući da je ova operacija reverzibilna, u slučaju pravilno razvijene gama, dobija se originalni tekst (tabela).

Šifriranje i dešifriranje u gama modu

Za razvoj opsega šifre potrebnog za dešifriranje, korisnik koji dešifruje kriptogram mora imati isti ključ i istu vrijednost sinkronizirajuće poruke koje su korištene prilikom šifriranja informacija. U suprotnom, nećete moći da dobijete originalni tekst iz šifrovanog.

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

U 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 režimu se generiše na potpuno isti način kao i prethodni.

Rice. 2. Razvoj šifre gama u gama modu sa povratnom spregom.

Uzimajući u obzir način rada generisanje imitacionih prefiksa, potrebno je definisati pojam subjekta generacije. Prefiks imitacije je kriptografski ček suma, izračunat pomoću ključa za šifriranje i dizajniran za provjeru integriteta poruka. Prilikom generiranja prefiksa izvode se sljedeće operacije: prvi 64-bitni blok niza informacija, za koji se prefiks izračunava, upisuje se u registre N1 i N2 i šifrira u reduciranom načinu jednostavne zamjene (prvih 16 izvode se runde od 32). Dobijeni rezultat se sumira po modulu 2 sa sljedećim blokom informacija, čuvajući rezultat u N1 i N2.

Ciklus se ponavlja do zadnji blok informacije. 64-bitni sadržaj registara N1 i N2, ili njegov dio, koji je rezultat ovih transformacija, naziva se imitacijski prefiks. Veličina prefiksa se bira na osnovu zahtevane pouzdanosti poruka: sa dužinom prefiksa r bita, verovatnoća da će promena u poruci ostati neprimećena je 2-r. Najčešće je 32-bitni prefiks korišćena, odnosno polovina sadržaja registara Ovo 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, elektronski digitalni potpis.

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

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

AES Standard

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

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

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

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

Rijndaelov algoritam izvodi četiri transformacije: BS (ByteSub) - zamjena tabele svakog bajta niza (slika 3); SR (ShiftRow) - pomeranje reda niza (slika 4). Ovom operacijom, prvi red ostaje nepromijenjen, a ostali se ciklički pomiču ulijevo za fiksni broj bajtova, ovisno o veličini niza. Na primjer, za niz 4X4, redovi 2, 3 i 4 su pomjereni za 1, 2 i 3 bajta, respektivno. Slijedi MC (MixColumn) - operacija na nezavisnim kolonama niza (slika 5), ​​kada svaka kolona određeno pravilo se množi sa 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 šifrovanje (slika 6).


Rice. 3. BS rad.

Rice. 4. Operacija SR.

Rice. 5. MC rad.

Broj rundi šifriranja (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 redova udesno, a ne ulijevo. Inverzna operacija za MC je množenje prema istim pravilima drugom matricom d(x) koja zadovoljava uvjet: c(x) * d(x) = 1. Sabiranje ključa AK je inverzno od samog sebe, jer koristi samo operaciju XOR. Ove reverzne operacije se koriste za dešifriranje obrnutim redoslijedom od onog koji se koristi za šifriranje.

Rijndael je postao novi standard za šifriranje podataka zbog brojnih prednosti u odnosu na druge algoritme. Prije svega, pruža velika brzina enkripcija na svim platformama: kako u softverskoj tako i u hardverskoj implementaciji. On je neuporedivo istaknut najbolje prilike paralelizacija proračuna u poređenju sa drugim algoritmima prijavljenim na konkurs. Osim toga, zahtjevi za resursima za njegov rad su minimalni, što je važno kada se koristi u uređajima sa ograničenim računarskim mogućnostima.

Nedostatak algoritma može se smatrati samo njegovom inherentnom netradicionalnom shemom. Činjenica je da su svojstva algoritama baziranih 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).

Asimetrični algoritmi enkripcije zasnovani su na upotrebi 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 (dekompozicija N na dva velika faktora), nazvana faktorizacija, prema savremenim procjenama vremena je prilično komplikovana. matematički problem. Na primjer, faktoring N sa dimenzijom 664 bita na P ? Q će zahtijevati oko 1023 operacije, a za izračunavanje x natrag za modulo eksponent y = ax mod p sa poznatim a, p i y (sa istim dimenzijama a i p) potrebno je izvesti približno 1026 operacija. Posljednji od ovih primjera naziva se problem diskretnog logaritma (DLP), a takve funkcije se često koriste u algoritmima asimetrične enkripcije, kao i u algoritmima koji se koriste za kreiranje elektronskog 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 backdoorom ako je jednosmjerna i moguće je efikasno izračunati inverzna funkcija x = f-1(y), tj. ako je poznat "tajni prolaz" (određeni tajni broj, primijenjen na asimetrične algoritme šifriranja - vrijednost tajnog ključa).

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

RSA algoritam

Razvijen 1978. godine od strane tri autora (Rivest, Shamir, Adleman), ime je dobio po prvim slovima imena programera. Pouzdanost algoritma zasniva se na teškoći faktoringa velikih brojeva i izračunavanja diskretnih logaritama. Glavni parametar RSA algoritam- modul sistema N, koji se koristi za sve proračune u sistemu, i N = P*Q (P i Q su tajni slučajni jednostavni veliki brojevi, obično iste dimenzije).

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

1

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

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

Inverzija ove funkcije na velikim dimenzijama nije izvodljiva; 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čigledno, pored samog tajnog ključa, potrebno je osigurati i 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 veoma ozbiljan, jer onemogućava upotrebu simetrične enkripcije u sistemima sa neograničenim brojem učesnika. 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 - do sada nije bilo moguće dokazati da je njegovo rješenje u prihvatljivom vremenu nemoguće. Nepotrebne poteškoće stvara i potreba da se javni ključevi zaštite od zamjene – 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 široku upotrebu algoritama asimetričnog šifriranja. Danas postoje kriptosistemi koji podržavaju certifikaciju javnog ključa, kao i kombinaciju simetričnih i asimetričnih algoritama šifriranja. Ali ovo je tema za poseban članak.

Dodatni izvori informacija

Za one čitatelje koji nisu dokono zainteresirani za šifriranje, autor preporučuje da prošire svoje vidike uz pomoć sljedećih knjiga.

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

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

  1. GOST 28147-89. Sistem za obradu informacija. Kriptografska zaštita. Algoritam 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 PROSVETE I NAUKE RUJSKE FEDERACIJE FEDERALNA DRŽAVNA OBRAZOVNA USTANOVA VISOKOG STRUČNOG OBRAZOVANJA

"JUŽNO FEDERALNI UNIVERZITET"

TEHNOLOŠKI INSTITUT JUŽNOG FEDERALNOG UNIVERZITETA U TAGANROGU Fakultet za informacionu sigurnost Odsjek BIT Esej na temu

"Kriptografija i vrste enkripcije"

Art. gr. I-21

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

Uvod

1. Istorija kriptografije

1.1 Pojava šifri

1.2 Evolucija kriptografije

2. Kriptoanaliza

2.1 Karakteristike poruke

2.2 Svojstva prirodnog teksta

2.3 Kriterijumi za određivanje prirodnosti

3. Simetrična enkripcija

4. Asimetrična enkripcija

Zaključak

Uvod U sklopu treninga odabrao sam temu „Kriptografija i vrste šifriranja“. U toku rada razmatrana su pitanja poput povijesti nastanka kriptografije, njezine evolucije i vrste šifriranja. Proveo sam pregled postojećih algoritama šifriranja, 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. Istorija šifriranja je skoro iste godine kao i istorija ljudskog govora. Osim toga, samo pisanje je prvobitno bilo kriptografski sistem, budući da je u drevnim društvima samo nekolicina odabranih posjedovala takvo znanje. Sveti rukopisi raznih drevnih država su primjeri toga.

Otkako je pisanje postalo široko rasprostranjeno, kriptografija je postala potpuno nezavisna nauka. Prvi kriptografski sistemi mogu se naći već na početku naše ere. Na primjer, Julije Cezar je u svojoj ličnoj prepisci koristio sistematsku šifru, koja je kasnije nazvana po njemu.
Ozbiljni razvoj sistema šifriranja dobio je u doba prvog i drugog svjetskog rata. Od ranog poslijeratnog doba do danas, pojava modernih kompjutera ubrzala je stvaranje i poboljšanje metoda šifriranja.
Zašto je pitanje upotrebe metoda šifriranja u kompjuterskim sistemima (CS) postalo posebno aktuelno u naše vrijeme?
Prvo, proširen je obim kompjuterskih mreža, poput World Wide Weba, uz pomoć kojih se prenose ogromne količine informacija državne, vojne, komercijalne i lične prirode, onemogućujući pristup trećim licima.
Drugo, pojava modernih super-moćnih računara, naprednih tehnologija mrežnog i neuronskog računarstva omogućavaju diskreditaciju sistema za šifrovanje koji su se juče smatrali potpuno sigurnim.

1. Istorija kriptografije Sa samim dolaskom ljudske civilizacije, pojavila se potreba da se informacije prenesu pravim ljudima kako se one ne bi upoznale sa strancima. U početku su ljudi koristili samo glas i pokrete za emitovanje poruka.

S pojavom pisanja, pitanje osiguranja tajnosti i autentičnosti emitovanih poruka postalo je posebno važno. Kao rezultat toga, nakon izuma pisanja nastala je umjetnost kriptografije, metoda "tajnog pisanja" - skup tehnika dizajniranih da tajno prenesu snimljene poruke od jednog insajdera do drugog.

Čovječanstvo je osmislilo znatan broj tajnih tehnologija pisanja, posebno 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, pripremanje poruka koristeći čudne nerazumljive simbole.

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

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

1.1 Pojava šifri Neki od kriptografskih sistema došli su do nas od davnina. Najvjerovatnije su rođeni istovremeno sa pisanjem u 4. milenijumu prije nove ere. Metode tajne korespondencije izmišljene su nezavisno u mnogim drevnim državama, kao što su Egipat, Grčka i Japan, ali detaljan sastav kriptologije u njima je sada nepoznat. Kriptogrami se nalaze čak i 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, očigledno, koristili umjetnost kriptografije.

Arheolozi su pronašli veći broj glinenih klinastih ploča, na kojima je prvi zapis često bio premazan debelim slojem gline, na kojem je napravljen drugi zapis. Pojava tako čudnih tableta mogla bi se opravdati i kriptografijom i odlaganjem. Budući da je broj znakova ideografskog pisanja bio više od hiljadu, 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 kada i rječnici bili su vrlo dobro poznati u Babilonu i asirskoj državi, a stari Egipćani su koristili najmanje tri sistema šifriranja. S nastankom fonetskog pisanja, pisanje je odmah postalo jednostavnije. U drevnom semitskom alfabetu u 2. milenijumu prije nove ere bilo je samo oko 30 znakova. Označavali su suglasnike, kao i neke glasovne glasove i slogove. Pojednostavljivanje pisanja izazvalo je razvoj kriptografije i enkripcije.

Čak iu biblijskim knjigama možemo pronaći primjere šifri, iako ih gotovo niko 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 - da li je to zaista greška autora? Ne, samo su ponekad sveti jevrejski rukopisi bili šifrirani uz uobičajenu zamjenu. Umjesto prvog slova abecede pisali 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 na originalnom 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 veku bio je veoma brz, ali prilično neujednačen. Posmatrajući istoriju njenog razvoja kao specifičnog područja ljudskog života, možemo izdvojiti tri temeljna perioda.

Osnovno. Bavi se samo ručnim šiframa. Počelo je u antičko doba, a završilo se tek na samom kraju tridesetih godina dvadesetog veka. Kriptografija je za to vrijeme prevalila dug put od magijske umjetnosti praistorijskih svećenika do svakodnevne primijenjene profesije službenika tajnih agencija.

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

Rođenjem trećeg perioda u razvoju enkripcije obično se smatra 1976. godina, u kojoj su američki matematičari Diffie i Hellman izmislili fundamentalno 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, sistemi šifriranja su se počeli pojavljivati ​​na osnovu metode koju je Shannon izmislio još 40-ih godina. Predložio je da se šifra dizajnira na takav način da je dešifrovanje ekvivalentno rešavanju složenog matematičkog problema koji zahteva proračune koji bi prevazišli mogućnosti savremenih kompjuterskih sistema. Ovaj period razvoja enkripcije karakteriše pojava apsolutno automatizovanih šifrovanih komunikacionih sistema, u kojima svaki korisnik poseduje svoju ličnu lozinku radi verifikacije, pohranjuje je, na primer, na magnetnu karticu ili negde drugde, i predstavlja je prilikom autorizacije u sistema, a sve ostalo se dešava automatski.

2. Kriptoanaliza Postoji ogroman jaz između ručnih i kompjuterskih metoda šifriranja. Ručne šifre su veoma raznovrsne i mogu biti najneverovatnije. osim toga, poruke koje šifriraju prilično su sažete i kratke. Stoga je njihovo hakovanje mnogo efikasnije od strane ljudi nego mašina. Kompjuterske šifre su stereotipnije, matematički vrlo složene i namijenjene su za šifriranje poruka prilično velike dužine. Naravno, njihovo ručno otkrivanje ne vrijedi ni pokušavati. Ipak, i u ovoj oblasti vodeću ulogu imaju kriptoanalitičari, koji su generali kriptografskog napada, uprkos činjenici da se sama bitka vodi samo hardverskim i softverskim. Potcjenjivanje ovog fenomena dovelo je do fijaska Enigma šifrarnih mašinskih šifri tokom Drugog svjetskog rata.

Gotovo uvijek su poznati tip enkripcije i jezik poruke. Oni mogu biti podstaknuti alfabetom i statističkim karakteristikama kriptografije. Međutim, često se informacije o jeziku i vrsti šifre saznaju iz prikrivenih izvora. Ova situacija pomalo liči na provalu u sef: ako „provalnik” ne zna unaprijed dizajn sefa koji će biti razbijen, što izgleda prilično malo vjerovatno, on to ipak brzo određuje po izgledu, logotipu kompanije. U tom smislu, nepoznat je samo ključ koji treba razotkriti. Poteškoća je u tome što, kao što se sve bolesti ne liječe istim lijekom, i za bilo koje od njih postoje specifični 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 fiksiranog 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 sa 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 frekvencija ispoljavanja znaka i, a Ld je binarni logaritam. Treba istaći tri fenomena ove distribucije informacija.

Potpuno je nezavisna od semantike, značenja poruke i može se koristiti čak iu situaciji kada tačno značenje nije sasvim jasno. To implicira da vjerovatnoća ispoljavanja simbola ne zavisi od njihove prethodne istorije.

Unaprijed je poznat simbolički sistem u kojem se poruka emituje, odnosno jezik, metoda šifriranja.

U kojim se jedinicama mjeri vrijednost volumena informacija prema Šenonu? Najvjerovatniji odgovor na ovo pitanje može dati teorema šifriranja, koja 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. teorema nam omogućava da naznačimo jedinicu informacije - ovo je bit.

2.2 Svojstva prirodnog teksta Sada ćemo vizualizirati jedan način primjene znanja o karakteristikama prirodnog teksta na potrebe šifriranja. Iz teksta je potrebno odrediti šta je to - poruka koja nosi semantičko opterećenje ili samo niz nasumičnih znakova. Brojne kriptografske metode moraju biti razbijene na kompjuteru banalnim nabrajanjem ključeva, a ručno isprobavanje preko hiljadu komada teksta dnevno je jednostavno nemoguće, a brzina nabrajanja je vrlo mala. s tim u vezi, potrebno je takav zadatak implementirati uz pomoć kompjutera.

Pretpostavimo da moramo da sortiramo oko milijardu ključeva na računaru brzinom od hiljadu ključeva u sekundi. Ovo će nam trebati otprilike deset dana. U ovom slučaju rizikujemo da padnemo u dvije krajnosti. Ako budemo previše oprezni u svojim procjenama, neki od besmislenih fragmenata teksta će biti definirani kao poruke i vraćeni osobi. Takva greška se najčešće naziva "lažni alarm" ili greška tipa I.

Sa obimom takvih grešaka od više od hiljadu dnevno, osoba koja sjedi za kompjuterom ć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 da propustite smisleni tekst i na kraju kompletnog nabrajanja morat ćete ga ponovo ponoviti. Kako se ne bi rizikovao ponavljanje čitavog posla, greške druge vrste, koje se nazivaju i "preskočeni fragmenti", mogu se napraviti samo u jednom slučaju od 100 ili 1000.

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

To znači da ako računar naiđe na nevažeći znak u fragmentu teksta, može definitivno proglasiti da nema smisla - greške druge vrste su praktično 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 bi se sastojao od najmanje dvadeset i tri znaka. Pitanje postaje komplikovanije ako kod znakova koji se koristi nije suvišan, kao što je ASCII reprezentacija ruskog teksta, već sadrži tačno onoliko znakova koliko ih ima u abecedi.

U ovom slučaju, moraćemo da uvedemo procenu za teorijske mogućnosti pogađanja likova u tekstu. Da bi se osigurale mogućnosti grešaka prve i druge vrste koje smo prihvatili, pri procjeni maksimalne moguće vjerovatnoće potrebno je analizirati već oko 100 karaktera, a analiza mogućnosti susreta bigrama samo neznatno smanjuje ovu vrijednost. .

Stoga je praktički nemoguće nedvosmisleno dekodirati kratke fragmente poruka s velikom vrijednošću ključa, jer se slučajni fragmenti teksta mogu poklopiti sa smislenim frazama. Isti problem se mora riješiti u kontroli kvaliteta kriptografije. U ovom slučaju, međutim, mogućnost lažnog alarma može biti prilično povećana, čineći ne veću od hiljaditih, uz istu mogućnost ignorisanja 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 kriptosistemi (također simetrična enkripcija, simetrične šifre) su metoda šifriranja u kojoj se isti kriptografski ključ koristi za šifriranje i dešifriranje. Prije pronalaska sheme asimetrične enkripcije, jedina metoda koja je postojala bila je simetrična enkripcija. Obje strane moraju čuvati ključ algoritma u tajnosti. Algoritam šifriranja biraju strane prije razmjene poruka.

Trenutno su simetrične šifre:

Blok šifre. Oni obrađuju informacije u blokovima određene dužine (obično 64, 128 bita), primjenjujući ključ na blok u propisanom redoslijedu, po pravilu nekoliko ciklusa miješanja i zamjene, koji se nazivaju rundi. Rezultat ponavljanja rundi je efekat 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. Šifra toka može se lako kreirati na osnovu blok šifre (na primjer, GOST 28 147-89 u gama modu) koja se pokreće 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 "ključni raspored". Po pravilu se kreira iz ključa izvođenjem određenih operacija nad njim, uključujući permutacije i zamjene.

Tipičan način za konstruiranje simetričnih algoritama šifriranja je Feistelova mreža. Algoritam gradi šemu šifriranja zasnovanu na funkciji F (D, K), gdje je D dio podataka koji je upola manji od bloka šifriranja, a K je "ključ za prolaz" za ovaj prolaz. Funkcija ne mora biti invertibilna – njena inverzna funkcija možda nije poznata. Prednosti Feistelove mreže su gotovo potpuna podudarnost dešifriranja sa šifriranjem (jedina razlika je obrnuti redoslijed „ključeva za prolaz“ 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 preplitanje provodnika. Operacije permutacije omogućavaju 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 odsustvo uticaja 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. Tipovi ključeva

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

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

Ali sama jednosmjerna funkcija je beskorisna u primjeni: može šifrirati poruku, ali je ne može dešifrirati. Stoga, kriptografija javnog ključa 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 ponovo sastaviti sat koji ponovo radi.

Sljedeći primjer pomaže da se razumiju ideje i metode kriptografije javnog ključa - pohranjivanje lozinki u kompjuter. Svaki korisnik na mreži ima drugačiju lozinku. Na ulazu pokazuje ime i unosi tajnu lozinku. Ali ako pohranite lozinku na disk računara, onda je neko može pročitati (administratoru ovog računara je to posebno lako učiniti) i dobiti pristup tajnim informacijama. Za rješavanje problema koristi se jednosmjerna funkcija. Prilikom kreiranja tajne lozinke, računar ne pohranjuje samu lozinku, već rezultat izračunavanja funkcije iz ove lozinke i korisničkog imena. Na primjer, korisnik Alice je smislio lozinku "Gladiolus". Prilikom pohranjivanja ovih podataka izračunava se rezultat funkcije (GLADIOLUS), neka rezultat bude niz KAMILICA, koji će biti sačuvan u sistemu. Kao rezultat, datoteka lozinke će poprimiti sljedeći oblik:

Prijava sada izgleda ovako:

Kada Alice unese "tajnu" lozinku, kompjuter proverava da li funkcija primenjena na GLADIOLUS daje tačan rezultat KAMILICA pohranjena na disku računara. Vrijedi promijeniti barem jedno slovo u imenu ili lozinki, a rezultat funkcije bit će potpuno drugačiji. „Tajna“ lozinka se ne čuva na računaru ni u kom obliku. Datoteku lozinke sada mogu vidjeti drugi korisnici bez gubitka privatnosti, jer je funkcija gotovo nepovratna.

Prethodni primjer koristi jednosmjernu funkciju bez rupe, budući da nije potrebno dobiti originalnu poruku iz šifrirane poruke. U sljedećem primjeru, razmatra se shema sa mogućnošću vraćanja originalne 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 šifrovane poruke bira se ime koje počinje istim slovom. Dakle, slovo se dodjeljuje pretplatnikovom broju telefona. Poruka koja se šalje, na primjer "BOX", bit će šifrirana na sljedeći način:

Poruka

Izabrano ime

Kriptotekst

Kirsanova

Arseniev

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

Primjeri takvih kriptotekstova:

Kriptotekst 1

Kriptotekst 2

Kriptotekst 3

Da biste dešifrovali tekst, morate imati priručnik sastavljen prema rastućim brojevima. Ovaj vodič je rupa (tajna koja pomaže da se dobije početni tekst) poznata samo legalnim korisnicima. Bez kopije referentne knjige pri ruci, kriptoanalitičar će provesti dosta vremena dešifrirajući.

Šema šifriranja javnog ključa Neka bude prostor ključeva, i i bude ključ za šifriranje i dešifriranje, respektivno. -- 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 originalnu 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 jednačinu, odnosno za dati proizvoljni šifrirani tekst, nemoguće je pronaći poruku. To znači da je nemoguće odrediti odgovarajući ključ za dešifriranje iz datog. je jednosmjerna funkcija, ali predstavlja rupu.

Ispod je dijagram prijenosa informacija od osobe A do osobe B. To mogu biti i pojedinci i organizacije itd. No, radi lakše percepcije, uobičajeno je da se učesnici programa poistovjećuju sa osobama koje se najčešće nazivaju Alisa i Bob. Učesnik koji želi da presretne i dešifruje Alisine i Bobove poruke najčešće se naziva Eva.

Slika 2. Asimetrično šifrovanje Bob bira par i šalje ključ za šifrovanje (javni ključ) Alisi preko javnog kanala, a ključ za dešifrovanje (privatni ključ) je siguran i tajan (ne sme se prenositi preko 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 vrijednošću.

Naučna pozadina Asimetrične šifre su započete u New Directions in Modern Cryptography autora Whitfield Diffiea i Martina Hellmana, objavljenom 1976. Pod utjecajem rada Ralpha Merklea na distribuciji javnih ključeva, predložili su metodu za dobivanje privatnih ključeva korištenjem 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 autentificiranih korisnika kanala. Hellman je 2002. godine predložio da se ovaj algoritam nazove "Diffie-Hellman-Merkle", priznajući Merkleov doprinos pronalasku kriptografije s javnim ključem. Istu šemu razvio je Malcolm Williamson 1970-ih, ali je držana u tajnosti do 1997. godine. Merkleova metoda distribucije javnog ključa izmišljena je 1974. i objavljena 1978. godine, koja se također naziva Merkleova zagonetka.

1977. godine, naučnici MIT-a Ronald Rivest, Adi Shamir i Leonard Adleman razvili su algoritam šifriranja zasnovan na problemu faktorizacije. Sistem je dobio ime po prvim slovima njihovih prezimena (RSA -- Rivest, Shamir, Adleman). Isti sistem je 1973. godine izmislio Clifford Cox, koji je radio u Centru za vladine komunikacije (GCHQ), ali se taj rad čuvao samo u internim dokumentima centra, pa se za njegovo postojanje znalo tek 1977. godine. RSA je bio prvi algoritam pogodan i za enkripciju i za digitalni potpis.

Uopšteno govoreći, poznati asimetrični kriptosistemi su zasnovani na jednom od složenih matematičkih problema, koji vam omogućava da izgradite jednosmerne funkcije i funkcije rupe. Na primjer, kriptosistemi Merkle-Hellman i Hoare-Rivest oslanjaju se na takozvani backpacking problem.

Osnovni principi izgradnje kriptosistema sa javnim ključem Počnimo sa teškim zadatkom. Trebalo bi da bude teško 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 - pošto još nije dokazano ni za jedan problem da u principu ne postoji odgovarajući algoritam za njega.

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

"Promiješaj i protresi" da dobiješ zadatak koji je potpuno drugačiji od originala. Problem bi barem trebao izgledati kao originalni nerješivi problem.

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

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

Kriptografija višestrukog javnog ključa Sljedeći primjer pokazuje šemu u kojoj Alice šifrira poruku tako da je samo Bob može pročitati, i obrnuto, Bob šifrira poruku tako da samo Alice može da je dešifruje.

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

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 pomoću ključa, Frank je može pročitati; ako s oba ključa i, tada će poruku pročitati Carol. Drugi učesnici se ponašaju 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 šema se 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 dobija ključeve i, Bob - i, Kerol - i. Sada, ako je poruka koja se šalje šifrirana ključem, onda 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 šeme je što je potrebna samo jedna poruka i n ključeva (u šemi sa n agenata) da bi se implementirala. Ako se šalju pojedinačne poruke, odnosno, koriste se odvojeni 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 šeme je u tome što takođe morate da emitujete podskup agenata (lista imena može biti duga) kojima želite da emitujete poruku. Inače će svaki od njih morati proći kroz sve kombinacije ključeva u potrazi za odgovarajućim. Također, agenti će morati pohraniti znatnu količinu informacija o ključevima.

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

Slika 3. Kriptosistem javnog ključa sa aktivnim presretačem U ovom modelu, Eva presreće javni ključ koji je Bob poslao Alisi. Zatim kreira par ključeva i "maskira se" u Boba šaljući Alisi javni ključ, za koji Alisa misli da je javni ključ koji joj je poslao Bob. Eva presreće šifrovane poruke od Alice Bobu, dešifruje ih privatnim ključem, ponovo ih šifruje Bobovim javnim ključem i šalje poruku Bobu. Dakle, niko od učesnika 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ć žiranata.

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 proces je pojednostavljen ako je kriptoanalitičar presreo nekoliko kriptotekstova koje je osoba A poslala osobi B.

Slika 4. Asimetrični kriptosistem sa pasivnim presretačem.

Većina kriptosistema javnog ključa zasnovana je na problemu faktorizacije velikog broja. Na primjer, RSA koristi proizvod dva velika broja kao javni ključ n. Složenost razbijanja takvog algoritma leži u poteškoćama faktoringa broja n. Ali ovaj problem se može realno riješiti. I svake godine proces razgradnje postaje sve brži i brži. Ispod su podaci faktorizacije koristeći algoritam "Kvadratično sito".

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

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 oblasti zakonodavne regulative. Konkretno, u Rusiji su samo oni softverski alati za šifriranje podataka koji su prošli državnu certifikaciju u administrativnim tijelima, posebno u FSB-u, dozvoljeni za upotrebu u državnim i komercijalnim organizacijama.

Zaključak U okviru rada na odabranoj temi u okviru nastavne prakse izvršio sam: pregled istorije 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.

Reference Gatchin Yu. A., Korobeinikov A. G. Osnove kriptografskih algoritama. Tutorial. - Sankt Peterburg: SPbGITMO (TU), 2002.

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

Korobeinikov A. G. Matematičke osnove kriptografije. Tutorial. Sankt Peterburg: Sankt Peterburg GITMO (TU), 2002.

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

Osnovni algoritmi šifriranja

Osnovni pojmovi i definicije

Kako se informaciono društvo formira, tehnički načini totalnog nadzora miliona ljudi postaju dostupni velikim državama. Stoga kriptografija postaje jedan od glavnih alata koji obezbjeđuju privatnost, povjerenje, autorizaciju, elektronska plaćanja, korporativnu sigurnost i druge važne stvari.

Rešava se problem zaštite informacija kroz njihovu transformaciju kriptologija , koji je podijeljen u dva pravca: kriptografija I kriptoanaliza . Ciljevi ovih pravaca su direktno suprotni.

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

Moderna kriptografija uključuje 4 glavna odjeljka:

1. Simetrični kriptosistemi.

2. Kriptosistemi sa javnim ključem.

3. Sistemi elektronskog potpisa.

4. Upravljanje ključem.

Glavni pravci korištenja kriptografskih metoda su prijenos povjerljivih informacija putem komunikacijskih kanala, autentifikacija poslanih poruka i pohranjivanje informacija na medijima u šifriranom obliku.

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

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đen skup elemenata abecede.

Enkripcija– transformacijski proces zamjene originalnog (običnog) teksta šifriranim tekstom.

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

Ključ– informacije neophodne za nesmetano šifrovanje i dešifrovanje tekstova.

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

Kriptosistemi se dijele na simetrično I asimetrično . IN simetrični kriptosistemi Isti ključ se koristi i za šifriranje i za dešifriranje. IN asimetrični sistemi (javni ključ) koriste se dva ključa - javni i privatni, koji su međusobno matematički povezani. Informacije se šifriraju javnim ključem koji je dostupan svima, a dešifriraju privatnim ključem, koji je poznat samo primaocu poruke.

Uslovi 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.

Elektronski (digitalni) potpis njegova kriptografska transformacija se naziva dodana tekstu, što omogućava da se, po prijemu teksta od strane drugog korisnika, provjeri autorstvo i autentičnost poruke.

Kripto otpor naziva se karakteristika šifre koja određuje njenu 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 kriptosisteme

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

Uobičajeni zahtjevi za kriptografske sisteme:

Šifrovana 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šifrovanje informacija pretragom mogućih ključeva mora imati strogu donju granicu i prevazilaziti mogućnosti savremenih računara (uzimajući u obzir mogućnosti mrežnog računarstva);

poznavanje algoritma šifriranja ne bi trebalo da utiče na pouzdanost zaštite;

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

Strukturni elementi algoritma enkripcije moraju biti nepromijenjeni;

dodatni bitovi koji se unose u poruku tokom procesa enkripcije moraju biti potpuno i sigurno skriveni u šifriranom tekstu;

Dužina šifriranog teksta mora biti jednaka dužini originalnog teksta;

· ne bi trebalo postojati jednostavne i lako uspostavljene zavisnosti između ključeva koji se sekvencijalno koriste u procesu šifrovanja;

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

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

Osnovni algoritmi šifriranja

Poziva se metoda šifriranja-dešifriranja š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č su podijeljeni u dvije klase: simetrično (sa tajnim ključem) i asimetrično (sa 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ćava da šifrirate informacije 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 ličnom nosaču ključa (na primjer, fleš disk ili pametna kartica); obavezno je poduzeti mjere kako bi se osiguralo da nosilac ličnog ključa nije dostupan nikome osim njegovom vlasniku.



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

Integritet podataka se osigurava dodavanjem posebnog koda prenesenim podacima ( imitacija umetaka ) generiran tajnim ključem. Imitacija umetanja je vrsta kontrolne sume, tj. neka referentna karakteristika poruke, prema kojoj se provjerava integritet potonje. Algoritam za generiranje imitacije inserta mora osigurati njegovu ovisnost, prema nekom složenom kriptografskom zakonu, od svakog bita poruke. Provjeru integriteta poruke primatelj poruke generira, iz tajnog ključa, imitaciju umetanja koja odgovara primljenoj poruci i upoređuje je sa primljenom vrijednošću imitacije inlaya. Ako postoji podudaranje, zaključuje se da informacija nije modificirana na putu od pošiljaoca do primaoca.

Simetrična enkripcija je idealna za šifriranje informacija "za sebe", na primjer, kako bi se spriječio neovlašteni pristup njima u odsustvu vlasnika. Imam veliku brzinu šifriranja, kriptosistemi sa jednim ključem omogućavaju rješavanje mnogih važnih problema zaštite informacija. Međutim, autonomna upotreba simetričnih kriptosistema u računarskim mrežama otvara problem distribucije ključeva za šifrovanje između korisnika.

Prije početka razmjene šifriranih podataka potrebno je razmijeniti tajne ključeve sa svim primaocima. Prijenos tajnog ključa simetričnog kriptosistema ne može se vršiti javnim komunikacijskim kanalima, tajni ključ se mora prenijeti pošiljaocu i primaocu putem sigurnog kanala (ili uz pomoć kurira). Da bi se osigurala efikasna 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 je vrlo dugotrajan i složen zadatak. U mreži za N korisnika potrebno je distribuirati N (N-1) / 2 tajna ključa.

Asimetrične šifre omogućiti da javni ključ bude dostupan svima (na primjer, objavljen u novinama). Ovo omogućava svakome da šifrira poruku. 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č se generiraju 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 sa kojim vlasnik tajnog ključa razmjenjuje informacije.

Kriptografski sistemi s javnim ključem koriste takozvane nepovratne ili jednosmjerne funkcije koje imaju sljedeće svojstvo: za datu vrijednost X relativno lako izračunati f(x), međutim, ako yM = j(x), onda ne postoji jednostavan način za izračunavanje vrijednosti X. Skup klasa ireverzibilnih funkcija generiše svu raznolikost sistema javnih ključeva.

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

Pripremna faza:

· pretplatnik B generiše par ključeva: tajni ključ k in i javni ključ K in;

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

Upotreba ( 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šifruje poruku koristeći svoj tajni ključ k in; niko drugi ne može dešifrovati ovu poruku, jer nema tajni ključ pretplatnika B.

Zaštita informacija u asimetričnom kriptosistemu zasniva se na tajnosti ključa k u primaocu poruke.

Prednosti asimetrični kriptografski sistemi prije simetričnih kriptosistema:

ü u asimetričnim kriptosistemima riješen je složen problem distribucije ključeva između korisnika, jer svaki korisnik može generirati vlastiti par ključeva, a javni ključevi korisnika mogu se slobodno objavljivati ​​i distribuirati putem mrežnih komunikacija;

ü nestaje kvadratna zavisnost broja ključeva od broja korisnika; u asimetričnom kriptosistemu, broj korišćenih ključeva povezan je sa brojem pretplatnika linearnom relacijom (u sistemu od N korisnika koristi se 2N ključeva), a ne kvadratnim, kao u simetričnim sistemima;

ü Asimetrični kriptosistemi omogućavaju implementaciju protokola za interakciju između strana koje nemaju povjerenja jedna u drugu, jer kada se koriste asimetrični kriptosistemi, privatni ključ treba da bude poznat samo njegovom vlasniku.

nedostatke asimetrični kriptosistemi:

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

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

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

Moderni algoritmi šifriranja-dešifriranja su prilično 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 postoji mnogo dostupnih kriptografskih paketa.

Simetrični algoritmi su brži od asimetričnih. U praksi se obje vrste algoritama često koriste zajedno: algoritam javnog ključa se koristi 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 usvojen kao standard šifriranja.

Tabela 1 prikazuje klasifikaciju kriptografskog zatvaranja informacija.

Tabela 1

Vrste konverzije Metode transformacije Vrste metode Način implementacije
Enkripcija Zamjena (zamjena) Jednostavno (jednoslovno) Program
Poliabecedni jednokružni obični Program
Višeabecedni monofoni sa jednom petljom Program
Program
permutacija Jednostavno Program
Komplikovano prema tabeli Program
Komplikovano na rutama Program
Analitička transformacija Prema pravilima matrične algebre Program
Za posebne zavisnosti Program
Kockanje Sa konačnom kratkom skalom App.-prog.
Sa konačno dugom gamom App.-prog.
Sa beskrajnim rasponom App.-prog.
Kombinovano Zamjena + permutacija App.-prog.
Zamjena + igranje App.-prog.
Permutacija+igranje App.-prog.
Kockanje+kockanje App.-prog.
Kodiranje semantički Prema posebnim tabelama (rječnicima) Program
Symbolic Po kodnom abecedi Program
Druge vrste rezati-eksplodirati semantički App.-prog.
mehanički Program
Kompresija-ekspanzija

I. Ispod enkripcija podrazumijeva se ovaj tip kriptografskog zatvaranja, u kojem se svaki znak zaštićene poruke podvrgava transformaciji.

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

Vrste metode zamjena (zamjena ):

1) Jednostavno (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 (jeziku 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) Polialphabetic zamjena - najjednostavniji tip transformacije, koji se sastoji u zamjeni znakova izvornog teksta znakovima iz drugih alfabeta prema manje ili više složenom pravilu. Da bi se osigurala visoka kriptografska snaga, potrebna je upotreba velikih ključeva.

At višeabecedni jednokružni obični zamjene, koristi se nekoliko abeceda za zamjenu znakova izvornog teksta, a abeceda se mijenja sekvencijalno i ciklički, tj. prvi znak zamjenjuje se odgovarajućim znakom prve abecede, drugi znakom druge abecede i tako dalje. dok se ne koriste sva odabrana pisma. Nakon toga se ponavlja upotreba alfabeta.

karakteristika višeabecedni monofoni sa jednom petljom supstitucija je da se broj i sastav abeceda biraju na način da su frekvencije pojavljivanja svih znakova u šifriranom tekstu iste. 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 znakove koji se često pojavljuju u izvornom tekstu predviđen veći broj zamjenskih elemenata nego za one koji se rijetko pojavljuju.

Polialfabetska višepetlja supstitucija se sastoji u tome što se za šifrovanje koristi nekoliko skupova (kola) abeceda, koji se koriste ciklički, a svako kolo u opštem slučaju ima svoj individualni period primene. Ovaj period se u pravilu izračunava brojem znakova nakon čijeg se šifriranja mijenja kontura abecede.

Way 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. Sve procedure za šifrovanje i dešifrovanje metodom permutacije su dovoljno formalizovane i mogu se implementirati algoritamski.

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

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

· šifrovani tekst se ispisuje u uzastopnim redovima ispod simbola ključne reči;

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

primjer:

običan tekst: BUDITE OPREZNI

ključ: 5 8 1 3 7 4 6 2

šema šifriranja:

STAY q O (gdje je q razmak)

OPREZ

Grupiramo po 2 znaka i dobijemo šifrirani tekst:

DOOYREZHBSqNTOUT

Nedostatak jednostavnog permutacijskog šifriranja je taj što ako je dužina šifriranog teksta velika, šifrirani tekst može pokazati obrasce 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, jačina enkripcije se može značajno povećati. To, međutim, otežava organizaciju procesa šifriranja i dešifriranja.

Komplikovana permutacija tablice leži u činjenici da se za zapis znakova šifriranog teksta koristi posebna tablica u koju se unose neki komplicirani elementi. Tabela je matrica, čija se veličina može proizvoljno odabrati. U njemu se, kao iu slučaju jednostavne permutacije, ispisuju znakovi šifriranog teksta. Komplikacija leži u činjenici da se određeni broj ćelija tabele ne koristi. Broj i lokacija neiskorištenih elemenata je dodatni ključ za šifriranje. Šifrirani tekst u blokovima od ( m x nS) elementi se upisuju u tabelu ( m x n- dimenzije stola, S- broj neiskorišćenih elemenata). Nadalje, procedura šifriranja je slična jednostavnoj permutaciji.

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

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

Metoda šifriranja korištenjem analitičkih transformacija pruža 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 vrši pomoću istog pravila za množenje matrice vektorom, samo se matrica uzima kao osnova, inverzna od one kojom se zatvaranje izvodi, 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 neke pseudo-slučajne sekvence generirane na osnovu ključa. Postupak primjene gama na izvorni tekst može se provesti na dva načina. IN prvi način originalni tekst i gama znakovi se zamjenjuju njihovim digitalnim ekvivalentima, koji se zatim dodaju modulom TO, gdje je K broj znakova u abecedi, tj.

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

U drugoj metodi karakteri izvornog teksta i gama predstavljaju se kao binarni kod, a zatim se odgovarajuće cifre dodaju po modulu 2. Umjesto sabiranja po modulu 2, tokom gama mogu se koristiti druge logičke operacije, na primjer transformacija prema na pravilo logičke ekvivalencije ili logičke neekvivalencije. Takva zamjena je jednaka 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 je određena uglavnom svojstvima gama - dužinom perioda i ujednačenošću statističkih karakteristika. Posljednje svojstvo osigurava da nema pravilnosti u pojavljivanju različitih simbola unutar perioda.

Sa dobrim statističkim svojstvima gama, snaga enkripcije je određena samo dužinom njenog perioda. Štaviše, ako dužina gama perioda prelazi dužinu šifriranog teksta, onda je takva šifra teoretski apsolutno sigurna. Bilo koji niz nasumičnih znakova može se koristiti kao beskonačna gama, na primjer, niz cifara broja PI. Kod šifriranja pomoću računara, gama sekvenca se formira pomoću generatora pseudo-slučajnih brojeva.

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

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

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

Ova metoda ima dvije varijante: semantičko i kodiranje znakova. At semantičko kodiranje kodirani elementi imaju dobro definirano značenje (riječi, rečenice, grupe rečenica). At kodiranje znakova svaki znak zaštićene poruke je kodiran. Simboličko kodiranje je u suštini isto kao i supstitucijsko šifrovanje.

Kada se pravilno koriste, kodovi su mnogo teže razbiti od ostalih klasičnih sistema. To je zbog tri razloga. Prvo, velika dužina koda koji se koristi (za enkripciju - nekoliko stotina bitova; šifrarnik - stotine hiljada - milion bitova). Drugo, kodovi uklanjaju suvišnost - posao kriptoanalitičara je komplikovan. Treće, kodovi rade 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.

TO nedostatke kodiranje treba pripisati činjenici da se ključ ne koristi dovoljno dobro tokom kodiranja, tk. kada se kodira jedna riječ i fraza, koristi se samo vrlo mali dio šifrarnika. Kao rezultat toga, kod, kada se intenzivno koristi, podložan je parcijalnoj analizi i posebno je osjetljiv na napade u prisustvu poznatog otvorenog teksta. Iz ovih razloga, kodovi se moraju č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 dozvoljava otkrivanje sadržaja zaštićene informacije, a na taj način dodijeljeni elementi smješteni su u različite memorijske zone. Obrnuti postupak se zove prikupljanje podataka. Sasvim je očigledno da algoritam raspršivanja podataka i ponovnog sastavljanja mora biti tajna.

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 da dobije sažetak ili "otisak prsta" datoteke, poruke ili nekog bloka podataka.

U početku su se funkcije heširanja koristile kao funkcije za kreiranje jedinstvene slike nizova informacija proizvoljne dužine kako bi se identificirala i utvrdila njihova autentičnost. Sama slika mora biti mali blok fiksne dužine, obično 30, 60, 64, 128, 256 ili 512 bita. Stoga su operacije sortiranja pretraživanja i drugih s velikim nizovima ili bazama podataka znatno pojednostavljene, tj. uzeti mnogo manje vremena. Da bi se osigurala potrebna vjerovatnoća greš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 ireverzibilnosti, odnosno problem odabira dokumenta M", koji bi imao traženu vrijednost hash funkcije, mora biti računski nerješiv;

· vjerovatnoća da će se vrijednosti hash funkcija dva različita dokumenta (bez obzira na njihovu dužinu) poklapati mora biti zanemarljiva.

Veliki broj postojećih matematičkih funkcija može ispuniti ove zahtjeve. Ako se ove funkcije koriste za sortiranje, pretraživanje itd. Međutim, kasnije, na osnovu Simonsonovog rada na teoriji autentifikacije, postalo je jasno da je svrsishodnost upotrebe metoda heširanja u šemama autentifikacije poruka u komunikacijskim kanalima i telekomunikacijskim sistemima. S tim u vezi, otvoren je niz pravaca istraživanja u oblasti kriptografije koji su povezani sa razvojem novih i unapređenjem postojećih hash funkcija. Osnovna ideja korištenja heširajućih funkcija je dobivanje jednosmjernih funkcija zasnovanih na njima, koje su glavni proizvod za razvoj modernih kriptografskih mehanizama i metoda autentifikacije.
Pogledajmo osnovne koncepte u vezi sa jednosmjernim hash funkcijama.

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

Hi = f (Mi, Hi–1).

Heš vrijednost izračunata kada se unese posljednji blok teksta postaje heš vrijednost cijele poruke M.

Fig.1. Dijagram jednosmjerne hash funkcije

Kao rezultat, jednosmjerna hash funkcija uvijek proizvodi izlaz fiksne dužine n (bez obzira na dužinu ulaznog teksta). Algoritam heširanja je iterativan, pa se heš funkcije nazivaju i iterativni algoritmi. Suština algoritma heširanja leži u njegovoj jednostranosti, tj. funkcija bi trebala raditi u jednom smjeru - komprimirati, miješati i raspršiti, ali nikada ne vraćati. Takve šeme vam omogućavaju da pratite promjene u izvornim tekstovima, čime se osigurava integritet podataka, i u algoritmima digitalnog potpisa kako biste osigurali 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 koje se odnose na kriptografiju, ali nisu uključene u nju.

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

Permutacijske šifre. Kod šifriranja permutacijom karakteri šifriranog teksta se preuređuju prema određenom pravilu unutar bloka ovog teksta. Permutacijske šifre su najjednostavnije i vjerovatno najstarije šifre.

tablice šifriranja. Sljedeće se koristi kao ključ u tabelama šifriranja: veličina tablice, riječ ili fraza koja specificira permutaciju i karakteristike strukture tablice.

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


Nešto otporniji na otkrivanje ima metod šifriranja koji se zove permutacija jednog ključa. Ovaj metod se razlikuje od prethodnog po tome što su kolone tabele preuređene po ključnoj reči, frazi ili skupu brojeva dužine reda tabele.

Za dodatnu privatnost, možete ponovo šifrirati poruku koja je već šifrirana. Ova metoda šifriranja se naziva dvostruka permutacija. U slučaju dvostruke permutacije stupaca i redova, tabele permutacija se definiraju zasebno za stupce i za redove. Prvo se tekst poruke upisuje u tabelu po kolonama, a zatim se redom preuređuju kolone, a zatim redovi.

Broj opcija dvostruke permutacije brzo raste kako se veličina stola povećava: za sto 3x3 - 36 opcija, za sto 4x4 - 576 opcija, za sto 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 se često nazivaju monoalfabetskim supstitucijskim šiframa.

Cezar sistem šifrovanja . Cezarova šifra je poseban slučaj jednostavne supstitucijske šifre (zamena sa jednom abecedom). Ova šifra je dobila ime po imenu rimskog cara Gaja Julija Cezara, koji je koristio ovu šifru u prepisci.

Prilikom šifriranja izvornog teksta, svako slovo je zamijenjeno drugim slovom iste abecede prema sljedećem pravilu. Zamjensko slovo je određeno pomicanjem po abecednom redu m iz originalnog pisma k pisma. Kada se dođe do kraja abecede, izvršen je ciklični prijelaz na njegov početak. Cezar je koristio latinično pismo m= 26 i supstitucijska šifra u ofsetu k= 3. Takva supstitucijska šifra se može 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 tabeli 6.1.

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

Cezarov sistem šifrovanja u suštini formira porodicu monoalfabetskih zamena za odabrane vrednosti ključa k, i 0 £ k < m. Prednost Caesar sistema šifriranja je jednostavnost šifriranja i dešifriranja.

Nedostaci Cezarovog sistema uključuju sljedeće:

Zamjene izvršene prema Cezarovom sistemu ne maskiraju učestalost pojavljivanja različitih slova u originalnom otvorenom tekstu;

Abecedni red je sačuvan u redoslijedu zamjenskih slova; pri promeni vrednosti k, menjaju se samo početne pozicije takvog niza;

Broj mogućih ključeva k je mali;

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

Kriptoanalitički napad na monoalfabetski sistem zamjene počinje prebrojavanjem učestalosti pojavljivanja znakova: određuje se broj pojavljivanja svakog slova u šifriranom tekstu. Zatim se rezultujuća frekvencijska raspodjela slova u šifriranom tekstu upoređuje sa frekvencijskom distribucijom slova u abecedi originalnih 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. Vjerovatnoća uspješnog razbijanja sistema šifriranja raste sa dužinom šifriranog teksta. U isto vrijeme, ideje ugrađene u Cezarov sistem šifriranja pokazale su se vrlo plodonosnim, o čemu svjedoče njihove brojne modifikacije.

Afini Cezarov supstitucijski sistem. U ovoj transformaciji, slovo koje odgovara broju t, zamjenjuje se slovom koje odgovara brojčanoj vrijednosti ( at + b) modulo m. Takva transformacija je mapiranje jedan-na-jedan 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 sistema je praktično upravljanje ključevima: ključevi za šifrovanje i dešifrovanje su predstavljeni u kompaktnom obliku kao par brojeva ( a, b). Nedostaci afinskog sistema su slični nedostacima Cezarovog sistema šifrovanja. U praksi se afinski sistem koristio prije nekoliko stoljeća.

Kompleksne supstitucijske šifre . Kompleksne supstitucijske šifre nazivaju se polialfabetskim, budući da je svaki znak originalne poruke šifrovan upotrebom sopstvene jednostavne šifre zamene. Zamjena s više alfabeta sekvencijalno i ciklički mijenja korištena pisma. At r-abecedni zamjenski znak x 0 originalne poruke zamjenjuje se znakom y 0 iz abecede B 0 , karakter x 1 - simbol y 1 iz abecede B 1 itd.; simbol x r-1 je zamijenjen znakom y r-1 iz abecede B r-1 , karakter x r je zamijenjen simbolom y r opet iz abecede B 0 itd.

Efekat upotrebe polialfabetske zamjene je da je prirodna statistika izvornog jezika maskirana, budući da određeni znak iz izvornog alfabeta A može se pretvoriti u nekoliko različitih znakova šifriranih abeceda B j. Stepen pružene zaštite je teoretski proporcionalan dužini perioda r u slijedu korištenih abeceda B j.

Sistem vigenere encryption . Vigenere sistem je sličan Cezar sistemu šifrovanja, u kojem se zamjenski ključ mijenja od slova do slova. Ova polialfabetska supstitucijska šifra može se opisati šifrantnom tablicom koja se zove Vigenereova tabela (kvadrat). Vigenere tabela se koristi i za šifriranje i za dešifriranje.

Ima dva ulaza:

Gornji red podvučenih znakova koji se koristi za čitanje sljedećeg slova originalnog otvorenog teksta;

Krajnja lijeva kolona ključa.

Redoslijed ključeva se obično dobiva iz brojčanih vrijednosti slova ključne riječi. Prilikom šifriranja originalne poruke ona se ispisuje u red, 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 tabele, a sljedeća vrijednost ključa u lijevoj koloni. Sledeće slovo šifrovanog teksta nalazi se na preseku kolone, određenog šifrovanim slovom, i reda, određenog numeričkom vrednošću ključa.

Jednokratne šifre. Gotovo sve šifre koje se koriste u praksi okarakterizirane su kao uvjetno sigurne, jer se u principu mogu razbiti u prisustvu neograničene računske snage. Apsolutno jake šifre se ne mogu razbiti čak ni upotrebom neograničene računarske snage. Postoji samo jedna takva šifra koja se koristi u praksi - jednokratni sistem šifriranja. Karakteristična karakteristika sistema za jednokratno šifrovanje je jednokratna upotreba sekvence ključeva.

Ova šifra je apsolutno sigurna ako je skup ključeva K i zaista nasumično i nepredvidivo. Ako kriptoanalitičar pokuša upotrijebiti sve moguće skupove ključeva za dati šifrirani tekst i povratiti sve moguće verzije originalnog teksta, onda se ispostavi da su svi jednako vjerojatni. Ne postoji način da odaberete originalni tekst koji je stvarno poslan. Teorijski je dokazano da su jednokratni sistemi nedešifrljivi sistemi jer njihov šifrirani tekst ne sadrži dovoljno informacija da povrati otvoreni tekst.

Mogućnosti korištenja sistema za jednokratnu upotrebu ograničene su čisto praktičnim aspektima. Bitna stvar je zahtjev za jednokratnom upotrebom slučajnog niza ključeva. Ključna sekvenca čija dužina nije manja od dužine poruke mora se prenijeti primaocu poruke unaprijed ili zasebno preko nekog tajnog kanala. Takav zahtjev je praktično teško implementirati za savremene sisteme za obradu informacija, gdje je potrebno šifriranje više miliona znakova, međutim, u opravdanim slučajevima, najprikladnija je izgradnja sistema sa jednokratnim šiframa.

Istorijski gledano, razlikuju se skrembleri s vanjskim i unutrašnjim skalama. U šiframa sa vanjskom gamom, kao ključ se koristi slučajni niz za jednokratnu upotrebu čija je dužina jednaka dužini šifrirane poruke. U šiframa s internom gamom, kao ključ se koristi nasumični niz koji se može višekratno koristiti s dužinom mnogo manjom od dužine šifriranog teksta, na osnovu kojeg se formira gama šifre. U konstrukciji šifrovanih komunikacionih sistema trenutno preovlađuju koderi sa unutrašnjim dometom, odnosno sa svojstvom praktične stabilnosti. Njihova glavna prednost je jednostavnost upravljanja ključem, odnosno njihove pripreme, distribucije, isporuke i uništavanja. Ova prednost omogućava kreiranje šifrovanih komunikacionih sistema gotovo bilo koje veličine zasnovane na koderima sa internim dometom, bez ograničavanja njihove geografije i broja pretplatnika.

Savremeni razvoj informacionih tehnologija omogućava da se značajna količina informacija koncentriše na male fizičke medije, što određuje i praktičnu primenljivost ovog pristupa.

Zadatak konstruisanja šifrovanog komunikacionog sistema zasnovanog na koderima sa eksternom gama može imati nekoliko pristupa svom rešavanju. Na primjer, na osnovu postavljene granične vrijednosti obima ključnog dokumenta, određuje se optimalan broj sistemskih pretplatnika i dozvoljeno opterećenje. S druge strane, moguće je, na osnovu potrebnog broja pretplatnika i opterećenja na njima, 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 niz generiran prema datom algoritmu za šifriranje otvorenih podataka i dešifriranje primljenih podataka.

Proces šifriranja se sastoji u generiranju gama šifre i primjeni rezultirajuće game na originalni otvoreni tekst na reverzibilan način, na primjer, korištenjem operacije sabiranja po modulu 2.

Prije šifriranja, otvoreni podaci se dijele na blokove iste dužine, obično od 64 bita svaki. Šifra gama se generiše kao niz iste dužine. Proces dešifriranja se svodi na ponovno generiranje gama šifre i preklapanje ove game na primljene podatke.

Šifrirani tekst dobijen ovom metodom prilično je teško razbiti, budući da je ključ sada varijabilan. U suštini, gama šifre mora se nasumično mijenjati da bi svaki blok bio šifriran. Ako gama period premašuje dužinu cijelog šifriranog teksta, a napadač ne poznaje nijedan dio originalnog teksta, onda se takva šifra može riješiti samo direktnim nabrajanjem svih ključnih opcija. U ovom slučaju, jačina šifre je određena dužinom ključa.

Top Related Articles