Kriptografija srednje

Asimetrična vs Simetrična Kriptografija

🎯 Šta ćeš naučiti

  • Razliku između simetrične i asimetrične kriptografije
  • Kako funkcioniše tajni (shared) ključ
  • Kako funkcionišu javni i privatni ključevi
  • Kada se koristi koja metoda u praksi
  • Zašto se obe metode često kombinuju u modernim sistemima

🔐 Simetrična kriptografija - Jedan ključ za sve

Kod simetrične kriptografije koristi se isti ključ za šifrovanje i dešifrovanje podataka.

Kako funkcioniše?

1. Ana šifruje poruku tajnim ključem "abc123"
   Poruka: "Vidimo se sutra" → Šifrovano: "x7#mK9$pL2@qN"

2. Marko prima šifrovanu poruku

3. Marko dešifruje sa istim ključem "abc123"
   Šifrovano: "x7#mK9$pL2@qN" → Poruka: "Vidimo se sutra"

📊 Popularni algoritmi:

  • AES (Advanced Encryption Standard) - najkorišćeniji danas
  • ChaCha20 - moderni, brz algoritam
  • 3DES - stariji, polako se povlači

✅ Prednosti:

  • Izuzetno brza - može da šifruje gigabajte podataka u sekundi
  • Efikasna - idealna za velike fajlove (video, baze podataka)
  • Jednostavna - matematički manje složena

❌ Najveći problem:

Kako bezbedno podeliti ključ?

Ako Ana i Marko žele da razmenjuju šifrovane poruke, moraju prvo da se nekako dogovore oko tajnog ključa. Ali kako ga poslati kroz nesiguran kanal (internet) a da ga niko ne uhvati?

💡 Realan primer: Kada šifruješ hard disk sa BitLocker/VeraCrypt, koristiš simetričnu kriptografiju. Passwordom zaključavaš/otključavaš disk.


🔑 Asimetrična kriptografija - Par ključeva

Asimetrična kriptografija koristi dva različita ključa koji matematički idu zajedno:

  • Javni ključ (public key) - može se deliti sa svima
  • Privatni ključ (private key) - mora ostati tajan

Magija matematike:

Ono što šifruješ JAVNIM ključem → može da se dešifruje samo PRIVATNIM
Ono što šifruješ PRIVATNIM ključem → može da se dešifruje samo JAVNIM

Kako to izgleda u praksi?

Scenario: Ana šalje tajnu poruku Marku

1. Marko generiše par ključeva:
   - Javni ključ: OBJAVI_NA_SAJTU_123
   - Privatni ključ: DRZI_U_TAJNOSTI_456

2. Marko objavi javni ključ (npr. na svom sajtu)

3. Ana preuzme Markov javni ključ

4. Ana šifruje poruku Markovim javnim ključem:
   "Sastanak u 15h" + OBJAVI_NA_SAJTU_123 = "k8$xP2#mQ9..."

5. Samo Marko može da dešifruje jer ima privatni ključ:
   "k8$xP2#mQ9..." + DRZI_U_TAJNOSTI_456 = "Sastanak u 15h"

📊 Popularni algoritmi:

  • RSA - najpoznatiji, koristi se decenijama
  • ECC (Elliptic Curve) - moderniji, krući ključevi za istu sigurnost
  • Diffie-Hellman - za razmenu ključeva

✅ Prednosti:

  • Nema potrebe za tajnom razmenom ključa
  • Omogućava digitalne potpise (dokaz ko je poslao poruku)
  • Skalabilna - možeš komunicirati sa hiljadama ljudi bez deljenja tajni

❌ Mane:

  • Spora - 100-1000x sporija od simetrične
  • Nije praktična za velike podatke - šifrovanje 1GB fajla bi trajalo predugo
  • Veličina ključa - RSA ključevi su 2048-4096 bit (veliki)

💡 Realan primer: Kada se konektuješ na HTTPS sajt (npr. Facebook), server ti šalje svoj javni ključ. Ti njime šifruješ podatke koje samo server može pročitati.


