Cryptographic Hash Function

cryptographic Hash Function ကိုအဓိပ္ပာယ်

တစ်ဦးက cryptographic hash function ကိုတစ်ဦးချင်းကဲ့သို့အချက်အလက်များ၏တစ်ဖဲ့ကိုရခြင်းအပေါ်ကို run နိုင် algorithm ကိုတစ်ဦးကြင်ကြင်နာနာဖြစ်ပါတယ် ဖိုင် တစ် checksum လို့ခေါ်တဲ့တန်ဖိုးကိုထုတ်လုပ်ရန်, ဒါမှမဟုတ် password တစ်ခု။

တစ်ဦး cryptographic hash function ကို၏အဓိကအသုံးပြုမှုအချက်အလက်များ၏တစ်ဖဲ့ကိုရခြင်း၏စစ်မှန်မှုကိုအတည်ပြုရန်ရန်ဖြစ်ပါသည်။ ဖိုင်နှစ်ခုဟာ checksum အတူတူ cryptographic hash function ကိုသုံးပြီးတစ်ဦးချင်းစီဖိုင်ကနေထုတ်လုပ်လိုက်တဲ့သာလြှငျတူညီဖြစ်စိတ်ချပါနိုင်ပြီးတူညီကြသည်။

တချို့ကအသုံးအများဆုံး cryptographic hash လုပ်ဆောင်ချက်များကိုပါဝင်သည် MD5 နဲ့ SHA-1 အများအပြားအခြားသူတွေလည်းတည်ရှိနေသော်လည်း။

မှတ်ချက်: cryptographic hash လုပ်ဆောင်ချက်များကိုမကြာခဏပဲအတိုအဘို့အဟက်ရှ်လုပ်ဆောင်ချက်များကိုအဖြစ်ရည်ညွှန်းပေမယ့်နည်းပညာပိုင်းမှန်ကန်သောမဟုတ်ဘူးနေကြသည်။ တစ်ဦးက hash function ကိုများသောအားဖြင့်သိသိ redundancy စစ်ဆေးမှုများတူသော algorithms ၏အခြားအမြိုးမြိုးတို့နှင့်အတူ cryptographic hash လုပ်ဆောင်ချက်များကိုပတ်ဝိုင်းဖို့အသုံးပြုမယ့်တစ်ဦးထက်ပိုသောယေဘုယျအသုံးအနှုန်းဖြစ်ပါတယ်။

cryptographic Hash Functions များ: တစ်ဦးအသုံးပြုခြင်းဖြစ်ရပ်မှန်

ရဲ့သင် download လုပ်ပါလို့ပြောပါစို့ Firefox ရဲ့ browser ၏နောက်ဆုံးဗားရှင်း ။ ဘာပဲအကြောင်းပြချက်များအတွက်, အကယ်လို့ Mozilla ရဲ့ထက်အခြား site တစ်ခုကနေ download လုပ်ပါရန်လိုအပ်ခဲ့ပါတယ်။ သင်ယုံကြည်စိတ်ချရမှလေ့လာသင်ယူပြီးပြီ site တစ်ခုအပေါ်တည်ခင်းဧည်ခံရဘဲ, သင်ရုံဒေါင်းလုပ်လုပ် installation ဖိုင် Mozilla ကကမ်းလှမ်းအတိအကျအတူတူပါပဲကြောင်းသေချာစေရန်ချင်ပါတယ်။

တစ်ဦး checksum ဂဏန်းတွက်စက်ကိုသုံးပြီး, သင်ကအထူးသဖြင့် cryptographic hash function ကို (SHA-2 ဟုပြောဆို) သုံးပြီး checksum တွက်ချက်ပြီးတော့ Mozilla ၏ site ပေါ်တွင်ပုံနှိပ်ထုတ်ဝေတကြောင်းနှိုင်းယှဉ်။

သူတို့တန်းတူနေလျှင်, သင်ရှိသည် download, Mozilla ကရှိသည်ဖို့သငျသညျရည်ရွယ်ပါသည်တကြောင်းကျိုးကြောင်းဆီလျော်နေတာသေချာပါစေနိုင်ပါတယ်။

ကြည့်ရှုပါ တဲ့ Checksum Is ဘာလဲ? သေချာဖိုင်တွေလုပ် checksum သုံးပြီးပေါ်ဤအကြောင်းအထူးဂဏန်းတွက်စက်ပေါ်မှာပိုပြီးအပေါင်းနောက်ထပ်ဥပမာများအတွက်သင်အမှန်တကယ်ဒေါင်းလုတ်လုပ်သင်သည်ထိုသူတို့ဖြစ်လိမ့်မည်ဟုမျှော်လင့်ဘာတွေလုပ်နေလဲ။

