Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Sigurnost
  • Kriptosistemi simetrične enkripcije. Simetrična enkripcija

Kriptosistemi simetrične enkripcije. Simetrična enkripcija

Nevjerovatan broj podebljanih izjava poput asimetrične enkripcije je hladniji od simetrične enkripcije, baš kao što one obrnute, obilaze mrežu. I često početnici slušaju ove riječi, čak ni ne razumiju o čemu govore. Kažu da je AES cool ili, naprotiv, RSA pravila, i svi su to shvatili zdravo za nos. Međutim, ovakav pristup često dovodi do problema kada se, zbog nedovoljnog razumijevanja suštine problema, implementiraju potpuno nepotrebni dijelovi ili se sistem pokaže kao bespomoćan.

Stoga ću vam u okviru ovog članka reći osnovni minimum koji bi početnik trebao znati. Neće biti složenih formula ili matematičkih opravdanja, ali će biti objašnjena razlika između simetrične i asimetrične enkripcije, kao i neke bitne tačke. Ali prvo stvari.

Simetrična enkripcija

Simetrična enkripcija koristi samo jednu lozinku (ili kako se još naziva ključ). Da vidimo kako se sve dešava. Postoji neki matematički algoritam za šifrovanje, koji se isporučuje sa lozinkom i tekstom kao ulazom. Izlaz je šifrirani tekst. Za dobijanje originalnog teksta koristi se ista lozinka, ali sa algoritmom za dešifrovanje (ponekad može biti i isti).

Drugim riječima, čim neko sazna ovu lozinku, sigurnost je odmah narušena. Stoga, ako se koristi simetrična enkripcija, značajnu pažnju treba posvetiti pitanju kreiranja i čuvanja same lozinke. Ne bi trebalo da se prenosi u čistom obliku, bilo da je u pitanju mreža ili komad papira pričvršćen za monitor. Lozinka mora biti dovoljno složena da se ne može dobiti jednostavnom grubom silom. Ako lozinku koristi više osoba, onda treba razmotriti siguran način distribucije, kao i sistem upozorenja u slučaju da lozinka postane poznata bilo kome drugom.

Uprkos svojim ograničenjima, simetrično šifrovanje se široko koristi. Uglavnom zbog lakoće razumijevanja cijelog procesa (jedna lozinka) i tehničkog opterećenja (obično su takvi algoritmi brzi).

Asimetrična enkripcija

Asimetrična enkripcija koristi dvije lozinke - jednu otvorenu (javnu) i drugu zatvorenu (tajnu). Javna lozinka se šalje svim ljudima, dok privatna lozinka ostaje na strani servera ili drugog prijemnika. U ovom slučaju, imena su često uslovna, budući da se šifrovana poruka sa jednim od ključeva može dešifrovati samo pomoću drugog ključa. Drugim riječima, ključevi su u ovom smislu ekvivalentni.

Ovakvi algoritmi šifriranja omogućavaju slobodnu distribuciju lozinke (ključa) po mreži, jer je bez drugog ključa nemoguće primiti originalnu poruku. SSL protokol je baziran na ovom principu, što olakšava uspostavljanje sigurne veze sa korisnicima zbog činjenice da je privatni ključ (lozinka) pohranjen samo na strani servera. Ako primijetite, onda se povremeno pojavljuje poruka "nesigurna veza" u pretraživaču kada otvorite stranicu s prefiksom https. To znači da je sasvim moguće da je privatni ključ odavno otvoren, kažu da je kompromitovan, te da je poznat napadačima. Stoga, takva sigurna veza može, ali ne mora biti sigurna.

U slučaju asimetrične enkripcije, postaje nešto lakše u smislu pohranjivanja lozinki, jer se tajni ključ ne mora dijeliti ni sa kim. Dovoljno je da to zna samo jedna osoba ili server. Takođe, problem probijanja lozinke postaje lakši, jer server može u svakom trenutku promijeniti par ključeva i poslati kreiranu javnu lozinku svima.

Međutim, asimetrična enkripcija je "teža", drugim riječima, zahtijeva više računarskih resursa. Postoje i ograničenja za sam proces generiranja ključeva (i dalje ih treba odabrati). Stoga se u praksi asimetrična enkripcija obično koristi samo za autentifikaciju i identifikaciju korisnika (na primjer, prijavljivanje na web lokaciju), ili za kreiranje ključa sesije za simetrično šifriranje (privremena lozinka za razmjenu podataka između korisnika i servera), ili za kreiranje digitalnih potpisa, koji su šifrirani tajnim ključem. Kao što ste vjerovatno već shvatili, u potonjem slučaju, svako može provjeriti takav potpis koristeći javni ključ koji je javno dostupan.

