1. Ce este criptografia?
- Textul clar (plaintext) — mesajul original, lizibil
- Textul cifrat (ciphertext) — mesajul transformat, ilizibil fara cheie
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 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. Cifrul Cezar — primul algoritm de criptare
Exemplu cu cheie = 3:
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:
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)
Mesaj original: SALUT Mesaj criptat: VDOXW
3. Criptarea simetrica — o cheie pentru amandoi
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?
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. Criptarea asimetrica — doua chei, zero schimb secret
Cum functioneaza:
- Ana isi publica cheia publica (ca un numar de telefon listat in carte).
- Bogdan vrea sa ii trimita un mesaj secret. El cripteaza mesajul cu cheia publica a Anei.
- Mesajul cifrat poate fi vazut de oricine, dar numai Ana il poate decripta, folosind cheia sa privata.
- 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.
5. Functii hash — amprenta digitala a datelor
- 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())
Parola: parola123 Hash SHA-256: a3a2754f94b4f8c1ca8d29290bc37ba9 ... Acelasi hash: a3a2754f94b4f8c1ca8d29290bc37ba9 Sunt identice: True
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. Semnatura digitala si rezumat comparativ
Cum functioneaza:
- Ana calculeaza hash-ul documentului.
- Ana cripteaza hash-ul cu cheia sa PRIVATA — aceasta este semnatura digitala.
- Bogdan primeste documentul + semnatura. El decripteaza semnatura cu cheia PUBLICA a Anei si obtine hash-ul original.
- 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 |
Confidentialitate (cine poate citi) · Integritate (daca a fost modificat) · Autenticitate (cine a trimis). Impreuna formeaza baza securitatii informatiei.