Osnove kriptografije

Kriptografija se odnosi na postupak skrivanja podataka pretvaranjem čitljivog teksta u nečitljiv tekst pomoću neke vrste ključa ili algoritma za šifriranje.

Podaci zaštićeni kriptografijom uključuju e-poštu, datoteke i druge osjetljive podatke.

Cilj kriptografije je osigurati da šifrirane informacije zadrže svoju povjerljivost, cjelovitost, autentičnost i neporecivanje.

Vrste kriptografije

Šifriranje ima dvije vrste:

  • Simetrično šifriranje koristi jedan ključ za šifriranje i dešifriranje podataka koji se šalju / primaju.
  • Asimetrično šifriranje koristi različite ključeve za šifriranje i dešifriranje podataka koji se šalju / primaju.

Šifra

Šifra se odnosi na algoritam koji se koristi za šifriranje i dešifriranje.

Vrste šifri su:



Klasične šifre

  • Šifra za zamjenu je šifra u kojoj je obični tekst zamijenjen šifrantom.
  • Šifra za transpoziciju je šifra u kojoj je običan tekst preuređen da stvori šifrirani tekst.

Moderna šifra


  • Šifre na temelju ključa:



    • Algoritam simetričnog ključa algoritam je koji koristi jedan ključ za šifriranje i dešifriranje

    • Algoritam asimetričnog ključa algoritam je koji koristi dva ključa za šifriranje i dešifriranje


  • Šifre temeljene na unosu:



    • Blok šifra je šifra koja djeluje na blokovima podataka fiksne veličine pomoću simetričnog ključa

    • Stream šifra je šifra koja djeluje na jedan bit istovremeno koristeći simetrični ključ

Algoritmi šifriranja

OD

DES je standard šifriranja podataka koji koristi simetričnu enkripciju. Tajni ključ koji se koristi za šifriranje i dešifriranje ima 64 bita, od kojih se 56 bitova generira nasumično, a preostalih 8 bita koristi se za provjeru pogrešaka.

AES

AES je algoritam simetričnog ključa koji izvodi istu operaciju više puta. Koristi blok fiksne veličine od 128 bita i tipke tri veličine: 128, 192 i 256 bita.

RC4, RC5, RC6

RC4 je algoritam ključa promjenjive duljine koji djeluje po jedan bit i koristi slučajne permutacije. Pripada skupini strujnih šifri s simetričnim ključem.

RC5 je parametrizirani algoritam koji ima promjenjivu veličinu bloka, promjenjivu veličinu ključa i promjenjivi broj krugova. Veličina bloka može biti jedna od tri: 32, 64 i 128 bita. Veličina ključa može biti između 0 i 2040 bita. Broj rundi može biti između 0 i 255.

RC6 izveden je iz RC5 i ima dvije dodatne značajke: koristi cjelobrojno množenje i 4-bitne registre (RC5 koristi 2-bitne registre).

Dvije ribe

Twofish algoritam je blok šifra koja koristi 128-bitne blokove i jedan ključ za šifriranje i dešifriranje. Veličina ključa može se kretati od 0 do 256 bita.

DSA

DSA je asimetrični algoritam koji koristi i privatni i javni ključ. Privatni ključ govori tko je potpisao poruku, a javni ključ potvrđuje digitalni potpis. U razmjeni poruka između dva entiteta, svaki entitet stvara javni i privatni ključ.

RSA

RSA koristi modularne aritmetičke i elementarne teorije brojeva za izvođenje izračuna pomoću dva velika prosta broja. Smatra se standardom šifriranja i kao takav koristi se u raznim aplikacijama. RSA koristi i privatne i javne ključeve u procesu šifriranja i dešifriranja.

Diffie-Hellman

Diffie-Hellmanov algoritam koristi se za generiranje zajedničkog ključa između dva entiteta preko nesigurnog kanala. Omogućuje dvjema stranama da stvore ključ za šifriranje, a zatim šifriraju svoj promet tim ključem.

Sažetak poruke

Funkcije sažetka poruka ili jednosmjerne funkcije koriste se za izračunavanje jedinstvenog predstavljanja niza fiksne veličine bloka informacija. Ne mogu se poništiti i koriste se za provjeru cjelovitosti datoteke.

MD5 je algoritam sažetka poruke koji uzima proizvoljnu duljinu unosa i stvara 128-bitni sažetak poruke unosa. Ovaj se algoritam koristi u aplikacijama za digitalni potpis, provjeri cjelovitosti datoteka i pohrani lozinke.

SHA