cryptographic Hash Functions များပြောင်းပြန်ခံရနိုင်သလား?

cryptographic hash လုပ်ဆောင်ချက်များကိုသူတို့နောက်ကျောမူရင်းကျမ်းသို့ဖန်တီးအဆိုပါ checksum reverse နိုင်စွမ်းကိုတားဆီးဖို့ဒီဇိုင်းနေကြသည်။

သို့သော်သူတို့က reverse ဖို့မဖြစ်နိုင်သလောက်ပင်သော်လည်း, သူတို့က 100% data တွေကိုကာကွယ်စောင့်ရှောက်ဖို့အာမခံပါတယ်ဟုမဆိုလိုပါ။

တစ်သက်တန့်ကိုစားပွဲဟုခေါ်တွင်တစ်ခုခုလျင်မြန်စွာတစ် checksum ၏ Plaintext ထွက်တွက်ဆဖို့အသုံးပြုနိုင်ပါသည်။ သက်တန့်ကျောက်ပြားကိုအခြေခံအားဖြင့်၎င်းတို့၏သက်ဆိုင်ရာ Plaintext တန်ဖိုးကိုအတူဤအထောင်ပေါင်းများစွာ၏, သန်းပေါင်းများစွာသော, ဒါမှမဟုတ်ပင်ဘီလီယံထွက်စာရင်းပြုစုကြောင်းအဘိဓါနျဖြစ်ကြသည်။

ဒီနည်းပညာပိုင်း cryptographic hash algorithm ကိုနောက်ပြန်ဆုတ်မပါစဉ်တွင်ထိုသို့ပြုမှဒါရိုးရှင်းသောရဲ့ကတည်းကပြုလုပ်အဖြစ်ကောင်းစွာဖြစ်လိမ့်မယ်။ အဖြစ်မှန်မှာတော့အဘယ်သူမျှမသက်တန့်ကိုစားပွဲကတည်းကတည်ရှိသည်ဖြစ်နိုင်သော checksum ထွက်စာရင်းပြုစုနိုင်, သူတို့များသောအားဖြင့်အားနည်း password များကဲ့သို့အရိုးရှင်းသောစာပိုဒ်တိုများ ... အဘို့ကိုသာ "အထောကျအကူ" ပါပဲ။

ဒီနေရာမှာတစ်ဦးသက်တံ့စားပွဲပေါ်မှာတစ်ရိုးရှင်းသောဗားရှင်းတွင် SHA-1 cryptographic hash function ကိုသုံးတဲ့အခါတဦးတည်းအလုပ်လုပ်မယ်ဆိုတာကိုဘယ်လိုပြသနိုင်ဖို့င်:

Plaintext SHA-1 Checksum
12345 8cb2237d0679ca88db6464eac60da96345513964
password1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

အဆိုပါ checksum သုံးပြီးထွက်နေသေးတယ်ခံရဖို့ကဤတန်ဖိုးများကိုအဘို့, ဟက်ကာ cryptographic hash algorithm ကိုသူတို့ကိုထုတ်လုပ်ဖို့ရန်အသုံးပြုခဲ့သည့်နားလည်ရန်လိုအပ်ပေသည်။

တန်ဖိုးကိုထုတ်ပေးပြီးနောက်ပေမယ့်သိုလှောင်ထားရဲ့ရှေ့တော်မှာကဆက်ပြောသည်ကာကွယ်မှုများအတွက်, အသုံးပြုသူ passwords များကိုသိုလှောင်သိမ်းဆည်းအချို့ဝက်ဘ်ဆိုဒ်များအဆိုပါ cryptographic hash algorithm ကိုမှနောက်ထပ် function တွေကိုလုပ်ဆောင်။

ဤသည်ကိုသာ web server ကိုနားလည်ကြောင်းသစ်တစ်ခုတန်ဖိုးကိုထုတ်လုပ်နှင့်အတိအကျမူရင်း checksum မကိုက်ညီပါဘူး။

