Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Kriptosistemet e enkriptimit simetrik. Kriptimi simetrik

Një numër i pabesueshëm pretendimesh të guximshme të formës së kriptimit asimetrik janë më të pjerrëta se kriptimi simetrik, si dhe e kundërta. Dhe shpesh fillestarët i dëgjojnë këto fjalë, madje as nuk e kuptojnë me të vërtetë se për çfarë po flasin. Thuhet se AES është e lezetshme ose, përkundrazi, rregullon RSA, dhe të gjithë e morën atë me vlerë. Sidoqoftë, kjo qasje shpesh çon në probleme kur, për shkak të kuptimit të pamjaftueshëm të thelbit të çështjes, zbatohen pjesë krejtësisht të panevojshme ose sistemi rezulton i pambrojtur.

Prandaj, në kuadrin e këtij artikulli, unë do t'ju tregoj minimumin bazë që duhet të dijë një fillestar. Nuk do të ketë formula të komplikuara apo justifikime matematikore, por do të shpjegohet ndryshimi midis kriptimit simetrik dhe atij asimetrik, si dhe do të jepen disa pika thelbësore. Por gjërat e para së pari.

Kriptimi simetrik

Në enkriptimin simetrik, përdoret vetëm një fjalëkalim (ose siç quhet edhe çelës). Le të shohim se si ndodh gjithçka. Ekziston një algoritëm matematikor i kriptimit, i cili jepet me një fjalëkalim dhe tekst si hyrje. Dalja është tekst shifror. Për të marrë tekstin origjinal, përdoret i njëjti fjalëkalim, por me algoritmin e deshifrimit (ndonjëherë mund të jetë i njëjtë).

Me fjalë të tjera, sapo dikush e merr vesh këtë fjalëkalim, cenohet menjëherë siguria. Prandaj, nëse përdoret enkriptimi simetrik, vëmendje e konsiderueshme duhet t'i kushtohet çështjes së krijimit dhe mbajtjes së sigurt të vetë fjalëkalimit. Nuk duhet të transmetohet në tekst të qartë, pavarësisht nëse është një rrjet apo një copë letre e bashkangjitur në monitor. Fjalëkalimi duhet të jetë mjaft kompleks në mënyrë që të mos mund të merret me sulme të thjeshta me forcë brutale. Nëse një fjalëkalim përdoret nga disa persona, atëherë duhet të mendohet një metodë e sigurt e shpërndarjes së tij, si dhe një sistem njoftimi në rast se fjalëkalimi bëhet i njohur për këdo tjetër.

Pavarësisht kufizimeve të tij, kriptimi simetrik është i përhapur. Kryesisht për shkak të lehtësisë së të kuptuarit të të gjithë procesit (një fjalëkalim) dhe ngarkesës teknike (zakonisht, algoritme të tilla janë të shpejta).

Kriptimi asimetrik

Kriptimi asimetrik përdor dy fjalëkalime - një të hapur (publik) dhe një privat (sekret). Fjalëkalimi i hapur u dërgohet të gjithë njerëzve, ndërsa fjalëkalimi privat mbetet në anën e serverit ose në marrësin tjetër. Në këtë rast, emrat janë shpesh të kushtëzuar, pasi një mesazh i koduar me një nga çelësat mund të deshifrohet vetëm me ndihmën e një çelësi tjetër. Me fjalë të tjera, çelësat janë ekuivalent në këtë kuptim.

Algoritme të tilla të kriptimit bëjnë të mundur shpërndarjen e lirë të fjalëkalimit (çelësit) në rrjet, pasi pa çelësin e dytë është e pamundur të marrësh mesazhin origjinal. Protokolli SSL bazohet në këtë parim, i cili e bën të lehtë krijimin e një lidhjeje të sigurt me përdoruesit për faktin se çelësi privat (fjalëkalimi) ruhet vetëm në anën e serverit. Nëse e keni vënë re, atëherë periodikisht në shfletues shfaqet një mesazh "lidhje e pasigurt" kur hapni një sit me prefiksin https. Kjo do të thotë se është shumë e mundur që çelësi privat të jetë zbuluar për një kohë të gjatë, ata thonë se është komprometuar dhe është i njohur për sulmuesit. Prandaj, një lidhje e tillë e sigurt mund të mos jetë e sigurt.

Në rastin e kriptimit asimetrik, bëhet disi më e lehtë për sa i përket ruajtjes së fjalëkalimeve, pasi çelësi sekret nuk ka nevojë t'i kalojë askujt. Mjafton që vetëm një person ose server ta dijë atë. Gjithashtu, çështja e thyerjes së fjalëkalimit bëhet më e lehtë, pasi serveri në çdo kohë mund të ndryshojë çiftin e çelësave dhe t'i dërgojë të gjithëve fjalëkalimin e hapur të krijuar.

Megjithatë, enkriptimi asimetrik është më "i rëndë", me fjalë të tjera, kërkon më shumë burime kompjuterike. Ekzistojnë gjithashtu kufizime në vetë procesin e gjenerimit të çelësave (ato ende duhet të merren). Prandaj, në praktikë, kriptimi asimetrik zakonisht përdoret vetëm për vërtetimin dhe identifikimin e përdoruesve (për shembull, për të hyrë në një sajt), ose për të krijuar një çelës sesioni për kriptim simetrik (një fjalëkalim i përkohshëm për shkëmbimin e të dhënave midis një përdoruesi dhe një serveri), ose për krijimin e nënshkrimeve dixhitale.të cilat janë të koduara me një çelës sekret. Siç e keni kuptuar tashmë, në rastin e fundit, çdokush mund të kontrollojë një nënshkrim të tillë duke përdorur një çelës publik që është në domenin publik.

