Kriptografijos pagrindai
5 (100%) 1 vote

Kriptografijos pagrindai

Kriptografijos pagrindai

Kriptografija – informacijos transliavimas į koduotą formą, naudojat kodavimo raktą. Kriptografija dažniausiai naudojama informacijos privatumui apsaugoti. Šifruotoje kriptos sistemoje pradinė informacija galima sužinoti tik naudojant atkodavimo raktą. Egzistuoja 3 kriptografijos metodai:

1. simetrinis (bendrojo rakto).

2. asimetrinio (viešojo rato)

3. „elektroninis vokas“ (alternatyva 1 ir 2)

Kodavimo sistemą sudaro 3 pagrindiniai elementai:

1. duomenys, kurie turi būti užkoduoti arba iškoduoti

2. kodavimo ir iškodavimo algoritmai

3. raktai ir sertifikatai

Duomenų šifravimo raktas yra tam tikras simbolių rinkinys, kuris padeda šifruojančiam algoritmui unikaliai užkoduoti duomenis. Nors šifravimo algoritmas gali būti visiem žinomas ir prieinamas, įsilaužėlis neturėdamas tinkamo rakto pranešimo atkoduoti negalės.

Simetrinio rakto kripto sistema

Juose tiek informacijai užkoduoti tiek atkoduoti naudojamas tas pats raktas

Simetrinio rakto kriptografijos sistemos veikimo mechanizmas

Siuntėjas Kęstas siunčia pranešimą, kurį jis užkoduoja panaudodamas jam ir pranešimo gavėjui Vytui žinomą kodavimo algoritmą. Šio algoritmo ypatybė, kad kodavimui ir iškodavimui naudojamas tas pats raktas. Tarpinis piktų kėslų turintis asmuo Jonas nežinodamas rakto nesugebės iškoduoti pranešimo net jeigu jam yra žinomas kodavimo algoritmas. Simetrinio rakto kodavimo metodas yra naudojamas įvairiuose sistemose ir sudaro technologinį pagrindą duomenų apsaugos standartams. Tačiau šio metodo pritaikymas yra gana ribotas. Tokia kodavimo schema reikalauja abiejų pusių išankstinio susitarimo dėl rakto. Todėl simetrinio rakto kriptos sistemos yra vertingos tik tada kai abi pusės viena kita pasitiki.

Asimetrinio rakto kriptos sistema

Ji buvo sukurta rakto perdavimo problemai spręsti. Šios sistemos pagrindu sukurta dauguma Interneto protokolų pagrindų (SSL; S-HTTP; PGP). Šioje sistemoje kiekvienas komunikacijų dalyvis turi du raktus: slaptą (asmeninį), viešą (publick). Tarp asmeninio ir viešo yra tiesioginis ryšys, iš asmeninio lengva sugeneruoti viešąjį. Iš viešojo galima sugeneruoti asmeninį, tačiau tai yra labai sudėtinga. Priklausomai nuo kodavimo algoritmo asmeninis ir viešasis raktai gali būti glaudžiai susiję. Pvz.: slaptumo sistemoje, tai kas yra užkoduota viešu raktu gali būti iškoduota asmeniniu raktu. Tuo tarpu autentifikavimo sistemose yra atvirkščiai. Abiejų operacijų saugumą užtikrina, tai, kad vien viešo rakto pilnam ciklui neužtenka. Kažkas turi žinoti asmeninį raktą.

Kriptos sistemos veikimo ciklas:

Siuntėjas Kęstas pasinaudoja Vyto viešuoju raktu užkoduodamas pranešimą Vytui. Vytas žinodamas asmeninį raktą iškoduoja Kęsto siųstą pranešimą. Jonas pasinaudodamas proga gali pagauti pranešimą, tačiau negali iškoduoti pranešimo, nes jam reikia Vyto rakto, kuris tinkle niekad nesiunčiamas. Vienintelė Jono viltis yra apskaičiuoti asmeninį raktą iš viešojo rakto. Šis procesas vadinamas kodavimu.

Be kodavimo srities viešojo rakto kriptos sistemos yra taikomos ir autentifikavimui. Autentifikavimo tikslas yra įtikinti gavėją, kad pranešimas yra autentiškas. Tokį šifravimą galima suprasti kaip tam tikrą antspaudą. Jeigu dokumentas elektroninis naudojamas skaitmeninis parašas. Autentifikavimas vyksta analogiškai kodavimui tik Kęstas užkoduodamas pranešimą naudoja slaptąjį raktą. Jonas niekaip negali užkoduoti pranešimo, kad tai tikrai Kęstas, nes jis nežino slapto rakto.

