Simetrik Şifreleme: AES'in İç Yapısı ve Çalışma Modları
Günümüzün en yaygın şifreleme standardının blok yapısı, tur fonksiyonları ve mod seçiminin kritik önemi.
AES (Advanced Encryption Standard), 2001 yılında NIST tarafından standartlaştırılan ve bugün dünya çapında en yaygın kullanılan simetrik şifreleme algoritmasıdır. Bu makale, AES'in iç yapısına ve pratikte en çok hataya yol açan konu olan "çalışma modu" (mode of operation) seçimine odaklanır.
AES Nasıl Çalışır: Blok Şifreleme Mantığı
AES bir blok şifredir (block cipher) — veriyi sabit boyutlu bloklar (128 bit) hâlinde işler. Anahtar uzunluğuna göre (128, 192 veya 256 bit) 10, 12 veya 14 "tur" (round) uygulanır. Her tur şu dört temel işlemden oluşur:
- SubBytes: Her byte, önceden tanımlı bir S-box (substitution box) tablosu kullanılarak doğrusal olmayan (non-linear) bir şekilde başka bir byte'a dönüştürülür — bu, algoritmanın "karışıklık" (confusion) özelliğini sağlar.
- ShiftRows: Blok içindeki byte'ların satırları, farklı miktarlarda dairesel olarak kaydırılır.
- MixColumns: Sütunlardaki byte'lar, sonlu cisim (Galois Field GF(2^8)) aritmetiğiyle birbirine karıştırılır — bu, "yayılma" (diffusion) özelliğini sağlar; tek bir giriş byte'ındaki değişiklik, çıkışın büyük bir kısmını etkiler.
- AddRoundKey: O turun anahtarı (key schedule algoritmasıyla ana anahtardan türetilmiş), blokla XOR'lanır.
Neden Mod Seçimi Kritik? ECB'nin Tehlikesi
AES tek başına sadece TEK BİR 128-bit bloğu şifreler. Birden fazla bloktan oluşan gerçek veriler (bir dosya, bir mesaj) için bu blokların nasıl birbirine bağlanacağını tanımlayan bir "çalışma modu" gerekir — ve bu seçim, algoritmanın matematiksel gücünden bağımsız olarak ciddi güvenlik açıklarına yol açabilir.
ECB (Electronic Codebook) modu, her bloğu birbirinden BAĞIMSIZ olarak aynı anahtarla şifreler. Bu, aynı açık metin bloğunun HER ZAMAN aynı şifreli metin bloğunu üreteceği anlamına gelir. Sonuç olarak, veride tekrar eden örüntüler (örneğin bir görüntüdeki düz renkli büyük bir alan) şifrelendikten sonra bile görünür kalabilir — ünlü "ECB penguen" örneği (bir penguen resminin ECB ile şifrelenmesi sonucu, penguenin siluetinin şifreli görüntüde hâlâ görülebilir olması) bu zafiyeti çarpıcı biçimde gösterir.
Güvenli Modlar: CBC ve GCM
- CBC (Cipher Block Chaining): Her blok, şifrelenmeden önce bir önceki bloğun şifreli çıktısıyla XOR'lanır; ilk blok için rastgele bir Initialization Vector (IV) kullanılır. Bu, ECB'nin örüntü sızıntısı sorununu çözer, ancak bütünlük (integrity) doğrulaması sağlamaz — veri değiştirilirse (padding oracle saldırıları gibi) fark edilmeyebilir.
- GCM (Galois/Counter Mode): Hem şifreleme (counter mode üzerinden) hem de kimlik doğrulama (authentication tag üretimi) sağlayan bir AEAD (Authenticated Encryption with Associated Data) modudur. Modern protokoller (TLS 1.3 dahil) GCM'i tercih eder çünkü şifrelenmiş verinin sonradan değiştirilip değiştirilmediğini kriptografik olarak doğrulayabilir.
IV/Nonce Tekrar Kullanımının Riski
CBC'de IV'nin, GCM'de ise nonce'un (number used once) ASLA aynı anahtarla tekrar kullanılmaması kritik bir güvenlik gereksinimidir. Özellikle GCM'de bir nonce iki farklı mesaj için tekrar kullanılırsa, saldırgan authentication key'i matematiksel olarak türetebilir ve bu da tüm şemanın güvenliğini tamamen çökertebilir — bu, "nonce reuse" olarak bilinen ve pratikte gerçek sistemlerde defalarca görülmüş ciddi bir uygulama hatasıdır.
Pratik Senaryo
Bir yazılım ekibi, kullanıcı verilerini şifrelemek için AES kullanmaya karar veriyor ama hızlı bir çözüm ararken farkında olmadan ECB modunu seçiyor (bazı kütüphanelerde varsayılan mod budur). Güvenlik denetimi sırasında, şifrelenmiş veritabanı export'unda belirli byte örüntülerinin tekrar ettiği fark ediliyor — bu, aynı değere sahip alanların (örneğin çok sayıda kullanıcının aynı şehirde yaşaması) şifreli hâlde bile aynı görünmesinden kaynaklanıyor. Denetim sonrası ekip GCM moduna geçiyor ve her şifreleme işlemi için kriptografik olarak güvenli, benzersiz bir nonce üretilmesini sağlıyor — bu değişiklik, algoritmanın kendisini değil, SADECE modu değiştirerek zafiyeti tamamen ortadan kaldırıyor.
Bu makale, AES ve simetrik şifrelemenin orta-ileri seviye teknik bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.