Алгоритмдин акыркы аткарылышы жарыяланды , бул файлдын бүтүндүгүн текшерүү, билдирүүнүн аныктыгын текшерүү жана санариптик кол тамгалар үчүн маалыматтарды түзүү сыяктуу тиркемелер үчүн иштелип чыккан криптографиялык хэш функциясын сунуштайт. BLAKE3 сырсөздөрдү хэширлөө үчүн арналган эмес (сырсөздөр үчүн yescrypt, bcrypt, scrypt же Argon2 колдонушуңуз керек), анткени ал хэштерди мүмкүн болушунча тезирээк эсептөөгө багытталган, анткени эч кандай кагылышуулар, коргоо. жана хэштелген маалыматтардын өлчөмүнө сезгич эмес. BLAKE3тин маалымдама ишке ашырылышы Dual Public Domain (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 болуп чыкты 256 ГБ кокус маалымат үчүн хэшти эсептөөдө SHA-8 1 эсеге.
Алгоритм атактуу криптография адистери тарабынан иштелип чыккан (, , , ) жана алгоритмди иштеп чыгууну улантууда жана блок чынжыр дарагын коддоо механизмин колдонот . BLAKE2ден (BLAKE2b, BLAKE2s) айырмаланып, BLAKE3 бит тереңдигине жана хэш өлчөмүнө байланышпаган бардык платформалар үчүн бирдиктүү алгоритмди сунуштайт.
Өндүрүмдүүлүктүн жогорулашына раунддардын санын 10дон 7ге чейин кыскартуу жана 1 КБ даана блокторду өзүнчө хэширлөө аркылуу жетишилди. Жаратуучулардын айтымында, алар ынанымдуу табышкан Ишенимдүүлүктүн бирдей деңгээлин сактап, 7дун ордуна 10 айлампа менен ала аласыз (түшүнүктүү болуу үчүн мөмө-жемиштерди миксерде аралаштырууга мисал келтирсеңиз болот - 7 секунддан кийин жемиштер толугу менен аралашып калат жана кошумча 3 секунда аралашманын консистенциясына таасир этпейт). Бирок, кээ бир изилдөөчүлөр хэштерге белгилүү болгон бардык чабуулдарга туруштук берүүгө учурда 7 раунд жетиштүү болсо дагы, келечекте жаңы чабуулдар аныкталса, кошумча 3 раунд пайдалуу болушу мүмкүн деп ишенип, шектенүүлөрүн билдиришүүдө.
Блокторго бөлүүгө келсек, BLAKE3-те агым 1 КБ бөлүккө бөлүнөт жана ар бир бөлүк өз алдынча хэштелген. Базадагы кесимдердин хэштеринин негизинде бир чоң хэш түзүлөт. Бул бөлүү хэшти эсептөөдө маалыматтарды иштетүүнү параллелизациялоо маселесин чечүүгө мүмкүндүк берет - мисалы, сиз 4 блоктун хэштерин бир эле учурда эсептөө үчүн 4 жиптүү SIMD инструкциясын колдоно аласыз. Салттуу SHA-* хэш функциялары маалыматтарды ырааттуулук менен иштетет.
BLAKE3 өзгөчөлүктөрү:
- Жогорку көрсөткүч;
- Коопсуздук, анын ичинде каршылык , SHA-2 сезгич;
- Каалаган сандагы жиптер жана SIMD каналдары боюнча эсептөөлөрдү параллелизациялоону камсыз кылуу;
- Агымдарды кошумча жаңыртуу жана текшерилген кайра иштетүү мүмкүнчүлүгү;
- PRF, MAC, KDF, XOF режимдеринде жана кадимки хэш катары колдонуу;
- Бардык архитектуралар үчүн бирдиктүү алгоритм, x86-64 системаларында да, 32-биттик ARM процессорлорунда да ылдам.
Source: opennet.ru