Važne točke o simetričnom i asimetričnom šifriranju

Najvažnija razlika između simetrične i asimetrične enkripcije leži u njihovom pristupu. Stoga, kada čujete ili pročitate članak o njihovoj usporedbi poput "ovaj algoritam je bolji" bez pominjanja specifičnosti (određenih uslova i zadataka), možete sigurno početi raditi druge stvari, jer je ovo vrlo beskorisna vježba slična argumentu " Što je bolje? Tenk ili brod?“. Nema specifičnosti, ništa. Međutim, postoje važne tačke kojih treba biti svjesna:

1. Simetrični algoritam je dobar za prijenos velikih količina šifriranih podataka. Asimetrični algoritam, pod jednakim uslovima, bit će znatno sporiji. Osim toga, da bi se organizirala razmjena podataka korištenjem asimetričnog algoritma, ili obje strane moraju poznavati javni i privatni ključ, ili moraju postojati dva takva para (po jedan par za svaku stranu).

2. Asimetrična enkripcija vam omogućava da pokrenete sigurnu vezu bez ikakvog napora od strane korisnika. Simetrični algoritam pretpostavlja da korisnik treba "nekako saznati lozinku". Međutim, treba shvatiti da asimetrični algoritmi također ne pružaju 100% sigurnost. Na primjer, podložni su napadima čovjeka u sredini. Suština potonjeg je da se između vas i servera instalira računar koji vam šalje svoj javni ključ, a koristi javni ključ servera za prijenos podataka od vas.

3. Sa stanovišta razbijanja (kompromitovanja) lozinke, asimetrični algoritam je lakši, jer je dovoljno da server promeni par ključeva i distribuira kreirani javni ključ. U slučaju simetrične enkripcije postavlja se pitanje kako prenijeti sljedeću lozinku. Međutim, ova ograničenja se zaobilaze, na primjer, na obje strane ključevi se konstantno generiraju korištenjem istog algoritma, tada se postavlja pitanje čuvati taj algoritam u tajnosti.

4. Simetrični algoritmi se obično grade na osnovu nekih blokova sa funkcijama matematičke transformacije. Stoga je lakše modificirati takve algoritme. Asimetrični algoritmi se obično grade na nekim matematičkim problemima, na primjer. RSA je izgrađen na problemu eksponencijacije i modula. Stoga ih je gotovo nemoguće ili vrlo teško modificirati.

5. Asimetrični algoritmi se obično koriste u sprezi sa simetričnim. To se događa otprilike na sljedeći način. Uz pomoć asimetričnog algoritma, korisnik kreiran ključ sesije za simetričnu enkripciju šalje se na server, nakon čega se odvija razmjena podataka prema simetričnom algoritmu. Redoslijed se može djelomično promijeniti ili se ključ može formirati malo drugačije, ali značenje je približno isto.

6. Kreiranje sigurnih ključeva (lozinki) u asimetričnim algoritmima je veoma težak zadatak, za razliku od simetričnih algoritama, gde je dovoljno formirati ključ prema pravilima za generisanje sigurnih lozinki (brojevi, slova, velika i mala slova, itd.). Međutim, činjenica da samo server zna tajnu lozinku olakšava čuvanje ključa.

Simetrični kriptosistemi su sistemi u kojima se isti ključ koristi za šifrovanje i dešifrovanje poruka (slika 9.1).

Čitava raznolikost simetričnih sistema zasnovana je na sljedećim baznim klasama:

Mono- i multi-alfabetske zamjene;

permutacije;

Blok šifre;

Kockanje.

Zamjene

U direktnim zamjenama, svaki znak u izvornom tekstu zamjenjuje se jednim ili više znakova. Jedna od važnih podklasa direktnih supstitucija su monoalfabetske zamjene, u kojem se uspostavlja korespondencija jedan-na-jedan između znaka e i originalnog alfabeta i odgovarajućeg znaka c j šifriranog teksta. Sve metode monoalfabetske zamjene mogu se predstaviti kao numeričke transformacije slova izvornog teksta, posmatranih kao brojevi, prema sljedećoj formuli:

