Invatare Atomica

Introducere in Criptografie

Cum protejam informatia: cheie simetrica, cheie asimetrica, hash si semnatura digitala

Progres lectie:
0%
🎯

Obiectivul lectiei

Vei intelege cum functioneaza criptografia la nivel conceptual: de ce avem nevoie de ea, cum transforma informatia clara intr-un mesaj protejat si care sunt cele trei mari mecanisme folosite in securitatea digitala moderna.

Dupa aceasta lectie vei putea:

  • Sa explici ce este criptografia si de ce este esentiala in lumea digitala
  • Sa descrii cifrul Cezar si sa cifrezi/descifrezi manual un mesaj simplu
  • Sa compari criptarea simetrica cu criptarea asimetrica (avantaje si dezavantaje)
  • Sa explici ce este o functie hash si de ce hash-ul nu poate fi inversat
  • Sa identifici situatii reale in care fiecare mecanism este utilizat (HTTPS, parole, semnatura digitala)

Incearca singur!

Provocare: Cifrul Cezar manual

Incearca sa descifrezi acest mesaj folosind regula: muta fiecare litera inapoi cu 3 pozitii in alfabet.

FXQHFXQD

💡 Ai nevoie de un indiciu?

F - 3 = C, X - 3 = U, Q - 3 = N, H - 3 = E. Aplica acelasi calcul pentru toate literele.

Raspuns: CUNECUNA (CUNE + CUNA — secvente similare, dar nu identice; observa totusi ca literele F, X, Q apar de doua ori in textul cifrat si produc aceleasi litere C, U, N in clar — asta ilustreaza un punct slab al cifrului Cezar: frecventele si tiparele de litere se pastreaza).

1

1. Ce este criptografia?

Criptografia este stiinta transformarii informatiei intr-o forma ilizibila pentru cei neautorizati, astfel incat numai persoanele care detin cheia corecta sa o poata citi sau folosi.
Doua concepte de baza:
  • Textul clar (plaintext) — mesajul original, lizibil
  • Textul cifrat (ciphertext) — mesajul transformat, ilizibil fara cheie
Analogie

Gandeste-te la un seif cu cifru. Documentele sunt informatia clara; seiful incuiat este informatia criptata. Codul seifului este cheia. Fara cod, nimeni nu poate citi documentele, chiar daca seiful este vizibil.

🔒
De ce conteaza in viata de zi cu zi?

De fiecare data cand accesezi un site HTTPS, trimiti un mesaj pe WhatsApp sau platesti online, criptografia functioneaza in fundal pentru a-ti proteja datele.

2

2. Cifrul Cezar — primul algoritm de criptare

Cifrul Cezar este unul dintre cele mai vechi metode de criptare: fiecare litera din mesaj este inlocuita cu o alta litera aflata la o distanta fixa in alfabet (numita cheie sau deplasare).

Exemplu cu cheie = 3:

Tabel de deplasare (primele 13 litere)
Original: A  B  C  D  E  F  G  H  I  J  K  L  M
Criptat:  D  E  F  G  H  I  J  K  L  M  N  O  P

Cifrarea BUNA cu cheie 3:

Pas cu pas
B (pozitia 2)  + 3 = E (pozitia 5)
U (pozitia 21) + 3 = X (pozitia 24)
N (pozitia 14) + 3 = Q (pozitia 17)
A (pozitia 1)  + 3 = D (pozitia 4)

BUNA  →  criptat  →  EXQD

Decriptarea functioneaza invers: scadem 3 din fiecare litera a textului cifrat si obtinem mesajul original.

Demonstratie rulata in Python (output real):

# Cifrul Cezar - criptare si decriptare
mesaj = 'SALUT'
cheie = 3

criptat = ''
for litera in mesaj:
    deplasare = (ord(litera) - ord('A') + cheie) % 26
    criptat += chr(ord('A') + deplasare)

