Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Sigurnost
  • Kriptosustavi simetrične enkripcije. Simetrično šifriranje

Kriptosustavi simetrične enkripcije. Simetrično šifriranje

Nevjerojatan broj podebljanih izjava poput asimetrične enkripcije hladnije je 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že se 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 sustav pokaže bespomoćnim.

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 točke. Ali prije svega.

Simetrično šifriranje

Simetrično šifriranje koristi samo jednu lozinku (ili kako se još naziva ključ). Da vidimo kako se sve događa. Postoji neki matematički algoritam za šifriranje, koji se isporučuje s lozinkom i tekstom kao ulazom. Izlaz je šifrirani tekst. Za dobivanje izvornog teksta koristi se ista lozinka, ali s algoritmom za dešifriranje (ponekad može biti i isti).

Drugim riječima, čim netko sazna ovu lozinku, sigurnost je odmah narušena. Stoga, ako se koristi simetrična enkripcija, značajnu pozornost treba posvetiti pitanju stvaranja i sigurnosti same lozinke. Ne bi se trebao prenositi u čistom obliku, bilo da se radi o mreži ili komadu papira pričvršćenom za monitor. Lozinka mora biti dovoljno složena da se ne može dobiti jednostavnom grubom silom. Ako lozinku koristi više osoba, treba razmotriti siguran način distribucije, kao i sustav upozorenja u slučaju da lozinka postane poznata bilo kome drugome.

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

Asimetrična enkripcija

Asimetrično šifriranje koristi dvije lozinke - jednu otvorenu (javnu) i jednu zatvorenu (tajnu). Javna lozinka se šalje svim osobama, dok privatna lozinka ostaje na strani poslužitelja ili drugog primatelja. U ovom slučaju, imena su često uvjetna, budući da se šifrirana poruka s jednim od ključeva može dešifrirati samo pomoću drugog ključa. Drugim riječima, ključevi su u tom smislu ekvivalentni.

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

U slučaju asimetrične enkripcije, pohranjivanje lozinki postaje nešto lakše, budući da se tajni ključ ne mora ni s kim dijeliti. Dovoljno je da to zna samo jedna osoba ili poslužitelj. Također, problem probijanja lozinke postaje lakši, jer poslužitelj može promijeniti par ključeva u bilo kojem trenutku i poslati kreiranu javnu lozinku svima.

