Iṣẹ hash cryptographic BLAKE3 wa, eyiti o jẹ awọn akoko 10 yiyara ju SHA-2

Ik imuse ti alugoridimu ti a ti atejade BLAKE3, eyiti o funni ni iṣẹ hash cryptographic ti a ṣe apẹrẹ fun awọn ohun elo bii ṣiṣayẹwo iduroṣinṣin faili, ijẹrisi ifiranṣẹ, ati ipilẹṣẹ data fun awọn ibuwọlu oni-nọmba. BLAKE3 kii ṣe ipinnu fun awọn ọrọ igbaniwọle hashing (fun awọn ọrọ igbaniwọle o nilo lati lo yescrypt, bcrypt, scrypt tabi Argon2), nitori o ti pinnu lati ṣe iṣiro awọn hashes ni yarayara bi o ti ṣee pẹlu iṣeduro ti ko si awọn ijamba, aabo lodi si wiwa Afọwọkọ ati ki o ko kókó si awọn iwọn ti awọn hashed data. Itọkasi imuse ti BLAKE3 atejade Meji ti ni iwe-aṣẹ labẹ Ibugbe Gbogbo eniyan (CC0) ati Apache 2.0.

Iyatọ bọtini ti iṣẹ hash tuntun jẹ iṣẹ ṣiṣe giga pupọ ti awọn iṣiro hash lakoko mimu igbẹkẹle ni ipele SHA-3. Nipa aiyipada, iwọn hash Abajade ni BLAKE3 jẹ awọn baiti 32 (awọn bit 256), ṣugbọn o le faagun si awọn iye lainidii. Ninu idanwo iran hash fun faili 16 KB, BLAKE3 ṣe jade SHA3-256 nipasẹ awọn akoko 15, SHA-256 nipasẹ awọn akoko 12, SHA-512 nipasẹ awọn akoko 8, SHA-1 nipasẹ awọn akoko 6, ati BLAKE2b nipasẹ awọn akoko 4. Aafo pataki kan wa nigbati o ba n ṣiṣẹ data ti o tobi pupọ, fun apẹẹrẹ, BLAKE3 yipada lati jẹ yiyara SHA-256 nipasẹ awọn akoko 8 nigbati o ṣe iṣiro hash fun 1GB ti data laileto.

Iṣẹ hash cryptographic BLAKE3 wa, eyiti o jẹ awọn akoko 10 yiyara ju SHA-2

Algoridimu jẹ idagbasoke nipasẹ awọn amoye cryptography olokiki (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) ati ki o tẹsiwaju lati se agbekale alugoridimu BLAKE2 ati ki o nlo a siseto lati encoded awọn Àkọsílẹ pq igi Bao. Ko dabi BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 nfunni algorithm kan fun gbogbo awọn iru ẹrọ, ko so mọ ijinle bit ati iwọn hash.

Iṣẹ ṣiṣe ti o pọ si ni aṣeyọri nipasẹ idinku nọmba awọn iyipo lati 10 si 7 ati awọn bulọọki hashing lọtọ ni awọn ege 1 KB. Gẹgẹbi awọn ẹlẹda, wọn rii idaniloju kan ẹri, ti o le gba nipasẹ awọn iyipo 7 dipo 10 lakoko ti o n ṣetọju ipele kanna ti igbẹkẹle (fun kedere, o le fun apẹẹrẹ pẹlu awọn eso ti o dapọ ni alapọpọ - lẹhin awọn aaya 7 awọn eso ti wa ni idapo patapata ati afikun awọn aaya 3 yoo ko ni ipa lori aitasera ti adalu). Sibẹsibẹ, diẹ ninu awọn oniwadi ṣe afihan awọn iyemeji, gbigbagbọ pe paapaa ti awọn iyipo 7 lọwọlọwọ ba to lati koju gbogbo awọn ikọlu ti a mọ lori hashes, lẹhinna awọn iyipo 3 afikun le wulo ti awọn ikọlu tuntun ba jẹ idanimọ ni ọjọ iwaju.

Bi fun pipin si awọn bulọọki, ni BLAKE3 ṣiṣan ti pin si awọn ege 1 KB ati pe nkan kọọkan jẹ hashed ni ominira. Da lori awọn hashes ti awọn ege lori ipilẹ alakomeji merkle igi ọkan nla hash ti wa ni akoso. Pipin yii n gba wa laaye lati yanju iṣoro ti sisẹ data ti o jọra nigbati o ba ṣe iṣiro hash - fun apẹẹrẹ, o le lo awọn ilana SIMD-asapo mẹrin lati ṣe iṣiro awọn hashes ti awọn bulọọki 4 nigbakanna. Ibile SHA-* awọn iṣẹ hash ilana data lesese.

Awọn ẹya ara ẹrọ ti BLAKE3:

  • Išẹ giga;
  • Aabo, pẹlu resistance si ikọlu elongation ifiranṣẹ, eyiti SHA-2 jẹ ifaragba;
  • Aridaju parallelization ti isiro lori eyikeyi nọmba ti awon ati SIMD awọn ikanni;
  • O ṣeeṣe ti imudojuiwọn afikun ati iṣeduro iṣeduro ti awọn ṣiṣan;
  • Lo ni awọn ipo PRF, MAC, KDF, XOF ati bi hash deede;
  • Alugoridimu kan fun gbogbo awọn ayaworan, yara lori awọn ọna ṣiṣe x86-64 mejeeji ati awọn ilana ARM 32-bit.

orisun: opennet.ru

Fi ọrọìwòye kun