print('Mesaj original:', mesaj)
print('Mesaj criptat:', criptat)
Output real (python):
Mesaj original: SALUT
Mesaj criptat: VDOXW
⚠ Atentie — punct slab
Cifrul Cezar este usor de spart: exista doar 25 de chei posibile (deplasari 1-25). Un atacator poate incerca toate variantele in cateva secunde. Este util doar ca exemplu educational, nu pentru securitate reala.
3

3. Criptarea simetrica — o cheie pentru amandoi

In criptarea simetrica, expeditorul si destinatarul folosesc aceeasi cheie secreta atat pentru cifrare cat si pentru descifrare. Cifrul Cezar este cel mai simplu exemplu. Algoritmi moderni: AES (Advanced Encryption Standard).

Avantaje

Foarte rapida; potrivita pentru volume mari de date (video, baze de date, hard-disk-uri criptate).

Dezavantaj major

Problema distributiei cheii: cum trimiti cheia secreta destinatarului fara ca altcineva sa o intercepteze?

Analogie

Expeditorul si destinatarul au copii identice ale aceleiasi chei fizice pentru un lacat. Pot incuia si descuia cutia de scrisori. Dar daca vor sa-si trimita prima copie a cheii, au nevoie sa o predea cumva in siguranta — altfel cineva ar putea sa o copieze pe drum.

Utilizare tipica: criptarea discului (BitLocker, FileVault), criptarea arhivelor ZIP cu parola, transferul rapid al datelor in interiorul unei conexiuni deja stabilite.

4

4. Criptarea asimetrica — doua chei, zero schimb secret

In criptarea asimetrica (sau cu cheie publica), fiecare participant are o pereche de chei: una publica (distribuita liber, oricui) si una privata (pastrata in secret, numai de proprietar). Algoritmi: RSA, ECC.

Cum functioneaza:

  1. Ana isi publica cheia publica (ca un numar de telefon listat in carte).
  2. Bogdan vrea sa ii trimita un mesaj secret. El cripteaza mesajul cu cheia publica a Anei.
  3. Mesajul cifrat poate fi vazut de oricine, dar numai Ana il poate decripta, folosind cheia sa privata.
  4. Nici macar Bogdan nu poate decripta ce a criptat el insusi!

Avantaj major

Elimina problema distributiei cheii: cheia publica poate fi trimisa pe orice canal, inclusiv nesigur.

Dezavantaj

Mult mai lenta decat criptarea simetrica; nepotrivita pentru volume mari de date.

💡 In practica: HTTPS combina ambele!
Cand accesezi un site HTTPS, browserul si serverul folosesc criptare asimetrica pentru a schimba in siguranta o cheie simetrica temporara. Dupa aceea, intreaga sesiune este criptata simetric (rapid). Aceasta combinatie se numeste TLS handshake.
5

5. Functii hash — amprenta digitala a datelor

O functie hash criptografica transforma orice date (orice lungime) intr-un sir de lungime fixa, numit hash sau digest. Este o functie unidirectionala: din hash nu poti reconstitui datele originale. Algoritmi: SHA-256, SHA-3.
Proprietatile esentiale ale unui hash criptografic:
  • Determinism: acelasi input produce intotdeauna acelasi hash
  • Unidirectional: nu poti calcula inputul pornind de la hash
  • Sensibil la modificari: o singura litera schimbata produce un hash complet diferit
  • Lungime fixa: SHA-256 produce intotdeauna 256 de biti (64 caractere hexadecimale)

Demonstratie rulata in Python (output real):

# Hash cu hashlib - Python
import hashlib

parola = 'parola123'
hash_sha256 = hashlib.sha256(parola.encode()).hexdigest()

print('Parola:', parola)
print('Hash SHA-256:', hash_sha256[:32], '...')

parola2 = 'parola123'
print('Acelasi hash:', hashlib.sha256(parola2.encode()).hexdigest()[:32])
print('Sunt identice:', hash_sha256 == hashlib.sha256(parola2.encode()).hexdigest())
Output real (python):
Parola: parola123
Hash SHA-256: a3a2754f94b4f8c1ca8d29290bc37ba9 ...
Acelasi hash: a3a2754f94b4f8c1ca8d29290bc37ba9
Sunt identice: True
Utilizare practica: stocarea parolelor