Međutim, asimetrična enkripcija je "teža", drugim riječima, zahtijeva više računalnih resursa. Postoje i ograničenja za sam proces generiranja ključeva (još ih je potrebno odabrati). Stoga se u praksi asimetrična enkripcija obično koristi samo za autentifikaciju i identifikaciju korisnika (na primjer, prijava na web-stranicu), ili za stvaranje ključa sesije za simetrično šifriranje (privremena lozinka za razmjenu podataka između korisnika i poslužitelja), ili za stvaranje digitalnih potpisa, koji su šifrirani tajnim ključem. Kao što ste vjerojatno već shvatili, u potonjem slučaju, svatko može provjeriti takav potpis pomoću javnog ključa 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 spominjanja pojedinosti (određenih uvjeta 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? ". Bez specifičnosti, ništa. Međutim, postoje važne točke kojih treba biti svjestan:

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

2. Asimetrična enkripcija omogućuje vam 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, osjetljivi su na napade čovjeka u sredini. Bit potonjeg je da se između vas i poslužitelja instalira računalo koje za vas šalje svoj javni ključ, a javni ključ poslužitelja koristi za prijenos podataka od vas.

3. Sa stajališta razbijanja (kompromitiranja) lozinke, asimetrični algoritam je lakši, jer je dovoljno da poslužitelj promijeni par ključeva i distribuira generirani 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, s obje strane ključevi se stalno generiraju pomoću istog algoritma, tada se postavlja pitanje zadržati taj algoritam u tajnosti.

4. Simetrični algoritmi se obično grade na temelju nekih blokova s ​​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čnima. To se događa otprilike na sljedeći način. Uz pomoć asimetričnog algoritma na poslužitelj se šalje korisnički kreiran ključ sesije za simetričnu enkripciju, nakon čega se odvija razmjena podataka prema simetričnom algoritmu. Redoslijed se može djelomično promijeniti, ili se ključ može oblikovati malo drugačije, ali značenje je približno isto.

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

Simetrični kriptosustavi su sustavi u kojima se isti ključ koristi za šifriranje i dešifriranje poruka (slika 9.1).

Cijela raznolikost simetričnih sustava temelji se na sljedećim baznim klasama:

Mono- i višeabecedne zamjene;

permutacije;

Blok šifre;

Kockanje.

Zamjene

U izravnim zamjenama, svaki znak u izvornom tekstu zamjenjuje se jednim ili više znakova. Jedna od važnih podklasa izravnih supstitucija su monoalfabetske zamjene, u kojem se uspostavlja korespondencija jedan prema jedan između znaka e i izvorne abecede i odgovarajućeg znaka c j šifriranog teksta. Sve metode jednoabecedne zamjene mogu se predstaviti kao numeričke transformacije slova izvornog teksta, smatrani brojevima, 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 šifriranog slova; K je duljina abecede; mod je operacija izračunavanja ostatka nakon dijeljenja izraza u zagradama s 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 pomiču u dva položaja: 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štena jedna abeceda). Kod m-abecedne zamjene, znak a 1 iz izvorne poruke zamjenjuje se znakom iz abecede B 1 , znak a 2 zamjenjuje se znakom iz abecede B 2 , ... znak a m ​​zamjenjuje se znakom a znak iz abecede B m , znak a m ​​+1 zamjenjuje se znakom iz abecede B 1 i t .d. Učinak korištenja polialfabetske zamjene je da je statistika frekvencije izvornog jezika maskirana, budući da se određeni znak iz abecede A pretvara u nekoliko različitih znakova iz šifrirane abecede B.

Primjer

Originalna poruka: TREBAMO #SNIJEG

Ključ: SECURITYSECU

Riječ SIGURNOST je odabrana kao ključ. Riječ je napisana ispod izvorne poruke, kada su slova ključa iscrpljena, počinjemo ponavljati riječ dok ne ponestane slova izvorne poruke. Svako slovo ključa (točnije, njegov kod) će postaviti pomak u izvornoj 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žbajte

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

Permutacije

Likovi izvornog teksta mogu se preurediti u skladu s određenim pravilom.

Primjer 1. Linearna permutacija

Šifrirajmo sljedeći tekst:

TOVAR#NARANČE#DRAGGER

Podijelimo tekst u grupe duljine, na primjer, po 4 znaka:

PUNI ITE# APELSIN Y#BOCA

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

Dobivamo sljedeći šifrirani tekst:

UGRZ EI#T EALP INNS BYO# ACHK

Komentar

Ako duljina poruke nije višestruka duljine grupe, tada se posljednja grupa puni znakovima (na primjer, razmacima) do željene duljine.

Pisanje izvornog teksta i naknadno čitanje šifriranog teksta može se izvesti na različite načine nekog geometrijskog lika, na primjer, kvadrata ili pravokutnika.

Primjer 2. Rešetka Cardano

Cardano rešetka je pravokutna karta s rupama, češće kvadratnom, koja, kada se nanese na list papira, ostavlja otvorene samo neke svoje dijelove. Broj redaka i stupaca je paran. Kartica je napravljena na način da kada se uzastopno okreće, 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 pružaju potrebnu kriptografsku snagu. Stoga se koriste zajedno, kao i aditivnom metodom. Kod šifriranja aditivnom metodom, na početku se izvorni tekst šifrira zamjenskom metodom, 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 obitelj reverzibilnih transformacija blokova (dijelova fiksne duljine) izvornog teksta.

Pod N-bitnim blokom podrazumijevamo niz nula i jedinica duljine N:

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

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

(5.6)

Pod blok šifrom podrazumijevamo element

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

