Što je šifriranje i zašto je važno?

Mnogi komunikacijski protokoli koriste enkripciju kako bi bili sigurni da je vaša veza sigurna. Razumijevanje što enkripcija zapravo radi i zašto je važna za sve je dobra ideja, tako da znate od čega vas može zaštititi, a od čega ne.

Šifriranje je matematički proces šifriranja podataka pomoću šifriranja i ključa za šifriranje. Šifrirani podaci ili šifrirani tekst mogu se dešifrirati natrag u izvorni oblik "čistog teksta" samo pomoću ključa za dešifriranje.

Uz dobar algoritam šifriranja, šifrirani tekst bi se trebao ne razlikovati od nasumične buke ili besmislenih vrijednosti. Zbog toga je nemoguće utvrditi jesu li podaci čak i šifrirani tekst ili je to samo šum. Ovaj dizajn značajno otežava analizu šifriranog teksta u pokušaju da se dešifrira bez potrebe za ključem za dešifriranje kroz proces koji se naziva kriptoanaliza.

Savjet: Buka je nasumična pozadinska statičnost, baš kao snijeg ili statika na nekim starim televizorima kada nemaju signal.

Simetrično vs asimetrično

Za neke klase algoritama za šifriranje, ključ za dešifriranje će biti isti kao ključ za šifriranje, u drugima su dva ključa različita. Kada je ključ za dešifriranje isti kao ključ za šifriranje, poznat je kao simetrično šifriranje. U ovom slučaju, ključ za šifriranje se može smatrati lozinkom, a svatko s lozinkom može šifrirati ili dešifrirati podatke. AES je dobar primjer simetričnog algoritma enkripcije, jer je jedna od njegovih upotreba za osiguranje HTTPS komunikacije na internetu.

Savjet: HTTPS ili Hypertext Transfer Protocol Secure, primarni je šifrirani komunikacijski protokol koji se koristi na internetu.

Asimetrična enkripcija koristi zaseban ključ za šifriranje i dešifriranje, također se obično naziva kriptografija s javnim ključem. Ključ za šifriranje poznat je kao javni ključ, objavljuje se kako bi ga svatko mogao koristiti za šifriranje podataka. Ključ za dešifriranje je ipak poznat kao privatni ključ, a kao što ime sugerira, čuva se privatnim.

Ovaj oblik šifriranja može se koristiti kako bi se osiguralo da samo željeni primatelj može dešifrirati i pročitati šifriranu poruku. Uobičajeni primjer algoritma za šifriranje s javnim ključem je RSA. RSA se također obično koristi u HTTPS vezama, ali samo zato da se dva računala mogu sigurno dogovoriti o korištenju simetričnog ključa za šifriranje.

Savjet: Algoritmi asimetrične enkripcije sporiji su za korištenje od onih simetričnih koji pružaju slične razine sigurnosti. Stoga se asimetrična enkripcija koristi samo za dogovaranje simetričnog ključa za šifriranje u protokolima koji zahtijevaju brzinu i učinkovitost kao što je HTTPS.

Savjet: Jedna stvar koju HTTPS ne čini je jamstvo da se povezujete s web-mjestom na koju ste namjeravali. Ono što čini je jamstvo da povezujete web stranicu koju ste unijeli u traku za pretraživanje. Ako ste pogriješili i slučajno pregledali exanple.com umjesto example.com, HTTPS će potvrditi da ste sigurno povezani s exanple.com. HTTPS samo potvrđuje da je vaša veza s web poslužiteljem sigurna. HTTPS također ne znači da web-mjesto na koje se povezujete ne sadrži viruse ili drugi zlonamjerni softver.

Razine sigurnosti

Sigurnost algoritma za šifriranje mjeri se u bitovima. Bitovi sigurnosti odnose se na veličinu korištenog ključa za šifriranje i stoga koliko je teško pogoditi. Nažalost, na ovaj način nije moguće izravno usporediti sigurnost simetričnih i asimetričnih algoritama.

Algoritmi simetrične enkripcije kao što je AES moraju koristiti najmanje 128-bitni ključ za šifriranje kako bi se smatrali sigurnim, iako se preporučuje 256-bitni ključ. Asimetrični algoritmi moraju koristiti najmanje 2048-bitni ključ da bi se smatrali sigurnima.

256-bitni ključ za šifriranje ima 2^256 mogućih kombinacija, što je dva pomnožena sama po sebi 256 puta. Napisano u cijelosti, tu su: 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 moguće kombinacije 256-bitnog ključa za šifriranje. Taj je broj toliko velik da je otprilike jednak broju atoma za koje znanstvenici predviđaju da postoje u vidljivom svemiru.

Neshvatljivo je teško točno pogoditi ključ potreban za dešifriranje podataka kriptiranih 256-bitnim ključem. Čak i da ste imali namjenski pristup najbržim superračunalima i stoljećima vremena, statistički je malo vjerojatno da ćete točno pogoditi ključ za dešifriranje.

Zašto je to važno?

Kada se prijavljujete na web stranicu, šaljete svoje korisničko ime i lozinku ili podatke o banci. Ti su detalji privatni i osjetljivi, ako ih netko drugi ima, mogao bi pristupiti vašim računima, lažno predstavljati vas, ukrasti vam novac i još mnogo toga.

Kada koristite HTTP protokol za običan tekst, svatko na mreži između vas i web poslužitelja mogao bi presresti i pročitati komunikaciju koju šaljete i primate. To uključuje vaše lozinke i druge osjetljive detalje. Drugi korisnici na vašoj kućnoj mreži, vaš ISP i drugi korisnici na svim javnim Wi-Fi žarišnim točkama na koje se povezujete mogli bi biti u poziciji da izvedu ovu vrstu napada.

Ako koristite komunikaciju za zaštitu HTTPS-a do i od web poslužitelja, vaši su podaci šifrirani i nitko ih drugi ne može čitati. Ova će enkripcija zaštititi vaše lozinke i druge privatne podatke prilikom pregledavanja interneta.

Ipak, šifriranje nije važno samo za privatne ili osjetljive podatke; također je koristan alat za zaštitu privatnosti. Na primjer, može spriječiti vašeg ISP-a da njuška vaše navike pregledavanja weba.

Šifriranje što većeg broja vaših komunikacija čini manje očitim gdje su skriveni osjetljivi podaci koje bi napadači mogli pokušati ukrasti. Zbog toga se općenito preporučuje da koristite šifriranje gdje god je to moguće kako biste osigurali sve što radite.

Uz moderni hardver i algoritme za šifriranje, enkripcija dodaje samo neprimjetno kašnjenje, tako da ne morate brinuti da će usporiti i vašu internetsku vezu.