Bir mesajı şifreli göndermek istiyorsunuz. Peki bu mesajı yalnızca alıcının okuyabilmesi için nasıl bir sistem kuruyorsunuz? Bu sorunun yanıtı, modern dijital güvenliğin temelini oluşturuyor.
Simetrik vs Asimetrik Şifreleme
Simetrik şifreleme'de gönderici ve alıcı aynı anahtarı paylaşır. AES-256 bu kategorinin en güçlü örneğidir. Hızlıdır, verimlidir ama büyük bir problemi vardır: anahtarı nasıl paylaşacaksınız? Bu "anahtar dağıtım problemi" onlarca yıl boyunca kriptografinin en büyük açmazıydı.
Asimetrik şifreleme ise iki anahtar kullanır — açık anahtar (public key) ve özel anahtar (private key). Biri şifreler, diğeri çözer.
RSA: Büyük Asal Sayıların Gücü
RSA, 1977 yılında Rivest, Shamir ve Adleman tarafından geliştirildi. Temel güvenliği şu matematiksel gerçeğe dayanır:
İki büyük asal sayıyı çarpmak kolaydır; sonucu faktörlemek ise (asal bileşenlerine ayırmak) hesaplamalı olarak imkânsıza yakındır.
# Kavramsal RSA örneği
p = 61 # büyük asal
q = 53 # büyük asal
n = p * q # 3233 — public key'in parçası
# Euler's totient
phi = (p - 1) * (q - 1) # 3120
# Açık üs (genellikle 65537 kullanılır)
e = 17
# Özel üs: e * d ≡ 1 (mod phi)
d = 2753
# Şifreleme: c = m^e mod n
# Çözme: m = c^d mod nGerçek dünyada p ve q 1024 ila 4096 bit uzunluğundadır.
Elliptic Curve Cryptography (ECC)
ECC, RSA ile aynı güvenlik düzeyini çok daha küçük anahtarlarla sağlar.
| Güvenlik (bit) | RSA anahtar boyutu | ECC anahtar boyutu |
|---|---|---|
| 80 | 1024 | 160 |
| 128 | 3072 | 256 |
| 256 | 15360 | 512 |
Bu fark büyük avantajlar sağlar: daha az işlem gücü, daha hızlı bağlantı kurma, özellikle IoT ve mobil cihazlarda kritik.
ECC'nin güvenliği Eliptik Eğri Ayrık Logaritma Problemi (ECDLP) üzerine kuruludur:
P noktasını bir eğri üzerinde n kez kendinize ekleyin → Q noktasını bulun.
Q = n * P işlemi kolaydır.
Ama Q ve P verildiğinde n'yi bulmak hesaplamalı olarak imkânsızdır.
Pratikte Hangisini Kullanmalısınız?
Modern TLS 1.3, X25519 (Curve25519 üzerinde ECDH) ve Ed25519 (EdDSA imzalama) kullanır. Bu eğriler:
- X25519: Hızlı anahtar değişimi için (ECDH)
- Ed25519: Hızlı ve güvenli dijital imza için
# OpenSSL ile Ed25519 anahtar çifti oluşturma
openssl genpkey -algorithm Ed25519 -out private.pem
openssl pkey -in private.pem -pubout -out public.pemRSA'yı ne zaman kullanmalısınız? Yalnızca eski sistemlerle uyumluluk gerektiğinde. Yeni projelerde daima ECC tercih edin.
Quantum Tehdidi
Shor algoritması çalıştıran bir kuantum bilgisayar, RSA ve ECC'yi kırabilir. Bu nedenle NIST, 2024 yılında post-quantum kriptografi standartlarını yayımladı:
- CRYSTALS-Kyber: Anahtar kapsülleme
- CRYSTALS-Dilithium: Dijital imza
- SPHINCS+: Hash tabanlı imza
Şimdiden bu algoritmalara geçiş planı yapmanızı öneririm — "harvest now, decrypt later" saldırıları bugünden başlıyor.