Mengenal proses hashing yang mengacu pada proses menghasilkan output ukuran tetap melalui input ukuran variabel. Ini dilakukan melalui penggunaan rumus matematika yang dikenal sebagai fungsi hash (diimplementasikan sebagai algoritma hash).
Meskipun tidak semua fungsi hash menggunakan kriptografi, yang disebut sebagai fungsi / fungsi hash kriptografi adalah inti dari mata uang digital. Berkat mereka, blockchain dan sistem terdistribusi lainnya dapat mencapai tingkat integritas dan keamanan data yang signifikan.
Fungsi hash tradisional dan kriptografi bersifat deterministik. Yang dimaksud dengan deterministik adalah selama input (masukan) tidak berubah maka algoritma hash akan selalu menghasilkan keluaran yang sama, maka algoritma hashing akan selalu menghasilkan keluaran yang sama (disebut juga Digest atau Hash).
Algoritme hashing Cryptocurrency biasanya dirancang sebagai fungsi satu arah yang berarti bahwa mereka tidak dapat dibatalkan dengan mudah tanpa sejumlah besar waktu dan sumber daya komputasi. Dengan kata lain, sangat mudah untuk mendapatkan keluaran dari masukan tetapi relatif sulit untuk melakukan kebalikannya (masukan hanya dari keluaran). Secara umum, semakin sulit mencari input, semakin aman algoritma hashing.
Mengenal proses hashing dengan cara kerja fungsi / fungsi hash?
Fungsi hash yang berbeda menghasilkan keluaran dengan ukuran yang berbeda tetapi ukuran keluaran yang mungkin untuk setiap algoritma hash selalu tetap. Misalnya, SHA-256 hanya dapat menghasilkan output 256 bit, sedangkan SHA-1 selalu menghasilkan ringkasan 160 bit.
Sebagai ilustrasi, mari kita jalankan kata “Binance” dan “binance” melalui algoritma hashing SHA-256 (yang digunakan dalam Bitcoin).
Perhatikan bahwa sedikit perubahan (dalam bentuk huruf pertama) menghasilkan nilai hash yang sangat berbeda. Tetapi karena kami menggunakan SHA-256, output akan selalu memiliki ukuran tetap 256-bit (atau 64 karakter) terlepas dari ukuran inputnya. Selain itu, tidak masalah berapa kali kita menjalankan dua kata melalui algoritme karena dua keluaran akan tetap konstan.
Sebaliknya, jika kita menjalankan input yang sama melalui algoritma hash SHA-1.
Perlu dicatat bahwa Mengenal proses hashing / SHA adalah akronim dari Secure Hash Algorithms. Ini mengacu pada sekumpulan fungsi hash kriptografi yang menyertakan algoritme SHA-0 dan SHA-1 dengan kombinasi SHA-2 dan SHA-3. SHA-256 adalah bagian dari grup SHA-2 bersama dengan SHA-512 dan varian lainnya. Saat ini, hanya kombinasi SHA-2 dan SHA-3 yang dianggap aman.
Mengapa ini penting?
Fungsi hash tradisional memiliki berbagai macam kasus penggunaan termasuk pencarian database, analisis file besar, dan manajemen data. Di sisi lain, fungsi hash kriptografi banyak digunakan dalam aplikasi keamanan informasi seperti otentikasi pesan dan sidik jari digital. Untuk Bitcoin, fungsi hash kriptografi adalah bagian penting dari proses penambangan dan juga berperan dalam menghasilkan alamat dan kunci baru.
Kekuatan sesungguhnya dari segmentasi datang ketika berhadapan dengan informasi dalam jumlah besar. Misalnya, Anda dapat menjalankan file besar atau kumpulan data melalui fungsi hash dan kemudian menggunakan outputnya untuk memeriksa keakuratan dan integritas data dengan cepat. Hal ini dimungkinkan karena sifat deterministik dari fungsi hash: input selalu mengarah ke output yang disederhanakan dan dipadatkan (hash). Teknologi ini menghilangkan kebutuhan untuk menyimpan dan mengingat data dalam jumlah besar.
Hashing sangat berguna dalam konteks teknologi blockchain. Blockchain Bitcoin memiliki banyak operasi yang melibatkan hashing, yang sebagian besar sedang dalam proses penambangan. Nyatanya, hampir semua protokol mata uang kripto mengandalkan hashing untuk menghubungkan kelompok transaksi dan memadatkannya menjadi blok. Dan juga untuk membuat tautan terenkripsi antara setiap blok secara efektif membuat rantai blok.
Fungsi hash kriptografi
Sekali lagi, fungsi hash yang menggunakan teknik kriptografi dapat didefinisikan sebagai hash kriptografi. Meretas fungsi hash kriptografi membutuhkan upaya serangan brute force yang tak terhitung jumlahnya. Untuk fungsi hash kriptografi yang akan dibalik, mereka harus menebak apa masukan itu dengan coba-coba sampai keluaran yang sesuai dihasilkan. Tetapi juga memungkinkan untuk masukan yang berbeda untuk menghasilkan keluaran yang sama, dalam hal ini terjadi “tabrakan”.
Secara teknis, fungsi hash kriptografi harus mengikuti tiga karakteristik agar dianggap aman secara efektif. Kita dapat mendeskripsikan properti ini sebagai berikut: resistensi tabrakan, resistensi preimage, dan resistensi preimage kedua.
Sebelum membahas setiap karakteristik, mari kita rangkum alasan mereka dalam tiga kalimat pendek.
• Resistensi benturan: Tidak dapat menemukan dua input berbeda yang menghasilkan hash yang sama dengan output.
• Preimage resistance: Fungsi hash tidak dapat “dibalik” (mencari masukan dari keluaran tertentu).
• Resistensi preimage kedua: Tidak dapat menemukan input kedua yang bertabrakan dengan input lain yang ditentukan.
Resistensi tabrakan
Seperti disebutkan sebelumnya, tabrakan terjadi ketika input yang berbeda menghasilkan hash yang sama persis. Dengan demikian fungsi hash tahan benturan sampai saat seseorang menemukan tabrakan. Perhatikan bahwa tabrakan akan selalu ada untuk setiap fungsi hash karena input potensial tidak terbatas sementara output potensial terbatas.
Dengan kata lain, fungsi hash adalah collision resistant ketika potensi tumbukan sangat rendah sehingga membutuhkan perhitungan jutaan tahun. Jadi meskipun tidak ada fungsi hash bebas benturan, beberapa di antaranya cukup kuat untuk dianggap resistif (misalnya SHA-256).
Di antara berbagai algoritme SHA, kombinasi SHA-0 dan SHA-1 tidak lagi aman karena benturan. Saat ini grup SHA-2 dan SHA-3 tahan benturan.
Resistensi gambar
Properti resistansi preimage terkait dengan konsep fungsi satu arah. Fungsi hash adalah preimage-resistant ketika kemungkinan seseorang akan menemukan input yang menghasilkan output tertentu sangat kecil.
Perlu diingat bahwa fitur ini berbeda dari yang sebelumnya karena penyerang akan mencoba menebak apa masukannya dengan melihat keluaran tertentu. Di sisi lain, collision terjadi ketika seseorang menemukan input berbeda yang menghasilkan output yang sama tetapi tidak masalah input mana yang digunakan.
Resistensi preimage sangat berharga dalam melindungi data karena hash sederhana dari sebuah pesan dapat membuktikan keasliannya tanpa perlu mengungkapkan informasi apa pun. Ketika diterapkan dalam praktiknya, banyak penyedia layanan dan aplikasi web menyimpan dan menggunakan hashes (hashes) yang dihasilkan dari kata sandi alih-alih kata sandi dalam teks biasa.
Resistensi preimage kedua
Untuk kesederhanaan kita dapat mengatakan bahwa resistansi preimage kedua berada di antara properti sebelumnya. Serangan second-preimage terjadi ketika seseorang menemukan input spesifik yang menghasilkan output yang sama dengan input lain yang sudah mereka ketahui.
Dengan kata lain, serangan second-preimage melibatkan menemukan tabrakan tetapi alih-alih mencari dua entri acak yang menghasilkan hash yang sama sebagai keluaran, mereka mencari entri yang menghasilkan hash yang sama yang dihasilkan oleh entri spesifik lainnya.
Jadi setiap fungsi hash yang tahan terhadap tabrakan juga tahan terhadap serangan preimage kedua karena yang terakhir akan selalu menyiratkan tabrakan. Namun, penyerang masih dapat melakukan serangan awal pada fungsi anti-tabrakan karena melibatkan pencarian satu masukan dari satu keluaran.
Pikiran penutup
Tidak diragukan lagi bahwa Mengenal proses hashing adalah alat penting dalam ilmu komputer terutama saat menangani data dalam jumlah besar. Algoritme hash dapat menjadi serbaguna bila dikombinasikan dengan enkripsi yang memberikan keamanan dan otentikasi dalam berbagai cara. Dengan demikian, fungsi hash kriptografi sangat penting untuk hampir semua jaringan cryptocurrency. Jadi pemahaman tentang properti dan mekanisme aksinya pasti bermanfaat bagi siapa pun yang tertarik dengan teknologi blockchain.
