BLAKE3 1.0 криптографиялык хэш-функциясынын референттик ишке ашыруунун чыгарылышы

BLAKE3 1.0 криптографиялык хэш-функциясынын маалымдама ишке ашырылышы чыгарылды, ал SHA-3 деңгээлинде ишенимдүүлүктү камсыз кылуу менен бирге, анын өтө жогорку хэш эсептөө көрсөткүчтөрү менен айырмаланат. 16 КБ файл үчүн хэш түзүү сынагында, 3 биттик ачкычы бар BLAKE256 SHA3-256дан 17 эсеге, SHA-256дан 14 эсеге, SHA-512ден 9 эсеге, SHA-1ден 6 эсеге жана BLAKE2b - 5 жолу. Өтө чоң көлөмдөгү маалыматтарды иштеп чыгууда олуттуу боштук калууда, мисалы, BLAKE3 256 ГБ кокус маалымат үчүн хэшти эсептөөдө SHA-8га караганда 1 эсе тезирээк болуп чыкты. BLAKE3 маалымдама ишке ашыруу коду C жана Rust версияларында кош коомдук домен (CC0) жана Apache 2.0 лицензиясы астында жеткиликтүү.

BLAKE3 1.0 криптографиялык хэш-функциясынын референттик ишке ашыруунун чыгарылышы

Хеш-функция файлдардын бүтүндүгүн текшерүү, билдирүүнүн аутентификациясы жана криптографиялык санариптик кол тамгалар үчүн маалыматтарды түзүү сыяктуу тиркемелер үчүн иштелип чыккан. BLAKE3 сырсөздөрдү хэширлөө үчүн арналган эмес, анткени ал хэштерди мүмкүн болушунча тез эсептөөгө багытталган (паролдор үчүн yescrypt, bcrypt, scrypt же Argon2 жай хэш функцияларын колдонуу сунушталат). Каралып жаткан хэш-функция хэштелген маалыматтардын өлчөмүнө сезимтал эмес жана кагылышууну тандоодо жана алдын ала сүрөт табууда чабуулдардан корголгон.

Алгоритм белгилүү криптография адистери (Джек О'Коннор, Жан-Филипп Аумассон, Сэмюэл Невес, Зооко Вилкокс-О'Херн) тарабынан иштелип чыккан жана BLAKE2 алгоритмин иштеп чыгууну улантууда жана блок чынжыр дарагын коддоо үчүн Бао механизмин колдонот. . BLAKE2ден (BLAKE2b, BLAKE2s) айырмаланып, BLAKE3 бит тереңдигине жана хэш өлчөмүнө байланышпаган бардык платформалар үчүн бирдиктүү алгоритмди сунуштайт.

Өндүрүмдүүлүктүн жогорулашына раунддардын санын 10дон 7ге чейин кыскартуу жана блокторду 1 КБ даана өз-өзүнчө хэширлөө аркылуу жетишилди. Жаратуучулардын айтымында, алар ишенимдүүлүктүн бирдей деңгээлин сактап, 7 эмес, 10 айлампа менен өтүүгө болорун ынандырарлык математикалык далилдерди табышты (түшүнүктүүлүк үчүн мөмө-жемиштерди миксерде аралаштыруу менен мисал келтирсек болот - 7 секунддан кийин). жемиш толугу менен аралашып калган жана кошумча 3 секунд аралашма ырааттуулугуна таасирин тийгизбейт). Бирок, кээ бир изилдөөчүлөр хэштерге белгилүү болгон бардык чабуулдарга каршы туруу үчүн 7 раунд жетиштүү болсо дагы, келечекте жаңы чабуулдар аныкталса, кошумча 3 раунд пайдалуу болушу мүмкүн деп ишенип, шектенүүлөрүн билдиришүүдө.

Блокторго бөлүүгө келсек, BLAKE3-те агым 1 КБ бөлүккө бөлүнөт жана ар бир бөлүк өз алдынча хэштелген. Бөлүктөрдүн хэштеринин негизинде бинардык Merkle дарагынын негизинде бир чоң хэш түзүлөт. Бул бөлүм хэштерди эсептөөдө маалыматтарды иштетүүнү параллелизациялоо маселесин чечүүгө мүмкүндүк берет - мисалы, сиз 4 блоктун хэштерин бир эле учурда эсептөө үчүн 4 жиптүү SIMD инструкциясын колдоно аласыз. Салттуу SHA-* хэш функциялары маалыматтарды ырааттуулук менен иштетет.

BLAKE3 өзгөчөлүктөрү:

  • Жогорку аткаруу, BLAKE3 MD5, SHA-1, SHA-2, SHA-3 жана BLAKE2ге караганда бир кыйла ылдамыраак.
  • Коопсуздук, анын ичинде SHA-2 сезгич болгон билдирүүнү узартуу чабуулдарына каршы туруу;
  • Rustто жеткиликтүү, SSE2, SSE4.1, AVX2, AVX-512 жана NEON нускамалары үчүн оптималдаштырылган.
  • Каалаган сандагы жиптер жана SIMD каналдары боюнча эсептөөлөрдү параллелизациялоону камсыз кылуу.
  • Агымдарды кошумча жаңыртуу жана текшерилген кайра иштетүү мүмкүнчүлүгү;
  • PRF, MAC, KDF, XOF режимдеринде жана кадимки хэш катары колдонуу;
  • Бардык архитектуралар үчүн бирдиктүү алгоритм, x86-64 системаларында да, 32-биттик ARM процессорлорунда да ылдам.

BLAKE3 жана BLAKE2 ортосундагы негизги айырмачылыктар:

  • Хеш эсептөөлөрүндө чексиз параллелизмге мүмкүндүк берген бинардык дарак структурасын колдонуу.
  • Раунддардын санын 10дон 7ге чейин кыскартуу.
  • Үч иштөө режими: хэширлөө, ачкыч менен хэштөө (HMAC) жана ачкыч генерациялоо (KDF).
  • Негизги параметрлер блогу мурда ээлеген аймакты колдонуудан улам ачкыч менен хэширлөөдө кошумча чыгым болбойт.
  • Параллелдештирүү жана жайгаштыруу (издөө) мүмкүндүк берүүчү кеңейтилген натыйжасы бар функция түрүндөгү (XOF, Extendable Output Function) орнотулган иштөө механизми.

Source: opennet.ru

Комментарий кошуу