BLAKE3 1.0 ගුප්ත ලේඛන හැෂ් ශ්‍රිතයේ යොමු ක්‍රියාත්මක කිරීම නිකුත් කිරීම

BLAKE3 1.0 ගුප්ත ලේඛන හැෂ් ශ්‍රිතයේ යොමු ක්‍රියාත්මක කිරීමක් නිකුත් කරන ලදී, SHA-3 මට්ටමේ විශ්වසනීයත්වය සහතික කරන අතරම එහි ඉතා ඉහළ හැෂ් ගණනය කිරීමේ කාර්ය සාධනය සඳහා කැපී පෙනේ. 16 KB ගොනුවක් සඳහා හැෂ් උත්පාදන පරීක්ෂණයේදී, 3-bit යතුරක් සහිත BLAKE256 SHA3-256 17 ගුණයකින් ද, SHA-256 14 ගුණයකින් ද, SHA-512 9 ගුණයකින් ද, SHA-1 6 ගුණයකින් ද, සහ BLAKE2b - අභිබවා යයි. 5 වතාවක්. ඉතා විශාල දත්ත ප්‍රමාණයක් සැකසීමේදී සැලකිය යුතු පරතරයක් පවතී, උදාහරණයක් ලෙස, අහඹු දත්ත 3GB සඳහා හැෂ් ගණනය කිරීමේදී BLAKE256 SHA-8 ට වඩා 1 ගුණයක් වේගවත් විය. BLAKE3 යොමු ක්‍රියාත්මක කිරීමේ කේතය ද්විත්ව පොදු වසම (CC0) සහ Apache 2.0 බලපත්‍රය යටතේ C සහ Rust අනුවාද වලින් ලබා ගත හැක.

BLAKE3 1.0 ගුප්ත ලේඛන හැෂ් ශ්‍රිතයේ යොමු ක්‍රියාත්මක කිරීම නිකුත් කිරීම

හැෂ් ශ්‍රිතය නිර්මාණය කර ඇත්තේ ගොනු අඛණ්ඩතාව පරීක්ෂා කිරීම, පණිවිඩ සත්‍යාපනය සහ ගුප්තකේතන ඩිජිටල් අත්සන් සඳහා දත්ත උත්පාදනය කිරීම වැනි යෙදුම් සඳහාය. BLAKE3 මුරපද හැෂ් කිරීම සඳහා අදහස් නොකෙරේ, එය හැකි ඉක්මනින් හැෂ් ගණනය කිරීම අරමුණු කර ගෙන ඇත (මුරපද සඳහා, මන්දගාමී හැෂ් ශ්‍රිත වන yescrypt, bcrypt, scrypt හෝ Argon2 භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ). සලකා බලනු ලබන හැෂ් ශ්‍රිතය හෑෂ් දත්තවල ප්‍රමාණයට සංවේදී නොවන අතර ගැටීම් තේරීම සහ පූර්ව ප්‍රතිරූපය සෙවීමට එල්ල වන ප්‍රහාරවලින් ආරක්ෂා වේ.

මෙම ඇල්ගොරිතම ප්‍රසිද්ධ ගුප්ත ලේඛන විශේෂඥයින් (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) විසින් වැඩි දියුණු කරන ලද අතර BLAKE2 ඇල්ගොරිතමයේ වර්ධනය දිගටම කරගෙන යන අතර බ්ලොක් දාම ගස සංකේතනය කිරීමට Bao යාන්ත්‍රණය භාවිතා කරයි. . BLAKE2 (BLAKE2b, BLAKE2s) මෙන් නොව, BLAKE3 සියලු වේදිකා සඳහා තනි ඇල්ගොරිතමයක් ලබා දෙයි, බිට් ගැඹුරට සහ හැෂ් ප්‍රමාණයට සම්බන්ධ නොවේ.

වට ගණන 10 සිට 7 දක්වා අඩු කිරීමෙන් සහ 1 KB කෑලි වලින් බ්ලොක් වෙන වෙනම හෑෂ් කිරීමෙන් වැඩි කාර්ය සාධනයක් ලබා ගන්නා ලදී. නිර්මාණකරුවන්ට අනුව, එකම මට්ටමේ විශ්වසනීයත්වයක් පවත්වා ගනිමින් වට 7 ක් වෙනුවට වට 10 කින් ලබා ගත හැකි බවට ඒත්තු ගැන්වෙන ගණිතමය සාක්ෂියක් ඔවුන් සොයාගෙන ඇත (පැහැදිලි භාවය සඳහා, අපට මික්සර් එකක පලතුරු මිශ්‍ර කිරීම සඳහා උදාහරණයක් දිය හැකිය - තත්පර 7 කට පසු. පළතුරු දැනටමත් සම්පූර්ණයෙන්ම මිශ්ර වී ඇති අතර අතිරේක තත්පර 3 මිශ්රණයේ අනුකූලතාවයට බලපාන්නේ නැත). කෙසේ වෙතත්, සමහර පර්යේෂකයන් සැකයන් ප්‍රකාශ කරන්නේ, හෑෂ් මත ඇති සියලුම දන්නා ප්‍රහාරවලට මුහුණ දීමට දැනට වට 7ක් ප්‍රමාණවත් වුවද, අනාගතයේදී නව ප්‍රහාර හඳුනා ගතහොත් අමතර වට 3ක් ප්‍රයෝජනවත් විය හැකි බවට විශ්වාස කරයි.

