Нашри татбиқи истинод ба функсияи хэш-криптографии BLAKE3 1.0

Татбиқи истинод ба функсияи хэши криптографии BLAKE3 1.0 бароварда шуд, ки бо иҷрои хеле баланди ҳисобкунии хэш ва таъмини эътимоднокӣ дар сатҳи SHA-3 намоён аст. Дар санҷиши тавлиди хэш барои файли 16 КБ, BLAKE3 бо калиди 256-бит аз 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 барои хэшкунии паролҳо пешбинӣ нашудааст, зеро ҳадафи он ҳарчи зудтар ҳисоб кардани хэшҳо мебошад (барои паролҳо тавсия дода мешавад, ки функсияҳои сусти hash yescrypt, bcrypt, scrypt ё Argon2 истифода шаванд). Функсияи хэш, ки мавриди баррасӣ қарор дорад, ба андозаи маълумоти ҳашшуда ҳассос нест ва аз ҳамлаҳо ба интихоби бархӯрд ва дарёфти тасвири пешакӣ муҳофизат карда мешавад.

Алгоритм аз ҷониби коршиносони маъруфи криптографӣ (Ҷек О'Коннор, Жан-Филипп Аумассон, Сэмюэл Невес, Зооко Вилкокс-О'Херн) таҳия шудааст ва таҳияи алгоритми BLAKE2-ро идома медиҳад ва механизми Bao-ро барои рамзгузории дарахти занҷири блок истифода мебарад. . Баръакси BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 як алгоритми ягонаро барои ҳама платформаҳо пешниҳод мекунад, ки ба умқи бит ва андозаи ҳаш вобаста нест.

Баланд бардоштани самаранокӣ тавассути кам кардани шумораи даврҳо аз 10 то 7 ва блокҳои ҳашинг дар 1 KB қисмҳои алоҳида ба даст оварда шуд. Ба гуфтаи созандагон, онҳо далели боварибахши математикиро пайдо карданд, ки бо нигоҳ доштани сатҳи якхелаи эътимоднокӣ ба ҷои 7 давр бо 10 давр гузаштан мумкин аст (барои возеҳият мо метавонем бо омехта кардани меваҳо дар миксер мисол орем - пас аз 7 сония). мева аллакай пурра омехта шудааст ва 3 сонияи иловагӣ ба мутобиқати омехта таъсир намерасонад). Аммо, баъзе муҳаққиқон изҳори шубҳа мекунанд, ки ҳатто агар 7 раунд дар айни замон барои муқобила бо ҳама ҳамлаҳои маълум ба хэшҳо кофӣ бошад, пас 3 даври иловагӣ метавонад муфид бошад, агар ҳамлаҳои нав дар оянда муайян карда шаванд.

Дар мавриди тақсимшавӣ ба блокҳо, дар BLAKE3 ҷараён ба қисмҳои 1 КБ тақсим карда мешавад ва ҳар як порча мустақилона хэш карда мешавад. Дар асоси хэшҳои порчаҳо, дар асоси дарахти бинарии Merkle як хэши калон ташкил карда мешавад. Ин тақсимот ба мо имкон медиҳад, ки масъалаи параллелизатсияи коркарди маълумотро ҳангоми ҳисоб кардани хэшҳо ҳал кунем - масалан, шумо метавонед дастурҳои 4-риштаи SIMD-ро барои ҳамзамон ҳисоб кардани хэшҳои 4 блок истифода баред. Функсияҳои анъанавии 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), имкон медиҳад параллелизатсия ва ҷойгиршавӣ (ҷустуҷӯ).

Манбаъ: opennet.ru

Илова Эзоҳ