Iako su blok šifre poseban slučaj zamjena, treba ih razmotriti odvojeno, budući da je, prvo, većina simetričnih šifri koje se koriste u sustavima prijenosa podataka blok šifre, a kao drugo, blok šifre je prikladnije opisati u algoritamskom obliku, i ne kao obicne zamjene.

Stream šifre

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

Na strani primatelja, šifrirani tekst se dodaje po modulu 2 s identičnim slijedom ključeva kako bi se dobio otvoreni tekst:

Stabilnost sustava u potpunosti ovisi o unutarnjoj strukturi generatora slijeda ključeva. Ako generator proizvodi niz s kratkim razdobljem, stabilnost sustava je niska. Naprotiv, ako generator proizvodi beskonačan niz uistinu nasumičnih bitova, tada dobivamo jednokratnu podlogu s idealnom izdržljivošću.

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

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

Enciklopedijski YouTube

    1 / 3

    informatike. Informacijska sigurnost: simetrična enkripcija. Foxford Online Learning Center

    PGP.01 Razumijevanje asimetrične enkripcije

    Cezarova šifra. Simetrično šifriranje

    titlovi

Osnovne informacije

Algoritmi za šifriranje podataka naširoko se koriste u računalnoj tehnologiji u sustavima za skrivanje povjerljivih i komercijalnih informacija od zlonamjerne upotrebe trećih strana. Njihovo glavno načelo je uvjet da odašiljač 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 navedeno ispod:

  • Jednostavna permutacija
  • Pojedinačna permutacija ključem
  • dvostruka permutacija
  • Permutacija "Čarobni kvadrat"

Jednostavna permutacija

Jednostavna permutacija bez ključa jedna je od najjednostavnijih metoda šifriranja. Poruka se upisuje u tablicu po stupcima. Nakon što je otvoreni tekst napisan u stupcima, čita se redak po red kako bi se formirao šifrirani tekst. Za korištenje ove šifre, pošiljatelj i primatelj moraju se dogovoriti oko zajedničkog ključa u obliku veličine tablice. 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 stupci tablice preuređeni po ključnoj riječi, frazi ili skupu brojeva duljine retka tablice.

dvostruka permutacija

Za dodatnu tajnost, možete ponovno šifrirati poruku koja je već šifrirana. Ova metoda je poznata kao dvostruka permutacija. Da biste to učinili, veličina druge tablice odabire se tako da se duljine njezinih redaka i stupaca razlikuju od duljina u prvoj tablici. Najbolje je ako su jednoznačni. Osim toga, stupci se mogu preurediti u prvoj tablici, a retke u drugoj. Konačno, možete ispuniti stol u cik-cak, zmijskom, spiralnom obliku ili na neki drugi način. Takve metode popunjavanja tablice, ako ne povećavaju snagu šifre, čine proces šifriranja mnogo zabavnijim.

Permutacija "Čarobni kvadrat"

Čarobni kvadrati nazivaju se kvadratne tablice s uzastopnim prirodnim brojevima od 1 upisanim u njihove ćelije, koji daju isti broj u zbroju za svaki stupac, svaki red i svaku dijagonalu. Takvi su kvadrati bili naširoko korišteni za unos šifriranog teksta prema numeraciji koja je navedena u njima. Ako zatim zapišete sadržaj tablice red po redak, tada ćete dobiti enkripciju preuređivanjem slova. Na prvi pogled čini se da je čarobnih 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ć sada postoji 880 čarobnih kvadrata 4 x 4, a broj čarobnih kvadrata 5 x 5 je oko 250 000. Stoga bi veliki čarobni kvadrati mogli biti dobra osnova za pouzdani sustav šifriranja tog vremena, jer ručno nabrajanje svih ključnih opcija za ova šifra je bila nezamisliva.

U kvadrat veličine 4 x 4 upisivani su brojevi od 1 do 16. Njegova čarolija je bila da je zbroj brojeva u redovima, stupcima i punim dijagonalama jednak istom broju - 34. Ti su se kvadrati prvi put pojavili u Kini, gdje su im pripisivali neki "čarobna moć".

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

Šifriranje čarobnim 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: položaj slova u rečenici odgovara rednom broju. U prazne ćelije se postavlja točka.

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

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

