Издање референтне имплементације криптографске хеш функције БЛАКЕ3 1.0

Објављена је референтна имплементација криптографске хеш функције БЛАКЕ3 1.0, која се истиче по веома високим перформансама израчунавања хеширања уз обезбеђивање поузданости на нивоу СХА-3. У тесту генерисања хеша за датотеку од 16 КБ, БЛАКЕ3 са 256-битним кључем надмашује СХА3-256 за 17 пута, СХА-256 за 14 пута, СХА-512 за 9 пута, СХА-1 за 6 пута, а БЛАКЕ2б - 5 пута. Значајан јаз остаје при обради веома великих количина података, на пример, БЛАКЕ3 се показао 256 пута бржим од СХА-8 када је израчунао хеш за 1ГБ насумичних података. БЛАКЕ3 референтни код за имплементацију је доступан у верзијама Ц и Руст под лиценцом двоструког јавног домена (ЦЦ0) и Апацхе 2.0.

Издање референтне имплементације криптографске хеш функције БЛАКЕ3 1.0

Хеш функција је дизајнирана за апликације као што су провера интегритета датотеке, аутентификација поруке и генерисање података за криптографске дигиталне потписе. БЛАКЕ3 није намењен за хеширање лозинки, јер има за циљ да израчуна хеш што је брже могуће (за лозинке се препоручује коришћење спорих хеш функција иесцрипт, бцрипт, сцрипт или Аргон2). Хеш функција која се разматра је неосетљива на величину хешираних података и заштићена је од напада на избор колизије и проналажење преслика.

Алгоритам су развили познати стручњаци за криптографију (Јацк О'Цоннор, Јеан-Пхилиппе Аумассон, Самуел Невес, Зооко Вилцок-О'Хеарн) и наставља развој БЛАКЕ2 алгоритма и користи Бао механизам за кодирање стабла блок ланца . За разлику од БЛАКЕ2 (БЛАКЕ2б, БЛАКЕ2с), БЛАКЕ3 нуди један алгоритам за све платформе, који није везан за дубину бита и величину хеша.

Повећане перформансе су постигнуте смањењем броја рунди са 10 на 7 и хеширањем блокова одвојено у комадима од 1 КБ. Према речима креатора, пронашли су убедљив математички доказ да је могуће проћи са 7 кругова уместо са 10 уз исти ниво поузданости (ради јасноће можемо навести пример са мешањем воћа у миксеру - након 7 секунди воће је већ потпуно измешано, а додатне 3 секунде неће утицати на конзистенцију смеше). Међутим, неки истраживачи изражавају сумње, верујући да чак и ако је 7 рунди тренутно довољно да се супротстави свим познатим нападима на хешове, онда додатна 3 рунде могу бити корисна ако се у будућности идентификују нови напади.

Што се тиче поделе на блокове, у БЛАКЕ3 ток је подељен на делове од 1 КБ и сваки део се хешује независно. На основу хешова делова, формира се један велики хеш на основу бинарног Меркле дрвета. Ова подела нам омогућава да решимо проблем паралелизације обраде података приликом израчунавања хешева - на пример, можете користити 4-нитне СИМД инструкције да истовремено израчунате хеш од 4 блока. Традиционалне СХА-* хеш функције обрађују податке секвенцијално.

Карактеристике БЛАКЕ3:

  • Високих перформанси, БЛАКЕ3 је знатно бржи од МД5, СХА-1, СХА-2, СХА-3 и БЛАКЕ2.
  • Сигурност, укључујући отпорност на нападе продужења поруке којима је СХА-2 подложан;
  • Доступан у Руст-у, оптимизован за ССЕ2, ССЕ4.1, АВКС2, АВКС-512 и НЕОН упутства.
  • Обезбеђивање паралелизације прорачуна на било ком броју нити и СИМД канала.
  • Могућност инкременталног ажурирања и верификоване обраде токова;
  • Користи се у ПРФ, МАЦ, КДФ, КСОФ режимима и као обичан хеш;
  • Један алгоритам за све архитектуре, брз и на к86-64 системима и на 32-битним АРМ процесорима.

Главне разлике између БЛАКЕ3 и БЛАКЕ2:

  • Употреба структуре бинарног стабла која омогућава неограничен паралелизам у хеш прорачунима.
  • Смањење броја рунди са 10 на 7.
  • Три начина рада: хеширање, хеширање кључем (ХМАЦ) и генерисање кључа (КДФ).
  • Нема додатних трошкова приликом хеширања са кључем због коришћења области коју је претходно заузимао блок кључних параметара.
  • Уграђени радни механизам у облику функције са проширеним резултатом (КСОФ, Ектендабле Оутпут Фунцтион), омогућавајући паралелизацију и позиционирање (тражење).

Извор: опеннет.ру

Додај коментар