🔄 Zašto se koriste zajedno?

Problem: - Asimetrična je sigurna ali spora - Simetrična je brza ali ima problem sa razmeom ključa

Rešenje: Hibridna kriptografija 🎯

Moderni sistemi (HTTPS, VPN, Signal, WhatsApp) rade ovako:

Faza 1: ASIMETRIČNA kriptografija (par sekundi)
1. Klijent i server razmene javne ključeve
2. Dogovore se oko jednog tajnog ključa (session key)
3. Taj ključ šifruju asimetrično

Faza 2: SIMETRIČNA kriptografija (ceo razgovor)
4. Svu dalju komunikaciju šifruju brzim simetričnim algoritmom
5. Koriste session key iz faze 1

Primer - HTTPS konekcija:

1. Otvoriš facebook.com
2. (ASIMETRIČNA) Server ti pošalje javni ključ (SSL/TLS certifikat)
3. (ASIMETRIČNA) Dogovorite se oko tajnog ključa (handshake)
4. (SIMETRIČNA) Sav sadržaj (slike, poruke, feed) se šifruje AES-om

Najbolje od oba sveta: - Bezbedna razmena ključa (asimetrična) - Brzo šifrovanje podataka (simetrična)


📊 Detaljno poređenje

Karakteristika Simetrična Asimetrična
Broj ključeva 1 (deli se između strana) 2 (javni + privatni)
Brzina ⚡ Vrlo brza 🐢 Sporija (100-1000x)
Razmena ključa Problematična Laka i sigurna
Veličina ključa 128-256 bit 2048-4096 bit
Svrha Šifrovanje podataka Razmena ključeva, potpisi
Primeri AES, ChaCha20, 3DES RSA, ECC, DH
Koristi se za Fajlove, diskove, stream Autentifikaciju, key exchange

🏠 Analogija iz života

Simetrična kriptografija = Sef sa jednim ključem

Problem: Imaš sef kod kuće. Želiš da prijatelj stavi nešto u njega.
Rešenje: Moraš mu dati kopiju ključa.
Rizik: Šta ako neko presretne ključ dok ga šalješ?

Asimetrična kriptografija = Sanduče sa otvorenom bravom

Problem: Želiš primati tajne poruke od ljudi.
Rešenje: Postaviš sanduče sa bravom (ali otključanom).
- Svako može da baci poruku i zaključa bravu
- Samo ti imaš ključ da je otvoriš
Rizik: Nema ga! Brava je napravljena tako da samo tvoj ključ odgovara.

💻 Praktični primeri iz svakodnevice

HTTPS (Web browsing)

Asimetrična: Razmena ključeva (TLS handshake)
↓
Simetrična: Ceo web sadržaj (AES)

WhatsApp/Signal (Poruke)

Asimetrična: Dogovor oko sesije (ECC)
↓
Simetrična: Šifrovanje poruka (AES)

SSH (Remote pristup serveru)

Asimetrična: Autentifikacija (RSA/Ed25519)
↓
Simetrična: Komande i output (AES)

WiFi WPA2/WPA3

Asimetrična: Initial handshake
↓
Simetrična: Sav internet saobraćaj (AES)

Šifrovanje hard diska

Samo simetrična: AES
(Nema razmene ključa - ti unesiš password)

🎓 Ključni zaključci

Simetrična kriptografija:

  • Idealna za brzinu i velike podatke
  • Problem: kako bezbedno podeliti ključ?
  • Koristi se za: fajlove, diskove, stream podatke

Asimetrična kriptografija:

  • Idealna za bezbednu razmenu i autentifikaciju
  • Problem: spora i nepraktična za velike podatke
  • Koristi se za: razmena ključeva, digitalni potpisi

Zajedno:

  • Moderni sistemi UVEK koriste obe
  • Asimetrična rešava problem razmene
  • Simetrična omogućava brzinu
  • Kombinacija = sigurnost + performanse

✔️ Završetak Lekcije

Ova lekcija nema proveru znanja. Kliknite na dugme ispod da je označite kao završenu.