ဥပမာအားဖြင့်, စကားဝှက်တစ်ခုထဲသို့ဝင်နှင့် checksum ထုတ်ပေးပြီးနောက်, ကအတော်ကြာအစိတ်အပိုင်းများသို့ကွဲကွာစေခြင်းငှါထိုသို့စကားဝှက်ဒေတာဘေ့စထဲမှာသိမ်းထားတဲ့ရဲ့, ဒါမှမဟုတ်အချို့ဇာတ်ကောင်အခြားသူများနှင့်ဖလှယ်မှုစေခြင်းငှါရှေ့တော်၌ကျန်နေသေး။ အသုံးပြုသူကိုသူတို့အပေါ်လက်မှတ်ရေးထိုးနောက်တစ်ကြိမ် authenticate ရန်ကြိုးစားသည့်အခါဤအပိုဆောင်း function ကိုထို့နောက် web server သို့အားဖြင့်ပြောင်းပြန်မည်ဖြစ်ကြောင်းနှင့်မူရင်း checksum အသုံးပြုသူတစ်ဦး၏ password ကိုတရားဝင်ကြောင်း verify လုပ်ဖို့, နောက်တဖန်နေထုတ်လုပ်လိုက်တဲ့။

ဤသို့ပြုအပေါငျးတို့သ checksum ခိုးယူနေကြသည်ရှိရာတစ်ဦး hack က၏အသုံးဝင်မှုကန့်သတ်ရန်ကူညီပေးသည်။

တနည်းကား, ဒီမှာစိတ်ကူးကတော့ hacker က cryptographic hash algorithm ကိုသော်လည်းမဒီထုံးစံတဦးတည်းကိုသိလျှင်, စကားဝှက် checksum သိ. အကူအညီမရပါကြောင်းသို့မှသာမသိသောသော function ကိုလုပ်ဆောင်ရန်ဖြစ်ပါသည်။

စကားဝှက်တွေနဲ့ cryptographic Hash Functions များ

တစ်သက်တန့်စားပွဲပေါ်မှာဆင်တူတဲ့ဒေတာဘေ့စအသုံးပြုသူ password များကိုသိမ်းဆည်းပုံဖြစ်ပါသည်။ သင့်ရဲ့စကားဝှက်ကိုဝင်ကြ၏ဖြစ်ပါတယ်သောအခါ, checksum နေထုတ်လုပ်လိုက်တဲ့နှင့်သင့်အသုံးပြုသူအမည်နှင့်အတူစံချိန်ပေါ်တွင်တဦးတည်းနှင့်နှိုင်းယှဉ်ပါသည်။ နှစ်ခုတူညီနေကြသည်လျှင်သင်ပြီးတော့ access ကိုခွင့်ပြုခဲ့ပါတယ်။

တစ်ဦး cryptographic hash function ကို non-ပြောင်းပြန် checksum ထုတ်လုပ်ပေးထား, သင် checksum သူတို့ကိုယ်သူတို့နားလည်သဘောပေါက်မရနိုင်ရိုးရှင်းစွာအဘယ်ကြောင့်ဆိုသော်အစား 12 5 $ 34 @ ၏, 12345 အဖြစ်ရိုးရှင်းသောအဖြစ်သင့်ရဲ့စကားဝှက်ကိုဖြစ်စေနိုင်ပါတယ်ဆိုလိုကြောင်းသနည်း ဒါဟာကျိန်းသေမ, ဒီမှာအဘယ်ကြောင့်မယ့် ...

သင်တို့ကိုတွေ့မြင်နိုင်သကဲ့သို့ဤနှစ်ခုစကားဝှက်တွေနှစ်ဦးစလုံးရုံ checksum မှာဖွင့်ကြည့်ခြင်းအားဖြင့် decipher ဖို့မဖြစ်နိုင်တဲ့နေသောခေါင်းစဉ်:

12345 များအတွက် MD5: 827ccb0eea8a706c4c34a16891f84e7b

12 34 @ $ 5 MD5: a4d3cc004f487b18b2ccd4853053818b

ဒီတော့ပထမတစ်ချက်မှာသငျသညျဤစကားဝှက်များ၏တစ်ခုခုကိုသုံးစွဲဖို့လုံးဝချောရဲ့စဉ်းစားလိမ့်မည်။ ဤသည်တိုက်ခိုက်သူတစ်ဦးတစ်ဦး brute အင်အားသုံးသို့မဟုတ်အဘိဓါန်တိုက်ခိုက်မှု (ကဘုံနည်းဗျူဟာဖြစ်သော) ဖျြောလျှင်စစ်မှန်တဲ့ (ဘယ်သူမှမထားတဲ့) ကို MD5 checksum ခန့်မှန်းပေမယ့်မပေးသဖြင့်သင့်ရဲ့စကားဝှက်ကိုထုတ်ရှာဖွေကြိုးစားခဲ့လျှင်ကျိန်းသေမှန်သည်။