බ්ලොක් වලට බෙදීම සඳහා, BLAKE3 හි ප්‍රවාහය 1 KB කෑලි වලට බෙදා ඇති අතර සෑම කැබැල්ලක්ම ස්වාධීනව හෑෂ් කර ඇත. කෑලි වල හෑෂ් මත පදනම්ව, ද්විමය මර්කල් ගස මත පදනම්ව එක් විශාල හෑෂ් සෑදී ඇත. හෑෂ් ගණනය කිරීමේදී දත්ත සැකසුම් සමාන්තරකරණය කිරීමේ ගැටළුව විසඳීමට මෙම අංශය අපට ඉඩ සලසයි - නිදසුනක් ලෙස, බ්ලොක් 4 ක හෑෂ් එකවර ගණනය කිරීමට ඔබට 4-නූල් SIMD උපදෙස් භාවිතා කළ හැකිය. සම්ප්‍රදායික SHA-* හෑෂ් ශ්‍රිතයන් දත්ත අනුක්‍රමිකව සකසයි.

BLAKE3 හි විශේෂාංග:

  • ඉහළ කාර්ය සාධනයක්, BLAKE3 MD5, SHA-1, SHA-2, SHA-3 සහ BLAKE2 ට වඩා සැලකිය යුතු ලෙස වේගවත් වේ.
  • SHA-2ට ගොදුරු විය හැකි පණිවිඩ දිගු කිරීමේ ප්‍රහාරවලට ප්‍රතිරෝධය ඇතුළුව ආරක්ෂාව;
  • SSE2, SSE4.1, AVX2, AVX-512, සහ NEON උපදෙස් සඳහා ප්‍රශස්ත කර ඇති, රස්ට් වලින් ලබා ගත හැකිය.
  • ඕනෑම නූල් සහ SIMD නාලිකා ගණනක ගණනය කිරීම් සමාන්තරගත කිරීම සහතික කිරීම.
  • ධාරා වර්ධක යාවත්කාලීන කිරීමේ සහ සත්‍යාපිත සැකසුම් කිරීමේ හැකියාව;
  • PRF, MAC, KDF, XOF මාදිලිවල සහ සාමාන්‍ය හැෂ් ලෙස භාවිතා කරන්න;
  • සියලුම ගෘහනිර්මාණ සඳහා තනි ඇල්ගොරිතමයක්, x86-64 පද්ධති සහ 32-bit ARM ප්‍රොසෙසර දෙකෙහිම වේගවත්.

BLAKE3 සහ BLAKE2 අතර ප්‍රධාන වෙනස්කම්:

  • හැෂ් ගණනය කිරීම් වලදී අසීමිත සමාන්තරකරණයට ඉඩ සලසන ද්විමය ගස් ව්‍යුහයක් භාවිතා කිරීම.
  • වට ගණන 10 සිට 7 දක්වා අඩු කිරීම.
  • මෙහෙයුම් ආකාර තුනක්: හැෂිං, යතුරක් සමඟ හැෂ් කිරීම (HMAC) සහ යතුරු උත්පාදනය (KDF).
  • ප්‍රධාන පරාමිති බ්ලොක් එක මගින් කලින් අල්ලාගෙන සිටි ප්‍රදේශය භාවිතා කිරීම නිසා යතුරක් සමඟ හෑෂ් කිරීමේදී අමතර උඩිස් එකක් නොමැත.
  • විස්තීරණ ප්‍රතිඵලයක් (XOF, විස්තීරණ ප්‍රතිදාන ශ්‍රිතය) සහිත ශ්‍රිතයක ස්වරූපයෙන් ගොඩනංවන ලද මෙහෙයුම් යාන්ත්‍රණය, සමාන්තරකරණයට සහ ස්ථානගත කිරීමට ඉඩ සලසයි (සොයන්න).

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න