Şifre gücünü gözle değerlendiremezsiniz. "P@ssw0rd!" kulağa karmaşık gelir; büyük harf, sembol, rakam — hepsini içeriyor. Modern şifre kırma araçları bunu birkaç saniyede tahmin eder. Çünkü güç, karakterlerin çeşitliliğiyle değil entropi adını verdiğimiz matematiksel büyüklükle ölçülür; ve entropi, görünümden bağımsız çalışır.
Entropi, bir şifrenin ne kadar öngörülmez olduğunu bit cinsinden ifade eder. Bu değer yükseldikçe saldırganın denemesi gereken kombinasyon sayısı katlanarak büyür — on kat değil, binlerce, bazen milyarlarca kat.
Entropi formülü ve ne anlama gelir
Hesap tek bir denklemle yapılır: H = L × log₂(N). Burada L şifrenin uzunluğu, N ise kullanılan karakter havuzunun büyüklüğüdür.
Yalnızca küçük harften oluşan 8 karakterlik bir şifre: 8 × log₂(26) ≈ 37,6 bit. Büyük harf, küçük harf, rakam ve sembol içeren — yani 95 karakterlik tam ASCII havuzundan seçilen — aynı uzunlukta bir şifre: 8 × log₂(95) ≈ 52,6 bit. Aradaki fark 15 bit gibi görünür. Ama bu, saldırganın deneme yapması gereken uzayın 2¹⁵ = 32.768 kat büyümesi demektir.
Formülün kritik varsayımı şu: her karakter birbirinden bağımsız ve eşit olasılıkla seçilmeli. "P@ssw0rd!" için formül 52+ bit verir; ama bu şifre her sözlük listesinin ilk sayfasındadır — çünkü varsayım baştan ihlal edilmiştir.
Uzunluk mu, karakter çeşitliliği mi?
İkisi de entropi denkleminin değişkeni — ama etkileri simetrik değil.
Karakter havuzunu 26'dan 95'e çıkarmak her karakter için yaklaşık 2,5 bit kazandırır. Aynı farkı uzunluğa iki karakter ekleyerek de elde edebilirsiniz: 2 × log₂(95) ≈ 13,3 bit. Başka bir deyişle, 8 karakterli "karmaşık" bir şifre yerine yalnızca küçük harflerden oluşan 14 karakterlik gerçekten rastgele bir dizi çoğu senaryoda daha güçlüdür.
Pratikte bu ayrımın önemi şuradan gelir: karmaşıklık kuralı dayatıldığında insanlar genellikle kısa şifreler seçer ve sonra büyük harf veya sembol ekleyerek kuralı geçiştirmeye çalışır. Uzunluk ise kombinasyon sayısını üstel olarak büyütür — kural olsun ya da olmasın. Kural tabanlı karmaşıklığın entropi üzerindeki paradoksal etkisi özel karakter kullanımı ve sembol politikası yazısında daha ayrıntılı ele alınıyor; kısa özet: sembol zorunluluğu çoğunlukla gerçek entropi değil, uyum görünümü üretir.
12 karakterin altında kalan hiçbir şifre, karakter havuzu ne kadar geniş olursa olsun, 2025 sonrası brute force eşiklerinin üstüne çıkamaz. Hızlı hash fonksiyonlarında (MD5, SHA-1) bu sınır GPU hızı ve hash maliyeti tablolarından türetilen pratik bir veri; bcrypt veya Argon2 kullanan sistemlerde eşik biraz daha aşağı kayar — ama 12 karakter hiçbir yapılandırmada geleceğe karşı güvenli bir hedef değildir.
Passphrase entropisi: sözcük tabanlı şifrelerin farklı hesabı
Karakter tabanlı şifreler tek olası yol değil. Passphrase yaklaşımı — birbiriyle ilgisiz rastgele sözcüklerden oluşan uzun diziler — entropi formülünü farklı bir eksenle kullanır: burada N, tek karakter sayısı değil, sözcük havuzunun büyüklüğüdür.
Diceware yönteminin standart sözcük listesi 7.776 sözcük içerir (6⁵, yani beş zar atışının ürettiği kombinasyon sayısı). Dört sözcüklük bir passphrase: 4 × log₂(7.776) ≈ 51 bit. Beş sözcük 64 bit, altı sözcük 77 bit üretir. "domates-köprü-serinlik-tutanak" dizisi hem 51 bitlik entropiye sahip hem de hatırlanabilir — çünkü dört somut kavramdan oluşuyor; karakter dizisi gibi hafızadan kaybolmuyor.
Karşılaştırma noktası şu: 8 karakterlik tam ASCII şifresi 52 bit verir. Dört sözcüklük passphrase da benzer bir değer üretir — ama yazması çok daha kolay, sözlük saldırısına karşı ise sözcük kombinasyonlarının uzayı yüzünden aynı ölçüde dayanıklı. Beş sözcüğe geçildiğinde denge passphrase'in lehine döner. Tek şart gerçekten rastgele sözcük seçimi; "güzel-günler-geliyor" gibi anlamlı bir cümle bu hesabın tamamen dışındadır — tahmin edilebilirlik entropiyi çökertiyor.
Kaç bit yeterli?
Cevap sabit değil — saldırı senaryosuna, hash fonksiyonuna ve yılın teknolojik durumuna göre kayar.
Önce saldırı tipini ayırt etmek gerekiyor. Çevrimiçi saldırı — yani doğrudan giriş formuna deneme yapma — her başarısız girişimde gecikme, hesap kilitleme veya CAPTCHA ile yavaşlar. Bu ortamda 40 bitlik entropi bile pratik olarak kırılamaz; saldırgan saniyede birkaç denemeyle milyarlarca kombinasyonu geçemez. Çevrimdışı saldırı ise farklı bir dünya: saldırganın şifre hash'ini ele geçirip kendi donanımında test ettiği senaryo. Burada gecikme yok, yalnızca hesap hızı var.
GPU tabanlı kırma araçları, MD5 gibi hızlı hash fonksiyonları için saniyede on milyarlarca deneme yapabilir. Bcrypt veya Argon2 gibi kasıtlı olarak yavaşlatılmış fonksiyonlar bu hızı saniyede yüzlerce binlere düşürür — ama bu güvenceyi şifrenize değil, sistemin hash seçimine bağlar. Şifreyi saklayan taraf zayıf hash kullanıyorsa, 80 bitlik entropi bile pratik güvencesini yitirir.
Kabaca bir referans tablosu (çevrimdışı saldırı, modern GPU varsayımı):
- 40 bit altı — trivial, dakikalar veya saniyeler
- 40–60 bit — çevrimiçi saldırıya karşı yeterli, çevrimdışına karşı zayıf
- 60–80 bit — çevrimdışı saldırıya karşı iyi, güçlü hash varsayımıyla
- 80+ bit — iyi tasarlanmış hash fonksiyonlarıyla pratikte kırılamaz
Gündelik kullanım için somut karşılık: 8 karakterlik şifre 40–55 bit bandında kalır. 16 karakterlik tam rastgele şifre 100+ bit üretir. Kırılma süresi bu iki senaryo arasında astronomik biçimde farklılaşır. Kriptografi alanında 128 bit güvenlik seviyesi geleceğe dönük referans eşik olarak görülüyor; bugün için 80 bit güçlü, 100+ bit ise uzun vadeli kullanım için temkinli bir hedef.
"Güçlü görünen" şifrenin entropi tuzağı
Gerçek sorun burada yatıyor.
"P@ssw0rd!" tüm karmaşıklık kriterlerini karşılar: büyük harf, küçük harf, rakam, sembol. Formül onu 52+ bit gösterir. Ama bu şifre modern kırma araçlarının ilk birkaç saniyesinde devrilir — çünkü "s → $, o → 0, a → @" dönüşümleri sözlük saldırılarının standart kural setine dahildir. Teorik havuz genişliği gerçek tahmin uzayını yansıtmaz.
Karşı örnekte, "xkj8mQ#wLp2v" şifresi aynı uzunlukta ve görünürde benzer karmaşıklıkta — ama kriptografik rastgele üreticiyle oluşturulmuşsa formüldeki 75+ bitin tamamı gerçektir. Sözlük listesinde yer almaz; kalıp tanıma algoritması onu örüntüsüz bulur; kural tabanlı mutasyon uygulanacak temel sözcük yoktur.
Benzer bir tuzak, klavye yürüyüşü (keyboard walk) kalıplarında da işler. "qwerty", "asdfgh", "1qaz2wsx" gibi diziler klavyede görsel açıdan düzenli; insan gözüne karmaşık gelebilir, formüle göre kabul edilebilir entropi değerleri üretebilir. Kırma araçları bu kalıpları yıllardır tanıyor ve öncelikli deneme listelerine dahil ediyor. Doğum tarihi tabanlı şifreler de aynı kategoriye giriyor — "19850312" sekiz rakamlı bir dizi, ama olası kombinasyon uzayı gerçek sekiz basamaklı sayının küçük bir kesitidir; çünkü tarih formatları belirleyici bir filtre işlevi görür.
Entropi formülünün arkasındaki bu varsayımı — her karakterin bağımsız ve eşit olasılıklı seçimi — yalnızca kriptografik rastgele üretici sağlayabilir. İnsan seçimi her zaman bağımsız değildir: klavye pozisyonları, anlamlı kelimeler, hatırlanabilirlik baskısı — bunların tümü entropiyi aşağı çeker.
Gerçekçi güç ölçümü: salt formülün ötesi
Salt karakter seti analizi yeterli olmadığı için daha gerçekçi ölçüm yöntemleri geliştirildi. Dropbox'ın açık kaynaklı kütüphanesi zxcvbn, şifreyi karakter içeriğine değil — sözlük listelerindeki yerine, yaygın kalıplarla örtüşmesine ve tahmin sırasına göre değerlendirir.
"dragon" 6 karakterli küçük harften oluşur; salt formül 28 bit verir. zxcvbn ise bunu 1–2 bit seviyesine indirir, çünkü bu kelime şifre sözlüklerinin ilk birkaç yüzündedir. "xk9m2q7" aynı formülle 41 bit, zxcvbn'de de 41 bit çıkar — çünkü bu dizi herhangi bir kalıbı karşılamaz.
Web sitelerindeki görsel "şifre güç göstergeleri" (strength meter) büyük çoğunlukla salt karakter analizi yapar — büyük harf var mı, rakam var mı, sembol var mı diye kontrol eder. Bu yüzden "P@ssw0rd1" gibi bir şifre için genellikle "güçlü" veya yeşil çubuk gösterirler. zxcvbn tabanlı değerlendirme ise aynı şifreye 2–3 bit atayacaktır. Hangi sitenin hangi ölçümü kullandığını bilemezsiniz; dolayısıyla site göstergesinin "güçlü" demesi güvenilir bir kriter değildir.
İki ölçüm arasındaki fark ne kadar küçükse şifre o kadar güçlüdür. Fark büyüdüğünde — yani teorik entropi gerçek entropinin çok üstündeyse — şifre görünümüyle orantılı koruma sağlamıyor demektir. kriptografik rastgele üretici bu farkı sıfıra yaklaştırır: oluşturulan dizi doğrusal olmayan, kalıpsız karakter kombinasyonları içerdiğinden zxcvbn skoru teorik entropi ile örtüşür.
Entropi değeri bir şifrenin potansiyel gücünü gösterir; nasıl üretildiği ise o potansiyelin ne kadarının gerçeğe dönüştüğünü belirler. Kullanıcı seçimi bu denklemde sistematik olarak kaybeden taraftır — insan belleği rastgeleliği taklit edemez. Bu yüzden güvenlik, ölçüm araçlarıyla fark edilebilir; ama ancak üretim aracıyla düzeltilebilir. Şifre üretim mantığını daha geniş bir güvenlik davranışı çerçevesinde değerlendirmek isteyenler için şifre yöneticisi kullanımı ve güvenli saklama yazısı bu bağlamı tamamlıyor.