Pika të rëndësishme në lidhje me enkriptimin simetrik dhe asimetrik

Dallimi më i rëndësishëm midis kriptimit simetrik dhe asimetrik është qasja e tyre. Prandaj, kur dëgjoni ose lexoni një artikull në lidhje me krahasimin e tyre si "ky algoritëm është më i mirë" pa përmendur specifikat (kushte dhe detyra të caktuara), mund të filloni me siguri të bëni gjëra të tjera, pasi ky është një ushtrim shumë i padobishëm i ngjashëm me mosmarrëveshjen "Cila është më mirë? Një tank apo një avullore? ". Pa specifika, as njëra e as tjetra. Sidoqoftë, ka pika të rëndësishme për t'u marrë parasysh:

1. Algoritmi simetrik është i mirë për transferimin e sasive të mëdha të të dhënave të koduara. Algoritmi asimetrik, nëse gjërat e tjera janë të barabarta, do të jetë dukshëm më i ngadalshëm. Përveç kësaj, për të organizuar shkëmbimin e të dhënave sipas një algoritmi asimetrik, ose të dyja palët duhet të dinë çelësat publik dhe privat, ose duhet të ketë dy çifte të tilla (një palë për secilën anë).

2. Kriptimi asimetrik ju lejon të filloni një lidhje të sigurt pa përpjekje nga ana e përdoruesit. Algoritmi simetrik supozon se përdoruesi duhet "të gjejë disi fjalëkalimin". Megjithatë, duhet kuptuar se as algoritmet asimetrike nuk ofrojnë siguri 100%. Për shembull, ata janë të ndjeshëm ndaj sulmeve nga njeriu në mes. Thelbi i kësaj të fundit është që midis jush dhe serverit të instalohet një kompjuter, i cili dërgon çelësin e tij publik për ju dhe përdor çelësin publik të serverit për të transferuar të dhëna nga ju.

3. Nga pikëpamja e thyerjes (kompromentimit) të një fjalëkalimi, algoritmi asimetrik është më i lehtë, pasi serveri duhet vetëm të ndryshojë çiftin e çelësave dhe të dërgojë çelësin publik të gjeneruar. Në rastin e kriptimit simetrik, lind pyetja se si të transmetohet fjalëkalimi tjetër. Sidoqoftë, këto kufizime anashkalohen, për shembull, në të dyja anët çelësat gjenerohen vazhdimisht sipas të njëjtit algoritëm, atëherë bëhet pyetja për të mbajtur sekret këtë algoritëm.

4. Algoritmet simetrike zakonisht ndërtohen në bazë të disa blloqeve me funksione të transformimit matematik. Prandaj, është më e lehtë të modifikohen algoritme të tilla. Algoritmet asimetrike zakonisht bazohen në disa probleme matematikore, për shembull. RSA është ndërtuar mbi problemet e fuqisë dhe modulit. Prandaj, modifikimi i tyre është pothuajse i pamundur ose shumë i vështirë.

5. Algoritmet asimetrike zakonisht përdoren në lidhje me ato simetrike. Kjo ndodh në mënyrën e mëposhtme. Me ndihmën e algoritmit asimetrik, çelësi i sesionit i shpikur nga përdoruesi dërgohet në server për kriptim simetrik, pas së cilës bëhet shkëmbimi i të dhënave sipas algoritmit simetrik. Rendi mund të ndryshojë pjesërisht, ose çelësi mund të formohet pak më ndryshe, por kuptimi është pothuajse i njëjtë.

6. Krijimi i çelësave të sigurt (fjalëkalimet) në algoritmet asimetrike është mjaft i vështirë, në ndryshim nga algoritmet simetrike, ku mjafton të gjenerohet një çelës sipas rregullave për gjenerimin e fjalëkalimeve të sigurta (numrat, shkronjat, rastet, etj.). Megjithatë, fakti që vetëm serveri e di fjalëkalimin sekret e bën më të lehtë mbajtjen e çelësit të sigurt.

Kriptosistemet simetrike janë sisteme në të cilat i njëjti çelës përdoret për të enkriptuar dhe deshifruar mesazhet (Figura 9.1).

E gjithë shumëllojshmëria e sistemeve simetrike bazohet në klasat bazë të mëposhtme:

Zëvendësimet mono dhe shumë-alfabetike;

Permutacionet;

Shifrat e bllokut;

Gumming.

Zëvendësimet

Në zëvendësimet e drejtpërdrejta, çdo karakter në tekstin burimor zëvendësohet nga një ose më shumë karaktere. Një nga nënklasat e rëndësishme të zëvendësimeve të drejtpërdrejta janë zëvendësimet mono-alfabetike, në të cilën vendoset një korrespodencë një-për-një ndërmjet shenjës e i të alfabetit origjinal dhe shenjës përkatëse me j të tekstit shifror. Të gjitha metodat e zëvendësimit mono-alfabetik mund të përfaqësohen si transformime numerike të shkronjave të tekstit origjinal, të konsideruara si numra, sipas formulës së mëposhtme:

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

ku a është koeficienti dhjetor; s është koeficienti i prerjes; e - kodi i shkronjës së tekstit burimor; c - kodi i letrës së koduar; K është gjatësia e alfabetit; mod - operacioni i llogaritjes së mbetjes së pjesëtimit të shprehjes në kllapa me modulin K.

Shembull. Shifra e Cezarit

