Ալգորիթմի վերջնական իրականացումը հրապարակվել է , որն առաջարկում է կրիպտոգրաֆիկ հեշ ֆունկցիա, որը նախատեսված է այնպիսի կիրառությունների համար, ինչպիսիք են ֆայլերի ամբողջականության ստուգումը, հաղորդագրությունների նույնականացումը և թվային ստորագրությունների համար տվյալների ստեղծումը: 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 ԳԲ պատահական տվյալների հեշը հաշվարկելիս։
Ալգորիթմը մշակվել է հայտնի կրիպտոգրաֆիայի մասնագետների կողմից (, , , ) և շարունակում է զարգացնել ալգորիթմը և օգտագործում է մեխանիզմ՝ բլոկային շղթաների ծառը կոդավորելու համար Ի տարբերություն BLAKE2-ի (BLAKE2b, BLAKE2s), BLAKE3-ը առաջարկում է մեկ ալգորիթմ բոլոր հարթակների համար, որը կապված չէ հեշի բիթային խորության և չափի հետ։
Արդյունավետության բարձրացումը ձեռք է բերվել փուլերի քանակը 10-ից 7-ի կրճատելու և բլոկները 1 ԿԲ կտորներով առանձին-առանձին հեշավորելու միջոցով։ Ստեղծողների խոսքով՝ նրանք համոզիչ արդյունք են գտել։ , որ հնարավոր է յոլա գնալ 7-ի փոխարեն 10 փամփուշտով՝ պահպանելով նույն մակարդակի հուսալիությունը (պարզության համար կարող ենք օրինակ բերել մրգերը բլենդերում խառնելը. 7 վայրկյան անց մրգերն արդեն ամբողջությամբ խառնված են, և լրացուցիչ 3 վայրկյանը չի ազդի խառնուրդի խտության վրա): Միևնույն ժամանակ, որոշ հետազոտողներ կասկած են հայտնում՝ կարծելով, որ նույնիսկ եթե 7 փամփուշտը ներկայումս բավարար է հեշերի վրա բոլոր հայտնի հարձակումներին դիմակայելու համար, ապա լրացուցիչ 3 փամփուշտ կարող է օգտակար լինել, եթե ապագայում նոր հարձակումներ հայտնաբերվեն:
Ինչ վերաբերում է բլոկների բաժանմանը, BLAKE3-ում հոսքը բաժանված է 1 KB չափի կտորների, և յուրաքանչյուր կտոր հեշվում է անկախ։ Հիմնվելով հիմքում գտնվող կտորների հեշերի վրա։ Ձևավորվում է մեկ մեծ հեշ։ Այս բաժանումը թույլ է տալիս լուծել տվյալների մշակման զուգահեռացման խնդիրը հեշի հաշվարկման ժամանակ. օրինակ, կարող եք օգտագործել 4 հոսքային SIMD հրահանգներ՝ միաժամանակ 4 բլոկների հեշերը հաշվարկելու համար։ Ավանդական SHA-* հեշ ֆունկցիաները տվյալները մշակում են հաջորդաբար։
BLAKE3-ի առանձնահատկությունները.
- Բարձր կատարողականություն;
- Անվտանգություն, ներառյալ դիմադրությունը , որին SHA-2-ը զգայուն է։
- Հաշվարկների զուգահեռացման ապահովում ցանկացած թվով թելերի և SIMD ալիքների միջև։
- հոսքերի աստիճանական թարմացման և ստուգված մշակման հնարավորությունը;
- Կիրառում PRF, MAC, KDF, XOF ռեժիմներում և որպես սովորական հեշ։
- Մեկ ալգորիթմ բոլոր ճարտարապետությունների համար, արագ ինչպես x86-64 համակարգերի, այնպես էլ 32-բիթանոց ARM պրոցեսորների վրա:
Source: opennet.ru
