Apa itu SHA-256 sebenarnya Cuadernos Lacre · Konsep · 19 Mei 2026 https://solo2.net/id/buku-catatan/articulos/apa-itu-sha-256-yang-sebenarnya.html Jejak matematika yang muat dalam enam puluh empat karakter dan berubah sepenuhnya jika satu koma saja dari teks asli dipindahkan. Mengapa kami menyebutnya segel lak digital. --- Ide sederhana di balik nama teknis Bayangkan ada sebuah mesin dengan satu slot dan satu layar. Melalui slot tersebut Anda memasukkan teks: sebuah kata, sebuah kalimat, sebuah novel utuh. Di layar muncul, beberapa saat kemudian, urutan tepat enam puluh empat karakter. Urutan itu, bagi pembaca profesional kami menyebutnya hash atau ringkasan kriptografi; bagi pembaca umum, untuk saat ini kita bisa menyebutnya jejak matematika dari teks tersebut, sebagaimana sidik jari bagi seseorang. Jika Anda memasukkan teks yang sama dua kali, mesin akan menunjukkan jejak yang sama kedua kalinya. Jika Anda memasukkan teks yang sedikit berbeda — satu koma bergeser, huruf besar yang menjadi huruf kecil — mesin akan menunjukkan jejak yang sama sekali berbeda dari yang pertama. Tidak mirip: berbeda. Kedua sifat itu bersama-sama — determinisme dan sensitivitas — adalah ide sederhananya. Segala hal lain dari SHA-256 adalah mekanisme yang membuatnya bekerja dengan baik. Perlu dikatakan sejak awal apa yang tidak dilakukan mesin tersebut. Ia tidak mengenkripsi teks. Tidak menyembunyikannya. Tidak menyimpannya. Mesin melihat teks, menghitung jejaknya, dan melupakan teks tersebut. Jejak itu tidak memungkinkan untuk menyusun kembali teks yang menghasilkannya; ia hanya memungkinkan, jika diberikan teks kandidat, untuk memeriksa apakah cocok atau tidak dengan aslinya. Itulah sebabnya kami katakan bahwa itu adalah ringkasan satu arah: pergi, tidak kembali. Hash tidak sama dengan enkripsi Kebingungan sering terjadi dan perlu diperjelas: enkripsi dan hashing adalah operasi yang berbeda. Enkripsi terdiri dari mengubah teks sedemikian rupa sehingga hanya pemilik kunci yang dapat mengembalikannya ke bentuk aslinya. Hashing terdiri dari menghasilkan jejak teks yang darinya teks asli tidak pernah bisa dipulihkan, baik dengan kunci maupun tanpa kunci. Yang pertama dapat dibalik secara desain; yang kedua tidak dapat dibalik secara desain. Konsekuensi praktisnya penting. Ketika sebuah aplikasi mengatakan «kami menyimpan kata sandi Anda terenkripsi», ada seseorang yang memiliki kunci untuk mendekripsinya — aplikasi itu sendiri, dalam hal apa pun. Ketika sebuah aplikasi mengatakan «kami menyimpan kata sandi Anda ter-hash», aplikasi itu sendiri tidak dapat membaca kata sandi asli meskipun ia mau; ia hanya dapat memeriksa apakah apa yang Anda tulis menghasilkan jejak yang sama lagi. Model kedua, jika dilakukan dengan benar, jauh lebih disukai daripada yang pertama untuk menyimpan kata sandi. Nanti kita akan melihat mengapa «dilakukan dengan benar» menuntut sesuatu yang lebih dari sekadar SHA-256 saja. Empat sifat yang membuat hash kriptografi berguna Fungsi hash yang layak mendapatkan kata sifat kriptografi memenuhi empat sifat: 1. Determinisme. Input yang sama selalu menghasilkan jejak yang sama. 2. Efek longsoran (avalanche). Perubahan kecil pada input menghasilkan jejak yang sama sekali berbeda, tanpa kemiripan yang terlihat dengan yang sebelumnya. 3. Resistensi terhadap pembalikan. Diberikan sebuah jejak, tidak layak secara komputasi untuk menemukan teks yang menghasilkannya. 4. Resistensi terhadap tabrakan (collision). Tidak layak secara komputasi untuk menemukan dua teks berbeda yang menghasilkan jejak yang sama. «Tidak layak secara komputasi» bukan berarti «secara matematis tidak mungkin». Artinya biaya dalam waktu, energi, dan uang untuk mencapainya melebihi urutan besarnya dari jumlah total kapasitas komputasi yang tersedia secara wajar. Untuk SHA-256, batas itu diukur dalam ribuan triliun tahun bahkan untuk pendekatan paling optimis dengan perangkat keras khusus. Yang mana, untuk tujuan praktis pembaca, sama dengan «tidak bisa dilakukan». SHA-256, secara khusus Nama menjelaskan segalanya. SHA adalah singkatan dari Secure Hash Algorithm: algoritme hash aman. Angka 256 menunjukkan ukuran jejak dalam bit: dua ratus lima puluh enam bit, yaitu tiga puluh dua byte, yang ditampilkan dalam heksadesimal adalah enam puluh empat karakter yang sudah dikenali pembaca. Standar tersebut diterbitkan oleh NIST Amerika Serikat, badan yang menormalkan jenis fungsi ini, pada tahun 2001 sebagai bagian dari keluarga SHA-2; versi standar yang berlaku saat ini, FIPS 180-4, berasal dari tahun 2015. Dimensi tersebut layak untuk direnungkan sejenak. Dua ratus lima puluh enam bit memungkinkan dua pangkat dua ratus lima puluh enam nilai berbeda: sebuah angka dengan tujuh puluh delapan digit desimal, beberapa urutan besarnya lebih besar dari perkiraan jumlah atom di alam semesta yang teramati. Setiap teks di dunia — setiap buku, setiap email, setiap pesan — jatuh pada salah satu nilai tersebut. Probabilitas dua teks berbeda bertepatan secara kebetulan, untuk tujuan praktis, tidak dapat dibedakan dari nol. Bagaimana tampilannya dalam kode Mengapa kami menyebutnya segel lak Dalam korespondensi Eropa abad ke-15 hingga ke-19, lak (lilin segel) menutup surat. Setetes lilin cair, segel ditekan di atasnya, dan surat itu ditandai dengan cara yang tidak dapat diulang. Itu tidak melindungi isi dari orang yang berniat mengintip — kertas bisa dibaca di bawah cahaya, lak bisa dipatahkan — tetapi itu membuktikannya. Perubahan apa pun pada penutup akan terlihat oleh penerima bahkan sebelum membuka kertas. Lak tidak mencegah kerusakan; ia menyatakannya. SHA-256 dari isi setiap Cuaderno melakukan fungsi yang sama dalam versi digitalnya. Jika satu kata saja dari artikel berubah antara saat diterbitkan dan saat Anda membacanya, segel heksadesimal di bawah teks tidak akan lagi cocok dengan SHA-256 dari teks yang ada di depan Anda. Pembaca mana pun dengan lima baris kode dapat memeriksanya. Publikasi tidak dapat menulis ulang sejarahnya tanpa segel yang membocorkannya. Ia tidak melindungi dari kerusakan; ia membuatnya dapat diverifikasi. Apa yang bukan kegunaan hash Empat kegunaan terkadang diminta dari SHA-256 yang bukan merupakan haknya: 1. Enkripsi. Sebuah hash meringkas; tidak menyembunyikan. Jika Anda ingin teks tidak dapat dibaca, Anda perlu mengenkripsinya, bukan menghashnya. 2. Autentikasi penulis. Sebuah hash tidak mengatakan siapa yang menulis teks, hanya teks apa yang dihash. Untuk mengaitkan kepengarangan, diperlukan tanda tangan kriptografi di atas hash, bukan hash saja. 3. Menyimpan kata sandi. Di sini ada jebakan yang perlu dipahami. SHA-256 dirancang untuk menjadi sangat cepat — yang bagus untuk banyak hal, tetapi buruk untuk ini. Penyerang dengan perangkat keras khusus dapat mencoba miliaran kata sandi per detik terhadap hash SHA-256 hingga menemukan milik Anda. Untuk menyimpan kata sandi, harus digunakan fungsi derivasi kunci yang sengaja dibuat lambat seperti Argon2, scrypt, atau bcrypt, dikombinasikan dengan sal (salt - data acak unik per pengguna, yang mencegah dua orang dengan kata sandi yang sama memiliki hash yang sama). 4. Membaca hash sebagai identitas penulis. Itu bukan identitas. Sebuah hash mengidentifikasi konten. Jika dua orang menghash kata halo dengan SHA-256, keduanya mendapatkan ringkasan yang sama — dan itu adalah sifat sentral, bukan cacat: jika ringkasannya berbeda, kita tidak dapat memeriksa kecocokan antara yang diterbitkan dan yang diterima. Di mana SHA-256 muncul dalam kehidupan sehari-hari Anda Meskipun Anda tidak melihatnya, SHA-256 menopang sebagian besar dari apa yang Anda gunakan setiap hari di internet. Rantai blok Bitcoin dibangun dengan merantai SHA-256 dari setiap blok ke blok berikutnya; mengubah blok masa lalu memaksa penghitungan ulang seluruh rantai berikutnya. Git, sistem yang digunakan untuk versi kode di seluruh dunia, mengidentifikasi setiap commit dengan SHA-256 (di versi terbaru) atau pendahulunya SHA-1 (di versi lama) dari seluruh isinya. Sertifikat HTTPS yang memverifikasi identitas situs web saat Anda masuk membawa jejak SHA-256 terkait. Unduhan perangkat lunak sering kali disertai dengan SHA-256 yang diterbitkan oleh pengembang agar Anda dapat memverifikasi bahwa file tersebut tidak diubah di tengah jalan. Dan, seperti yang telah kami katakan, di bawah setiap Cuaderno Lacre. Bagi pembaca profesional Empat pengingat operasional bagi siapa pun yang memutuskan atau mengaudit sistem: 1. Hash bukan enkripsi. Jika vendor mencampuradukkan kedua istilah tersebut dalam dokumentasi teknisnya, ada baiknya menanyakan apa maksud sebenarnya. 2. Untuk menyimpan kata sandi jangan pernah menggunakan SHA-256 saja. SHA-256 terlalu cepat untuk tugas ini (lihat poin 3 dari Apa yang bukan kegunaan hash). Standar saat ini adalah Argon2id: lambat secara desain, dapat dikonfigurasi sesuai kapasitas server, dikombinasikan dengan sal (salt) acak yang berbeda per pengguna. 3. Untuk integritas dokumen — kontrak, berkas, file — SHA-256 tetap menjadi standar referensi. Inilah yang digunakan oleh penyedia segel waktu (timestamp) berkualitas di UE. 4. Untuk pelestarian jangka panjang (dekade), ada baiknya menghitung dan mengarsipkan juga SHA-3 atau SHA-512 bersama SHA-256; kehati-hatian kriptografi merekomendasikan untuk tidak mengandalkan satu fungsi saja untuk arsip berusia seabad. Bayangkan Anda telah menyusun sirkuit domino paling rumit di dunia: ribuan balok (fichas), puluhan percabangan, jembatan mekanis, dan tanjakan yang melintasi seluruh ruangan, disusun dengan hati-hati satu per satu. Jika Anda menyentuh balok pertama, rangkaian tersebut akan jatuh dalam urutan yang tepat dan dapat diulang. Susunan yang sama, sentuhan awal yang sama → pola akhir balok yang jatuh yang identik, berulang kali. Di sinilah letak kemenarikannya: geser satu balok saja setengah sentimeter ke samping sebelum memulai dan sentuh lagi. Tanjakan yang seharusnya aktif tetap diam, jembatan tidak jatuh, percabangan yang berbeda terpicu. Pola akhir balok di lantai benar-benar tidak dapat dikenali dibandingkan dengan yang pertama. Secara matematis, SHA-256 adalah sirkuit ini. Teks yang Anda tulis adalah posisi awal balok-balok tersebut. Algoritme adalah sentuhan yang melepaskan air terjun (cascade). Dan hasil akhirnya — yang kita sebut hash — adalah foto statis lantai saat semuanya telah berhenti. Ubah satu koma saja dari teks asli dan fotonya akan sangat berbeda. Sesederhana itu, dan sedrastis itu. --- Jika Anda kembali ke bagian bawah artikel ini, Anda akan melihat segel heksadesimal enam puluh empat karakter. Ini adalah SHA-256 dari teks yang baru saja Anda baca, dalam bahasa ini. Jika kita menerjemahkan artikel tersebut, segelnya akan berbeda; jika satu kata dari versi bahasa Indonesia berubah, segel bahasa Indonesia akan berubah. Segel tersebut tidak melindungi konten — untuk itu ada alat lain — melainkan mengidentifikasinya secara unik. Dan itu, meskipun terdengar sederhana, cukup agar tidak ada langkah dalam rantai editorial yang dapat mengubah apa yang dikatakan tanpa ketahuan. Hal lainnya — mengenkripsi, menandatangani, mengidentifikasi — dibangun di atas ide sederhana ini. Sumber dan bacaan lebih lanjut - NIST — FIPS PUB 180-4: Secure Hash Standard (SHS), Agustus 2015. Spesifikasi resmi dari keluarga SHA-2, termasuk SHA-256. - RFC 6234 — US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF), IETF, Mei 2011. Versi normatif bagi pengembang. - Ferguson, N.; Schneier, B.; Kohno, T. — Cryptography Engineering: Design Principles and Practical Applications (Wiley, 2010). Bab 5 dan 6 membahas fungsi hash serta kegunaan yang sah dan tidak sah. - Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Contoh praktis penggunaan SHA-256 untuk merantai blok dalam struktur yang tidak dapat diubah secara konstruksi. - Regulasi (UE) 910/2014 (eIDAS) — kerangka kerja penyedia segel waktu berkualitas. SHA-256 adalah fungsi referensi untuk tanda tangan dan segel elektronik berkualitas yang diterbitkan di UE. - Implementasi referensi dalam Zig: std.crypto.hash.sha2.Sha256 di repositori resmi bahasa tersebut (github.com/ziglang/zig → lib/std/crypto/sha2.zig). Ini adalah versi optimal dan diaudit yang sebenarnya digunakan Solo2. Berguna untuk membandingkan dengan implementasi didaktik pada lampiran. --- Cuadernos Lacre · Publikasi dari Menzuri Gestión S.L. · ditulis oleh R.Eugenio · disunting oleh tim Solo2. https://solo2.net/id/buku-catatan/