မျိုးစုံကျပန်းထိုးစကားဝှက်တစ်ခုခန့်မှန်းမှာယူသည့်အခါတစ်ဦးက brute အင်အားသုံးတိုက်ခိုက်မှုဖြစ်ပါတယ်။ ဤကိစ္စတွင်ခုနှစ်, ဒါကြောင့် "12345" မှခန့်မှန်းရန်အလွန်လွယ်ကူဖြစ်ပေမယ့်ကျပန်းအခြားတဦးတည်းထွက်တွက်ဆဖို့တော်တော်ခက်ခဲလိမ့်မယ်။ A အဘိဓါန်တိုက်ခိုက်မှုကြောင့်အတွင်းတိုက်ခိုက်သူ "12345" ကျိန်းသေစုံစမ်းခြင်းကိုခံရမယ်လို့ဦးတည်းဖြစ်ခြင်း, ဘုံ (နှင့်အငယျဆုံးသောအသုံးအများဆုံး) ၏စာရင်းထဲကရှိသမျှသောစကားလုံးအရေအတွက်, ဒါမှမဟုတ်ထားသောစာပိုဒ်တိုများ passwords များကိုကြိုးစားနိုင်ဆင်တူသည်။

ဒီတော့ cryptographic hash လုပ်ဆောင်ချက်များကိုမဖြစ်နိုင်-to-မှန်းဆ checksum ရန်ခက်ခဲထုတ်လုပ်သော်လည်း, သင်ဆဲအားလုံးသင်၏အွန်လိုင်းနှင့်ဒေသခံအသုံးပြုသူအကောင့်တစ်ခုရှုပ်ထွေးပြီး password ကိုအသုံးပြုသင့်ပါတယ်။

ထိပ်ဖျား: ကိုကြည့်ပါ အားနည်းနဲ့အားကောင်းတဲ့ Password များ၏ဥပမာများ သင်ဥစ္စာကြံ့ခိုင်တဲ့စကားဝှက်စဉ်းစားသည်ရှိမရှိသေချာမသိပါပဲလျှင်။

cryptographic Hash Functions များအပေါ် More Information ကို

cryptographic hash လုပ်ဆောင်ချက်များကိုအလွန်ကွဲပြားခြားနားတဲ့နည်းလမ်းတွေနဲ့စာဝှက်စနစ်ပေမယ့်နှစ်ဦးကိုအလုပ်နဲ့ဆက်စပ်နေတာနဲ့တူဒါဟာပုံပေါ်ပေလိမ့်မည်။

encryption တစ်ခုခုဖတ်လို့မရအောင်ဖြစ်လာ encrypt လုပ်ထားတဲ့ထိုအခါမူကား, ပုံမှန်အားဖြင့်နောက်တဖန်အသုံးပြုသောခံရဖို့နောက်ပိုင်းတွင်စာဝှက်ဖြည်ထားတဲ့သည်အဘယ်မှာရှိတစ်ဦးနှစ်ဦးလမ်းဖြစ်စဉ်တစ်ခုဖြစ်သည်။ သငျသညျစခွေငျးငှါ သငျသညျသိမ်းဆည်းထားပြီးပြီဖိုင်တွေကိုစာဝှက် သူတို့ကို access လုပ်ပါတယ်သူမည်သူမဆိုသူတို့ကိုသုံးစွဲဖို့မတတ်နိုင်ပါလိမ့်မည်, သို့မဟုတ်သင်အသုံးချနိုင်အောင် ဖိုင်လွှဲပြောင်း encryption ကို သင် upload သို့မဟုတ်အွန်လိုင်းဒေါင်းလုတ်လုပ်သူတွေကိုကဲ့သို့သော network ကိုကျော်ရွေ့လျားနေကြသည်ဖိုင်များ, encrypt လုပ်။

အထက်တွင်ဖော်ပြခဲ့ကဲ့သို့ပင် cryptographic hash လုပ်ဆောင်ချက်များ checksum အထူးစာဝှက်ဖြည်စကားဝှက်နဲ့ကိုဖတ်နေကြသည်ကိုဘယ်လို encrypt လုပ်ထားဖိုငျမြားကဲ့သို့သောအထူး de-တားဆီးခြင်းစကားဝှက်နဲ့ပြောင်းပြန်ခံရဖို့ရည်ရွယ်ကြသည်မဟုတ်ကြောင်းအတွက်ကွဲပြားခြားနားအလုပ်လုပ်ကြသည်။ cryptographic hash လုပ်ဆောင်ချက်များကိုအစေခံတစ်ခုတည်းသောရည်ရွယ်ချက်စသည်တို့ကိုတစ်ဒေတာဘေ့စကနေဒေတာတွေကိုဆွဲ, စကားဝှက်သိုလှောင်, ဖိုင်များဒေါင်းလုပ်ဆွဲသည့်အခါများကဲ့သို့, ဒေတာနှစ်ခုအပိုငျးပိုငျးနှိုင်းယှဉ်ဖို့ဖြစ်ပါတယ်

