Fungsi cincang kriptografi BLAKE3 tersedia, iaitu 10 kali lebih pantas daripada SHA-2

Pelaksanaan akhir algoritma telah diterbitkan BLAKE3, yang menawarkan fungsi cincang kriptografi yang direka untuk aplikasi seperti semakan integriti fail, pengesahan mesej dan penjanaan data untuk tandatangan digital. BLAKE3 tidak bertujuan untuk mencincang kata laluan (untuk kata laluan anda perlu menggunakan yescrypt, bcrypt, scrypt atau Argon2), kerana ia bertujuan untuk mengira cincang secepat mungkin dengan jaminan tiada perlanggaran, perlindungan daripada mencari prototaip dan tidak sensitif kepada saiz data cincang. Rujukan pelaksanaan BLAKE3 diterbitkan Dwi berlesen di bawah Domain Awam (CC0) dan Apache 2.0.

Perbezaan utama fungsi cincang baharu ialah prestasi pengiraan cincang yang sangat tinggi sambil mengekalkan kebolehpercayaan pada tahap SHA-3. Secara lalai, saiz cincang yang terhasil dalam BLAKE3 ialah 32 bait (256 bit), tetapi ia boleh dikembangkan kepada nilai arbitrari. Dalam ujian penjanaan cincang untuk fail 16 KB, BLAKE3 mengatasi 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 ganda. Jurang yang ketara kekal apabila memproses jumlah data yang sangat besar, contohnya, BLAKE3 ternyata быстрСС SHA-256 sebanyak 8 kali apabila mengira cincang untuk 1GB data rawak.

Fungsi cincang kriptografi BLAKE3 tersedia, iaitu 10 kali lebih pantas daripada SHA-2

Algoritma ini dibangunkan oleh pakar kriptografi terkenal (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) dan terus membangunkan algoritma BLAKE2 dan menggunakan mekanisme untuk mengekod pokok rantai blok Rasuk. Tidak seperti BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 menawarkan algoritma tunggal untuk semua platform, tidak terikat pada kedalaman bit dan saiz cincang.

Peningkatan prestasi dicapai dengan mengurangkan bilangan pusingan daripada 10 kepada 7 dan blok pencincangan secara berasingan dalam kepingan 1 KB. Menurut pencipta, mereka mendapati sesuatu yang meyakinkan bukti, yang anda boleh dapatkan dengan 7 pusingan dan bukannya 10 sambil mengekalkan tahap kebolehpercayaan yang sama (untuk kejelasan, anda boleh memberi contoh dengan mencampurkan buah-buahan dalam pengadun - selepas 7 saat buah-buahan sudah bercampur sepenuhnya dan 3 saat tambahan akan tidak menjejaskan ketekalan campuran). Walau bagaimanapun, sesetengah penyelidik menyatakan keraguan, mempercayai bahawa walaupun pada masa ini 7 pusingan sudah cukup untuk menahan semua serangan yang diketahui pada cincang, maka 3 pusingan tambahan mungkin berguna jika serangan baharu dikenal pasti pada masa hadapan.

Bagi pembahagian kepada blok, dalam BLAKE3 aliran dibahagikan kepada 1 keping KB dan setiap bahagian dicincang secara bebas. Berdasarkan cincangan kepingan pada pangkalan pokok merkle binari satu cincang besar terbentuk. Bahagian ini membolehkan kami menyelesaikan masalah menyelaraskan pemprosesan data semasa mengira cincang - contohnya, anda boleh menggunakan arahan SIMD 4-benang untuk mengira cincang 4 blok secara serentak. Fungsi cincang SHA-* tradisional memproses data secara berurutan.

Ciri-ciri BLAKE3:

  • Prestasi tinggi;
  • Keselamatan, termasuk penentangan terhadap serangan pemanjangan mesej, yang mana SHA-2 terdedah;
  • Memastikan penyejajaran pengiraan pada sebarang bilangan benang dan saluran SIMD;
  • Kemungkinan peningkatan pengemaskinian dan pemprosesan aliran yang disahkan;
  • Gunakan dalam mod PRF, MAC, KDF, XOF dan sebagai cincang biasa;
  • Algoritma tunggal untuk semua seni bina, pantas pada kedua-dua sistem x86-64 dan pemproses ARM 32-bit.

Sumber: opennet.ru

Tambah komen