Araç hakkında
PBKDF2-HMAC-SHA-512 nasıl çalışır?
PBKDF2, parolayı anahtar olarak kullanan HMAC-SHA-512 fonksiyonunu salt ile başlayarak art arda çalıştırır ve sonuçları XOR’lar. Maliyet yalnız iterasyon sayısıyla ayarlanır; bellek gerektirmediği için GPU üzerinde Argon2 ve scrypt’e göre çok daha ucuz paralelleştirilir.
Araç 220 000 iterasyon, 16 bayt rastgele salt ve 32 bayt çıktı kullanır. Bu değer OWASP’ın PBKDF2-HMAC-SHA-512 için önerdiği alt sınırın üzerindedir.
$pbkdf2-sha512$i=220000$<salt>$<hash>Ne zaman PBKDF2 seçilmeli?
- FIPS 140 doğrulaması gereken ortamlarda (PBKDF2 NIST SP 800-132’de tanımlıdır, Argon2 değildir).
- Platformun yalnız PBKDF2 sunduğu durumlarda (ör. Web Crypto API, birçok donanım güvenlik modülü).
- Bu kısıtlar yoksa yeni sistemlerde Argon2id tercih edin.
Neden SHA-256’dan daha az iterasyon?
HMAC-SHA512’nin her turu 64 bitlik işlemler gerektirir ve ekran kartlarında SHA-256’dan belirgin şekilde daha pahalıdır. Bu nedenle OWASP, aynı saldırı maliyeti için PBKDF2-HMAC-SHA512’de 210 000, SHA-256’da 600 000 iterasyon önerir. Araç SHA-512 için 220 000 kullanır.
import hashlib, base64
hashlib.pbkdf2_hmac('sha512', parola.encode(), base64.b64decode(salt + '=='), 220000, 32).hex()== eklenir; fazla dolgu yok sayılır).