Fungsi hash kriptografi BLAKE3 kasedhiya, yaiku 10 kaping luwih cepet tinimbang SHA-2

Implementasi pungkasan saka algoritma wis diterbitake BLAKE3, sing nawakake fungsi hash kriptografi sing dirancang kanggo aplikasi kayata mriksa integritas file, otentikasi pesen, lan ngasilake data kanggo tandha digital. BLAKE3 ora dimaksudake kanggo hashing sandhi (kanggo tembung sandhi sampeyan kudu nggunakake yescrypt, bcrypt, scrypt utawa Argon2), amarga tujuane kanggo ngitung hash kanthi cepet kanthi njamin ora ana tabrakan, perlindungan marang nemokake prototipe lan ora sensitif karo ukuran data hash. Referensi implementasi BLAKE3 diterbitake Dual dilisensi ing Public Domain (CC0) lan Apache 2.0.

Bentenane utama fungsi hash anyar yaiku kinerja kalkulasi hash sing dhuwur banget nalika njaga linuwih ing tingkat SHA-3. Kanthi gawan, ukuran hash sing diasilake ing BLAKE3 yaiku 32 bait (256 bit), nanging bisa ditambahi dadi nilai sing sewenang-wenang. Ing test generasi hash kanggo file 16 KB, BLAKE3 ngluwihi SHA3-256 kaping 15, SHA-256 kaping 12, SHA-512 kaping 8, SHA-1 kaping 6, lan BLAKE2b kaping 4. A longkangan pinunjul tetep nalika ngolah data sing akeh banget, contone, BLAKE3 dadi luwih cepet SHA-256 kaping 8 nalika ngetung hash kanggo 1GB data acak.

Fungsi hash kriptografi BLAKE3 kasedhiya, yaiku 10 kaping luwih cepet tinimbang SHA-2

Algoritma iki dikembangake dening ahli kriptografi sing misuwur (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) lan terus ngembangake algoritma kasebut BLAKE2 lan nggunakake mekanisme kanggo encode wit chain pemblokiran Bao. Boten kados BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 nawakake algoritma siji kanggo kabeh platform, ora disambungake menyang ambane dicokot lan ukuran hash.

Peningkatan kinerja digayuh kanthi nyuda jumlah babak saka 10 dadi 7 lan blok hashing kanthi kapisah ing potongan 1 KB. Miturut pangripta, dheweke nemokake sing ngyakinake bukti, sing bisa ditindakake kanthi 7 babak tinimbang 10 nalika njaga tingkat linuwih sing padha (kanggo gamblang, sampeyan bisa menehi conto karo nyampur woh-wohan ing mixer - sawise 7 detik woh-wohan wis rampung dicampur lan tambahan 3 detik bakal ora mengaruhi konsistensi campuran). Nanging, sawetara peneliti nyatakake keraguan, percaya yen saiki 7 babak cukup kanggo nahan kabeh serangan sing dikenal ing hash, banjur tambahan 3 babak bisa uga migunani yen serangan anyar diidentifikasi ing mangsa ngarep.

Minangka kanggo dibagi dadi pamblokiran, ing BLAKE3 stream dipérang dadi 1 bêsik KB lan saben Piece wis hashed independen. Adhedhasar hash saka potongan ing dhasar wit merkle binar siji hash gedhe dibentuk. Divisi iki ngidini kita ngatasi masalah paralelisasi pangolahan data nalika ngetung hash - contone, sampeyan bisa nggunakake instruksi SIMD 4-threaded kanggo ngetung hash 4 blok bebarengan. Fungsi hash SHA-* tradisional ngolah data kanthi urut.

Fitur BLAKE3:

  • Kinerja dhuwur;
  • Safety, kalebu resistance kanggo serangan elongation pesen, sing SHA-2 rentan;
  • Njamin parallelization saka petungan ing nomer Utas lan saluran SIMD;
  • Kamungkinan nganyari tambahan lan pangolahan aliran sing diverifikasi;
  • Gunakake ing mode PRF, MAC, KDF, XOF lan minangka hash biasa;
  • Algoritma tunggal kanggo kabeh arsitektur, cepet ing sistem x86-64 lan prosesor ARM 32-bit.

Source: opennet.ru

Add a comment