Algoritam sigurnog raspršivanja ili SHA algoritam je koji generira kriptografski siguran sažetak poruke. Postoje tri generacije SHA algoritama: SHA-1, SHA-2 i SHA-3. SHA-1 daje 160-bitne sažetke, dok SHA-2 i SHA-3 proizvode 256, 384 i 512-bitne sažetke.

HMAC

Kôd za provjeru autentičnosti poruka temeljen na hashu ili HMAC vrsta je koda za provjeru autentičnosti poruke. Koristi kombinaciju kriptografskog ključa i hash funkcije poput SHA-1 ili MD5. Koristi se za provjeru autentičnosti i provjeru integriteta.

PKI

PKI označava infrastrukturu javnih ključeva i odnosi se na hardver, softver, ljude, politike i postupke potrebne za upravljanje digitalnim certifikatima. Riječ je o sigurnosnoj arhitekturi koja je razvijena kako bi se povećala povjerljivost podataka koji se razmjenjuju.

Potpisani certifikat je certifikat koji izdaju tijela za ovjeravanje (CA). Sadrži javni ključ i identitet vlasnika.

Potpisnica sa vlastitim potpisom je potvrda koju ste sami izdali i potpisali. Obično se koristi u svrhu testiranja i inače mu se ne smije vjerovati.

Šifriranje e-pošte i diska

Digitalni potpis

Digitalni potpis izrađuje se pomoću asimetrične kriptografije. Priložen je prenesenim podacima i predstavlja kriptografski način provjere autentičnosti.

SSL

SSL je kratica za Secure Sockets Layer i odnosi se na protokol na aplikacijskom sloju čiji je zadatak osigurati sigurnost prijenosa poruka putem mreže i Interneta.

TLS

TLS je skraćenica od Transport Layer Security (Sigurnost transportnog sloja) i odnosi se na protokol koji uspostavlja sigurnu vezu klijent-poslužitelj i osigurava integritet i privatnost podataka tijekom prijenosa.

PGP

PGP označava prilično dobru zaštitu i odnosi se na protokol koji se koristi za šifriranje i dešifriranje autentifikacije i kriptografskih podataka. PGP se koristi za komprimiranje podataka, digitalnih potpisa, šifriranje / dešifriranje e-pošte i druge osjetljive informacije.

Šifriranje diska

Šifriranje diska odnosi se na šifriranje svih podataka pohranjenih na disku. Cilj je zaštititi podatke pohranjene na disku i osigurati njihovu povjerljivost.

Kriptanaliza

Kriptoanaliza se odnosi na postupak dešifriranja šifri i šifriranog teksta. Može prepoznati ranjivosti u kriptosustavima i tako izvući obični tekst iz šifriranog.

Metode korištene u kriptoanalizi su:

  • Linearna kriptoanaliza koristi se na blok šiframa
  • Diferencijalna kriptoanaliza koristi se na algoritmima simetričnih ključeva
  • Integralna kriptoanaliza koristi se na blok šiframa

Metodologija kršenja koda

Tehnike koje se koriste za mjerenje snage algoritma šifriranja razbijanjem šifriranja uključuju:

  • Tehnika grube sile pokušava razbiti šifriranje svakom mogućom kombinacijom znakova
  • Tehnika analize frekvencije analizira učestalost pojavljivanja određenih simbola i na temelju toga prekida šifriranje
  • Tehnika prevara i obmana zahtijeva korištenje tehnika socijalnog inženjeringa za izvlačenje ključeva i razbijanje šifriranja
  • Jednokratna tehnika pad-a odnosi se na neraskidivu enkripciju u kojoj se obični tekst kombinira s ključem koji se sastoji od ne ponavljajućeg se skupa znakova, generira se nasumično i ima istu dužinu kao i poruka koja se šalje.

Kriptografski napadi


  • Napad samo za šifrirani tekst je napad u kojem napadač ima kolekciju šifriranih tekstova koje treba analizirati kako bi pronašao ključ i šifrirao tekst.


  • Napad poznatog otvorenog teksta je napad u kojem napadač ima dio otvorenog teksta na temelju kojeg izvodi ključ.


  • Odabrani napad otvorenog teksta je napad u kojem napadač izvodi ključ analizirajući običan tekst i pripadajući šifrotekst koji je napadač generirao.


  • Izabrani napad na šifrirani tekst je napad u kojem napadač dobiva običan tekst za skup odabranih šifrovih tekstova i pokušava izvesti ključ.


  • Napad grubom silom je napad u kojem se svaka moguća kombinacija tipki iskušava protiv šifreteksta dok se ne pronađe desna tipka. Ovaj napad zahtijeva puno vremena i procesorske snage.


  • Rječnik napada je napad u kojem napadač stvara rječnik otvorenog teksta i njegovog šifriranog teksta, a zatim koristi taj rječnik za razbijanje šifriranja.