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.