Alqoritmin yekun icrası dərc olunub , fayl bütövlüyünün yoxlanılması, mesajın autentifikasiyası və rəqəmsal imzalar üçün məlumatların yaradılması kimi proqramlar üçün nəzərdə tutulmuş kriptoqrafik hash funksiyası təklif edir. BLAKE3 parol heşinqi üçün nəzərdə tutulmayıb (parollar üçün yescrypt, bcrypt, scrypt və ya Argon2 istifadə edin), çünki o, toqquşmaların olmamasını və qarşı qorunma təmin etməklə hashləri mümkün qədər tez hesablamaq üçün nəzərdə tutulub. və hashing edilən məlumatın ölçüsünə həssaslıq. İstinad tətbiqi BLAKE3-dir İkili lisenziyalı - ictimai domen (CC0) və Apache 2.0.
Yeni hash funksiyasının əsas xüsusiyyəti onun SHA-3 səviyyəli etibarlılığını qoruyarkən çox yüksək hash hesablama performansıdır. Varsayılan olaraq, BLAKE3-də nəticədə hash ölçüsü 32 baytdır (256 bit), lakin onu ixtiyari dəyərlərə qədər genişləndirmək olar. 16 KB fayl üçün hash yaratmaq testində BLAKE3 SHA3-256-nı 15 dəfə, SHA-256-nı 12 dəfə, SHA-512-ni 8 dəfə, SHA-1-i 6 dəfə və BLAKE2b-ni 4 dəfə üstələdi. Bu əhəmiyyətli liderlik hətta çox böyük həcmdə məlumatların işlənməsi zamanı da saxlanılır; məsələn, BLAKE3 olduğu ortaya çıxdı SHA-256 1GB təsadüfi məlumatın hashini hesablayarkən 8 dəfə daha sürətli.
Alqoritm tanınmış kriptoqrafiya mütəxəssisləri tərəfindən hazırlanmışdır (, , , ) və alqoritmi inkişaf etdirməyə davam edir və blok zəncirlərinin ağacını kodlaşdırmaq üçün mexanizmdən istifadə edir BLAKE2-dən (BLAKE2b, BLAKE2s) fərqli olaraq, BLAKE3 hash-in bit dərinliyi və ölçüsü ilə əlaqəsi olmayan bütün platformalar üçün vahid alqoritm təklif edir.
Performans təkmilləşdirmələri raundların sayını 10-dan 7-yə endirməklə və blokları 1 KB-lıq hissələrdə ayrı-ayrılıqda hashing etməklə əldə edilmişdir. Yaradıcıların fikrincə, onlar cəlbedici tapdılar , eyni etibarlılıq səviyyəsini qoruyarkən 10 əvəzinə 7 dövrə istifadə edilə bilər (aydınlıq üçün meyvələrin blenderdə qarışdırılması nümunəsini nəzərdən keçirin: 7 saniyədən sonra meyvə artıq tamamilə qarışdırılır və əlavə 3 saniyə qarışığın tutarlılığına təsir göstərməyəcək). Bununla belə, bəzi tədqiqatçılar şübhələrini bildirirlər və inanırlar ki, 7 raund bütün məlum hash hücumlarına qarşı durmaq üçün hazırda kifayətdirsə, gələcəkdə yeni hücumlar aşkar edilərsə, əlavə 3 raund faydalı ola bilər.
Blok bölgüsü ilə əlaqədar olaraq, BLAKE3-də axın 1 KB-lıq hissələrə bölünür və hər bir hissə müstəqil olaraq heşlənir. Parça hashlərinə əsasən, Tək böyük hash əmələ gəlir. Bu bölmə bizə hash hesablanarkən verilənlərin emalının paralelləşdirilməsi problemini həll etməyə imkan verir - məsələn, biz eyni vaxtda 4 blokun hashlərini hesablamaq üçün 4 yivli SIMD təlimatlarından istifadə edə bilərik. Ənənəvi SHA-* hash funksiyaları məlumatları ardıcıllıqla emal edir.
BLAKE3 xüsusiyyətləri:
- Yüksək performans;
- Müqavimət də daxil olmaqla təhlükəsizlik SHA-2-nin həssas olduğu;
- İstənilən sayda iplər və SIMD kanalları üzrə hesablamaların paralelləşdirilməsini təmin etmək;
- Axınların tədricən yenilənməsi və yoxlanılmış işlənməsi imkanı;
- PRF, MAC, KDF, XOF rejimlərində və adi hash kimi istifadə edilə bilər;
- Bütün arxitekturalar üçün vahid alqoritm, həm x86-64 sistemlərində, həm də 32-bit ARM prosessorlarında sürətli.
Mənbə: opennet.ru
