SHA-3 (Secure Hash Algorithm 3)
Tarihçe ve Genel Bakış
SHA-3 (Secure Hash Algorithm 3), NIST tarafından 2015 yılında standartlaştırılan modern bir kriptografik hash fonksiyonudur. Keccak algoritmasını temel alan SHA-3, diğer SHA ailesinden tamamen farklı bir tasarıma sahiptir. NIST'in SHA-3 standartı, önceki SHA ailesindeki (SHA-1, SHA-2) zayıflıklara karşı yeni bir alternatif olarak geliştirilmiştir. SHA-3, 224, 256, 384 ve 512 bit hash uzunluğu seçenekleri sunmaktadır.
Çalışma Prensibi
SHA-3 algoritması, "sünger yapısı" (sponge construction) adı verilen özel bir yapı kullanır:
- Giriş verisi önce sabit boyutlu bloklara bölünür
- Keccak permütasyon fonksiyonu, "emilim" (absorb) aşamasında giriş verisiyle iç durumu günceller
- Tüm giriş bloklarının işlenmesinden sonra, "sıkma" (squeeze) aşamasında istenilen uzunlukta çıktı üretilir
- SHA-3, XOR işlemleri ve Keccak-f permütasyonu kullanarak yüksek derecede bulanıklık ve yayılım sağlar
- Bu permütasyon işlemi, 5x5x64 bitlik üç boyutlu bir durum matrisini dönüştürür
SHA-3'ün Benzersiz Özellikleri
Güvenlik ve Performans
SHA-3, SHA-1 ve SHA-2 algoritmalarında kullanılan Merkle–Damgård yapısından tamamen farklı "sünger yapısı" kullanır. Bu sayede uzunluk uzatma saldırılarına (length extension attacks) karşı doğal bir direnç sağlar. NIST'in 5 yıl süren kapsamlı bir yarışma sonucu seçilen SHA-3, günümüzün en güvenli hash fonksiyonlarından biridir. SHA-3, SHAttered gibi SHA-1'i kıran çakışma saldırılarına ve SHA-2'nin teorik zayıflıklarına karşı güvenlidir.
Kullanım Alanları
SHA-3 şu alanlarda yaygın olarak kullanılmaktadır:
- Yüksek güvenlik gerektiren dijital imzalar
- Blok zinciri teknolojilerinde (Ethereum 2.0 gibi)
- Post-kuantum güvenlik gerektiren uygulamalar
- Rastgele sayı üreteci (SHAKE varyasyonları ile)
- Veri bütünlüğü doğrulama ve güvenlik kritik sistemler
- IoT cihazları için kaynak kısıtlı ortamlarda
SHA-3 Varyasyonları
Varyasyon | Çıktı Uzunluğu | Özellikler |
---|---|---|
SHA3-224 | 224 bit | Genellikle sınırlı bant genişliği olan uygulamalar için |
SHA3-256 | 256 bit | En yaygın kullanılan SHA-3 varyasyonu, günümüz için yeterli güvenlik seviyesi |
SHA3-384 | 384 bit | Daha yüksek güvenlik gerektiren uygulamalar için |
SHA3-512 | 512 bit | En yüksek güvenlik seviyesi, uzun vadeli güvenlik gerektiren kritik uygulamalar için |
SHAKE128 | Değişken | XOF (Genişletilebilir Çıktı Fonksiyonu), istenilen uzunlukta çıktı üretebilir |
SHAKE256 | Değişken | Daha güvenli XOF, istenilen uzunlukta çıktı üretebilir |
SHA-3 vs Diğer Hash Algoritmaları
Özellik | SHA-3 | SHA-256 | SHA-1 | MD5 |
---|---|---|---|---|
Tasarım | Sünger Yapısı (Keccak) | Merkle-Damgård | Merkle-Damgård | Merkle-Damgård |
Güvenlik | Çok Yüksek | Yüksek | Zayıf | Çok Zayıf |
Çakışma Direnci | Mükemmel | İyi | Kırıldı (2017) | Kırıldı (2004) |
Uzunluk Uzatma Saldırısı | Dayanıklı | Duyarlı | Duyarlı | Duyarlı |
Kuantum Bilgisayar Direnci | Daha İyi | Orta | Zayıf | Çok Zayıf |