ဒါဟာအချက်အလက်များ၏ကွဲပြားခြားနားသောအပိုင်းပိုင်းအဘို့တူညီ checksum ထုတ်လုပ်ရန်တစ် cryptographic hash function ကိုအဘို့ဖြစ်နိုင်တဲ့ပါပဲ။ ဒီဖြစ်ပျက်အခါ, တစ်ဦးတိုက်မှုကိုခေါ်ပါတယ်။ ရှင်းနေသည်မှာ, ဒီတစ် cryptographic hash function ကိုတစ်ခုလုံးကိုအမှတ်ထဲသို့ဖြည့်သွင်းတိုင်းဒေတာအတွက်လုံးဝထူးခြားသော checksum စေရန်ဖြစ်ပါသည်စဉ်းစားကြီးမားတဲ့ပြဿနာဖြစ်ပါတယ်။

တစ်ဦးချင်းစီ cryptographic hash function ကိုမသက်ဆိုင်သည့် input ကိုအချက်အလက်များ၏သတ်မှတ်ထားတဲ့အရှည်၏တန်ဖိုးကိုထုတ်လုပ်နေသောကြောင့်တိုက်မှုဖြစ်ပွားနိုင်သည်အကြောင်းရင်းဖြစ်ပါတယ်။ ဥပမာ, MD5 cryptographic hash function ကို 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 နှင့်အချက်အလက်များ၏သုံးခုလုံးဝကွဲပြားခြားနားသောလုပ်ကွက်များအတွက် e10adc3949ba59abbe56e057f20f883e ကိုထုတ်ပေးပါတယ်။

ပထမဦးဆုံးအ checksum ဒုတိယ 700 ကျော်အက္ခရာများနှင့်နံပါတ်များကိုကနေထုတ်လုပ်လိုက်တဲ့, တတိယ 123456 ကနေခဲ့ပါသည်, 12345 ကနေဖြစ်ပါတယ်။ အားလုံးသုံးသွင်းအားစုကွဲပြားခြားနားသောအရှည်ရှိပါတယ်ဒါပေမယ့် MD5 အသုံးပြုခဲ့သည်ကတည်းကရလဒ်ပဲ 32 ဇာတ်ကောင်ရှည်လျားအမြဲရှိပါတယ်။

သငျသညျမွငျနိုငျသကဲ့သို့, input ကိုအသီးအသီးသေးငယ်တဲ့ပြောင်းလဲမှုဟာလုံးဝကွဲပြားခြားနားသော checksum ထုတ်လုပ်ရန်ထင်နေသည်ကတည်းကဖန်တီးနိုင် checksum များ၏အရေအတွက်နီးပါးမျှကန့်သတ်ရှိပါတယ်။ တဦးတည်း cryptographic hash function ကိုထုတ်လုပ်နိုင်သည် checksum ၏နံပါတ်တစ်ကန့်သတ်စရာရှိသောကြောင့်သို့သော်, သင်တစ်ဦးတိုက်မှုကြုံတွေ့ရပါလိမ့်မယ်သောဖြစ်နိုင်ခြေအမြဲရှိပါတယ်။

အခြားအ cryptographic hash လုပ်ဆောင်ချက်များကိုဖန်တီးခဲ့ကြအဘယ်ကြောင့်ဒီအဖြစ်ပါတယ်။ MD5 တစ်ဦး 32-ဇာတ်ကောင်တန်ဖိုးကိုထုတ်ပေးနေစဉ်, SHA-1 40 ဇာတ်ကောင်ထုတ်ပေးနှင့် SHA-2 (512) ကပိုမိုအခန်းတစ်ခန်းကိုထောက်ပံ့ပေးသောကြောင့် checksum သည်လျော့နည်းဖွယ်ရှိတဲ့တိုက်မှုဖြစ်ပွားပါလိမ့်မယ်ဖြစ်ပါတယ်ကြောင်းကိုဇာတ်ကောင်များအရေအတွက် 128. အဆိုပါ သာ. ကြီးထုတ်ပေး ထူးခြားသောတန်ဖိုးများ။