BLAKE3 1.0 ၏ ကိုးကားချက် အကောင်အထည်ဖော်မှုအား ထုတ်ဝေခြင်း။

SHA-3 အဆင့်တွင် ယုံကြည်စိတ်ချရမှုကို သေချာစေပြီး ၎င်း၏အလွန်မြင့်မားသော hash တွက်ချက်မှုစွမ်းဆောင်ရည်အတွက် မှတ်သားဖွယ် cryptographic hash လုပ်ဆောင်ချက် BLAKE1.0 3 ၏ ကိုးကားချက်ကို အကောင်အထည်ဖော်ခဲ့သည်။ 16 KB ဖိုင်တစ်ခုအတွက် hash မျိုးဆက်စမ်းသပ်မှုတွင်၊ 3-bit သော့ဖြင့် BLAKE256 သည် SHA3-256 ကို 17 ဆ၊ SHA-256 ဖြင့် 14 ကြိမ်၊ SHA-512 ဖြင့် 9 ကြိမ်၊ SHA-1 မှ 6 ကြိမ်နှင့် BLAKE2b - ၅ ကြိမ်။ အလွန်ကြီးမားသောဒေတာကိုလုပ်ဆောင်သောအခါတွင် သိသာထင်ရှားသောကွာဟချက်တစ်ခုရှိနေသည်၊ ဥပမာ၊ BLAKE5 သည် 3GB ကျပန်းဒေတာအတွက် hash တစ်ခုကိုတွက်ချက်သောအခါ SHA-256 ထက် 8 ဆပိုမိုမြန်ဆန်လာသည်။ BLAKE1 ရည်ညွှန်းအကောင်အထည်ဖော်မှုကုဒ်ကို အများသူငှာဒိုမိန်းနှစ်ခု (CC3) နှင့် Apache 0 လိုင်စင်အောက်တွင် C နှင့် Rust ဗားရှင်းများတွင် ရနိုင်ပါသည်။

BLAKE3 1.0 ၏ ကိုးကားချက် အကောင်အထည်ဖော်မှုအား ထုတ်ဝေခြင်း။

hash လုပ်ဆောင်ချက်ကို ဖိုင်ခိုင်မာမှုစစ်ဆေးခြင်း၊ မက်ဆေ့ချ်အထောက်အထားစိစစ်ခြင်းနှင့် ကုဒ်ဝှက်ထားသော ဒစ်ဂျစ်တယ်လက်မှတ်များအတွက် ဒေတာထုတ်ပေးခြင်းကဲ့သို့သော အပလီကေးရှင်းများအတွက် ဒီဇိုင်းရေးဆွဲထားသည်။ BLAKE3 သည် စကားဝှက်များကို hash များကို တတ်နိုင်သမျှ မြန်မြန် တွက်ချက်ရန် ရည်ရွယ်သောကြောင့် (စကားဝှက်များအတွက် နှေးကွေးသော hash လုပ်ဆောင်ချက်များကို yescrypt၊ bcrypt၊ scrypt သို့မဟုတ် Argon2) ကို အသုံးပြုရန် အကြံပြုထားသည်။ ထည့်သွင်းစဉ်းစားထားသည့် hash လုပ်ဆောင်ချက်သည် hashed data ၏အရွယ်အစားနှင့် အာရုံမစိုက်ဘဲ collision selection နှင့် preimage ရှာဖွေမှုအပေါ် တိုက်ခိုက်မှုများမှ ကာကွယ်ပေးထားသည်။

အဆိုပါ algorithm ကို နာမည်ကြီး cryptography ကျွမ်းကျင်သူများ (Jack O'Connor၊ Jean-Philippe Aumasson၊ Samuel Neves၊ Zooko Wilcox-O'Hearn) မှ ဖန်တီးထားပြီး BLAKE2 algorithm ၏ ဖွံ့ဖြိုးတိုးတက်မှုကို ဆက်လက်လုပ်ဆောင်ပြီး block chain tree ကို encode လုပ်ရန် Bao ယန္တရားကို အသုံးပြုပါသည်။ . BLAKE2 (BLAKE2b၊ BLAKE2s) နှင့် မတူဘဲ BLAKE3 သည် bit depth နှင့် hash size တို့နှင့် မဆက်စပ်ဘဲ ပလက်ဖောင်းအားလုံးအတွက် တစ်ခုတည်းသော algorithm ကို ပေးဆောင်ပါသည်။