Site-urile nu iti salveaza parola in clar! Salveaza hash-ul parolei tale. Cand te autentifici, site-ul calculeaza hash-ul parolei introduse si il compara cu cel stocat. Daca cineva fura baza de date, obtine doar hash-uri — nu parolele reale.

6

6. Semnatura digitala si rezumat comparativ

Semnatura digitala combina hash-ul si criptarea asimetrica pentru a dovedi autenticitatea si integritatea unui document: cine l-a trimis si ca nu a fost modificat pe drum.

Cum functioneaza:

  1. Ana calculeaza hash-ul documentului.
  2. Ana cripteaza hash-ul cu cheia sa PRIVATA — aceasta este semnatura digitala.
  3. Bogdan primeste documentul + semnatura. El decripteaza semnatura cu cheia PUBLICA a Anei si obtine hash-ul original.
  4. Bogdan calculeaza independent hash-ul documentului primit. Daca cele doua hash-uri coincid, documentul este autentic si nemodificat.

Rezumat comparativ al mecanismelor:

Mecanism Cheie(i) Reversibil? Utilizare tipica
Simetric (AES) O cheie secreta Da (cu aceeasi cheie) Criptare disc, VPN, ZIP
Asimetric (RSA) Pereche publica/privata Da (cu cheia privata) HTTPS, e-mail criptat
Hash (SHA-256) Nicio cheie Nu Parole, integritate fisiere
Semnatura digitala Pereche publica/privata Partial (hash) Documente legale, software
🔍
Cele trei proprietati protejate de criptografie

Confidentialitate (cine poate citi) · Integritate (daca a fost modificat) · Autenticitate (cine a trimis). Impreuna formeaza baza securitatii informatiei.

Exercitii practice

Exercitiul 1 (Nivel minim) — Cifrul Cezar manual

Cripteaza cuvantul INFO folosind cifrul Cezar cu cheie = 4. Scrie fiecare pas (litera originala → pozitie → pozitie + 4 → litera criptata). Ce cuvant obtii?

Exercitiul 2 (Nivel standard) — Alege mecanismul potrivit

Pentru fiecare situatie, indica ce mecanism criptografic este cel mai potrivit si justifica alegerea:

  1. Un site de shopping vrea sa stocheze parolele utilizatorilor.
  2. O companie vrea sa cripteze rapid 500 GB de date pe un server intern.
  3. Un avocat vrea sa trimita un contract electronic si sa dovedeasca faptul ca el l-a semnat si ca nu a fost modificat.

Exercitiul 3 (Nivel performanta) — Analiza unui scenariu HTTPS

Descrie in ordine pasii care au loc criptografic atunci cand accesezi https://bancatamea.ro si introduci parola. Identifica: ce tip de criptare se foloseste la fiecare pas, ce chei sunt implicate si ce se protejeaza (confidentialitate / integritate / autenticitate).

Ce ai invatat astazi

  • Criptografia transforma informatia clara in ciphertext; numai cel cu cheia corecta poate decripta
  • Cifrul Cezar deplaseaza fiecare litera cu un numar fix — simplu de inteles, usor de spart
  • Criptarea simetrica (AES): o cheie, rapida, problema distributiei cheii
  • Criptarea asimetrica (RSA): pereche publica/privata, elimina problema distributiei, mai lenta
  • Functia hash (SHA-256): unidirectionala, lungime fixa, utilizata pentru parole si integritate
  • Semnatura digitala: hash + criptare asimetrica = autenticitate + integritate
  • HTTPS foloseste ambele tipuri de criptare: asimetric pentru negocierea cheii, simetric pentru sesiune

Urmatoarea lectie

Continua cu Lectia 4: Ce este Inteligenta Artificiala? — Machine Learning, retele neurale si aplicatii practice.

Continua →