Tersedia fungsi hash kriptografi BLAKE3, yang 10 kali lebih cepat dari SHA-2

Implementasi akhir dari algoritma ini telah dipublikasikan HITAM3, yang menawarkan fungsi hash kriptografi yang dirancang untuk aplikasi seperti pemeriksaan integritas file, otentikasi pesan, dan menghasilkan data untuk tanda tangan digital. BLAKE3 tidak dimaksudkan untuk hashing kata sandi (untuk kata sandi Anda perlu menggunakan yescrypt, bcrypt, scrypt atau Argon2), karena ditujukan untuk menghitung hash secepat mungkin dengan jaminan tidak ada tabrakan, perlindungan terhadap menemukan prototipenya dan tidak sensitif terhadap ukuran data yang di-hash. Referensi implementasi BLAKE3 diterbitkan Berlisensi ganda di bawah Domain Publik (CC0) dan Apache 2.0.

Perbedaan utama dari fungsi hash baru ini adalah performa penghitungan hash yang sangat tinggi dengan tetap menjaga keandalan pada tingkat SHA-3. Secara default, ukuran hash yang dihasilkan di BLAKE3 adalah 32 byte (256 bit), tetapi dapat diperluas ke nilai arbitrer. Dalam pengujian pembuatan hash untuk file 16 KB, BLAKE3 mengungguli SHA3-256 sebanyak 15 kali, SHA-256 sebanyak 12 kali, SHA-512 sebanyak 8 kali, SHA-1 sebanyak 6 kali, dan BLAKE2b sebanyak 4 kali. Ada kesenjangan yang signifikan saat memproses data dalam jumlah yang sangat besar, misalnya BLAKE3 быстрее SHA-256 sebanyak 8 kali saat menghitung hash untuk 1GB data acak.

Tersedia fungsi hash kriptografi BLAKE3, yang 10 kali lebih cepat dari SHA-2

Algoritma ini dikembangkan oleh para ahli kriptografi terkenal (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) dan terus mengembangkan algoritmanya HITAM2 dan menggunakan mekanisme untuk menyandikan pohon rantai blok Bao. Berbeda dengan BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 menawarkan algoritma tunggal untuk semua platform, tidak terikat pada kedalaman bit dan ukuran hash.

Peningkatan kinerja dicapai dengan mengurangi jumlah putaran dari 10 menjadi 7 dan secara terpisah melakukan hashing blok dalam potongan 1 KB. Menurut penciptanya, mereka menemukan hal yang meyakinkan bukti, yang dapat Anda lakukan dengan 7 putaran, bukan 10, dengan tetap mempertahankan tingkat keandalan yang sama (untuk lebih jelasnya, Anda dapat memberikan contoh dengan mencampur buah dalam mixer - setelah 7 detik buah sudah tercampur sempurna dan tambahan 3 detik akan tidak mempengaruhi konsistensi campuran). Namun, beberapa peneliti menyatakan keraguannya, percaya bahwa meskipun saat ini 7 putaran sudah cukup untuk menahan semua serangan hash yang diketahui, maka 3 putaran tambahan mungkin berguna jika serangan baru teridentifikasi di masa depan.

Sedangkan untuk pembagian menjadi blok, di BLAKE3 aliran dibagi menjadi 1 bagian KB dan setiap bagian di-hash secara independen. Berdasarkan hash dari potongan-potongan di pangkalan pohon merekle biner satu hash besar terbentuk. Pembagian ini memungkinkan kita untuk memecahkan masalah paralelisasi pemrosesan data saat menghitung hash - misalnya, Anda dapat menggunakan instruksi SIMD 4-utas untuk menghitung hash dari 4 blok secara bersamaan. Fungsi hash SHA-* tradisional memproses data secara berurutan.

Fitur BLAKE3:

  • Kinerja tinggi;
  • Keamanan, termasuk ketahanan terhadap serangan pemanjangan pesan, dimana SHA-2 rentan;
  • Memastikan paralelisasi perhitungan pada sejumlah thread dan saluran SIMD;
  • Kemungkinan pembaruan bertahap dan pemrosesan aliran terverifikasi;
  • Gunakan dalam mode PRF, MAC, KDF, XOF dan sebagai hash biasa;
  • Algoritme tunggal untuk semua arsitektur, cepat pada sistem x86-64 dan prosesor ARM 32-bit.

Sumber: opennet.ru

Tambah komentar