Pagrindinis tokios sistemos trūkumas kodavimo procesas trunka žymiai ilgiau negu simetrinio rakto sistemose. Bendraujant Internetu reikia ir slaptumo, ir autentiškumo užtikrinimo, todėl kiekvienas komunikacijos dalyvis turi po dvi raktų poras. Viena pora skirta šifravimui, kita pasirašymui. Pranešimas yra pirma pasirašomas paskui koduojamas, bendrauti gali tik šiuos raktus turintys žmonės.

„Elektroninio voko“ kriptos sistema

Tokia sistema pašalina simetrinės ir asimetrinės kriptografijos trūkumus ir naudojasi jų privalumais: asimetrinės – viešojo rakto sistemos patogumas; simetrinės – bendrojo rakto sistemos greitis (simetrinis ~1000 kartų greitesnis nei asimetrinis);

Pirmiausia siuntėjas suspaudžia pranešimą, kaip sumažinant siunčiamos informacijos kiekį ir padidinant kriptografijos trukumą (suspaustai informacijai padidėja visų galimų raktų parinkimų trukmė). Tada numeruojamas seanso (vienkartinis) raktas iš atsitiktinių palės judesių ar klavišų paspaudimo. Naudojantis seanso raktu gautai ir saugiai simetriniu būdu užkoduojama informacija. Pats seanso raktas užkoduojamas gavėjo viešuoju raktu ir pridedamas prie koduoto teksto.

Iškoduojant gavėjas su savo privačiu raktu suranda prie koduoto pranešimo pridėtą seanso raktą. Iškodavus seanso raktą, juo atkoduojamas koduotas tekstas, kurį belieka išarchyvuoti.

Kriptografijos protokolai ir algoritmai. Algoritmai būna simetriniai bei asimetriniai.

Simetriniai algoritmai

DES – 40 bitų algoritmas. 45% šifravimų JAV atliekami naudojantis juo. Šis algoritmas realizuotas 16 ciklų Fiestel šifravimui.

3DES – tai DES modifikacija, 56 bitų algoritmas. Jame DES algoritmas užšifruojamas 3 skirtingais raktais. Naudojami 2 skirtingi raktai, o 1 ir 3 šifravimui atliekami tą patį raktą.

IDEA – tarptautinis duomenų kodavimo
algoritmas. Jis yra 128 bitų. Šis algoritmas naudojamas PGP sistemoje ir naudojamas 64 bitų interaktyvus blokinis šifratorius su 8 ciklais ir 3 nepriklausomais 16 bitų žodžio aritmetinėmis operacijomis.

Silpnoji pusė – atrasta didelė silpnų raktų klasė, kurie gali būti lengvai nustatyti, tačiau šis algoritmas vis vien lieka saugiu (251 yra nesaugūs, o 2128-251 yra saugūs).

Skipjack – 80 bitų algoritmas, sukurtas JAV vyriausybės užsakymu ir naudojamas clipper 8 capstone mikroschemose. Veikimas pagrįstas 80 bitų raktu, kuris šifruoja 60 bitų blokus 32 ciklais, tačiau šis algoritmas yra užkoduotas ir neatlikta išsami kripto analizė.

RC2 – kintamo kodo ilgio algoritmas, kuris viešai neatskleistas ir naudojamas SIMIME standartą. Įvairių ilgių raktu šifruojami 65 bitų blokai. Šis algoritmas nėra saugus, nes egzistuoja priemonės, kuriomis gana greitai galima surasti šifravimo kodą.

RC4 – kintamo kodo ilgio, naudojamas Aple computer, Oracle. Lotus notes sistemose, realizuotos nuosekliu šifravimu.

RC5 – 56 bitų algoritmas, pirmą kartą iššifruotas 1997m. Spalio mėn. Veikimas pagrįstas įvairių ilgių raktu. 9iki 2048 bitų0. šifruojant 32,64 ir 128 bitų blokai. Ciklų skaičius nuo 0 iki 255. atliekami trijų etapų veiksmai: 1) rakto išplėtimas; 2) užšifravimas; 3) iššifravimas.

Blowfish – kintamo kodo ilgis, skirtas dideliems ir greitaeigiams mikroprocesoriams. Veikimas – įvairių ilgių (iki 448 bitų) raktu šifruojami 64 bitų blokai. Algoritmas realizuotas Feistel šifratoriumi.

Sofer – 64 ir 128 bitų algoritmas. Sukurtas Singapūro vyriausybės, kuri norėjo panaudoti 128 bitų raktą. 64 ir 128 bitų ilgio raktas šifruojami 64 bitų blokai, gali veikti iki 10 ciklų. Minimaliai yra 6 ciklai. Atliekami 1 baito operacija ir užšifravimo procesas skiriasi nuo iššifravimo.

Seal – kintamo kodo algoritmas, sąlyginai naujas, todėl dar neatliktas nuodugni kripto analizė. Realizuotas nuoseklus šifratorius 32 bitų mašinoms. Atitinka penkias 1 baito operacijas.

