AES-CBC, Advanced Encryption Standard - Cipher Block Chaining, klasik blok şifreleme modudur. Her blok önceki bloğun şifrelenmiş haline bağımlı olarak şifrelenir.
Teknik Özellikler
- Anahtar Uzunluğu:
- 128, 192, veya 256 bit
- Blok Boyutu:
- 128 bit (16 byte)
- IV (Initialization Vector) Uzunluğu:
- 128 bit (16 byte) - Blok boyutuyla aynı
- Padding:
- PKCS#7 padding gerektirir
- Güvenlik Seviyesi:
- Yüksek, ancak authenticated encryption değil
Kullanım Alanları
- Dosya şifreleme (disk encryption)
- Eski TLS versiyonları (TLS 1.0, 1.1 - artık kullanılmıyor)
- Legacy sistemler ve protokoller
- IPSec (bazı yapılandırmalar)
Özellikler
- Cipher Block Chaining: Her blok önceki bloğa bağımlıdır
- IV (Initialization Vector) her şifreleme için rastgele olmalıdır
- Aynı IV tekrar kullanılmamalıdır (güvenlik açığı)
- Paralel işleme desteklemez (sıralı işleme gerektirir)
Standartlar ve Referanslar
- NIST Special Publication 800-38A
- ISO/IEC 10116
⚠️ Önemli Uyarılar
- Authenticated encryption sağlamaz - HMAC gibi bir MAC ile birlikte kullanılmalıdır
- Padding oracle saldırılarına açıktır - doğru implementasyon kritiktir
- IV benzersizliği zorunludur - her şifreleme için mutlaka benzersiz IV kullanılmalı (asla tekrar kullanılmamalı)
- IV doğruluğu kritiktir - IV rastgele ve öngörülemez olmalı (sabit değer veya sıralı değer kullanılmamalı)
- IV'yi asla sabit değer veya önceki IV ile kullanmayın
- Modern uygulamalarda AES-GCM gibi authenticated encryption modları tercih edilmelidir
- TLS 1.2 ve üzerinde genellikle AES-GCM kullanılır