Blok Şifreler ve AES
Blok şifreler, sabit boyutlu veri bloklarını gizli bir anahtar altında şifrelemektedir; Gelişmiş Şifreleme Standardı (AES), günümüzün baskın blok şifresi olup, çoğu simetrik şifreleme uygulamasının temelini oluşturmaktadır.
Tanım
Blok şifre, sabit uzunluktaki açık metin bit bloklarını aynı uzunluktaki şifreli metin bit bloklarına eşleyen, anahtarlı, tersine çevrilebilir bir fonksiyondur; AES, 128-bit bloklar üzerinde 128-, 192- veya 256-bit anahtarlarla çalışan standartlaştırılmış blok şifresidir.
Kapsam
Bu konu, yerine koyma-permütasyon ağları ve Feistel yapıları dahil olmak üzere blok şifrelerin yapısını ve güvenliğini, özellikle AES algoritmasını ve sabit bloklu bir ilkelin keyfi uzunluktaki mesajlar için bir şemaya dönüştürülmesini sağlayan çalışma modlarını (CBC, CTR ve GCM gibi) kapsamaktadır. Kriptanalitik saldırılar (diferansiyel ve doğrusal kriptanaliz) ve blok şifrenin sözde rastgele bir permütasyon olarak algılanması ele alınmaktadır. Akış şifreleri ve anahtarsız özet fonksiyonları ayrı olarak incelendiğinden bu kapsamın dışında tutulmuştur.
Temel sorular
- Büyük bir blok üzerindeki güvenli bir permütasyon, basit, analiz edilebilir tur operasyonlarından nasıl inşa edilmektedir?
- AES neden bir Feistel ağı yerine yerine koyma-permütasyon ağı olarak yapılandırılmıştır?
- Çalışma modları, bir blok şifreyi keyfi uzunluktaki mesajlara güvenli bir şekilde nasıl genişletmektedir?
- Diferansiyel ve doğrusal kriptanaliz, bir şifrenin saldırılara karşı direncini nasıl ortaya koymaktadır?
- Bir blok şifreyi sözde rastgele bir permütasyon olarak modellemek ne anlama gelmektedir?
Anahtar kavramlar
- blok boyutu ve anahtar boyutu
- yerine koyma-permütasyon ağı
- Feistel ağı
- S-kutusu
- turlar ve anahtar çizelgesi
- çalışma modları (ECB, CBC, CTR, GCM)
- diferansiyel ve doğrusal kriptanaliz
- sözde rastgele permütasyon
Temel kuramlar
- Yerine koyma-permütasyon ağı
- AES, doğrusal olmayan bayt yerine koyma (SubBytes), doğrusal karıştırma (ShiftRows, MixColumns) ve anahtar eklemeyi birleştiren turları yinelemektedir; dönüşümlü yerine koyma ve permütasyon, Shannon'ın karışıklık ve yayılma hedeflerini diferansiyel ve doğrusal saldırılara karşı kanıtlanabilir dirençle gerçekleştirmektedir.
- Çalışma modları
- Bir blok şifre tek başına yalnızca bir bloğu şifrelemektedir; CBC, CTR ve kimlik doğrulamalı GCM gibi modlar, uzun mesajların güvenli bir şekilde ve kimlik doğrulamalı modlarda bütünlükle şifrelenmesi için blokların nasıl zincirleneceğini veya sayılacağını belirtmektedir.
Mekanizmalar
AES, 128-bitlik bir bloğu 4x4 baytlık bir matris olarak düzenleyerek 10, 12 veya 14 tur (128-, 192-, 256-bit anahtarlar için) boyunca işlemektedir. Her turda SubBytes (sabit, doğrusal olmayan bir S-kutusu), ShiftRows (bir bayt permütasyonu), MixColumns (sonlu bir alan üzerinde doğrusal bir dönüşüm) ve AddRoundKey (anahtar çizelgesinden gelen bir tur anahtarı ile XOR işlemi) uygulanmaktadır. Bu kombinasyon, birkaç tur içinde güçlü bir yayılma ve bilinen kriptanalizlere karşı direnç sağlamaktadır.
Klinik önem
AES, yaygın olarak kullanılan sistemlerde her yerde bulunmaktadır: TLS korumalı web trafiğinin toplu verilerini, tam disk şifrelemesini (BitLocker, FileVault, LUKS), Wi-Fi'ı (WPA2/WPA3), VPN'leri ve şifreli mesajlaşmayı güvence altına almaktadır. Donanım AES talimatları (AES-NI), yüksek verimli bağlantıları şeffaf bir şekilde şifreleyebilecek kadar hızlı olmasını sağlamaktadır.
Kanıt ve kılavuzlar
AES, NIST FIPS 197'de belirtilmekte ve NSA'nın Ticari Ulusal Güvenlik Algoritma Paketi kapsamında TOP SECRET seviyesine kadar gizli bilgilerin korunması için (192- veya 256-bit anahtarlarla) onaylanmıştır. Blok şifreleme modları NIST SP 800-38 serisinde standartlaştırılmıştır. Daha eski DES kullanımdan kaldırılmıştır; AES-GCM ve AES-CCM önerilen kimlik doğrulamalı modlardır.
Tarihçe
DES'in (1977) 56-bit anahtarı için çok zayıf kalmasının ardından, NIST bir halef seçmek üzere açık, uluslararası bir yarışma (1997-2000) düzenlemiştir. On beş aday halka açık olarak kriptanalize tabi tutulmuştur; Belçikalı kriptograflar Joan Daemen ve Vincent Rijmen tarafından geliştirilen Rijndael tasarımı seçilerek 2001 yılında FIPS 197'de AES olarak standartlaştırılmıştır. DES'e karşı geliştirilen diferansiyel kriptanaliz (Biham ve Shamir) ve doğrusal kriptanaliz (Matsui), AES'in tasarım kriterlerini şekillendirmiştir.
Öne çıkan isimler
- Joan Daemen
- Vincent Rijmen
- Horst Feistel
- Eli Biham
- Adi Shamir
- Mitsuru Matsui
İlgili konular
Temel eserler
- daemen2002
- nist2001aes
- katz2020
Sıkça sorulan sorular
- ECB modu neden kaçınılmalıdır?
- Elektronik Kod Defteri (ECB) modunda, aynı açık metin blokları aynı şifreli metin bloklarına şifrelenmekte, bu da verideki yapıyı sızdırmaktadır (bir görüntüyü şifrelerken meşhur bir şekilde görülebilmektedir). CTR, CBC veya GCM gibi güvenli modlar, tekrarların gizlenmesi için bir başlatma vektörü veya sayaç kullanmaktadır.
- AES-256, AES-128'den anlamlı ölçüde daha mı güvenlidir?
- Her ikisi de klasik saldırılara karşı güvenli kabul edilmektedir; AES-128, zaten uygulanabilir herhangi bir kaba kuvvet saldırısını aşmaktadır. AES-256, daha büyük bir güvenlik marjı sunmakta ve uzun vadeli gizlilik ile kuantum sonrası riskten korunma için tercih edilmektedir, zira Grover algoritması etkili anahtar uzunluğunu yalnızca yarıya indirmektedir.