Asimetriniai algoritmai

Diffte–Hellman – tai pirmasis viešojo rakto algoritmas. Kintamojo kodo ilgio. Sistemoje sugeneruoti vieši ir bendri skaičiai p ir g, kur p – pirminis, g (generatorius) – sveikas skaičius, mažesnis už p.

RSA – kintamo kodo ilgio. Populiariausias viešojo rakto algoritmas. RAS šifravimo raktai veikia abejomis kryptimis. Galima užšifruoti žinutę privačiuoju raktu, o iššifruoti – viešuoju siuntėjo raktu ir atvirkščiai. Kokiu būdu šis algoritmas tapo pagrindu skaitmeniniam parašui.

Elipsinės kreivės – kintamojo kodo ilgio elipsinis užšifravimas su trumpesniais šifro raktais. Jį sudaro elementai x ir y, kurie turi tenkinti sąlygą: y2=|x3+ax+b| p kur p – nedidelis pirminis skaičius.

SSL protokolas

Populiarus Interneto protokolas, kuris užtikrina duomenų perdavimą šifruotu pavidalu. Tarp web serverio ir su juo dirbančio kliento. Šį protokolą sukūrė NetScape comunikation korporacija savo naršyklei. Dabar šis protokolas naudojamas bemaž visuose internetinės programinės įrangos produktuose. Iki to laiko, kai kompiuteriai bus pakankamai greiti, kad aptarnautų SET protokolą SSL programinė įranga sudaro pigų, paprastą ir plačiai taikomą elektroninių atsiskaitymų sistemą. Šis protokolas naudojamas labai plačiai.

Veikimo principas:

Pirmiausia klientas prisijungia prie serverio ir siunčia jam palaikomų kodavimų algoritmų sąrašą. Serveris atsako su algoritmo pavadinimu, savo viešu raktu bei bendru raktu. Klientas gali patikrinti ar viešas raktas priklauso tam serveriui. Tada klientas generuoja atsitiktinį seanso raktą. Ir siunčia jį serveriui užkuodavęs su serverio viešuoju raktu. Serveris iškoduoja seanso raktą su savo slaptu raktu ir naudoja jį duomenų kodavimui seanso metu. Klientas gali patikrinti serverį siųsdamas jam atsitiktinę eilutę koduotą seanso raktu.serveris tada patvirtina gavimą. Šis metodas naudojamas kliento-serverio autentifikavimui bei e-komercijoje.

SSH kodavimo programa

Ši programa skirta saugiai jungtis prie nutolusio kompiuterio per tinklą. Vykdyti jame komandas, kopijuoti failus iš vieno kompiuterio į kitą. SSH atlieka griežtą autentifikavimą bei užtikrina saugų ryšį tarp kompiuterių naudojantis nesaugiomis linijomis. Galima perdavinėti suspaustus duomenis. Duomenų kodavimui naudojami šie algoritmai: DES; 3DES; IDEA; RC4; Blowfish. Raktų apsikeitimui naudojamas RSA metodas. Programa plačiai paplitusi UNIX tipo mašinose.

PCT protokolas

Sukurtas privatumui tarp dviejų bendraujančių pusių užtikrinti (klientas-serveris). Kliento ir serverio autentifikacijai. Šį protokolą sukūrė kompanijos Microsoft ir VISA siekdamos pakeisti SSL protokolą. Veikimo principas yra analogiškas SSL protokolui. Be duomenų kodavimo ir autentifikacijos šis protokolas dar tikrina pranešimų integruotumą. Tam veiksmui naudojamas MAC algoritmas. Šiame protokole duomenų kodavimui naudojami šie algoritmai: DES; 3DES; RC2; RC4. raktų apsikeitimui naudojami šie metodai: Diffte-Hellman, RSA, Fortezz.

SKIP programa

Sukurtas Sun Microsystems. Skirtas bendravimui koduotais pranešimais bei autentifikavimui. Jis turi savo mechanizmą raktų apsikeitimui ir sertifikatų valdymui. Praktikoje šis kodavimo protokolas gali būti naudojamas VPN sistemose arba koduotam kliento-serverio bendravimui.

PGP
užtikrinanti duomenų konfidencialumą. Pradžioje ši sistema buvo naudojama tik informacijos kodavimui ir e-parašo formavimui e-pašto programose. Šiuo metu PGP taikoma daug plačiau. Galima koduoti failus esančius lokaliame tinkle. Taip pat tikrinti svarbių failų esančių serveryje integruotumą. PGP sistema naudoja RSA ir IDEA algoritmus, todėl galima pasirinkti tiek simetrinę tiek asimetrinę kriptos sistemą. Šioje sistemoje pirmą kartą buvo panaudotas e-voko principas.

Šiuo metu Jūs matote 30% šio straipsnio.
Matomi 1540 žodžiai iš 5114 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.