c ≡ (a*e +s) mod K , (5.1)

gdje je a decimalni koeficijent; s je koeficijent pomaka; e – slovni kod izvornog teksta; c je kod šifrovanog slova; K je dužina abecede; mod je operacija izračunavanja ostatka nakon dijeljenja izraza u zagradama modulom K.

Primjer. Cezarova šifra

Razmislite o šifriranju u abecedi koja se sastoji od 26 latiničnih slova i znaka razmaka (razmak ćemo predstaviti znakom #). Šifru 0 dodijelit ćemo znaku #, šifru 1 slovu A, šifru 2 B, šifru 26 slovu Z.

Uzmimo sljedeće parametre: a = 1 s = 2 K = 27

Formula šifriranja poprima oblik

c ≡ (e + 2) mod 27 (5.2)

Abeceda unosa:

# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

izlazna abeceda

B C D E F G H I J K L M N O P Q R S T U V W X Y Z # A

(Slova se pomjeraju u dvije pozicije: A-C B-D, itd.)

Tada će originalna poruka u šifriranom obliku izgledati ovako:

Za dešifriranje (za slučaj kada je a=1) koristi se sljedeća formula

e ≡ (K+ c - s) mod K (5.3)

Jednostavna polialfabetska zamjena sekvencijalno i ciklički mijenja korištene alfabete (u prethodnom slučaju za enkripciju je korišteno jedno pismo). Kod m-abecedne zamjene, znak a 1 iz originalne poruke zamjenjuje se znakom iz abecede B 1 , znak a 2 zamjenjuje se znakom iz abecede B 2 , ... znak a m ​​zamjenjuje se a znak iz abecede B m , znak a m ​​+1 zamjenjuje se znakom iz abecede B 1 i t .d. Efekat upotrebe polialfabetske supstitucije je da je statistika frekvencije izvornog jezika maskirana, budući da se određeni znak iz abecede A konvertuje u nekoliko različitih znakova iz šifrovanog alfabeta B.

Primjer

Originalna poruka: TREBAMO #SNIJEG

Ključ: SECURITYSECU

Riječ SIGURNOST je odabrana kao ključ. Riječ je napisana ispod originalne poruke, kada se potroše slova ključa, počinjemo ponavljati riječ dok ne ponestane slova originalne poruke. Svako slovo ključa (tačnije, njegov kod) će postaviti pomak u originalnoj abecedi kako bi se dobio šifrirani znak. Kao abecedu koristimo latinična slova i znak # umjesto razmaka.

Šifra izvornog ključa

(W + S) mod 27 = (23 + 19) mod 27 = 15→O

(E + E) mod 27 = (5 + 5) mod 27 = 10 → J

(# + C) mod 27 = (0 + 3) mod 27 = 3 → C

Vježba

Predlažemo kao vježbu da sastavite enkripciju do kraja.

Permutacije

Znakovi izvornog teksta mogu se preurediti u skladu sa određenim pravilom.

Primjer 1. Linearna permutacija

Šifrujmo sljedeći tekst:

LOAD#NARANDES#DRAGGERS

Podijelimo tekst u grupe dužine, na primjer, po 4 znaka svaka:

LOAD ITE# APELSIN Y#BOCA

Postavimo sljedeće pravilo permutacije: "preurediti grupe od četiri slova redom 1-2-3-4 u red 3-1-4-2".

Dobijamo sljedeći šifrirani tekst:

UGRZ EI#T EALP INNS BYO# ACHK

Komentar

Ako dužina poruke nije višestruka dužine grupe, onda se posljednja grupa popunjava znakovima (na primjer, razmacima) do potrebne dužine.

Pisanje originalnog teksta i naknadno čitanje šifrovanog teksta može se izvršiti na različite načine neke geometrijske figure, na primjer, kvadrata ili pravokutnika.

Primjer 2. Grille Cardano

Cardano rešetka je pravougaona karta s rupama, češće kvadratnom, koja, kada se nanese na list papira, ostavlja otvorene samo neke svoje dijelove. Broj redova i kolona je paran. Kartica je napravljena na način da kada se rotira uzastopno, svaka ćelija lista koja leži ispod nje će biti zauzeta. Ako je rešetka kvadratna, možete je uzastopno rotirati oko središta kvadrata za 90 °.

šifriranje:

VAVOCHS MUNOTI MYZHROE YUKHSOY MDOSTO YASNTV

Dekodirajte poruku rotiranjem rešetke u smjeru kazaljke na satu za 90°. Napišite poruku u kvadratu red po red.

Metode supstitucije i permutacije same po sebi ne daju potrebnu kriptografsku snagu. Stoga se koriste zajedno, kao i aditivnom metodom. Kod šifriranja aditivnim metodom, na početku se izvorni tekst šifrira metodom zamjene, pretvarajući svako slovo u broj, a zatim se svakom broju dodaje tajna gama (vidi dolje) - pseudoslučajni numerički niz.

Blok šifre

Blok šifre su porodica reverzibilnih transformacija blokova (dijelova fiksne dužine) izvornog teksta.

Pod N-bitnim blokom podrazumijevamo niz nula i jedinica dužine N:

x \u003d (x 0, x 1, ... x N -1) . (5.5)

x u Z 2, N se može interpretirati kao vektor i kao binarni prikaz cijelog broja

(5.6)

Pod blok šifrom podrazumijevamo element

Gdje je x = (x 0, x 1, ... x N -1), y = (y 0, y 1, ... y N -1)

Iako su blok šifre poseban slučaj supstitucija, treba ih razmotriti odvojeno, jer, prvo, većina simetričnih šifri koje se koriste u sistemima za prenos podataka su blok šifre, i drugo, blok šifre je pogodnije opisati u algoritamskom obliku, i ne kao obicne zamjene.

Stream ciphers

Stream šifre su vrsta gama i pretvaraju običan tekst u šifrovani tekst jedan bit po jedan. Generator sekvence ključeva, koji se ponekad naziva i pokretački generator ključeva, daje niz bitova k 1 , k 2 , ... k N . Ova sekvenca ključeva se dodaje po modulu 2 („isključivo ili“) sa sekvencom bitova izvornog teksta e 1 , e 2 , …, e N:

Na strani koja prima, šifrirani tekst se dodaje po modulu 2 sa identičnom sekvencom ključeva kako bi se dobio otvoreni tekst:

Stabilnost sistema u potpunosti zavisi od unutrašnje strukture generatora sekvence ključeva. Ako generator proizvodi niz s kratkim periodom, stabilnost sistema je niska. Naprotiv, ako generator proizvodi beskonačan niz zaista nasumičnih bitova, tada dobijamo jednokratnu podlogu sa idealnom izdržljivošću.

Stream šifre su najprikladnije za šifriranje kontinuiranih tokova podataka, kao što su mreže podataka.

Jedini način koji je postojao bila je simetrična enkripcija. Obje strane moraju čuvati ključ algoritma u tajnosti. Algoritam šifriranja biraju strane prije razmjene poruka.

Encyclopedic YouTube

    1 / 3

    Informatika. Sigurnost informacija: Simetrično šifriranje. Foxford Online Learning Center

    PGP.01 Razumijevanje asimetrične enkripcije

    Cezarova šifra. Simetrična enkripcija

    Titlovi

Osnovne informacije

Algoritmi šifriranja podataka se široko koriste u kompjuterskoj tehnologiji u sistemima za skrivanje povjerljivih i komercijalnih informacija od zlonamjerne upotrebe trećih strana. Njihov glavni princip je uslov da predajnik i prijemnik unaprijed znaju algoritam šifriranja, kao i ključ poruke, bez kojeg je informacija samo skup znakova koji nemaju smisla.

Klasični primjeri takvih algoritama su simetrične kriptografske algoritme navedenih u nastavku:

  • Jednostavna permutacija
  • Pojedinačna permutacija ključem
  • dvostruka permutacija
  • Permutacija "Magični kvadrat"

Jednostavna permutacija

Jednostavna permutacija bez ključa jedna je od najjednostavnijih metoda šifriranja. Poruka se upisuje u tabelu po kolonama. Nakon što je otvoreni tekst napisan u kolonama, čita se red po red kako bi se formirao šifrirani tekst. Da bi koristili ovu šifru, pošiljalac i primalac moraju se dogovoriti oko zajedničkog ključa u obliku veličine tabele. Kombinacija slova u grupe nije uključena u ključ šifre i koristi se samo za praktičnost pisanja besmislenog teksta.

Pojedinačna permutacija ključem

Praktičnija metoda šifriranja koja se zove permutacija jednog ključa vrlo je slična prethodnoj. Razlikuje se samo po tome što su kolone tabele preuređene po ključnoj reči, frazi ili skupu brojeva dužine reda tabele.

dvostruka permutacija

Za dodatnu tajnost, možete ponovo šifrirati poruku koja je već šifrirana. Ova metoda je poznata kao dvostruka permutacija. Da biste to učinili, veličina druge tablice se odabire tako da se dužine njenih redova i stupaca razlikuju od dužina prve tablice. Najbolje je da su koprimarni. Osim toga, kolone se mogu preurediti u prvoj tabeli, a redovi u drugoj. Na kraju možete popuniti sto u cik-cak, zmijskom, spiralnom obliku ili na neki drugi način. Takve metode popunjavanja tablice, ako ne povećavaju snagu šifre, onda proces šifriranja čine mnogo zabavnijim.

Permutacija "Magični kvadrat"

Magični kvadrati se nazivaju kvadratne tabele sa uzastopnim prirodnim brojevima od 1 upisanim u njihove ćelije, koji daju isti broj u zbroju za svaki stupac, svaki red i svaku dijagonalu. Takvi kvadrati su se naširoko koristili za unos šifriranog teksta prema numeraciji koja je navedena u njima. Ako zatim zapišete sadržaj tabele red po red, tada ćete dobiti enkripciju preuređivanjem slova. Na prvi pogled se čini da je magičnih kvadrata vrlo malo. Međutim, njihov broj raste vrlo brzo kako se veličina kvadrata povećava. Dakle, postoji samo jedan magični kvadrat 3 x 3, ako ne uzmete u obzir njegove rotacije. Već postoji 880 magičnih kvadrata 4 x 4, a broj magičnih kvadrata 5 x 5 je oko 250 000. Stoga bi veliki magični kvadrati mogli biti dobra osnova za pouzdan sistem šifrovanja tog vremena, jer ručno nabrajanje svih ključnih opcija za ova šifra je bila nezamisliva.

Brojevi od 1 do 16 bili su upisani u kvadrat veličine 4 sa 4. Njegova magija je bila da je zbir brojeva u redovima, kolonama i punim dijagonalama jednak istom broju - 34. Ovi kvadrati su se prvi put pojavili u Kini, gdje su im pripisivani neki "magičnu moć".

16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1

Šifriranje magičnim kvadratom izvedeno je na sljedeći način. Na primjer, želite šifrirati frazu: "Dolazim danas.". Slova ove fraze upisana su redom u kvadrat prema brojevima ispisanim u njima: pozicija slova u rečenici odgovara rednom broju. Tačka se stavlja u prazne ćelije.

16. 3 i 2 r 13 d
5 h 10 11 g 8th
9 C 6 w 7 a 12 o
4 e 15 14 n 1 str

Nakon toga, šifrirani tekst se upisuje u niz (čitanje se vrši s lijeva na desno, red po red):
.irdzegyuSzhaoyanP

Kada je dešifrovan, tekst se uklapa u kvadrat, a otvoreni tekst se čita u nizu brojeva "magijskog kvadrata". Program bi trebao generirati "magične kvadrate" i odabrati željeni ključem. Kvadrat je veći od 3x3.

Priča

Zahtjevi

Potpuni gubitak svih statističkih pravilnosti originalne poruke važan je zahtjev za simetričnu šifru. Da biste to učinili, šifra mora imati "efekt lavine" - mora doći do jake promjene u bloku šifre s promjenom od 1 bita u ulaznim podacima (idealno, vrijednosti od 1/2 bita blok šifre bi se trebao promijeniti).

Takođe važan uslov je odsustvo linearnosti (tj. uslovi f(a) xor f(b) == f(a xor b)), inače je olakšana primena diferencijalne kriptoanalize na šifru.

Opća shema

Trenutno su simetrične šifre:

  • blok šiframa. 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 - sve veći gubitak bitne korespondencije između blokova otvorenih i šifriranih podataka.
  • stream šifre, u kojima se šifriranje provodi preko svakog bita ili bajta originalnog (običnog) teksta pomoću gama. Šifra toka može se lako kreirati na osnovu blok šifre (na primjer, GOST 28147-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 reverzibilna - njena inverzna funkcija može biti nepoznata. 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 određenog 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 kada je bit rezultata isto za sve parove ulaznih riječi koje se razlikuju samo po ovom bitu.

Opcije algoritma

Postoji mnogo (najmanje dva tuceta) algoritama simetrične šifre, čiji su bitni parametri:

  • dužina ključa
  • broj rundi
  • dužina bloka obrade
  • složenost implementacije hardvera/softvera
  • složenost konverzije

Vrste simetričnih šifri

Blok šifre

  • AES (English Advanced Encryption Standard) - američki standard šifriranja

Algoritam moraju čuvati obje strane u tajnosti. Algoritam šifriranja biraju strane prije razmjene poruka.

Tajna komunikacija zasnovana na simetričnom kriptosistemu.

Sistemi simetrične šifre tradicionalno se koriste za organizovanje tajnih komunikacija. "Redovni" akteri ovakvih tajnih komunikacijskih protokola su pošiljalac, primalac i posrednik koji korisnicima daje ključeve. Da bismo razmotrili pitanja sigurnosti informacija, ovoj listi učesnika koji nisu zaposleni, treba dodati: pasivnog i aktivnog nasilnika. Zadatak protokola je da prenese tajnu poruku x od pošiljaoca do primaoca. Redoslijed radnji je sljedeći:
1. Pošiljalac i primalac se dogovaraju o simetričnom sistemu šifriranja koji će se koristiti, tj. o porodici preslikavanja E = (), kK.
2. Pošiljalac i primalac se dogovaraju o tajnom komunikacijskom ključu k, tj. o korištenom mapiranju E.
3. Pošiljalac šifrira otvoreni tekst x koristeći mapiranje, tj. kreira kriptogram y = (x).
4. Kriptogram y se prenosi preko komunikacione linije do primaoca.
5. Primalac dešifruje kriptogram y koristeći isti ključ k i preslikavanje ^(-1) obrnuto od mapiranja Ek i čita poruku x= ^(-1)(y).
Korak 2 protokola implementira se uz pomoć posrednika, treće strane, koja se uslovno može nazvati centrom za generisanje i distribuciju ključeva (KGRK) (neki tajni komunikacioni protokoli zasnovani na asimetričnim sistemima šifriranja ne koriste posrednika, u čemu funkcije KGRK-a obavljaju korisnici).
Bitna karakteristika protokola je tajnost ključa k, koji se šalje pošiljaocu i primaocu ili u otvorenom obliku preko komunikacionog kanala zaštićenog od djelovanja kriptoanalitičara, ili u šifriranom obliku preko otvorenog komunikacijskog kanala. Siguran kanal može imati relativno nisku propusnost, ali mora pouzdano zaštititi ključne informacije od neovlaštenog pristupa. Ključ k mora ostati tajan prije, za vrijeme i nakon implementacije protokola, inače napadač, nakon što je preuzeo ključ, može dešifrirati kriptogram i pročitati poruku. Pošiljalac i primalac mogu javno izvršiti korak 1 protokola (tajnost sistema šifriranja je opciona), ali korak 2 moraju izvršiti tajno (zahtijeva se tajnost ključa).
Ova potreba je zbog činjenice da su komunikacijske linije, posebno dugačke, osjetljive na smetnje pasivnih i aktivnih uljeza. Pasivni uljez (kriptoanalitičar), koji želi da dobije pristup poruci x, kontroliše komunikacijsku liniju u koraku 4 protokola. Ne ometajući implementaciju protokola, on presreće kriptogram y kako bi otkrio šifru.

Kriptoanaliza simetričnog kriptosistema.

Kada dizajnira sistem šifriranja, kriptograf obično postavlja sljedeće pretpostavke o sposobnostima kriptoanalitičara:
1. Kriptoanalitičar kontrolira komunikacijsku liniju.
2. Kriptoanalitičar poznaje uređaj familije E šifriranih preslikavanja.
3. Kriptoanalitičar ne poznaje ključ k, tj. mapiranje korišteno za dobivanje kriptograma y je nepoznato.
Pod ovim uvjetima, kriptoanalitičar pokušava riješiti sljedeće zadatke, koji se nazivaju zadaci dešifriranja.
1. Odrediti otvoreni tekst x i korišteni ključ k iz presretnutog kriptograma y, tj. konstruirati algoritam dešifriranja  takav da je (y)=(x,k). Ova izjava problema pretpostavlja da kriptoanalitičar koristi statistička svojstva otvorenog teksta.
2. Odrediti korišteni ključ k iz poznatog otvorenog teksta i šifriranog teksta, tj. izgraditi algoritam dešifriranja takav da je (x,y)=k. Ova formulacija problema ima smisla kada je kriptoanalitičar presreo nekoliko kriptograma dobijenih pomoću ključa k, a nema otvorene tekstove za sve presretnute kriptograme. U ovom slučaju, nakon što je riješio problem dešifriranja drugog tipa, on će "pročitati" sve otvorene tekstove šifrirane pomoću ključa k.
3. Odrediti korišteni ključ k iz posebno odabranog otvorenog teksta x i odgovarajućeg šifriranog teksta y, tj. konstruirati algoritam za dešifriranje x takav da je x(y)=k. Slična izjava problema se javlja kada kriptoanalitičar ima mogućnost testiranja kriptosistema, tj. generiranje kriptograma za posebno odabrani otvoreni tekst. Češće se takva konstatacija problema javlja u analizi asimetričnih sistema. postoji varijanta ovog problema dešifriranja gdje se koristi posebno odabrani šifrirani tekst.
Za rješavanje problema dešifriranja, kriptoanalitičar koristi ili šifriranu poruku y, ili par (x, y) koji se sastoji od otvorene i šifrirane poruke, ili skup takvih poruka ili parove poruka. Ove poruke ili skupovi poruka nazivaju se šifriranim tekstom. Količina šifriranog materijala koji se koristi za dešifriranje je dužina ovih poruka ili ukupna dužina skupa poruka. Količina šifriranog materijala je važna karakteristika metode dešifriranja. Udaljenost jedinstvenosti šifre je najmanji broj znakova šifriranog teksta potrebnih za jedinstveno određivanje ključa. U mnogim praktičnim slučajevima, jednaka je dužini ključa, ako su ključ i kriptogram riječi iz ekvivalentnih abeceda. Uz istu količinu šifriranog materijala, problemi dešifriranja prvog tipa se razlikuju po većoj računskoj složenosti u odnosu na probleme drugog i trećeg tipa, a problemi testiranja imaju najmanju računsku složenost.
U nekim slučajevima, kriptoanalitičar može riješiti problem obnavljanja porodice E šifriranih preslikavanja iz poznatog para (x,y) otvorenog teksta i šifriranog teksta, koristeći neke dodatne uslove. Ovaj zadatak se može formulirati kao "dekodiranje crne kutije" s obzirom na poznate ulaze i odgovarajuće izlaze.
Aktivni uljez krši implementaciju protokola. On može prekinuti vezu u koraku 4, vjerujući da pošiljalac neće moći više ništa reći primaocu. Također može presresti poruku i zamijeniti je svojom. Ako je aktivni uljez znao ključ (kontrolom koraka 2 ili infiltracijom u kriptosistem), mogao je šifrirati svoju poruku i poslati je primaocu umjesto presretnute poruke, što u potonjem ne bi izazvalo nikakvu sumnju. Bez poznavanja ključa, aktivni uljez može kreirati samo nasumični kriptogram, koji će se nakon dešifriranja pojaviti kao nasumični niz.

zahtjevi protokola.

Razmatrani protokol podrazumijeva povjerenje pošiljaoca, primaoca i treće strane koju zastupa TsGRK. Ovo je slabost ovog protokola. Međutim, ne postoje apsolutne garancije o besprijekornosti ovog ili onog protokola, budući da je implementacija bilo kojeg protokola povezana sa učešćem ljudi i zavisi, posebno, od kvalifikacija i pouzdanosti osoblja. Dakle, o organizaciji tajne komunikacije korištenjem simetričnog kriptosistema, mogu se izvući sljedeći zaključci.
1. Protokol mora zaštititi običan tekst i ključ od neovlašćenog pristupa neovlašćene osobe u svim fazama prenosa informacija od izvora do primaoca poruke. Tajnost ključa je važnija od tajnosti više poruka šifriranih tim ključem. Ako je ključ kompromitovan (ukraden, pogoden, otkriven, otkupljen), onda uljez koji ima ključ može dešifrirati sve poruke šifrirane ovim ključem. Osim toga, uljez će moći imitirati jednu od pregovaračkih strana i generirati lažne poruke kako bi doveo drugu stranu u zabludu. Uz česte promjene ključeva, ovaj problem je minimiziran.
2. Protokol ne bi trebao dozvoliti da “dodatne” informacije uđu u komunikacijsku liniju, što pruža neprijateljskom kriptoanalitičaru dodatne mogućnosti za dešifriranje kriptograma. Protokol mora zaštititi informacije ne samo od neovlaštenih lica, već i od međusobne obmane aktera protokola.
3. Ako pretpostavimo da svaki par korisnika komunikacione mreže koristi poseban ključ, tada je broj potrebnih ključeva n*(n-1)/2 za n korisnika. To znači da za veliko n generiranje, pohranjivanje i distribucija ključeva postaje dugotrajan problem.

Koncept enkripcije

Enkripcija ¾ je metoda transformacije informacija koja se koristi za pohranjivanje osjetljivih informacija u nepouzdane izvore ili njihovo prijenos preko nesigurnih komunikacijskih kanala. Prema GOST 28147-89, šifriranje je proces šifriranja ili dešifriranja.

Ključ za šifriranje je tajna informacija koju koristi kriptografski algoritam prilikom šifriranja/dešifriranja poruka. Kada se koristi isti algoritam, rezultat šifriranja ovisi o ključu. Dužina ključa je glavna karakteristika kriptografske snage i mjeri se u bitovima.

Ovisno o strukturi korištenih ključeva, metode šifriranja se dijele na sljedeće vrste:

· simetrično šifrovanje: isti ključ se koristi za šifrovanje i dešifrovanje;

asimetrična enkripcija: jedan ključ (javni) se koristi za šifriranje, a drugi ¾ (privatni, tajni) se koristi za dešifriranje. Ova vrsta enkripcije naziva se i šifriranje javnog ključa.

Različite vrste enkripcije imaju različitu kriptografsku snagu.

Simetrična enkripcija je metoda šifriranja koja koristi isti kriptografski ključ i za šifriranje i za dešifriranje. Ključ algoritma moraju čuvati u tajnosti i pošiljalac i primalac poruke. Ključ algoritma biraju strane prije početka razmjene poruka.

Simetrične šifre su sljedećih tipova:

blok šiframa. Oni obrađuju informacije u blokovima određene dužine (64, 128 bita, itd.), primjenjujući ključ na blok po propisanom redoslijedu, po pravilu nekoliko ciklusa miješanja i zamjene, koji se nazivaju rundi. Rezultat ponavljanja rundi je efekat lavine ¾ progresivnog gubitka bitne korespondencije 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 28147-89 u gama modu) koja se pokreće u posebnom načinu. Gama-uzorkovanje je proces "nametanja" određene sekvence (gama-sekvencije) na otvoreni tekst. Na primjer, to može biti operacija "isključivo ILI". Prilikom dešifriranja, operacija se ponavlja, što rezultira čistim tekstom.

Parametri algoritma šifrovanja: snaga, dužina ključa, broj rundi, dužina obrađenog bloka, složenost hardverske/softverske implementacije.

Primjeri simetričnih algoritama: DES (Standard šifriranja podataka), GOST 28147-89.

Poređenje sa asimetričnom enkripcijom:



Prednosti:

brzina (prema primijenjenoj kriptografiji - 3 reda veličine veća);

jednostavnost implementacije (zbog jednostavnijih operacija);

· manja potrebna dužina ključa za uporedivu izdržljivost;

znanja (zbog starenja).

Nedostaci:

složenost upravljanja ključevima u velikoj mreži. Označava kvadratno povećanje broja parova ključeva koji se trebaju generirati, prenijeti, pohraniti i uništiti na mreži. Za mrežu od 10 pretplatnika potrebno je 45 ključeva, za 100 već 4950, za 1000 - 499500 itd.;

složenost razmjene ključeva. Za aplikaciju je potrebno riješiti problem pouzdanog prijenosa ključeva do svakog pretplatnika, jer je potreban tajni kanal za prijenos svakog ključa na obje strane.

Kako bi se kompenzirali nedostaci simetrične enkripcije, trenutno se široko koristi kombinirana (hibridna) kriptografska shema, gdje ključ sesije, koju koriste strane za razmjenu podataka korištenjem simetrične enkripcije.

Važno svojstvo simetričnih šifri je nemogućnost njihovog korištenja za potvrdu autorstva, jer je ključ poznat svakoj strani.

Top Related Articles