Հրապարակված է ալգորիթմի վերջնական իրականացումը , որը առաջարկում է կրիպտոգրաֆիկ հեշ ֆունկցիա, նախատեսված նման կիրառման համար, ինչպիսիք են ֆայլերի ամբողջականության ստուգումը, հաղորդագրությունների վավերացումը և թվային ստորագրությունների տվյալների ձևավորումը։ BLAKE3-ը նախատեսված չէ գաղտնաբառերի հեշավորման համար (գաղտնաբառերի համար անհրաժեշտ է օգտագործել yescrypt, bcrypt, scrypt կամ Argon2), քանի որ կենտրոնացած է հեշերի առավելագույն արագ հաշվարկի վրա, երաշխիքի ապահովմամբ, որ բախումներ չեն լինի, պաշտպանություն և տվյալների չափի նկատմամբ անզգայություն։ BLAKE3-ի ցուցակային իրականացումն սահմանված է երկու լիցենզիայի ներքո՝ հանրային սեփականություն (CC0) և Apache 2.0։
Նոր հեշ ֆունկցիայի principales տարբերությունն է հեշի հաշվարկման շատ բարձր արդյունավետությունը, պահելով հուսալիությունը 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 ալգորիթմի զարգացման գործընթացը և օգտագործում է բլոկների շղթաների ծառի կոդավորման մեխանիզմ ։ BLAKE2-ից (BLAKE2b, BLAKE2s) բացարձակապես BLAKE3-ը առաջարկում է բոլոր պլատֆորմների համար միակ ալգորիթմ, որը չի կապված աղյուսակի չափի և հեշի չափի հետ։
Արդյունավետության բարձրացմանը հաջողվել է հասնել ռաունդների քանակը 10-ից մինչև 7 կրճատելով և բլոկները 1 Կբ մասերով անկախ հեշավորելով։ Ստեղծողների հայտարարությամբ, նրանք գտել են համոզիչ , որ կարելի է սահմանափակվել 7 ռաունդներով 10-ի փոխարեն՝ նույն մակարդակի հուսալիությունը պահպանելով (ներմուծման շրջանակում կարելի է օրինակ բերել մրգերի խառնուրդը միկսերում — 7 վայրկյան անց մրգերը արդեն ամբողջությամբ խառնված են, և լրացուցիչ 3 վայրկյանները չեն ազդի խառնուրդի համասեռության վրա)։ Այս պատուհանով, որոշ հետազոտողներ կասկած են հայտնում, կարծում են, որ նույնիսկ եթե ներկայումս 7 ռաունդները բավարար են հայտնի հեշների վրա հասնելու բոլոր հայտնի հարձակումներին, ապա լրացուցիչ 3 ռաունդները կարող են օգտակար լինել նոր հարձակումների հայտնաբերման դեպքում ապագայում։
Աէ կապված բլոկի բաժանումը, BLAKE3-ն ալյուրի հոսքը բաժանում է 1 Կբ մասերի, և յուրաքանչյուր մաս անկախ հեշավորվում է։ Հաշվարկելի մասերի հիման վրա պատահում է մեկ մեծ հեշ։ Նշված բաժանումը թույլ է տալիս լուծել տվյալների մշակման հարակից պրոբլեմները հեշի հաշմանքի ժամանակ՝ օրինակ, կարելի է օգտագործել 4-սահմանային SIMD հրամաններ 4 բլոկների հեշերը միաժամանակ հաշվելու համար։ Tradicionkiye heş-funkciyalar SHA-* մշակում են տվյալները հաջորդաբար։
BLAKE3-ի առանձնահատկությունները՝
- Բարձր կատարողականություն;
- Անվտանգություն, ներառյալ հաղորդման երկարացման՝ , որի ազդեցության տակ է գտնվում SHA-2;
- Հաշվարկների բարելավում ցանկացած թվով գործընթացների և SIMD-ալիքների համար;
- Ինքավարման թարմացման և վստահելի մշակումների հնարավորություն;
- Կիրառում PRF, MAC, KDF, XOF ռեժիմներում և որպես սովորական հեշ;
- Համապատասխան الگալիգորմբի համար մեկ ալգորիթմ, որը արագ է ինչպես x86-64 համակարգերում, այնպես էլ 32-bit ARM պրոցեսորներում։
Ընտանիք: opennet.ru