Kada se dešifrira, tekst se uklapa u kvadrat, a otvoreni tekst se čita u nizu brojeva "čarobnog kvadrata". Program bi trebao generirati "čarobne kvadrate" i tipkom odabrati traženi. Kvadrat je veći od 3x3.

Priča

Zahtjevi

Potpuni gubitak svih statističkih pravilnosti izvorne poruke važan je uvjet 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đer važan zahtjev je odsutnost linearnosti (tj. uvjeti f(a) xor f(b) == f(a xor b)), inače je olakšana primjena diferencijalne kriptoanalize na šifru.

Opća shema

Trenutno su simetrične šifre:

  • blok šifre. Oni obrađuju informacije u blokovima određene duljine (obično 64, 128 bita), primjenjujući ključ na blok propisanim redoslijedom, u pravilu nekoliko ciklusa miješanja i zamjene, koji se nazivaju rundi. Rezultat ponavljanja rundi je efekt 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 izvornog (običnog) teksta pomoću gama. Šifra toka može se lako izraditi na temelju blok šifre (na primjer, GOST 28147-89 u gama modu) pokrenute u posebnom načinu.

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

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

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

Operacije zamjene izvode se 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 izostanak utjecaja 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) simetričnih algoritama šifriranja, čiji su bitni parametri:

  • duljina ključa
  • broj krugova
  • 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

Obje strane moraju držati algoritam u tajnosti. Algoritam šifriranja odabiru strane prije razmjene poruka.

Tajna komunikacija temeljena na simetričnom kriptosustavu.

Sustavi simetrične šifre tradicionalno se koriste za organiziranje tajnih komunikacija. "Redovni" akteri takvih tajnih komunikacijskih protokola su pošiljatelj, primatelj i posrednik koji korisnicima daje ključeve. Da bismo razmotrili pitanja informacijske sigurnosti, ovom popisu sudionika koji nisu zaposlenici treba dodati: pasivnog i aktivnog prekršitelja. Zadaća protokola je prenijeti tajnu poruku x od pošiljatelja do primatelja. Redoslijed radnji je sljedeći:
1. Pošiljatelj i primatelj dogovaraju se o simetričnom šifriranom sustavu koji će se koristiti, t.j. o obitelji preslikavanja E = (), kK.
2. Pošiljatelj i primatelj ugovaraju tajni komunikacijski ključ k, t.j. o korištenom preslikavanju E.
3. Pošiljatelj šifrira otvoreni tekst x koristeći mapiranje, tj. stvara kriptogram y = (x).
4. Kriptogram y se komunikacijskom linijom prenosi do primatelja.
5. Primatelj dešifrira kriptogram y koristeći isti ključ k i preslikavanje ^(-1) obrnuto od preslikavanja Ek i čita poruku x= ^(-1)(y).
Korak 2 protokola implementira se uz pomoć posrednika, treće strane, koja se uvjetno može nazvati centrom za generiranje i distribuciju ključeva (KGRK) (neki tajni komunikacijski protokoli bazirani na asimetričnim šifriranim sustavima ne koriste posrednika, u čemu funkcije KGRK-a obavljaju korisnici).
Bitna značajka protokola je tajnost ključa k, koji se šalje pošiljatelju i primatelju ili u otvorenom obliku preko komunikacijskog 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 štititi ključne informacije od neovlaštenog pristupa. Ključ k mora ostati tajan prije, tijekom i nakon implementacije protokola, inače napadač, nakon što je preuzeo ključ, može dešifrirati kriptogram i pročitati poruku. Pošiljatelj i primatelj mogu izvršiti 1. korak protokola javno (tajnost šifrarnog sustava nije obavezna), ali korak 2 moraju izvršiti tajno (zahtijeva se tajnost ključa).
Ova potreba je zbog činjenice da su komunikacijske linije, osobito dugačke, osjetljive na smetnje pasivnih i aktivnih uljeza. Pasivni uljez (kriptoanalitičar), koji želi dobiti pristup poruci x, kontrolira komunikacijsku liniju u koraku 4 protokola. Ne ometajući provedbu protokola, presreće kriptogram y kako bi otkrio šifru.

