Kutolewa kwa utekelezaji wa marejeleo ya kazi ya heshi ya kriptografia BLAKE3 1.0

Utekelezaji wa marejeleo wa chaguo la kukokotoa la heshi kriptografia BLAKE3 1.0 ilitolewa, inayojulikana kwa utendaji wake wa juu sana wa kukokotoa heshi huku ikihakikisha kutegemewa katika kiwango cha SHA-3. Katika jaribio la kuzalisha hashi kwa faili 16 KB, BLAKE3 yenye kitufe cha 256-bit inashinda SHA3-256 kwa mara 17, SHA-256 kwa mara 14, SHA-512 kwa mara 9, SHA-1 kwa mara 6, na BLAKE2b - mara 5. Pengo kubwa linasalia wakati wa kuchakata kiasi kikubwa sana cha data, kwa mfano, BLAKE3 ilibadilika kuwa kasi mara 256 kuliko SHA-8 wakati wa kukokotoa heshi kwa 1GB ya data nasibu. Msimbo wa utekelezaji wa marejeleo ya BLAKE3 unapatikana katika matoleo ya C na Rust chini ya kikoa cha umma (CC0) na leseni ya Apache 2.0.

Kutolewa kwa utekelezaji wa marejeleo ya kazi ya heshi ya kriptografia BLAKE3 1.0

Kitendaji cha heshi kimeundwa kwa ajili ya programu kama vile kukagua uadilifu wa faili, uthibitishaji wa ujumbe, na kutoa data ya sahihi za dijitali za kriptografia. BLAKE3 haijakusudiwa kuharakisha nenosiri, kwani inalenga kukokotoa heshi haraka iwezekanavyo (kwa manenosiri, inashauriwa kutumia vitendaji vya polepole vya yescrypt, bcrypt, scrypt au Argon2). Chaguo za kukokotoa za heshi zinazozingatiwa hazijali ukubwa wa data ya heshi na inalindwa dhidi ya mashambulizi ya uteuzi wa mgongano na utafutaji wa picha.

Algorithm ilitengenezwa na wataalam wanaojulikana wa cryptography (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) na inaendelea uundaji wa algoriti ya BLAKE2 na hutumia utaratibu wa Bao kusimba mti wa block chain. . Tofauti na BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 inatoa algoriti moja kwa mifumo yote, isiyofungamana na kina kidogo na saizi ya heshi.

Utendaji ulioongezeka ulipatikana kwa kupunguza idadi ya raundi kutoka 10 hadi 7 na vizuizi vya hashing kando katika vipande 1 KB. Kulingana na waundaji, wamepata uthibitisho wa kushawishi wa kihesabu kwamba inawezekana kupata raundi 7 badala ya 10 wakati wa kudumisha kiwango sawa cha kuegemea (kwa uwazi, tunaweza kutoa mfano na kuchanganya matunda kwenye mchanganyiko - baada ya sekunde 7. matunda tayari yamechanganywa kabisa, na sekunde 3 za ziada hazitaathiri msimamo wa mchanganyiko). Hata hivyo, watafiti wengine wanaelezea shaka, wakiamini kwamba hata kama raundi 7 kwa sasa zinatosha kukabiliana na mashambulizi yote yanayojulikana dhidi ya heshi, basi raundi 3 za ziada zinaweza kuwa na manufaa ikiwa mashambulizi mapya yatatambuliwa katika siku zijazo.

Kuhusu kugawanya katika vizuizi, katika BLAKE3 mkondo umegawanywa katika vipande 1 KB na kila kipande kinaharakishwa kwa kujitegemea. Kulingana na heshi za vipande, heshi moja kubwa huundwa kulingana na mti wa Merkle wa binary. Mgawanyiko huu unatuwezesha kutatua tatizo la kusawazisha usindikaji wa data wakati wa kuhesabu heshi - kwa mfano, unaweza kutumia maagizo ya SIMD yenye nyuzi 4 ili kuhesabu wakati huo huo heshi ya 4 blocks. Kazi za kawaida za SHA-* za heshi huchakata data kwa mfuatano.

Vipengele vya BLAKE3:

  • Utendaji wa juu, BLAKE3 ina kasi zaidi kuliko MD5, SHA-1, SHA-2, SHA-3 na BLAKE2.
  • Usalama, ikiwa ni pamoja na upinzani dhidi ya mashambulizi ya kupanua ujumbe ambayo SHA-2 huathirika;
  • Inapatikana katika Rust, iliyoboreshwa kwa maelekezo ya SSE2, SSE4.1, AVX2, AVX-512 na NEON.
  • Kuhakikisha ulinganifu wa mahesabu kwenye idadi yoyote ya nyuzi na chaneli za SIMD.
  • Uwezekano wa uppdatering unaoongezeka na usindikaji kuthibitishwa wa mito;
  • Tumia katika aina za PRF, MAC, KDF, XOF na kama heshi ya kawaida;
  • Algorithm moja ya usanifu wote, haraka kwenye mifumo yote miwili ya x86-64 na vichakataji vya 32-bit ARM.

Tofauti kuu kati ya BLAKE3 na BLAKE2:

  • Matumizi ya muundo wa mti wa binary ambao unaruhusu usawaziko usio na kikomo katika hesabu za heshi.
  • Kupunguza idadi ya raundi kutoka 10 hadi 7.
  • Njia tatu za uendeshaji: hashing, hashing na ufunguo (HMAC) na kizazi cha ufunguo (KDF).
  • Hakuna ziada ya ziada wakati wa kuharakisha na ufunguo kwa sababu ya matumizi ya eneo lililochukuliwa hapo awali na kizuizi cha vigezo muhimu.
  • Utaratibu wa uendeshaji uliojengewa ndani kwa njia ya chaguo za kukokotoa na matokeo yaliyopanuliwa (XOF, Kazi ya Kutoa Inayoweza Kupanuka), kuruhusu usawazishaji na uwekaji nafasi (tafuta).

Chanzo: opennet.ru

Kuongeza maoni