Merrni parasysh enkriptimin në alfabet, i përbërë nga 26 shkronja latine dhe një shenjë hapësire (ne do ta përfaqësojmë hapësirën me shenjën #). Ne caktojmë kodin 0 në shenjën #, shkronja A - kodi 1, B - kodi 2, ... shkronja Z - kodi 26.

Merrni parametrat e mëposhtëm: a = 1 s = 2 K = 27

Formula e kriptimit do të marrë formën

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

Alfabeti i hyrjes:

# 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

Alfabeti i daljes

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

(Shkronjat zhvendosin dy pozicione: A-C B-D, etj.)

Pastaj mesazhi origjinal në formë të koduar do të duket kështu:

Për deshifrimin (për rastin kur a = 1) përdoret formula e mëposhtme

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

Zëvendësim i thjeshtë shumë-alfabetik ndryshon në mënyrë sekuenciale dhe ciklike alfabetet e përdorura (në rastin e mëparshëm, një alfabet është përdorur për enkriptim). Në një zëvendësim alfabetik m, karakteri a 1 nga mesazhi origjinal zëvendësohet me një karakter nga alfabeti B 1, karakteri a 2 - me një karakter nga alfabeti B 2, ... karakteri am - me një karakter nga alfabeti B m, karakteri am +1 - me një karakter nga alfabeti B 1, etj. d. Efekti i përdorimit të zëvendësimit me shumë alfabetikë është se siguron maskimin e statistikave të frekuencës së gjuhës burimore, pasi një karakter i veçantë nga alfabeti A konvertohet në disa karaktere të ndryshme të alfabetit të shifruar B.

Shembull

Mesazhi origjinal: NE # DUHET # DORË

Çelësi: SECURITYSECU

Fjala SIGURIA u zgjodh si çelës. Fjala shkruhet nën mesazhin origjinal, kur shkronjat e çelësit janë shteruar, fillojmë ta përsërisim fjalën derisa të mbarojnë shkronjat e mesazhit origjinal. Çdo shkronjë e çelësit (më saktë, kodi i tij) do të vendosë një ndryshim në alfabetin origjinal për të marrë një karakter të koduar. Si alfabet, ne përdorim shkronja latine dhe shenjën # në vend të një hapësire.

Shifra origjinale e çelësit

(W + J) 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

Ushtrimi

Ne propozojmë si një ushtrim për të kompozuar enkriptimin deri në fund.

Permutacionet

Personazhet në tekstin origjinal mund të riorganizohen sipas një rregulli të caktuar.

Shembulli 1. Permutacioni linear

Lëreni tekstin e mëposhtëm të kodohet:

NGARKONI # PORTOKALI # fuçi

Le ta ndajmë tekstin në grupe me gjatësi, për shembull, 4 karaktere secili:

CARGO ITE # APEL LXIN S # BO CHKAKH

Le të vendosim rregullin e mëposhtëm të ndryshimit: "riorganizoni grupimet e katër shkronjave në rendin 1-2-3-4 në rendin 3-1-4-2".

Ne marrim tekstin e mëposhtëm shifror:

UGRZ EI # T EALP INNS BYO # ACHHK

Komentoni

Nëse gjatësia e mesazhit nuk është shumëfish i gjatësisë së grupit, atëherë grupi i fundit plotësohet me simbole (për shembull, hapësira) në gjatësinë e kërkuar.

Regjistrimi i tekstit origjinal dhe leximi i mëvonshëm i tekstit të shifruar mund të kryhet përgjatë shtigjeve të ndryshme të ndonjë figure gjeometrike, për shembull, një katror ose një drejtkëndësh.

Shembulli 2... Grilë Cardano

Një grilë Cardano është një kartë drejtkëndëshe me vrima, zakonisht katrore, e cila, kur aplikohet në një fletë letre, lë të hapura vetëm disa nga pjesët e saj. Numri i rreshtave dhe kolonave është çift. Karta është bërë në atë mënyrë që me rrotullimin e saj të njëpasnjëshëm, çdo qelizë e fletës nën të do të jetë e zënë. Nëse grila është katrore, atëherë mund ta rrotulloni në mënyrë sekuenciale rreth qendrës së sheshit me 90 °.

Kriptimi:

VAVOCHS MUNOTI MUCHSOY MDOSTO YAASNTV

Deshifroni mesazhin duke e rrotulluar rrjetën në drejtim të akrepave të orës 90 °. Shkruani mesazhin në katror rresht pas rreshti.

Metodat e veçanta të zëvendësimit dhe ndërrimit nuk ofrojnë forcën e kërkuar kriptografike. Prandaj, ato përdoren së bashku, si dhe një metodë shtesë. Kur kriptoni me metodën shtesë, në fillim, teksti origjinal kodohet me metodën e zëvendësimit, duke e kthyer secilën shkronjë në një numër, dhe më pas çdo numri i shtohet një gamë sekrete (shih më poshtë) - një sekuencë numrash pseudo të rastësishme.

Blloko shifrat

Shifrat e bllokut janë një familje e transformimeve të kthyeshme të blloqeve (pjesë me gjatësi fikse) të tekstit origjinal.

Me një bllok N-bit nënkuptojmë një sekuencë zerosh dhe njësh me gjatësi N:

x = (x 0, x 1, ... x N -1). (5.5)

x në Z 2, N mund të interpretohet si një vektor dhe si një paraqitje binar e një numri të plotë

(5.6)

Me një shifër blloku nënkuptojmë një element

Ku x = (x 0, x 1, ... x N -1), y = (y 0, y 1, ... y N -1)

Megjithëse shifrat e bllokut janë një rast i veçantë i zëvendësimeve, ato duhet të konsiderohen veçmas, pasi, së pari, shumica e shifrave simetrike të përdorura në sistemet e transmetimit të të dhënave janë shifra bllok, dhe së dyti, shifrat e bllokut janë më të përshtatshëm për t'u përshkruar në formë algoritmike dhe jo si zëvendësimet e zakonshme.

Shifrat e transmetimit

Shifrat e transmetimit janë një lloj loje dhe konvertojnë tekstin e thjeshtë në tekst shifror një nga një. Një gjenerator i sekuencave të çelësave, i quajtur ndonjëherë gjenerator i çelësave në punë, prodhon një sekuencë bitash k 1, k 2, ... k N. Kjo sekuencë kyçe shtohet moduli 2 ("ekskluzive ose") me sekuencën e pjesëve të tekstit origjinal e 1, e 2, ..., e N:

Në anën marrëse, teksti i koduar shtohet moduli 2 me një sekuencë identike të çelësave për të marrë tekstin origjinal:

Fortësia e sistemit varet tërësisht nga struktura e brendshme e gjeneratorit të sekuencës kryesore. Nëse gjeneratori prodhon një sekuencë me një periudhë të shkurtër, atëherë qëndrueshmëria e sistemit është e ulët. Përkundrazi, nëse gjeneratori prodhon një sekuencë të pafundme copash vërtet të rastësishme, atëherë marrim një jastëk një herë me qëndrueshmëri ideale.

Shifrat e transmetimit janë më të përshtatshmet për enkriptimin e rrjedhave të vazhdueshme të të dhënave, për shembull, në rrjetet e të dhënave.

Metoda e vetme ekzistuese ishte kriptimi simetrik. Çelësi i algoritmit duhet të mbahet i fshehtë nga të dyja palët. Algoritmi i enkriptimit zgjidhet nga palët përpara fillimit të shkëmbimit të mesazheve.

YouTube kolegjial

    1 / 3

    Informatikë. Mbrojtja e informacionit: Kriptimi simetrik. Qendra e Mësimit Online Foxford

    PGP.01 Kuptimi i enkriptimit asimetrik

    Shifra e Cezarit. Kriptimi simetrik

    Titra

Informata themelore

Algoritmet e enkriptimit të të dhënave përdoren gjerësisht në teknologjinë kompjuterike në sisteme për të fshehur informacionin konfidencial dhe komercial nga përdorimi me qëllim të keq nga palët e treta. Parimi kryesor në to është kushti që transmetuesi dhe marrësi e dinë paraprakisht algoritmin e enkriptimit, si dhe çelësi i mesazhit, pa të cilin informacioni është vetëm një grup simbolesh që nuk kanë asnjë kuptim.

Shembuj klasikë të algoritmeve të tilla janë algoritme kriptografike simetrike e listuar me poshte:

  • Ndërrim i thjeshtë
  • Ndërrimi i një çelësi të vetëm
  • Ndërrim i dyfishtë
  • Permutacioni "Sheshi magjik"

Ndërrim i thjeshtë

Ndërrimi i thjeshtë pa çelës është një nga metodat më të thjeshta të kriptimit. Mesazhi shkruhet në tabelë kolonë për kolonë. Pasi teksti i thjeshtë të shkruhet në kolona, ​​ai lexohet rresht pas rreshti për të formuar tekstin shifror. Për të përdorur këtë shifër, dërguesi dhe marrësi duhet të bien dakord për një çelës të përbashkët për sa i përket madhësisë së tabelës. Kombinimi i shkronjave në grupe nuk përfshihet në çelësin e shifrimit dhe përdoret vetëm për lehtësinë e shkrimit të tekstit të pakuptimtë.

Ndërrimi i një çelësi të vetëm

Një teknikë më praktike e enkriptimit e quajtur ndërrimi i një çelësi të vetëm është shumë e ngjashme me atë të mëparshme. Ai ndryshon vetëm në atë që kolonat e tabelës janë riorganizuar nga një fjalë kyçe, frazë ose një grup numrash sa një rresht i tabelës.

Ndërrim i dyfishtë

Për një fshehtësi të shtuar, mund të rikriptoni një mesazh që tashmë është i koduar. Kjo teknikë njihet si ndërrim i dyfishtë. Për ta bërë këtë, madhësia e tabelës së dytë zgjidhet në mënyrë që gjatësitë e rreshtave dhe kolonave të saj të ndryshojnë nga gjatësitë në tabelën e parë. Është më mirë nëse ato janë të thjeshta reciproke. Përveç kësaj, kolonat mund të ndërrohen në tabelën e parë dhe rreshtat në të dytën. Më në fund, mund ta plotësoni tabelën me një zigzag, një gjarpër, një spirale ose në ndonjë mënyrë tjetër. Metoda të tilla të mbushjes së tabelës, nëse nuk rrisin forcën e shifrës, atëherë e bëjnë procesin e kriptimit shumë më argëtues.

Permutacioni "Sheshi magjik"

Sheshet magjike janë tabela katrore me numra natyrorë vijues nga 1 të gdhendur në qelizat e tyre, të cilat mbledhin të njëjtin numër për secilën kolonë, çdo rresht dhe çdo diagonale. Sheshe të tillë u përdorën gjerësisht për të gdhendur tekstin shifror sipas numërimit të dhënë në to. Nëse më pas shkruani përmbajtjen e tabelës rresht pas rreshti, atëherë kriptimi është marrë duke riorganizuar shkronjat. Në pamje të parë duket sikur ka shumë pak katrorë magjikë. Megjithatë, numri i tyre rritet shumë shpejt me rritjen e madhësisë së katrorit. Pra, ka vetëm një katror magjik me përmasa 3 x 3, nëse nuk merrni parasysh rrotullimet e tij. Ka tashmë 880 katrorë magjikë 4 x 4, dhe numri i katrorëve magjikë me përmasa 5 x 5 është rreth 250,000. Prandaj, katrorët magjikë të përmasave të mëdha mund të jenë një bazë e mirë për një sistem të besueshëm enkriptimi të asaj kohe, sepse numërimi manual i të gjitha Variantet kryesore për këtë shifër ishte e paimagjinueshme.

Numrat nga 1 deri në 16 ishin gdhendur në një katror 4 me 4. Magjia e tij ishte se shuma e numrave në rreshta, kolona dhe diagonale të plota ishte e barabartë me të njëjtin numër - 34. Për herë të parë këta katrorë u shfaqën në Kinë, ku atyre iu atribuohej një "fuqi magjike".

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

Kriptimi i katrorit magjik u krye si më poshtë. Për shembull, duhet të kodoni frazën: "Unë po vij sot". Shkronjat e kësaj fraze janë gdhendur në mënyrë sekuenciale në një katror sipas numrave të shkruar në to: pozicioni i shkronjës në fjali korrespondon me numrin rendor. Një pikë vendoset në qelizat boshe.

16. 3 dhe 2 r 13 d
5 s 10 e 11 g 8-të
9 C 6 g 7 a 12 rreth
4 e 15 i 14 n 1 P

Pas kësaj, teksti i koduar shkruhet në një rresht (leximi kryhet nga e majta në të djathtë, rresht pas rreshti):
.irdzegyuSzhaoyanP

Kur deshifrohet, teksti përshtatet në një katror dhe teksti i thjeshtë lexohet në një sekuencë numrash "katrore magjike". Programi duhet të gjenerojë "sheshet magjike" dhe të zgjedhë me çelës atë që kërkohet. Madhësia e katrorit është më shumë se 3x3.

Histori

Kërkesat

Humbja e plotë e të gjitha modeleve statistikore të mesazhit origjinal është një kërkesë e rëndësishme për një shifër simetrike. Për këtë, shifra duhet të ketë një "efekt orteku" - duhet të ketë një ndryshim të fortë në bllokun e shifrimit me një ndryshim 1-bit në të dhënat hyrëse (në mënyrë ideale, vlerat e 1/2 bit të bllokut të shifrimit duhet ndryshim).

Gjithashtu një kërkesë e rëndësishme është mungesa e linearitetit (d.m.th., kushtet f (a) xor f (b) == f (a xor b)), përndryshe është më e lehtë të zbatohet kriptanaliza diferenciale në shifrën.

Skema e përgjithshme

Aktualisht, shifrat simetrike janë:

  • shifrat e bllokut. Informacioni përpunohet në blloqe me një gjatësi të caktuar (zakonisht 64, 128 bit), duke aplikuar një çelës në bllok në një rend të caktuar, si rregull, disa cikle përzierjeje dhe zëvendësimi, të quajtura raunde. Rezultati i raundeve të përsëritura është një efekt orteku - një humbje në rritje e korrespondencës së biteve midis blloqeve të të dhënave të hapura dhe të koduara.
  • shifrat e transmetimit, në të cilat kriptimi kryhet në çdo bit ose bajt të tekstit origjinal (të thjeshtë) duke përdorur gama. Një shifër e transmetimit mund të krijohet lehtësisht në bazë të një kodi blloku (për shembull, GOST 28147-89 në modalitetin gama), i nisur në një mënyrë të veçantë.

Shumica e shifrave simetrike përdorin një kombinim kompleks të shumë zëvendësimeve dhe permutacioneve. Shumë shifra të tilla ekzekutohen në disa kalime (nganjëherë deri në 80), duke përdorur një "çelës kalimi" në çdo kalim. Grupi i "çelësave të kalimit" për të gjitha kalimet quhet "orari i çelësave". Si rregull, ai krijohet nga një çelës duke kryer disa operacione mbi të, duke përfshirë ndërrime dhe zëvendësime.

Mënyra tipike për të ndërtuar algoritme simetrike të kriptimit është rrjeti Feistel. Algoritmi ndërton një skemë enkriptimi bazuar në funksionin F (D, K), ku D është një pjesë e të dhënave sa gjysma e madhësisë së bllokut të enkriptimit dhe K është "çelësi i kalimit" për këtë kalim. Një funksion nuk kërkohet të jetë i kthyeshëm - funksioni i tij i kundërt mund të mos dihet. Përparësitë e rrjetit Feistel janë koincidenca pothuajse e plotë e deshifrimit me enkriptimin (i vetmi ndryshim është rendi i kundërt i "çelësave të kalimit" në orar), gjë që lehtëson shumë zbatimin e harduerit.

Operacioni i ndërrimit i përzien pjesët e mesazhit sipas një ligji të caktuar. Në zbatimin e harduerit, ai zbatohet në mënyrë të parëndësishme si ngatërrim teli. Janë operacionet e ndërrimit që bëjnë të mundur arritjen e "efektit të ortekëve". Operacioni i ndërrimit është linear - f (a) xor f (b) == f (a xor b)

Operacionet e zëvendësimit kryhen si zëvendësim i vlerës së një pjese të mesazhit (shpesh 4, 6 ose 8 bit) me një numër tjetër standard të koduar në algoritëm duke hyrë në një grup konstant. Operacioni i zëvendësimit fut jolinearitetin në algoritëm.

Shpesh, qëndrueshmëria e një algoritmi, veçanërisht ndaj kriptanalizës diferenciale, varet nga zgjedhja e vlerave në tabelat e kërkimit (S-boxes). Në minimum, prania e elementeve fikse S (x) = x konsiderohet e padëshirueshme, si dhe mungesa e ndikimit të një biti të bajtit të hyrjes në një pjesë të rezultatit - domethënë, rastet kur biti i rezultatit është e njëjta gjë për të gjitha çiftet e fjalëve hyrëse që ndryshojnë vetëm në këtë bit ...

Parametrat e algoritmit

Ka shumë (të paktën dy duzina) algoritme të shifrimit simetrik, parametrat thelbësorë të të cilave janë:

  • gjatësia e çelësit
  • numri i raundeve
  • gjatësia e bllokut të përpunuar
  • kompleksiteti i zbatimit të harduerit/softuerit
  • kompleksiteti i konvertimit

Llojet e shifrave simetrike

Blloko shifrat

  • AES (Advanced Encryption Standard) - Standardi amerikan i enkriptimit

Algoritmi duhet të mbahet sekret nga të dyja palët. Algoritmi i enkriptimit zgjidhet nga palët përpara fillimit të shkëmbimit të mesazheve.

Komunikimi sekret i bazuar në një kriptosistem simetrik.

Për organizimin e komunikimit sekret, tradicionalisht përdoren sisteme shifrore simetrike. Aktorët "të rregullt" të protokolleve të tilla sekrete të komunikimit janë dërguesi, adresuesi dhe ndërmjetësi që u siguron përdoruesve çelësat. Për të adresuar çështjet e sigurisë së informacionit, shtoni në këtë listë të pjesëmarrësve "jo standardë": një shkelës pasiv dhe aktiv. Detyra e protokollit është të transmetojë një mesazh sekret x nga dërguesi te marrësi. Sekuenca e veprimeve është si më poshtë:
1. Dërguesi dhe marrësi bien dakord për sistemin e shifrimit simetrik që do të përdoret, d.m.th. në familjen e pasqyrimeve E = (), kK.
2. Dërguesi dhe marrësi bien dakord për një çelës komunikimi sekret k, d.m.th. rreth hartës së përdorur E.
3. Dërguesi kodon tekstin e thjeshtë x duke përdorur ekranin, dmth. krijon një kriptogram y = (x).
4. Kriptogrami y transmetohet përmes linjës së komunikimit tek adresuesi.
5. Marrësi deshifron kriptogramin y duke përdorur të njëjtin çelës k dhe ^ (- 1) në formë të kundërt me Ek dhe lexon mesazhin x = ^ (- 1) (y).
Hapi 2 i protokollit zbatohet me ndihmën e një ndërmjetësi, një pale të tretë, e cila në mënyrë konvencionale mund të quhet qendër e gjenerimit dhe shpërndarjes së çelësave (CGC) (disa protokolle sekrete të komunikimit të bazuara në sistemet e shifrimit asimetrik nuk përdorin një ndërmjetës, në të cilin Funksionet CGC kryhen nga përdoruesit).
Një tipar thelbësor i protokollit është fshehtësia e çelësit k, i cili i transmetohet dërguesit dhe adresuesit ose në tekst të qartë përmes një kanali komunikimi të mbrojtur nga veprimet e një kriptanalisti, ose në formë të koduar përmes një kanali të hapur komunikimi. Një kanal i sigurt mund të ketë një gjerësi bande relativisht të ulët, por duhet të mbrojë me besueshmëri informacionin kryesor nga aksesi i paautorizuar. Çelësi k duhet të mbetet sekret para, gjatë dhe pas zbatimit të protokollit, përndryshe ndërhyrës, pasi ka marrë çelësin, mund të deshifrojë kriptogramin dhe të lexojë mesazhin. Dërguesi dhe marrësi mund të kryejnë hapin 1 të protokollit publikisht (fshehtësia e sistemit të shifrimit është opsionale), por ata duhet të kryejnë hapin 2 në fshehtësi (kërkohet sekreti i çelësit).
Kjo për faktin se linjat e komunikimit, veçanërisht ato të gjata, janë të cenueshme nga pikëpamja e ndërhyrjes nga ndërhyrës pasivë dhe aktivë. Një ndërhyrës pasiv (kriptanalist), që dëshiron të ketë akses në mesazhin x, monitoron linjën e komunikimit në hapin 4 të protokollit. Pa ndërhyrë në zbatimin e protokollit, ai përgjon kriptogramin y për të zbuluar shifrën.

Kriptanaliza e një kriptosistemi simetrik.

Kur zhvillon një sistem shifror, një kriptograf zakonisht rrjedh nga supozimet e mëposhtme në lidhje me aftësitë e një kriptanalisti:
1. Kriptanalisti kontrollon linjën e komunikimit.
2. Kriptanalisti njeh strukturën e familjes E të hartave të shifrave.
3. Kriptanalisti nuk e njeh çelësin k, d.m.th. hartëzimi i përdorur për të marrë kriptogramin y është i panjohur.
Në këto kushte, kriptanalisti përpiqet të zgjidhë problemet e mëposhtme, të quajtura probleme të deshifrimit.
1. Përcaktoni tekstin e thjeshtë x dhe çelësin e përdorur k nga kriptogrami i përgjuar y, d.m.th. ndërtoni një algoritëm deshifrimi  të tillë që  (y) = (x, k). Ky formulim i problemit supozon se kriptanalisti përdor vetitë statistikore të tekstit të thjeshtë.
2. Përcaktoni çelësin e përdorur k nga teksti i hapur dhe shifror i njohur, d.m.th. ndërtoni një algoritëm deshifrimi të tillë që (x, y) = k. Ky formulim i problemit ka kuptim kur një kripto-analist ka përgjuar disa kriptograme të marra duke përdorur çelësin k dhe nuk ka tekste të hapura për të gjitha kriptogramet e përgjuara. Në këtë rast, pasi të ketë zgjidhur problemin e deshifrimit të llojit të dytë, ai do të "lexojë" të gjithë tekstin e thjeshtë të koduar duke përdorur çelësin k.
3. Përcaktoni çelësin k të përdorur nga teksti i thjeshtë i zgjedhur posaçërisht x dhe teksti shifror përkatës y, d.m.th. ndërtoni një algoritëm deshifrimi x të tillë që x (y) = k. Një formulim i ngjashëm i problemit lind kur një kriptanalist ka aftësinë të testojë një kriptosistem, d.m.th. gjenerimi i një kriptogrami për një tekst të thjeshtë të përshtatur posaçërisht. Më shpesh, ky formulim i problemit lind në analizën e sistemeve asimetrike. ka një ndryshim në këtë problem deshifrimi ku përdoret një tekst shifror i zgjedhur posaçërisht.
Për të zgjidhur problemet e deshifrimit, një kriptanalist përdor ose një mesazh të koduar y, ose një çift (x, y) të përbërë nga mesazhe të hapura dhe të koduara, ose një grup mesazhesh të tilla ose çifte mesazhesh. Këto mesazhe ose grupe mesazhesh quhen material shifror. Sasia e materialit shifror të përdorur për deshifrim është gjatësia e këtyre mesazheve ose gjatësia totale e një grupi mesazhesh. Sasia e materialit shifror është një karakteristikë e rëndësishme e metodës së deshifrimit. Distanca e unikalitetit të shifrës është numri më i vogël i karaktereve të tekstit të shifruar që kërkohet për të përcaktuar në mënyrë të qartë çelësin. Në shumë raste praktike, është e barabartë me gjatësinë e çelësit, nëse çelësi dhe kriptogrami janë fjalë nga alfabete po aq të fuqishme. Me të njëjtën sasi të materialit shifror, detyrat e deshifrimit të llojit të parë dallohen nga një kompleksitet më i lartë llogaritës në krahasim me detyrat e tipit të dytë dhe të tretë; detyrat e testimit kanë kompleksitetin më të vogël llogaritës.
Në disa raste, një kriptanalist mund të zgjidhë problemin e rindërtimit të një familjeje E të paraqitjeve të shifrave nga një çift i njohur (x, y) teksti i thjeshtë dhe i koduar, duke përdorur disa kushte shtesë. Kjo detyrë mund të formulohet si "deshifrimi i kutisë së zezë" duke përdorur hyrjet e njohura dhe daljet përkatëse.
Një ndërhyrës aktiv shkel zbatimin e protokollit. Ai mund të ndërpresë lidhjen në hapin 4, duke besuar se dërguesi nuk do të jetë në gjendje t'i komunikojë asgjë më shumë adresuesit. Ai gjithashtu mund të përgjojë mesazhin dhe ta zëvendësojë atë me të tijën. Nëse një ndërhyrës aktiv zbulonte çelësin (duke kontrolluar hapin 2 ose duke depërtuar në kriptosistemin), ai mund të kodonte mesazhin e tij dhe t'ia dërgonte atë adresuesit në vend të mesazhit të përgjuar, gjë që nuk do të ngjallte asnjë dyshim tek ky i fundit. Pa e ditur çelësin, një ndërhyrës aktiv mund të krijojë vetëm një kriptogram të rastësishëm, i cili pas deshifrimit do të shfaqet si një sekuencë e rastësishme.

Kërkesat e protokollit.

Protokolli i shqyrtuar merr përsipër besimin e dërguesit, adresuesit dhe palës së tretë të përfaqësuar nga CGRK. Kjo është një dobësi e këtij protokolli. Sidoqoftë, nuk ka garanci absolute për patëmetë e këtij apo atij protokolli, pasi zbatimi i çdo protokolli shoqërohet me pjesëmarrjen e njerëzve dhe varet, veçanërisht, nga kualifikimet dhe besueshmëria e personelit. Kështu, përfundimet e mëposhtme mund të nxirren nga organizimi i komunikimit sekret duke përdorur një kriptosistem simetrik.
1. Protokolli duhet të mbrojë tekstin e thjeshtë dhe çelësin nga aksesi i paautorizuar nga një person i paautorizuar në të gjitha fazat e transferimit të informacionit nga burimi te marrësi i mesazheve. Fshehtësia e një çelësi është më e rëndësishme se fshehtësia e disa mesazheve të koduara me këtë çelës. Nëse çelësi është i rrezikuar (vidhet, hamendësohet, zbulohet, blihet), atëherë ndërhyrësi që ka çelësin mund të deshifrojë të gjitha mesazhet e koduara në këtë çelës. Përveç kësaj, ndërhyrësi do të jetë në gjendje të imitojë njërën nga palët negociuese dhe të gjenerojë mesazhe të rreme në mënyrë që të mashtrojë palën tjetër. Me ndryshime të shpeshta kyçe, ky problem minimizohet.
2. Protokolli nuk duhet të lejojë hyrjen e informacionit "të panevojshëm" në linjën e komunikimit, i cili i ofron kriptanalistit të kundërshtarit mundësi shtesë për deshifrimin e kriptogrameve. Protokolli duhet të mbrojë informacionin jo vetëm nga të huajt, por edhe nga mashtrimi i ndërsjellë i aktorëve të protokollit.
3. Nëse supozojmë se çdo palë përdorues të rrjetit të komunikimit përdor një çelës të veçantë, atëherë numri i çelësave të kërkuar është n * (n-1) / 2 për n përdorues. Kjo do të thotë që për n të mëdha, gjenerimi, ruajtja dhe shpërndarja e çelësave bëhet një problem që kërkon kohë.

Koncepti i enkriptimit

Kriptimi është një metodë e transformimit të informacionit, e përdorur për të ruajtur informacione të rëndësishme në burime jo të besueshme ose për ta transmetuar atë përmes kanaleve të pasigurta të komunikimit. Sipas GOST 28147-89, kriptimi është procesi i kriptimit ose deshifrimit.

Një çelës kriptimi është informacion sekret i përdorur nga një algoritëm kriptografik për të kriptuar / deshifruar mesazhet. Kur përdorni të njëjtin algoritëm, rezultati i kriptimit varet nga çelësi. Gjatësia e çelësit është karakteristika kryesore e forcës kriptografike dhe matet në bit.

Në varësi të strukturës së çelësave të përdorur, metodat e kriptimit ndahen në llojet e mëposhtme:

· Kriptimi simetrik: i njëjti çelës përdoret për enkriptim dhe deshifrim;

· Kriptimi asimetrik: një çelës (publik) përdoret për enkriptim, dhe një tjetër (privat, sekret) përdoret për deshifrim. Ky lloj kriptimi quhet edhe kriptimi i çelësit publik.

Llojet e ndryshme të kriptimit kanë fuqi të ndryshme kriptografike.

Kriptimi simetrik është një metodë kriptimi që përdor të njëjtin çelës kriptografik për kriptim dhe deshifrim. Çelësi i algoritmit duhet të mbahet sekret si nga dërguesi ashtu edhe nga marrësi i mesazhit. Çelësi i algoritmit zgjidhet nga palët përpara fillimit të shkëmbimit të mesazheve.

Shifrat simetrike janë të llojeve të mëposhtme:

· Blloko shifrat. Informacioni përpunohet në blloqe me një gjatësi të caktuar (64, 128 bit, etj.), duke aplikuar çelësin në bllok në rendin e përcaktuar, zakonisht me disa cikle përzierjeje dhe zëvendësimi, të quajtura raunde. Rezultati i përsëritjes së raundeve është një efekt orteku ¾ një humbje në rritje e korrespondencës së biteve midis blloqeve të të dhënave të hapura dhe të koduara.

· Shifrat e transmetimit, në të cilat kriptimi kryhet mbi çdo bit ose bajt të tekstit origjinal (të thjeshtë) duke përdorur gama. Një shifër e transmetimit mund të krijohet lehtësisht në bazë të një kodi blloku (për shembull, GOST 28147-89 në modalitetin gama), i nisur në një mënyrë të veçantë. Gama është procesi i "mbivendosjes" së një sekuence specifike (sekuencë gama) në një tekst të thjeshtë. Për shembull, mund të jetë një operacion ekskluziv OSE. Kur deshifroni, operacioni përsëritet, rezultati është një tekst i thjeshtë.

Parametrat e algoritmit të kriptimit: forca, gjatësia e çelësit, numri i raundeve, gjatësia e bllokut të përpunuar, kompleksiteti i zbatimit të harduerit / softuerit.

Shembuj të algoritmeve simetrike: DES (Standardi i enkriptimit të të dhënave), GOST 28147-89.

Krahasimi me kriptim asimetrik:



Përparësitë:

· Shpejtësia (sipas kriptografisë së aplikuar - 3 rend të madhësisë më të lartë);

· Lehtësia e zbatimit (për shkak të operacioneve më të thjeshta);

· Gjatësia më e shkurtër e kërkuar e çelësit për qëndrueshmëri të krahasueshme;

· Njohuri (për shkak të moshës më të madhe).

Të metat:

· Kompleksiteti i menaxhimit të çelësave në një rrjet të madh. I referohet rritjes kuadratike të numrit të çifteve të çelësave që do të gjenerohen, transmetohen, ruhen dhe shkatërrohen në rrjet. Për një rrjet prej 10 abonentësh kërkohen 45 çelësa, për 100 tashmë 4950, për 1000 - 499500, etj .;

· Kompleksiteti i shkëmbimit të çelësave. Për ta përdorur atë, është e nevojshme të zgjidhet problemi i transferimit të besueshëm të çelësit për secilin pajtimtar, pasi nevojitet një kanal sekret për të transferuar secilin çelës tek të dy palët.

Për të kompensuar mangësitë e kriptimit simetrik, aktualisht përdoret gjerësisht një skemë kriptografike e kombinuar (hibride), ku kriptimi asimetrik përdoret për të transmetuar çelësi i seancës përdoret nga palët për të shkëmbyer të dhëna duke përdorur enkriptimin simetrik.

Një veti e rëndësishme e shifrave simetrike është pamundësia e përdorimit të tyre për të konfirmuar autorësinë, pasi çelësi është i njohur për secilën palë.

Artikujt kryesorë të lidhur