Kriptoanaliza simetričnog kriptosustava.

Prilikom projektiranja sustava šifriranja, kriptograf obično postavlja sljedeće pretpostavke o sposobnostima kriptoanalitičara:
1. Kriptoanalitičar kontrolira komunikacijsku liniju.
2. Kriptoanalitičar poznaje uređaj obitelji E šifriranih preslikavanja.
3. Kriptoanalitičar ne poznaje ključ k, t.j. mapiranje korišteno za dobivanje kriptograma y je nepoznato.
Pod tim uvjetima, kriptoanalitičar pokušava riješiti sljedeće zadatke, zvane zadaci dešifriranja.
1. Odredite otvoreni tekst x i korišteni ključ k iz presretnutog kriptograma y, t.j. konstruirati algoritam dešifriranja  takav da je (y)=(x,k). Ova izjava problema pretpostavlja da kriptoanalitičar koristi statistička svojstva otvorenog teksta.
2. Odredite korišteni ključ k iz poznatog otvorenog teksta i šifriranog teksta, t.j. izgraditi algoritam dešifriranja takav da je (x,y)=k. Ova formulacija problema ima smisla kada je kriptoanalitičar presreo nekoliko kriptograma dobivenih pomoću ključa k, a nema otvorene tekstove za sve presretnute kriptograme. U tom slučaju, nakon što je riješio problem dešifriranja druge vrste, on će "pročitati" sve otvorene tekstove šifrirane pomoću ključa k.
3. Odredite korišteni ključ k iz posebno odabranog otvorenog teksta x i odgovarajućeg šifriranog teksta y, t.j. konstruirati algoritam za dešifriranje x takav da je x(y)=k. Slična izjava problema javlja se kada kriptoanalitičar ima mogućnost testiranja kriptosustava, t.j. generiranje kriptograma za posebno odabrani otvoreni tekst. Češće se takva konstatacija problema javlja u analizi asimetričnih sustava. postoji varijanta ovog problema dešifriranja kada 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. Te poruke ili skupovi poruka nazivaju se šifriranim tekstom. Količina šifriranog materijala koji se koristi za dešifriranje je duljina tih poruka ili ukupna duljina skupa poruka. Količina materijala za šifriranje važna je karakteristika metode dešifriranja. Udaljenost jedinstvenosti šifre najmanji je broj znakova šifriranog teksta potrebnih za jedinstveno određivanje ključa. U mnogim praktičnim slučajevima jednaka je duljini ključa, ako su ključ i kriptogram riječi iz ekvivalentnih abeceda. Uz istu količinu šifriranog materijala, problemi dešifriranja prve vrste razlikuju se po većoj računskoj složenosti u odnosu na probleme druge i treće vrste, a problemi testiranja imaju najmanju računsku složenost.
U nekim slučajevima, kriptoanalitičar može riješiti problem vraćanja obitelji E šifriranih preslikavanja iz poznatog para (x,y) otvorenog teksta i šifriranog teksta, koristeći neke dodatne uvjete. Ovaj zadatak se može formulirati kao "dekodiranje crne kutije" s obzirom na poznate ulaze i odgovarajuće izlaze.
Aktivni uljez krši provedbu protokola. On može prekinuti vezu u koraku 4, pod pretpostavkom da pošiljatelj više ne može komunicirati s primateljem. Također može presresti poruku i zamijeniti je svojom. Ako je aktivni uljez znao ključ (kontrolom koraka 2 ili infiltracijom u kriptosustav), mogao je šifrirati svoju poruku i poslati je primatelju umjesto presretnute poruke, što u potonjem ne bi izazvalo nikakvu sumnju. Bez poznavanja ključa, aktivni uljez može stvoriti samo nasumični kriptogram, koji će se nakon dešifriranja pojaviti kao slučajni niz.

zahtjevi protokola.

