Apa Itu SHA-3? Panduan untuk Standar Hash Terbaru

16 Jun 2026 566 words

Apa Itu SHA-3?

SHA-3 (Secure Hash Algorithm 3) adalah anggota terbaru dari keluarga Secure Hash Algorithm, diterbitkan oleh NIST pada tahun 2015. Tidak seperti SHA-2 yang didasarkan pada konstruksi Merkle-Damgård, SHA-3 menggunakan desain yang fundamental berbeda yang disebut konstruksi spons. Perbedaan ini membuat SHA-3 tahan terhadap kelas serangan tertentu yang mengancam SHA-2.

Algoritma yang awalnya bernama Keccak (diucapkan "ketchak") memenangkan kompetisi fungsi hash NIST pada tahun 2012 setelah proses evaluasi publik selama lima tahun. NIST menstandarisasi empat panjang hash: SHA3-224, SHA3-256, SHA3-384, dan SHA3-512, plus dua fungsi output yang dapat diperpanjang (XOF): SHAKE128 dan SHAKE256.

Cara Kerja SHA-3

SHA-3 menggunakan konstruksi spons, yang terdiri dari dua fase: menyerap (absorbing) dan memeras (squeezing). Dalam fase menyerap, data input dimasukkan ke dalam status internal dalam blok. Dalam fase memeras, output hash diekstraksi.

Status internal SHA-3 adalah array 3D dari jalur 5×5, masing-masing berisi 64 bit, dengan total ukuran status 1600 bit. Fungsi permutasi, yang disebut Keccak-f, diterapkan secara berulang selama kedua fase untuk mencampur status.

Desain ini memberikan SHA-3 beberapa keunggulan:

  • Tidak rentan terhadap serangan perpanjangan panjang yang mempengaruhi SHA-2
  • Konstruksi spons menyediakan bukti keamanan
  • Kinerja baik dalam implementasi perangkat keras
  • Varian XOF menghasilkan output dengan panjang sembarang

SHA-3 vs SHA-2

Fitur SHA-2 SHA-3
Konstruksi Merkle-Damgård Spons (Keccak)
Diterbitkan 2001 2015
Ukuran output 224, 256, 384, 512 224, 256, 384, 512 + XOF
Perpanjangan panjang Rentan Tahan
Kecepatan perangkat lunak Lebih cepat Lebih lambat
Kecepatan perangkat keras Sedang Sangat baik
Ketahanan side-channel Baik Lebih baik

Kapan Menggunakan SHA-3

SHA-3 tidak dimaksudkan untuk menggantikan SHA-2 segera. SHA-2 tetap aman, dan tidak ada serangan praktis yang mengurangi keamanannya di bawah tingkat yang dapat diterima. SHA-3 ada sebagai cadangan jika SHA-2 akhirnya dipatahkan.

Gunakan SHA-3 ketika:

  • Anda memerlukan ketahanan terhadap serangan perpanjangan panjang
  • Aplikasi Anda berjalan pada perangkat keras dengan akselerasi SHA-3
  • Anda ingin mendiversifikasi dependensi kriptografis dari SHA-2
  • Anda memerlukan fungsi hash dengan desain yang fundamental berbeda (pertahanan berlapis)
  • Anda memerlukan output dengan panjang variabel dari SHAKE128 atau SHAKE256

Contoh Kode

// PHP
echo hash('sha3-256', 'hello');
echo hash('sha3-512', 'hello');
import hashlib

print(hashlib.sha3_256(b'hello').hexdigest())
print(hashlib.sha3_512(b'hello').hexdigest())

# SHAKE (extendable output)
print(hashlib.shake_128(b'hello').hexdigest(16))  # 16 bytes output
print(hashlib.shake_256(b'hello').hexdigest(32))  # 32 bytes output
// Node.js
const crypto = require('crypto');
console.log(crypto.createHash('sha3-256').update('hello').digest('hex'));
console.log(crypto.createHash('sha3-512').update('hello').digest('hex'));

SHAKE128 dan SHAKE256

SHAKE (Secure Hash Algorithm KEccak) adalah fungsi output yang dapat diperpanjang (XOF). Tidak seperti fungsi hash dengan panjang tetap, XOF menghasilkan output dengan panjang berapa pun yang diinginkan. SHAKE128 menyediakan keamanan 128-bit dengan panjang output sembarang, sementara SHAKE256 menyediakan keamanan 256-bit.

XOF berguna untuk:

  • Menghasilkan kunci kriptografis dengan panjang sembarang dari seed
  • Membuat nilai masking dalam skema enkripsi
  • Membangun stream cipher dan generator angka acak

Alat Online

Alat SHA-3 Hash Generator di Help2Code menghitung hash SHA3-224, SHA3-256, SHA3-384, dan SHA3-512 secara instan. Bandingkan output dengan hash SHA-2 menggunakan Multiple Hash Generator.

Kesimpulan

SHA-3 adalah fungsi hash modern yang dirancang dengan baik dengan margin keamanan yang konservatif. Meskipun SHA-2 tetap menjadi standar untuk sebagian besar aplikasi, SHA-3 adalah pilihan yang sangat baik ketika Anda memerlukan fungsi hash cadangan untuk pertahanan berlapis, atau ketika Anda memerlukan kemampuan unik dari fungsi output yang dapat diperpanjang SHAKE.


About this article

Pelajari apa itu SHA-3, bagaimana perbedaannya dengan SHA-2, dan kapan Anda harus menggunakan standar hash NIST terbaru dalam aplikasi Anda.


Related Articles


Related Tools

Help2Code Logo
Menu