Kriptografija arba kriptologija - tai informacijos slėpimo praktika ir mokslas. Kartais ji vadinama šifravimu, tačiau tai nėra tinkamas pavadinimas. Tai mokslas, naudojamas siekiant išsaugoti informacijos slaptumą ir saugumą. Šiuolaikinė kriptografija yra matematikos, informatikos ir elektrotechnikos mišinys. Kriptografija naudojama bankomatų (bankų) kortelėse, kompiuterių slaptažodžiuose ir apsiperkant internetu.

Kai pranešimas siunčiamas naudojant kriptografiją, prieš siunčiant jis pakeičiamas (arba užšifruojamas). Teksto keitimo metodas vadinamas "kodu" arba, tiksliau, "šifru". Pakeistas tekstas vadinamas šifruotuoju tekstu. Dėl pakeitimo pranešimą tampa sunku perskaityti. Kas nors, norintis jį perskaityti, turi jį pakeisti atgal (arba iššifruoti). Kaip jį pakeisti atgal, yra paslaptis. Tiek pranešimą siunčiantis, tiek jį gaunantis asmuo turėtų žinoti slaptą būdą, kaip jį pakeisti, tačiau kiti žmonės to neturėtų žinoti. Šifro teksto tyrimas siekiant sužinoti paslaptį vadinamas "kriptoanalize" arba "nulaužimu", o kartais - "kodo laužymu".

Skirtingų rūšių kriptografija gali būti lengviau arba sunkiau naudojama ir gali geriau arba blogiau paslėpti slaptą pranešimą. Šifruose naudojamas "raktas", kuris yra paslaptis, slepianti slaptus pranešimus. Kriptografinis metodas nebūtinai turi būti slaptas. Įvairūs žmonės gali naudoti tą patį metodą, bet skirtingus raktus, todėl jie negali perskaityti vienas kito pranešimų. Kadangi Cezario šifras turi tik tiek raktų, kiek abėcėlėje yra raidžių, jį lengva nulaužti išbandžius visus raktus. Šifrai, kurie leidžia naudoti milijardus raktų, nulaužiami sudėtingesniais metodais.

Nuo Cezario laikų buvo sukurta daug patobulintų šifrų. Kai kurie iš jų buvo sukurti naudojant gudrią matematiką, kad būtų atsparūs gudriai kriptoanalizei. XX a. kompiuteriai tapo pagrindine kriptografijos priemone.

Pagrindinės sąvokos

Raktas – tai slaptas parametras, kurį naudoja šifras. Raktas gali būti bendrinamas (svarbus simetrinėje kriptografijoje) arba suskirstytas į viešąjį ir privatųjį (asimetrinėje kriptografijoje). Šifravimas – informacijos pavertimas neįskaitomu formatu; iššifravimas – atgalinis procesas. Maiša (hash) – funkcija, kuri iš bet kokio ilgio duomenų sugeneruoja fiksuoto ilgio unikalų „paraugą“; ji naudojama vientisumui tikrinti ir slaptažodžių saugojimui.

Raktų tipai ir algoritmai

  • Simetrinė kriptografija: tas pats raktas naudojamas šifravimui ir iššifravimui. Pavyzdžiai: AES, 3DES. Privalumas – greitis ir efektyvumas; trūkumas – raktų paskirstymo problema (kaip saugiai perduoti raktą).
  • Asimetrinė kriptografija: naudojamas porinis raktas – viešasis ir privatusis. Viešasis raktas skelbiamas, privatusis saugomas. Pavyzdžiai: RSA, ECC. Leidžia įgyvendinti skaitmeninius parašus ir saugų raktų apsikeitimą.
  • Hibridiniai sprendimai: praktiškai daug protokolų (pvz., TLS) naudoja asimetrinę kriptografiją raktų apsikeitimui, o simetrinę – pačiam duomenų šifravimui.

Skaitmeniniai parašai, sertifikatai ir PKI

Skaitmeninis parašas patvirtina pranešimo autentiškumą ir vientisumą: rašojas išveda pranešimo maišą ir jį užšifruoja savo privačiu raktu; gavėjas patikrina parašą naudodamas viešąjį raktą. Sertifikatai (išduodami patikimų sertifikato išdavėjų) susieja viešuosius raktus su asmenimis ar įmonėmis. Visa tai sudaro PKI (Public Key Infrastructure), kuri yra pagrindas saugiam tinklo ryšiui.

Praktinės taikymo sritys

  • Saugus interneto ryšys (HTTPS/TLS)
  • Elektroninis paštas su šifravimu (pvz., PGP)
  • E-komercija ir mokėjimai
  • Duomenų šifravimas diskuose (disk encryption)
  • Slaptažodžių saugojimas ir autentifikacija
  • Skaitmeniniai parašai ir blokų grandinės technologijos

Tipinės grėsmės ir atakos

Kriptografinius sprendimus gali paveikti:

  • Brute-force (visų raktų išbandymas) – jei raktas per trumpas, ataka praktiškai įmanoma.
  • Kriptoanalizė – matematinių silpnybių išnaudojimas (pvz., istorinis Cezario ar Vigenère šifrų nulaužimas).
  • Šoninės kanalo atakos – išgauti raktus stebint energijos suvartojimą, laiką ar elektromagnetinį spinduliavimą.
  • Žmogaus klaidos – neteisingas raktų saugojimas, silpni slaptažodžiai, pasenę algoritmai.

Geros praktikos patarimai

  • Naudoti patikrintus, standartizuotus algoritmus ir bibliotekas (nekurti savo šifravimo sprendimų nuo nulio).
  • Naudoti pakankamai ilgus raktus ir periodiškai juos atnaujinti.
  • Saugoti privačius raktus, naudoti saugius raktų saugyklų sprendimus (HSM, TPM).
  • Užtikrinti sertifikatų ir PKI valdymą, taip pat tinkamą certifikatų atšaukimo mechanizmą.
  • Įvertinti šoninių kanalų grėsmes ypač įterptinėse sistemose ir IoT įrenginiuose.

Ateities kryptys: postkvantinė kriptografija

Su kvantinių kompiuterių plėtra kai kurie dabartiniai algoritmai (pvz., RSA, ECC) gali tapti pažeidžiami. Todėl kuriami postkvantiniai algoritmai, atsparūs kvantinių kompiuterių atakoms. Standartizacijos organizacijos jau testuoja ir siūlo naujus sprendimus, bet pereinamasis laikotarpis užtruks – reikės suderinti suderinamumą, našumą ir saugumą.

Santrauka

Kriptografija yra pagrindinė informacijos saugumo dalis, apimanti šifravimą, raktų valdymą, skaitmeninius parašus ir maišus. Tinkamai parinktos ir įdiegtos kriptografinės priemonės apsaugo duomenis nuo pašalinių, užtikrina autentiškumą ir vientisumą. Tačiau saugumas priklauso ne tik nuo algoritmo matematikos, bet ir nuo praktinio įgyvendinimo, raktų valdymo ir nuolatinio atnaujinimo pagal naujas grėsmes.