encryption algorithms

 


  • DES (56-bit) → 1970'lerde yeterliydi ama 1990'larda kırıldı.

  • 3DES → DES’in yetersizliği nedeniyle geçici çözüm olarak geliştirildi, ancak yavaştı.

  • AES (128+ bit) → Bugünün standardıdır. Hızlı, güvenli ve yaygın.

  • RSA/ECC → Asimetrik şifrelemede kullanılır. Özellikle dijital imza ve anahtar dağıtımı için.

  • Post-Kuantum → Kuantum bilgisayarlara karşı dayanıklı algoritmalar; gelecekte zorunlu olacak.


***

🔐 1. DES (Data Encryption Standard)

🔧 Nasıl Çalışır?

  • Blok şifreleme algoritmasıdır.

  • 64-bit veri bloğu alır ve 56-bit anahtarla şifreler (gerçekte 64-bit ama her 8 bitin 1 biti hata kontrol için ayrılır, kalan 56-bit aktif anahtardır).

  • 16 turdan oluşan bir Feistel yapısı kullanır.

  • Her turda veri bölünür, sağ kısım işlenir, sol kısımla yer değiştirir.

📍 Kullanım Alanları:

  • 1980–2000 arası bankacılık, ATM güvenliği, devlet kurumlarında.

  • Günümüzde güvenlik seviyesi yetersiz olduğu için kullanılmıyor.

❓ Neden 56-bit?

  • 1970'lerde bilgisayarlar zayıftı; 2^56 (yaklaşık 72 trilyon) olasılık o zaman için oldukça yeterliydi.

  • Ayrıca, NSA’nin önerisiyle anahtar uzunluğu 64 bitten 56 bite düşürüldü (bilinçli zayıflatma iddiaları vardır).

  • 56-bit, işlemci ve donanım kısıtları göz önüne alındığında optimum bir değerdi.


🔐 2. Triple DES (3DES)

🔧 Nasıl Çalışır?

  • Aynı DES algoritmasını 3 kez uygular:

    1. Şifrele

    2. Deşifrele

    3. Tekrar şifrele

  • 2 ya da 3 farklı anahtar kullanır → 112 ya da 168-bit güvenlik sunar.

📍 Kullanım Alanları:

  • Bankacılık (SWIFT, EMV kartlar), finans sektörü

  • Eski sistemlerle uyumluluğu sürdürmek için.

❓ Neden 112/168-bit?

  • DES'in kırılabilir olması sebebiyle, ardışık 3 DES işlemi ile anahtar uzatıldı.

  • 3 anahtar: 3×56 = 168 bit

  • Ancak brute-force saldırılarda etkin anahtar alanı ≈ 112 bit kabul edilir (çünkü "meet-in-the-middle" saldırısı mümkün).


🔐 3. AES (Advanced Encryption Standard)

🔧 Nasıl Çalışır?

  • Blok şifreleme: 128-bit veri bloklarını şifreler.

  • Anahtar uzunluğu: 128 / 192 / 256 bit

  • DES gibi Feistel değil; Substitution-Permutation Network (SPN) yapısını kullanır.

  • Daha hızlı ve daha güvenlidir.

📍 Kullanım Alanları:

  • Tüm modern şifreleme sistemlerinde: Wi-Fi (WPA2/WPA3), VPN, disk şifreleme (BitLocker), HTTPS.

❓ Neden 128/192/256-bit?

  • Bu uzunluklar, kuantum öncesi dönemde brute-force ile kırılması pratikte imkansız olan uzunluklardır.

  • 2^128 deneme = trilyonlarca yıl sürebilir.

  • Ayrıca, bu uzunluklar modern donanımlar için optimize edilmiştir (örneğin, AES-NI destekli CPU’lar).


🔐 4. RSA (Asimetrik)

🔧 Nasıl Çalışır?

  • İki farklı anahtar: açık (public) ve özel (private) anahtar.

  • Büyük asal sayılarla işlem yapar.

  • Ana fikir: bir sayı büyük asal çarpanlarına çok zor ayrılır.

📍 Kullanım Alanları:

  • Dijital imza

  • Anahtar değişimi (SSL/TLS, e-posta, kimlik doğrulama)

  • Şifreleme değil, anahtar yönetimi için kullanılır genellikle.

❓ Neden 1024/2048/4096-bit?

  • Asimetrik algoritmalarda brute-force değil, faktörizasyon kullanılır.

  • 1024-bit artık yetersiz; 2048-bit güncel güvenli standart, 4096-bit uzun vadede kullanılır.


🔐 5. ECC (Elliptic Curve Cryptography)

🔧 Nasıl Çalışır?

  • Eliptik eğri üzerindeki matematiksel problemleri çözülemeyecek kadar zorlaştırır.

  • Daha kısa anahtarla daha yüksek güvenlik sağlar.

📍 Kullanım Alanları:

  • Mobil cihazlar, blockchain, dijital imzalar (örneğin Bitcoin, Signal).

  • Güç tüketiminin ve veri boyutunun düşük olduğu sistemler.

❓ Neden 256-bit ile RSA 2048-bit'e eşdeğer?

  • ECC’nin matematiksel yapısı sayesinde, 256-bit anahtar, RSA 3072-bit'e denk güvenlik sağlar.

  • Bu da onu hızlı, küçük ve güvenli yapar.


🔮 6. Post-Kuantum Şifreleme

🔧 Nasıl Çalışır?

  • Kuantum bilgisayarların RSA ve ECC'yi Shor Algoritması ile kırabileceği öngörülüyor.

  • Bu algoritmalar kuantumlara dayanıklı matematiksel problemler kullanır (örn. lattice tabanlı).

📍 Kullanım Alanları:

  • Henüz test aşamasında ama yakında tüm dijital altyapıya entegre edilecek.

  • NIST’in 2024 itibarıyla seçtiği standartlar: Kyber, Dilithium gibi.


📌 Neden "katları" kullanılıyor? (Özellikle 56, 128, 192, 256?)

  • Bilgisayarlar ikili (binary) sistemle çalışır. 2'nin kuvvetleri (2^n) ile uyumlu olmak, işlemci performansı ve donanım uyumluluğu açısından kritiktir.

  • 64-bit işlemciler için en verimli anahtar uzunlukları, 128, 256 gibi uzunluklardır.

  • Eski algoritmalarda (örneğin DES), blok uzunluğu 64 bit, anahtar 56 bit olacak şekilde optimize edilmişti. 64 bit = 8 byte → veri işlemek kolaydı.

  • Yeni nesil algoritmalar 128, 192, 256 gibi güçleri kullanıyor çünkü bu, modern CPU'ların AES-NI gibi şifreleme donanımlarıyla doğrudan uyumlu.