🔍
🔑

12 — Kriptografi

Şifreleme, hashing, simetrik/asimetrik algoritmalar. Verilerin gizliliğini ve bütünlüğünü sağlayan temel bilim.

🔐 Şifreleme Türleri

🔑

Simetrik Şifreleme

Aynı anahtar ile şifreleme ve deşifreleme yapılır. Hızlıdır, büyük veri bloklarında tercih edilir. Anahtar paylaşım problemi vardır — anahtar güvenli bir şekilde karşı tarafa ulaştırılmalıdır.

AlgoritmaAnahtar BoyutuDurum
AES128/192/256 bit✅ Endüstri standardı
DES56 bit❌ Güvensiz, kullanılmamalı
3DES168 bit⚠️ Eski, AES tercih edilmeli
ChaCha20256 bit✅ Modern, hızlı
🔐

Asimetrik Şifreleme

İki farklı anahtar kullanılır: açık anahtar (public key) şifreler, özel anahtar (private key) deşifre eder. Anahtar paylaşım problemini çözer. Dijital imza ve TLS/SSL bu sisteme dayanır.

AlgoritmaKullanımGüvenlik
RSAŞifreleme, dijital imza✅ 2048+ bit
ECCŞifreleme, TLS✅ Daha kısa anahtar
Diffie-HellmanAnahtar değişimi✅ Anahtar anlaşması

#️⃣ Hashing

Hash fonksiyonları, herhangi bir boyuttaki veriyi sabit uzunlukta bir değere dönüştürür. Tek yönlüdür — hash'ten orijinal veri geri elde edilemez. Veri bütünlüğü doğrulama, şifre saklama ve dijital imzalarda kullanılır.

AlgoritmaÇıktı BoyutuKullanımGüvenlik
MD5128 bitDosya doğrulama❌ Çatışma bulundu
SHA-1160 bitEski sistemler❌ Güvensiz
SHA-256256 bitDijital imza, TLS✅ Güvenli
SHA-3DeğişkenYeni uygulamalar✅ En yeni standart
bcrypt184 bitŞifre saklama✅ Salt + iterasyon
Python — Hash Hesaplama Örneği
import hashlib

metin = "Siber Güvenlik"
encoded = metin.encode('utf-8')

# MD5 (güvensiz, sadece dosya doğrulama için)
md5_hash = hashlib.md5(encoded).hexdigest()
print(f"MD5:    {md5_hash}")

# SHA-256 (güvenli)
sha256_hash = hashlib.sha256(encoded).hexdigest()
print(f"SHA256: {sha256_hash}")

# SHA-3 (en yeni standart)
sha3_hash = hashlib.sha3_256(encoded).hexdigest()
print(f"SHA3:   {sha3_hash}")

⚠️ Önemli Kurallar

  • Şifreleri hash'leyerek saklayın, asla düz metin olarak tutmayın
  • Salt kullanarak rainbow table saldırılarını engelleyin
  • MD5 ve SHA-1 şifre hash'leme için kullanmayın
  • Şifre hash'leme için bcrypt, scrypt veya Argon2 tercih edin

📝 Notlar 0