Razmatrani protokol podrazumijeva povjerenje pošiljatelja, primatelja i treće strane koju zastupa TsGRK. To je slabost ovog protokola. Međutim, ne postoje apsolutna jamstva o besprijekornosti ovog ili onog protokola, budući da je provedba bilo kojeg protokola povezana sa sudjelovanjem ljudi i ovisi, posebice, o kvalifikacijama i pouzdanosti osoblja. Dakle, o organizaciji tajne komunikacije korištenjem simetričnog kriptosustava mogu se izvući sljedeći zaključci.
1. Protokol mora štititi običan tekst i ključ od neovlaštenog pristupa neovlaštene osobe u svim fazama prijenosa informacija od izvora do primatelja poruke. Tajnost ključa važnija je od tajnosti više poruka šifriranih tim ključem. Ako je ključ kompromitiran (ukraden, pogoden, otkriven, otkupljen), tada uljez koji ima ključ može dešifrirati sve poruke šifrirane ovim ključem. Osim toga, uljez će moći oponašati jednu od pregovaračkih strana i generirati lažne poruke kako bi doveo drugu stranu u zabludu. Čestim izmjenama ključeva ovaj se problem minimizira.
2. Protokol ne bi trebao dopustiti da “dodatne” informacije uđu u komunikacijsku liniju, što neprijateljskom kriptoanalitičaru pruža dodatne mogućnosti za dešifriranje kriptograma. Protokol mora štititi informacije ne samo od neovlaštenih osoba, već i od međusobne obmane aktera protokola.
3. Ako pretpostavimo da svaki par korisnika komunikacijske mreže koristi zaseban ključ, tada je broj potrebnih ključeva n*(n-1)/2 za n korisnika. To znači da za veliki n generiranje, pohranjivanje i distribucija ključeva postaje dugotrajan problem.

Koncept šifriranja

Enkripcija ¾ je metoda transformacije informacija koja se koristi za pohranjivanje osjetljivih informacija u nepouzdane izvore ili za 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 koristite isti algoritam, rezultat šifriranja ovisi o ključu. Duljina ključa glavna je karakteristika kriptografske snage i mjeri se u bitovima.

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

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

asimetrična enkripcija: jedan ključ (javni) koristi se 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čno šifriranje je metoda šifriranja koja koristi isti kriptografski ključ i za šifriranje i za dešifriranje. Ključ algoritma moraju čuvati u tajnosti i pošiljatelj i primatelj poruke. Ključ algoritma biraju strane prije početka razmjene poruka.

Simetrične šifre su sljedeće vrste:

blok šifre. Oni obrađuju informacije u blokovima određene duljine (64, 128 bita, itd.), primjenjujući ključ na blok u propisanom redoslijedu, u pravilu nekoliko ciklusa miješanja i zamjene, koji se nazivaju rundi. Rezultat ponavljanja rundi je efekt lavine ¾ 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 izraditi na temelju blok šifre (na primjer, GOST 28147-89 u gama modu) pokrenute 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 šifriranja: snaga, duljina ključa, broj rundi, duljina obrađenog bloka, složenost hardverske/softverske implementacije.

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

Usporedba s asimetričnom enkripcijom:



prednosti:

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

jednostavnost implementacije (zbog jednostavnijih operacija);

· manja potrebna duljina ključa za usporedivu izdržljivost;

znanja (zbog veće dobi).

nedostaci:

složenost upravljanja ključevima u velikoj mreži. Znači kvadratno povećanje broja parova ključeva koje je potrebno 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 primjenu je potrebno riješiti problem pouzdanog prijenosa ključeva do svakog pretplatnika, budući da je potreban tajni kanal za prijenos svakog ključa na obje strane.

Kako bi se nadoknadili nedostaci simetrične enkripcije, trenutno se široko koristi kombinirana (hibridna) kriptografska shema, gdje ključ sesije, koje stranke koriste za razmjenu podataka simetričnom enkripcijom.

Važno svojstvo simetričnih šifri je nemogućnost njihove upotrebe za potvrdu autorstva, budući da je ključ poznat svakoj strani.

Vrhunski povezani članci