SPN (Substitution–Permutation Network), modern blok şifreleme algoritmalarının temel yapılarından biridir ve özellikle AES (Advanced Encryption Standard) gibi güçlü ve yaygın şifreleme sistemlerinin temelini oluşturur.
🔐 SPN (Substitution–Permutation Network) Nedir?
SPN, veriyi şifrelemek için sırayla iki ana işlem uygulayan bir yapıdır:
-
Substitution (Yerine Koyma): Her veri parçası, bir başka değerle değiştirilir (S-box’larla).
-
Permutation (Permütasyon): Bu veriler karıştırılır veya yeniden düzenlenir (P-box’larla).
Bu işlemler birkaç tur (round) boyunca tekrarlanır. Her turda ayrıca bir tur anahtarı (round key) ile XOR işlemi uygulanır.
🔄 SPN Yapısının Adımları
Her turda aşağıdaki işlemler uygulanır:
-
Key Mixing (Anahtarla Karıştırma):
Veri bloğu ile tur anahtarı XOR yapılır. -
Substitution (S-box):
Blok, küçük parçalara (örneğin 4-bit) ayrılır, her parça bir S-box tablosu aracılığıyla yeni bir değere çevrilir. -
Permutation (P-box):
Bitler karıştırılır, farklı pozisyonlara taşınır. Bu sayede yayılma (diffusion) sağlanır. -
(İsteğe bağlı) Son turda özel işlem:
Son turda genellikle sadece substitution ve key mixing yapılır.
📦 Örnek: AES (bir SPN şifresi)
Adım | Açıklama |
---|---|
AddRoundKey | Anahtarla XOR |
SubBytes | Her bayta S-box uygulanır (Substitution) |
ShiftRows | Satırlar yer değiştirir (Permutation) |
MixColumns | Her sütun matrisle çarpılır (Diffusion) |
Tekrar | 10/12/14 tur boyunca tekrarlanır (anahtar boyutuna göre) |
🎯 SPN’nin Güçlü Yönleri
Güçlü Yan | Açıklama |
---|---|
🔒 Güçlü güvenlik | S-box ve P-box kombinasyonları yüksek karmaşıklık sağlar |
⚡ Donanım/performans dostu | Paralel işlenebilir, CPU’larda hızlandırılabilir (AES-NI gibi) |
🧩 Esnek yapı | Tur sayısı, blok boyutu, S-box içeriği özelleştirilebilir |
❓ SPN Neden Feistel’e Göre Daha Modern?
Özellik | SPN | Feistel |
---|---|---|
Şifreleme & Deşifreleme | Ayrı işlemler gerekir | Aynı yapı, ters sırayla |
Performans | Daha hızlı, paralel yapılabilir | Daha yavaştır, sırayla işler |
Güvenlik | Modern saldırılara daha dayanıklı | DES gibi eski örnekleri kırıldı |
🧠 SPN Nerelerde Kullanılıyor?
Kullanım Alanı | Örnek Algoritmalar |
---|---|
Veri iletişimi | AES (HTTPS, TLS, SSH, VPN vs.) |
Disk şifreleme | AES-XTS, AES-CBC |
Mobil & IoT | PRESENT (hafif SPN) |
Gömülü sistemler | LED, RECTANGLE (lightweight SPN’ler) |
🔚 Özet
SPN, modern kriptografinin belkemiğidir. AES gibi güçlü algoritmalar bu yapıyı kullanır çünkü hem güvenli hem de hızlıdır. S-box ile karmaşıklık, P-box ile yayılma sağlanır. Feistel'den farklı olarak şifreleme ve çözme işlemleri simetrik değil, ayrı yapılarla yapılır.