I-BLAKE3 1.0 iCryptographic Hash Reference Implementation Ikhutshiwe

Ukuphunyezwa kwereferensi yomsebenzi we-cryptographic hash i-BLAKE3 1.0 yakhululwa, ephawulekayo ngenxa yokusebenza kwayo okuphezulu kakhulu kwe-hash ngelixa iqinisekisa ukuthembeka kwinqanaba le-SHA-3. Kuvavanyo lokuvelisa i-hash yefayile eyi-16 KB, iBLAKE3 eneqhosha le-256-bit igqwesa i-SHA3-256 ngo-17 amaxesha, SHA-256 ngamaxesha ali-14, SHA-512 ngo-9, SHA-1 ngo-6, kunye ne-BLAKE2b - 5 amaxesha. I-gap ebalulekileyo isala xa kusetyenzwa inani elikhulu kakhulu ledatha, umzekelo, i-BLAKE3 yajika ibe ngamaxesha angama-256 ngokukhawuleza kune-SHA-8 xa ibala i-hash ye-1GB yedatha engahleliwe. Ikhowudi yokusetyenziswa kwereferensi ye-BLAKE3 ifumaneka kwiinguqulelo ze-C kunye neRust phantsi kwe-domain yoluntu emibini (CC0) kunye nelayisensi ye-Apache 2.0.

I-BLAKE3 1.0 iCryptographic Hash Reference Implementation Ikhutshiwe

Umsebenzi we-hash uyilelwe usetyenziso olunjengokukhangela ingqibelelo yefayile, uqinisekiso lomyalezo, kunye nokuvelisa idatha yotyikityo lwedijithali. I-BLAKE3 ayijoliswanga kwi-hashing passwords, njengoko ijolise ekubaleni i-hashes ngokukhawuleza (kwi-passwords, kuyacetyiswa ukuba kusetyenziswe imisebenzi ye-hash ecothayo yescrypt, bcrypt, scrypt okanye Argon2). Umsebenzi we-hash ophantsi koqwalaselo awunaluvelwano kubungakanani bedatha yehashi kwaye ukhuselwe ekuhlaselweni kokhetho lokungqubana kunye nokufunyanwa kwangaphambili.

I-algorithm yaphuhliswa ziingcali ezaziwayo ze-cryptography (uJack O'Connor, uJean-Philippe Aumasson, uSamuel Neves, uZooko Wilcox-O'Hearn) kwaye uqhubeleka nophuhliso lwe-algorithm ye-BLAKE2 kwaye isebenzisa indlela ye-Bao ukufaka ikhowudi kwi-block chain tree. . Ngokungafaniyo ne-BLAKE2 (BLAKE2b, BLAKE2s), i-BLAKE3 inikezela nge-algorithm eyodwa kuzo zonke iiplatifomu, ezingabotshwanga kubunzulu obuncinci kunye nobukhulu be-hash.

Ukusebenza okwandisiweyo kuye kwaphunyezwa ngokunciphisa inani lemijikelo ukusuka kwi-10 ukuya kwi-7 kunye neebhloko ze-hashing ngokwahlukeneyo kwi-1 KB. Ngokutsho kwabadali, baye bafumanisa ubungqina bemathematika obuqinisekisayo ukuba kunokwenzeka ukuba uphumelele nge-7 ngeenxa zonke endaweni ye-10 ngelixa ugcina inqanaba elifanayo lokuthembeka (ukucacisa, sinokunika umzekelo ngokuxuba iziqhamo kwi-mixer - emva kwemizuzwana eyi-7. isiqhamo sele sixutywe ngokupheleleyo, kwaye imizuzwana emi-3 eyongezelelweyo ayiyi kuchaphazela ukuhambelana komxube). Nangona kunjalo, abanye abaphandi bavakalisa amathandabuzo, bekholelwa ukuba nangona ii-7 ezijikelezayo okwangoku zanele ukulwa nazo zonke izihlaselo ezaziwayo kwi-hashes, ke imijikelo eyongezelelweyo ye-3 ingaba luncedo ukuba uhlaselo olutsha luchongiwe kwixesha elizayo.

Ngokuphathelele ukwahlula kwiibhloko, kwi-BLAKE3 umlambo wahlulwe ube ngamaqhekeza e-1 KB kwaye iqhekeza ngalinye likhawuleza ngokuzimeleyo. Ngokusekwe kwiihashi zamaqhekeza, ihashi enye enkulu yenziwa ngokusekwe kumthi webinary Merkle. Olu lwahlulo luvumela ukuba sisombulule ingxaki yokulinganisa idatha xa ubala i-hashes - umzekelo, ungasebenzisa imiyalelo ye-SIMD enemisonto emi-4 ukubala ngaxeshanye i-hashes yeebhloko ezi-4. Imisebenzi ye-SHA-* ye-hash yesiqhelo yenza idatha ngokulandelelanayo.

Iimpawu ze-BLAKE3:

  • Ukusebenza okuphezulu, i-BLAKE3 ikhawuleza kakhulu kune-MD5, SHA-1, SHA-2, SHA-3 kunye ne-BLAKE2.
  • Ukhuseleko, kubandakanya ukuchasana nohlaselo lolwandiso lomyalezo apho i-SHA-2 ichaphazeleka khona;
  • Ifumaneka kwi-Rust, ilungiselelwe i-SSE2, i-SSE4.1, i-AVX2, i-AVX-512, kunye ne-NEON imiyalelo.
  • Ukuqinisekisa ukuhambelana kwezibalo kulo naliphi na inani leentambo kunye neziteshi ze-SIMD.
  • Ukubakho kohlaziyo olongezelelekileyo kunye nokuqinisekiswa kokusetyenzwa kwemijelo;
  • Sebenzisa kwiindlela zePRF, MAC, KDF, XOF kwaye njengehashi eqhelekileyo;
  • I-algorithm enye yazo zonke izakhiwo, ngokukhawuleza kuzo zombini iinkqubo ze-x86-64 kunye ne-32-bit ARM processors.

Owona mahluko mkhulu phakathi kwe-BLAKE3 kunye ne-BLAKE2:

  • Ukusetyenziswa kwesakhiwo somthi wokubini esivumela ukuhambelana okungenamkhawulo kwizibalo ze-hash.
  • Ukunciphisa inani lemijikelo ukusuka kwi-10 ukuya kwisi-7.
  • Iindlela ezintathu zokusebenza: i-hashing, i-hashing ngesitshixo (HMAC) kunye nokuveliswa kwesitshixo (KDF).
  • Akukho ntloko eyongezelelweyo xa i-hashing ngesitshixo ngenxa yokusetyenziswa kwendawo eyayihlala ngaphambili ibhloko yeeparameters eziphambili.
  • Indlela yokusebenza eyakhelwe-ngaphakathi ngendlela yomsebenzi kunye nesiphumo esandisiweyo (i-XOF, i-Extendable Output Function), evumela ukuhambelana nokubeka (ukufuna).

umthombo: opennet.ru

Yongeza izimvo