Հասանելի է BLAKE3 ծածկագրային հեշ ֆունկցիան, որը 10 անգամ ավելի արագ է, քան SHA-2-ը

Հրապարակվել է ալգորիթմի վերջնական իրականացումը ԿԱՐՈ3 XNUMX, որն առաջարկում է կրիպտոգրաֆիկ հեշ ֆունկցիա, որը նախատեսված է այնպիսի ծրագրերի համար, ինչպիսիք են ֆայլերի ամբողջականության ստուգումը, հաղորդագրությունների իսկությունը և թվային ստորագրությունների համար տվյալների ստեղծումը: BLAKE3-ը նախատեսված չէ գաղտնաբառերի հեշավորման համար (գաղտնաբառերի համար անհրաժեշտ է օգտագործել yescrypt, bcrypt, scrypt կամ Argon2), քանի որ այն նպատակաուղղված է հնարավորինս արագ հաշվարկելու հեշերը՝ առանց բախումների, պաշտպանվելու երաշխիքով: գտնելով նախատիպը և զգայուն չէ հաշված տվյալների չափի նկատմամբ: BLAKE3-ի տեղեկանք իրականացում հրատարակված Կրկնակի լիցենզավորված հանրային տիրույթի (CC0) և Apache 2.0-ի ներքո:

Նոր հեշ ֆունկցիայի հիմնական տարբերությունը հեշի հաշվարկների շատ բարձր կատարողականությունն է՝ պահպանելով հուսալիությունը SHA-3 մակարդակում: Լռելյայնորեն, BLAKE3-ում ստացված հեշի չափը 32 բայթ է (256 բիթ), բայց այն կարող է ընդլայնվել մինչև կամայական արժեքներ: 16 ԿԲ ֆայլի համար հեշ ստեղծելու թեստում BLAKE3-ը գերազանցում է SHA3-256-ին 15 անգամ, SHA-256-ին՝ 12 անգամ, SHA-512-ին՝ 8 անգամ, SHA-1-ին՝ 6 անգամ, իսկ BLAKE2b-ին՝ 4 անգամ: Էական բաց է մնում շատ մեծ քանակությամբ տվյալների մշակման ժամանակ, օրինակ, պարզվեց, որ BLAKE3-ը ավելի արագ SHA-256 8 անգամ՝ 1 ԳԲ պատահական տվյալների համար հեշը հաշվարկելիս:

Հասանելի է BLAKE3 ծածկագրային հեշ ֆունկցիան, որը 10 անգամ ավելի արագ է, քան SHA-2-ը

Ալգորիթմը մշակվել է գաղտնագրության հայտնի մասնագետների կողմից (Ջեք Օ'Քոնոր, Ժան-Ֆիլիպ Օմասսոն, Սամուել Նևես, Zooko Wilcox-O'Hearn) և շարունակում է մշակել ալգորիթմը ԿԱՐՈ2 XNUMX և օգտագործում է մեխանիզմ՝ բլոկ շղթայի ծառը կոդավորելու համար Bao. Ի տարբերություն BLAKE2-ի (BLAKE2b, BLAKE2s), BLAKE3-ն առաջարկում է մեկ ալգորիթմ բոլոր հարթակների համար, որը կապված չէ բիթերի խորության և հեշի չափի հետ:

Բարձրացված կատարողականությունը ձեռք է բերվել ռաունդների քանակը 10-ից 7-ի նվազեցնելու և 1 ԿԲ ծավալով բլոկների առանձին հեշավորման միջոցով: Ըստ ստեղծողների, նրանք գտել են համոզիչ ապացույցներ, որ կարող եք հաղթահարել 7-ի փոխարեն 10 ռաունդով՝ պահպանելով հուսալիության նույն մակարդակը (հստակության համար կարող եք օրինակ բերել հարիչով մրգերը խառնելով. 7 վայրկյան հետո պտուղներն արդեն ամբողջությամբ խառնվել են, և հավելյալ 3 վայրկյան. չի ազդում խառնուրդի հետևողականության վրա): Այնուամենայնիվ, որոշ հետազոտողներ կասկածներ են հայտնում՝ հավատալով, որ նույնիսկ եթե ներկայումս 7 ռաունդը բավարար է հեշերի վրա բոլոր հայտնի հարձակումներին դիմակայելու համար, ապա լրացուցիչ 3 ռաունդը կարող է օգտակար լինել, եթե ապագայում հայտնաբերվեն նոր հարձակումներ:

Ինչ վերաբերում է բլոկների բաժանմանը, ապա BLAKE3-ում հոսքը բաժանվում է 1 ԿԲ մասերի և յուրաքանչյուր կտոր հեշացվում է ինքնուրույն։ Հիմնվելով հիմքի վրա գտնվող կտորների հեշերի վրա երկուական merkle ծառ ձևավորվում է մեկ մեծ հաշ: Այս բաժանումը թույլ է տալիս մեզ լուծել տվյալների մշակման զուգահեռացման խնդիրը հեշը հաշվարկելիս, օրինակ, կարող եք օգտագործել 4 թելերով SIMD հրահանգներ՝ միաժամանակ 4 բլոկի հեշերը հաշվարկելու համար: Ավանդական SHA-* հեշ ֆունկցիաները հաջորդաբար մշակում են տվյալները:

BLAKE3-ի առանձնահատկությունները.

  • Բարձր կատարողական;
  • Անվտանգություն, ներառյալ դիմադրությունը հաղորդագրության երկարացման հարձակումը, որին ենթակա է SHA-2;
  • Ցանկացած քանակի թելերի և SIMD ալիքների վրա հաշվարկների զուգահեռության ապահովում;
  • հոսքերի աստիճանական թարմացման և ստուգված մշակման հնարավորությունը;
  • Օգտագործեք PRF, MAC, KDF, XOF ռեժիմներում և որպես սովորական հեշ;
  • Մեկ ալգորիթմ բոլոր ճարտարապետությունների համար, արագ ինչպես x86-64 համակարգերի, այնպես էլ 32-բիթանոց ARM պրոցեսորների վրա:

Source: opennet.ru

Добавить комментарий