Araç hakkında
SHA3-512 nedir?
SHA3-512, 2015’te FIPS 202 ile standartlaşan SHA-3 ailesinin 512 bitlik üyesidir. SHA-2’den tamamen farklı bir iç yapıya, Keccak “sünger” (sponge) yapısına dayanır: girdi 576 bitlik bloklar hâlinde 1600 bitlik bir duruma emilir, ardından çıktı bu durumdan sıkılır.
Çıktı 128 hex karakterdir. Çarpışma direnci 256 bit, ön görüntü direnci 512 bittir.
printf 'abc' | openssl dgst -sha3-512
b751850b1a57168a5693cd924b6b096e08f621827444f70d884f5d0240d2712e10e116e9192af3c91a7ec57647e3934057340b4cf408d5a56592f8274eec53f0SHA-2 yerine ne zaman seçilir?
- Sünger yapısı uzunluk uzatma (length extension) saldırısına karşı doğal olarak dayanıklıdır;
H(gizli || mesaj)gibi basit yapılar SHA-2’deki kadar tehlikeli değildir (yine de MAC için HMAC veya KMAC tercih edin). - SHA-2’de ileride bir zayıflık bulunması ihtimaline karşı farklı tasarımlı bir yedek isteyen sistemlerde.
- SHA-2 donanım hızlandırması (Intel SHA-NI, ARMv8) daha yaygın olduğundan, performans önemliyse SHA-256 / SHA-512 çoğu işlemcide daha hızlıdır.
Ethereum’un kullandığı Keccak-256, SHA3-256 ile aynı değildir; dolgu kuralı farklıdır. Ethereum için Keccak-256 aracını kullanın.
Sık sorulan sorular
Komut satırında farklı bir sonuç alıyorum, neden?
echo abc metnin sonuna satır sonu ekler ve hash bu karakteri de içerir. Aynı sonucu almak için printf 'abc' veya echo -n abc kullanın. Bu araç metni yazdığınız gibi, UTF-8 baytları olarak hash’ler.