Şifreleme hakkındaki en yaygın kafa karışıklığı şudur: iki farklı yöntem vardır, birbirinin alternatifi sanılır, oysa gerçek sistemler ikisini de aynı anda kullanır. Her birinin çözdüğü sorun farklıdır.
Simetrik: tek anahtar
Simetrik şifrelemede şifreleyen ve çözen aynı anahtardır. AES bugünün standardıdır.
Avantajı hızdır — modern işlemcilerde donanım desteği olduğu için gigabaytlarca veri saniyeler içinde şifrelenir. Disk şifreleme, veritabanı şifrelemesi ve TLS oturumunun asıl veri taşıması hep simetriktir.
Sorunu tek ve büyüktür: anahtarı karşı tarafa nasıl ulaştıracaksınız? Anahtarı şifrelenmemiş bir kanaldan gönderirseniz, dinleyen kişi hem anahtarı hem veriyi alır. Kanalı şifrelemek için de anahtar gerekir — döngü kapanmaz.
Disk tarafında bu sorunun nasıl çözüldüğü BitLocker dağıtım planlayıcı aracında görülebilir: anahtar TPM’e mühürlenir ya da bir kurtarma parolasıyla korunur.
Asimetrik: birbirine bağlı iki anahtar
Asimetrik şifreleme, matematiksel olarak ilişkili bir anahtar çifti kullanır. Biriyle şifrelenen yalnızca diğeriyle çözülür.
Ortak anahtar herkese verilebilir. Özel anahtar sizde kalır ve asla paylaşılmaz. RSA ve eliptik eğri algoritmaları bu ailedendir.
Bu, anahtar dağıtım sorununu çözer: ortak anahtarınızı açıkça yayınlarsınız, size onunla şifrelenmiş mesaj gönderilir, yalnızca siz açarsınız.
Bedeli hızdır. Asimetrik işlemler simetriğe göre kat kat yavaştır; büyük veriyi bu yöntemle şifrelemek pratik değildir.
İkisi birlikte: melez yaklaşım
Gerçek sistemler tam da bu yüzden ikisini birleştirir.
TLS bağlantısında asimetrik şifreleme yalnızca başlangıçta kullanılır: taraflar kimlik doğrular ve bir oturum anahtarı üzerinde anlaşır. Sonrasında asıl veri, o simetrik oturum anahtarıyla taşınır.
Yani asimetrik kısım anahtar dağıtım sorununu çözer, simetrik kısım hızı sağlar. Aynı desen şifreli e-posta ve şifreli yedeklemelerde de görülür.
El sıkışmanın tamamı TLS sertifikası nasıl çalışır yazısında, sunucu tarafı ayarlar TLS yapılandırma aracında.
Dijital imza: ters yön
Asimetrik çiftin ikinci kullanımı imzadır ve yön terstir.
Şifrelemede ortak anahtarla şifreler, özel anahtarla açarsınız. İmzada özel anahtarla imzalar, ortak anahtarla doğrularsınız.
Bu, gizlilik değil bütünlük ve kaynak kanıtı sağlar: mesajın değişmediğini ve gerçekten sizden geldiğini gösterir. Sertifika yetkilisinin sertifikaları imzalaması, yazılım imzalama ve kod imzalama hep budur.
Özet fonksiyonları imza değildir
Sık karıştırılan üçüncü bir kavram var: özet (hash) fonksiyonları. SHA-256 gibi bir fonksiyon veriyi sabit uzunlukta bir parmak izine indirir ve geri döndürülemez.
Özet tek başına kimlik kanıtlamaz — herkes hesaplayabilir. Bir dosyanın bozulmadığını doğrulamak için yeterlidir, ama kimden geldiğini söylemez. İmza, özetin özel anahtarla şifrelenmiş hâlidir; kaynak bilgisini ekleyen budur.
Dosya özetlerini hesaplamak için hash hesaplayıcı aracı var.
Araya bir paylaşılan sır eklendiğinde HMAC elde edilir; bu, webhook doğrulamasının temelidir ve webhook imza doğrulayıcı aracında ele alınıyor.
Anahtar uzunluğu karşılaştırılamaz
“2048 bit RSA, 256 bit AES’ten güçlü” cümlesi yanlıştır. İki ailenin bit sayıları farklı şeyler ölçer.
Kabaca eşdeğerlik şöyledir: 128 bit simetrik güvenlik için 3072 bit RSA ya da 256 bit eliptik eğri gerekir. Eliptik eğri algoritmalarının yaygınlaşma nedeni budur — aynı güvenliği çok daha kısa anahtarla verirler.
SSH tarafında bu, ed25519 anahtarlarının neden tercih edildiğini açıklar; ayrıntısı SSH sertleştirme aracında.
Şifreleme kipi de önemli
Simetrik algoritmayı seçmek yetmez; verinin nasıl bloklara bölünüp işleneceğini belirleyen kip de seçilir ve burada gerçek hatalar yapılır.
En bilinen tuzak ECB kipidir: her blok bağımsız şifrelenir, dolayısıyla aynı düz metin bloğu hep aynı şifreli bloğu üretir. Bir görüntü ECB ile şifrelendiğinde şeklin ana hatları şifreli hâlde bile seçilebilir. Kısacası ECB, veri desenlerini sızdırır ve kullanılmamalıdır.
Bugünün doğru seçimi, şifrelemeyle bütünlük denetimini birleştiren kiplerdir — AES-GCM gibi. Bunlar yalnızca gizliliği değil, verinin yolda değiştirilmediğini de garanti eder.
Ayrım pratiktir: yalnızca gizlilik sağlayan bir kipte saldırgan içeriği okuyamaz ama değiştirebilir. Bütünlük eklendiğinde değişiklik fark edilir ve veri reddedilir.
Sunucu tarafında hangi şifre takımlarının açık kalacağı TLS yapılandırma aracında üretilebilir.
Kuantum sonrası
Yeterince büyük bir kuantum bilgisayar, bugünkü asimetrik algoritmaları kırabilir. Simetrik şifreleme ise yalnızca zayıflar — anahtar uzunluğunu iki katına çıkarmak yeterlidir.
Bunun bugünkü pratik sonucu “bugün kaydet, yarın çöz” riskidir: bugün yakalanan trafik, gelecekte çözülmek üzere saklanabilir. Bu yüzden yeni protokoller kuantum dayanıklı anahtar değişimini melez biçimde devreye almaya başladı.
Kısaca
Simetrik hızlıdır ama anahtarı ulaştırma sorunu vardır. Asimetrik o sorunu çözer ama yavaştır. Gerçek sistemler asimetriği anahtar anlaşmasında, simetriği veri taşımada kullanır. İmza ise aynı çiftin ters yönde kullanımıdır ve gizlilik değil kaynak kanıtı sağlar.