Što je simetrična enkripcija?

Postoji mnogo različitih dijelova kriptografije. Ako ipak želite šifrirati neke podatke, postoje dvije vrste algoritama koje možete koristiti: algoritmi simetrične enkripcije i algoritmi asimetrične enkripcije. Opći koncept je isti, mogu šifrirati podatke, ali rade na različitim principima i imaju različite slučajeve upotrebe. Titularna razlika, međutim, opisuje ključeve šifriranja. Simetrični algoritam šifriranja koristi jedan zajednički ključ za šifriranje i dekriptiranje podataka. Asimetrični algoritam šifriranja koristi dva povezana ključa, jedan za dešifriranje i jedan za dešifriranje.

Svojstva algoritama simetričnog šifriranja

Kao što je gore navedeno, ključna značajka razlikovanja algoritma simetrične enkripcije je činjenica da koristite jedan ključ za šifriranje i dekriptiranje podataka. To ne znači da postoji samo jedan mogući ključ za šifriranje, samo ako šifrirate nešto s jednim ključem, trebate koristiti isti ključ za dešifriranje. Ponekad se naziva enkripcijom dijeljenog ključa. To je zato što svaki sudionik mora znati isti ključ pa ga morate podijeliti.

Ovo svojstvo korištenja istog ključa za šifriranje i dekriptiranje može predstavljati mali problem. Kako biste koristili simetrični algoritam šifriranja, morate ga moći sigurno komunicirati. Ali to ne možete učiniti ako već nemate siguran način komunikacije. Srećom, ovaj se problem može riješiti asimetričnom enkripcijom, ali vrijedi razumjeti.

Ključevi za algoritme simetrične enkripcije obično su prilično mali, barem u usporedbi s asimetričnom enkripcijom. To ih čini relativno lakima za prijenos čak i preko spore mrežne veze i manje osjetljivima na pogreške u nepouzdanoj mreži. Simetrični algoritmi šifriranja također su brzi u usporedbi s asimetričnim algoritmima.

Sva ova svojstva čine algoritme simetrične enkripcije posebno korisnima za skupno šifriranje podataka. To je osobito slučaj kada je brzina problem.

Stream šifre i blok šifre

AES je vjerojatno najpoznatiji algoritam simetrične enkripcije. Koristi se u gotovo svemu što šifrira mnogo podataka i standardni je dio paketa za šifriranje koji se koriste u HTTPS-u. AES je blok šifra sa 128-bitnim blokovima. Blokovna šifra funkcionira tako da šifrira blokove podataka odjednom. Svaki blok mora biti iste veličine. To je u redu kada su preostali podaci veći od veličine bloka, ali znači da je za dovršetak bloka potrebno upotrijebiti neki oblik ispune.

Šifra toka funkcionira tako da istovremeno šifrira mnogo manje količine podataka, obično jedan po bajt. Varijacija ovog koncepta je supstitucijska šifra koja radi na slovima. Supstitucijske šifre su osjetljive na frekvencijsku analizu i stoga su obično nepouzdane i neiskorištene. Stream šifre ipak nemaju ovaj problem.

Simetrični algoritmi obično su ranjivi na napade poznatog otvorenog teksta, napade odabranog otvorenog teksta, diferencijalnu kriptoanalizu i linearnu kriptoanalizu. Moderni algoritmi, međutim, pažljivo su dizajnirani imajući to na umu, pa ti problemi ne predstavljaju problem.

Zaključak

Simetrična enkripcija oblik je enkripcije koji koristi isti ključ za šifriranje i dešifriranje podataka. U nekim je slučajevima sam algoritam isti i za šifriranje i za dekriptiranje, iako to nije nužno slučaj. Ključevi za šifriranje obično su relativno kratki i laki za prijenos. Ključ se, međutim, mora prenijeti preko sigurnog kanala budući da se mora komunicirati između svih uključenih strana. Algoritmi simetrične enkripcije obično su puno brži od algoritama asimetrične enkripcije.