10 မှ 7 အထိ အကြိမ်အရေအတွက်ကို လျှော့ချပြီး 1 KB အပိုင်းများတွင် သီးခြား ဟက်ခြင်းတုံးများကို တိုးမြှင့်ခြင်းဖြင့် စွမ်းဆောင်ရည် တိုးလာပါသည်။ ဖန်တီးသူများ၏အဆိုအရ၊ တူညီသောယုံကြည်စိတ်ချရမှုအဆင့်ကိုထိန်းသိမ်းထားစဉ်တွင် 7 ကြိမ်အစား 10 ဖြင့်အောင်မြင်နိုင်ကြောင်းယုံကြည်စိတ်ချရသောသင်္ချာဆိုင်ရာအထောက်အထားကိုတွေ့ရှိခဲ့သည် (ရှင်းလင်းရန်အတွက် 7 စက္ကန့်အကြာတွင်အသီးအနှံများကိုရောနှောခြင်းဖြင့်ဥပမာတစ်ခုပေးနိုင်သည်။ အသီးအနှံကို လုံးလုံးရောစပ်ထားပြီး၊ နောက်ထပ် ၃ စက္ကန့်လောက်က အရောအနှောရဲ့ ညီညွတ်မှုကို ထိခိုက်စေမှာ မဟုတ်ပါဘူး။) သို့ရာတွင်၊ အချို့သောသုတေသီများသည် hashes တွင်သိထားသောတိုက်ခိုက်မှုအားလုံးကို တန်ပြန်ရန် လောလောဆယ်တွင် 3 ကြိမ်လုံလောက်သည်ဆိုပါက၊ နောင်တွင်တိုက်ခိုက်မှုအသစ်များကိုတွေ့ရှိပါကနောက်ထပ် 7 rounds သည်အသုံးဝင်နိုင်သည်ဟုယုံကြည်ကြသည်။

တုံးများခွဲခြင်းအတွက်၊ BLAKE3 တွင် stream ကို 1 KB အပိုင်းပိုင်းအဖြစ် ပိုင်းခြားထားပြီး အပိုင်းတစ်ခုစီကို သီးခြားခွဲထားသည်။ အပိုင်းအစများ၏ hashes များကိုအခြေခံ၍ binary Merkle သစ်ပင်ကို အခြေခံ၍ ကြီးမားသော hash တစ်ခုကို ဖွဲ့စည်းထားသည်။ ဤဌာနခွဲသည် hashes များကို တွက်ချက်ရာတွင် parallelizing data processing ပြဿနာကို ဖြေရှင်းနိုင်စေသည် - ဥပမာအားဖြင့်၊ သင်သည် 4-threaded SIMD ညွှန်ကြားချက်များကို သုံး၍ blocks 4 ခု၏ hashes ကို တပြိုင်နက် တွက်ချက်နိုင်သည်။ သမားရိုးကျ SHA-* hash လုပ်ဆောင်ချက်များသည် ဒေတာကို စဉ်ဆက်မပြတ် လုပ်ဆောင်သည်။

BLAKE3 ၏အင်္ဂါရပ်များ

  • စွမ်းဆောင်ရည်မြင့် BLAKE3 သည် MD5၊ SHA-1၊ SHA-2၊ SHA-3 နှင့် BLAKE2 ထက် သိသိသာသာ ပိုမြန်သည်။
  • SHA-2 ခံရနိုင်သည့် မက်ဆေ့ချ် ရှည်လျားမှု တိုက်ခိုက်မှုများကို ခုခံခြင်း အပါအဝင် လုံခြုံရေး၊
  • SSE2၊ SSE4.1၊ AVX2၊ AVX-512 နှင့် NEON ညွှန်ကြားချက်များအတွက် အကောင်းဆုံးဖြစ်နိုင်သော သံချေးမျိုးကွဲများကို ရရှိနိုင်ပါသည်။
  • မည်သည့် threads နှင့် SIMD ချန်နယ်များရှိမဆို တွက်ချက်မှုများကို အပြိုင်ပြုလုပ်ရန် အာမခံပါသည်။
  • စမ်းချောင်းများကို တိုးမြှင့်မွမ်းမံခြင်းနှင့် အတည်ပြုလုပ်ဆောင်ခြင်း ဖြစ်နိုင်ခြေ၊
  • PRF၊ MAC၊ KDF၊ XOF မုဒ်များနှင့် ပုံမှန် hash အဖြစ် အသုံးပြုပါ။
  • x86-64 စနစ်များနှင့် 32-bit ARM ပရိုဆက်ဆာများတွင် မြန်ဆန်သော ဗိသုကာအားလုံးအတွက် တစ်ခုတည်းသော အယ်လဂိုရီသမ်။

BLAKE3 နှင့် BLAKE2 အကြား အဓိက ကွာခြားချက်

  • hash တွက်ချက်မှုများတွင် အကန့်အသတ်မရှိ ပြိုင်တူရနိုင်စေမည့် ဒွိသစ်ပင်ဖွဲ့စည်းပုံကို အသုံးပြုခြင်း။
  • အကြိမ်အရေအတွက်ကို 10 မှ 7 အထိလျှော့ချပါ။
  • လုပ်ဆောင်ချက်သုံးမျိုး- hashing၊ hashing with a key (HMAC) နှင့် key generation (KDF)။
  • ယခင်က သော့ဘောင်များ ပိတ်ဆို့ထားသော ဧရိယာကို အသုံးပြုခြင်းကြောင့် သော့ဖြင့် ဟက်ခ်လုပ်သည့်အခါ အပိုဆောင်းပေါ်မှ မပါပါ။
  • တိုးချဲ့ရလဒ် (XOF၊ Extendable Output Function) ဖြင့် အပြိုင်လုပ်ဆောင်ခြင်းနှင့် နေရာချထားခြင်း (ရှာခြင်း) ကို ခွင့်ပြုသည့် လုပ်ဆောင်ချက်ပုံစံဖြင့် တပ်ဆင်ထားသော လည်ပတ်ယန္တရား။

source: opennet.ru

မှတ်ချက် Add