Cyber Security Academy · Pelajaran

Fungsi Hash: SHA-256 dan Seterusnya

Jelajahi sifat hash kriptografis: ketahanan terhadap kolisi, ketahanan terhadap pracitra, dan penerapannya.

Pelajaran 3 dari 413 langkah

Fungsi Hash: SHA-256 dan Seterusnya adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa Itu Fungsi Hash Kriptografis

Fungsi hash kriptografis menerima masukan dengan panjang sembarang dan menghasilkan keluaran dengan panjang tetap (intisari). Fungsi ini harus bersifat deterministik, cepat dihitung, tahan terhadap pencarian masukan asal (tidak dapat dibalik), tahan terhadap benturan (tidak dapat menemukan dua masukan dengan hash yang sama), serta sensitif terhadap efek longsoran (perubahan kecil → hash yang sepenuhnya berbeda).

Keluarga SHA-2

Keluarga SHA-2 (dirancang oleh NSA dan distandarkan oleh NIST) mencakup:

  • SHA-256 — keluaran 256 bit, digunakan secara luas
  • SHA-384 — keluaran 384 bit
  • SHA-512 — keluaran 512 bit, lebih cepat pada CPU 64 bit

SHA-256 digunakan dalam Bitcoin, sertifikat TLS, dan ID komit Git.

Keluarga SHA-3

SHA-3 menggunakan desain yang sama sekali berbeda (konstruksi spons Keccak) dari SHA-2. SHA-3 distandarkan sebagai cadangan jika ditemukan kelemahan pada SHA-2. SHA-3 belum digunakan secara luas, tetapi digunakan dalam beberapa protokol dan perangkat keras kriptografis.

MD5 dan SHA-1: Telah Dibobol

Jangan pernah menggunakan MD5 atau SHA-1 untuk tujuan keamanan:

  • MD5: benturan dapat ditemukan dalam hitungan detik dengan perangkat keras umum
  • SHA-1: benturan praktis pertama didemonstrasikan pada 2017 (SHAttered)

Keduanya masih berguna sebagai checksum non-keamanan (untuk deduplikasi berkas), tetapi bukan untuk memberikan jaminan integritas.

Kegunaan Hash: Integritas Berkas

Memverifikasi unduhan:

sha256sum ubuntu-24.04.iso
# Compare with the hash published on the official site
# If hashes match, file is unmodified

Kegunaan Hash: Tanda Tangan Digital

Saat menandatangani dokumen, kita tidak mengenkripsi seluruh dokumen dengan kunci pribadi (terlalu lambat). Sebagai gantinya, kita:

  1. Menghasilkan hash dokumen (cepat)
  2. Mengenkripsi hash dengan kunci pribadi (kecil dan cepat)
  3. Penerima mendekripsinya dengan kunci publik lalu membandingkannya dengan hash yang dihitung sendiri

HMAC: Hash Berkunci untuk Integritas

HMAC (Kode Autentikasi Pesan berbasis Hash) menggabungkan fungsi hash dengan kunci rahasia untuk menghasilkan tag autentikasi. HMAC digunakan untuk memverifikasi integritas dan keaslian data. HMAC digunakan dalam JWT, autentikasi API, dan TLS.

import hmac, hashlib
mac = hmac.new(key, message, hashlib.sha256).hexdigest()

Serangan Perluasan Panjang Hash

SHA-2 (konstruksi Merkle-Damgård) rentan terhadap serangan perluasan panjang: jika Anda mengetahui H(secret+message), Anda dapat menghitung H(secret+message+extension) tanpa mengetahui rahasianya. HMAC mencegah hal ini. SHA-3 tidak rentan.

Tabel Pelangi dan Penambahan Nilai Acak

Tabel pelangi melakukan praperhitungan pemetaan hash → masukan untuk pencarian cepat. Penambahan nilai acak mencegah hal ini: menambahkan nilai acak unik untuk setiap masukan membuat setiap hash menjadi unik, sehingga setiap entri memerlukan pencarian menyeluruh dengan metode brute-force, bukan pencarian melalui tabel.

Pohon Merkle

Pohon Merkle adalah pohon hash yang setiap simpul induknya merupakan hash dari simpul-simpul anaknya. Pohon ini digunakan dalam rantai blok Bitcoin, Git, dan catatan transparansi sertifikat untuk memverifikasi kumpulan data besar secara efisien tanpa mengunduh semuanya.

Memilih Hash yang Tepat

Panduan pemilihan:

  • Integritas umum/checksum: SHA-256
  • Penyimpanan kata sandi: Argon2id, bcrypt (BUKAN SHA-256 secara langsung)
  • Autentikasi pesan: HMAC-SHA-256
  • Tanda tangan digital: SHA-256 atau SHA-384 sebagai hash dasar
  • Hindari: MD5, SHA-1 untuk aplikasi keamanan

Pemeriksaan Singkat: Fungsi Hash

Konstruksi apa yang mencegah serangan perluasan panjang sekaligus memerlukan kunci rahasia?

Rangkuman Pelajaran

Fungsi hash menghasilkan intisari dengan panjang tetap dari masukan sembarang. SHA-256 dan SHA-512 adalah standar saat ini. MD5 dan SHA-1 telah dibobol untuk penggunaan keamanan. HMAC menambahkan kunci rahasia untuk memberikan integritas terautentikasi. Gunakan Argon2/bcrypt untuk kata sandi. Pohon Merkle memperluas penggunaan hash untuk memverifikasi kumpulan data besar secara efisien.

Gratis untuk memulai

Belajar Cyber Security Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
303

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fungsi Hash: SHA-256 dan Seterusnya” gratis?

Ya — teks lengkap “Fungsi Hash: SHA-256 dan Seterusnya” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Fungsi Hash: SHA-256 dan Seterusnya”?

Jelajahi sifat hash kriptografis: ketahanan terhadap kolisi, ketahanan terhadap pracitra, dan penerapannya. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Fungsi Hash: SHA-256 dan Seterusnya” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Enkripsi Simetris: AES dan Sandi Aliran
  2. Enkripsi Asimetris: RSA dan Kurva Eliptik
  3. Fungsi Hash: SHA-256 dan Seterusnya
  4. Tanda Tangan Digital dan Sertifikat
← Kembali ke Cyber Security Academy