Advanced Encryption Standard (AES) symmetric encryption algorithm တစ်ခုဖြစ်သည်။ AES သည် 128 bit၊ 192 bit နှင့် 256 bits ကုဒ်ဝှက်ခြင်းကို ခွင့်ပြုထားသောကြောင့် ယခုအချိန်တွင် စက်မှုလုပ်ငန်းစံနှုန်းဖြစ်သည်။ Symmetric encryption သည် asymmetric encryption နှင့် နှိုင်းယှဉ်ပါက လျင်မြန်ပြီး database system ကဲ့သို့သော စနစ်များတွင် အသုံးပြုပါသည်။ အောက်ပါသည် AES ကုဒ်ဝှက်ခြင်းနှင့် စာဝှက်စာဝှက်ကို လုပ်ဆောင်ရန် အွန်လိုင်းတူးလ်တစ်ခုဖြစ်သည်။
ကိရိယာသည် ကုဒ်ဝှက်ခြင်းနှင့် စာဝှက်ခြင်းကဲ့သို့သော ပုံစံမျိုးစုံကို ပေးဆောင်သည်။ ECB၊ CBC၊ CTR၊ CFB နှင့် GCM မုဒ်. GCM CBC မုဒ်ထက် ပိုမိုလုံခြုံသည်ဟု ယူဆကြပြီး ၎င်း၏စွမ်းဆောင်ရည်အတွက် ကျယ်ပြန့်စွာ လက်ခံထားသည်။
AES ကုဒ်ဝှက်ခြင်းဆိုင်ရာ နောက်ထပ်အချက်အလက်များအတွက်၊ သွားရောက်ကြည့်ရှုပါ။ AES Encryption ၏ ရှင်းလင်းချက် အောက်တွင် ကုဒ်ဝှက်ခြင်းနှင့် ကုဒ်ဝှက်ခြင်းအတွက် ထည့်သွင်းမှုများကို ရယူရန် ဖောင်ဖြစ်သည်။
သင်ထည့်သွင်းသော မည်သည့်လျှို့ဝှက်သော့တန်ဖိုးကိုမဆို သို့မဟုတ် ကျွန်ုပ်တို့ထုတ်လုပ်သည့် ဤဆိုက်တွင် သိမ်းဆည်းထားခြင်းမရှိပါ၊ မည်သည့်လျှို့ဝှက်သော့များကိုမဆို ခိုးယူနိုင်ကြောင်း သေချာစေရန်အတွက် ဤကိရိယာကို HTTPS URL မှတစ်ဆင့် ပံ့ပိုးပေးပါသည်။
အဓိကအင်္ဂါရပ်များ
- အချိုးကျသည်။ သော့အယ်လ်ဂိုရီသမ်- ကုဒ်ဝှက်ခြင်းနှင့် ကုဒ်ဝှက်ခြင်းနှစ်မျိုးစလုံးအတွက် တူညီသောသော့ကို အသုံးပြုသည်။
- Cipher ကိုပိတ်ပါ။: AES သည် ပုံသေအရွယ်အစား ဒေတာဘလောက်များပေါ်တွင် လုပ်ဆောင်သည်။ စံဘလောက်အရွယ်အစားသည် 128 bits ဖြစ်သည်။
- သော့အရှည်များ: AES သည် 128၊ 192 နှင့် 256 ဘစ်များ၏ အဓိက အရှည်များကို ပံ့ပိုးပေးသည်။ သော့ရှည်လေ၊ ကုဒ်ဝှက်ခြင်းအားကောင်းလေဖြစ်သည်။
- လုံခြုံရေး: AES သည် အလွန်လုံခြုံသည်ဟုယူဆရပြီး လုံခြုံရေးပရိုတိုကောများနှင့် အက်ပ်ပလီကေးရှင်းအမျိုးမျိုးတွင် တွင်ကျယ်စွာအသုံးပြုထားသည်။
AES ကုဒ်ဝှက်ခြင်းဆိုင်ရာ စည်းမျဥ်းစည်းကမ်းများနှင့် သတ်မှတ်ချက်များ
ကုဒ်ဝှက်ခြင်းအတွက် သင်သည် ကုဒ်ဝှက်လိုသော ရိုးရိုးစာသား သို့မဟုတ် စကားဝှက်ကို ရိုက်ထည့်နိုင်သည်။ ယခု ကုဒ်ဝှက်ခြင်း၏ block cipher မုဒ်ကို ရွေးပါ။
AES ကုဒ်ဝှက်ခြင်း၏ မတူညီသော ပံ့ပိုးမှုမုဒ်များ
AES သည် ECB၊ CBC၊ CTR၊ OFB၊ CFB နှင့် GCM မုဒ်စသည့် စာဝှက်စနစ်များစွာကို ပေးဆောင်သည်။
-
ECB (Electronic Code Book) သည် အရိုးရှင်းဆုံး ကုဒ်ဝှက်ခြင်းမုဒ်ဖြစ်ပြီး ကုဒ်ဝှက်ခြင်းအတွက် IV မလိုအပ်ပါ။ ထည့်သွင်းထားသော ရိုးရိုးစာသားကို ဘလောက်များအဖြစ် ပိုင်းခြားမည်ဖြစ်ပြီး ဘလောက်တစ်ခုစီကို ပေးထားသောသော့ဖြင့် ကုဒ်ဝှက်ထားမည်ဖြစ်ပြီး ထို့ကြောင့် ထပ်တူကျသော စာသားတုံးများကို တူညီသော cipher စာသားတုံးများအဖြစ် ကုဒ်ဝှက်ထားသည်။
-
CBC(Cipher Block Chaining) မုဒ်ကို အထူးအကြံပြုထားပြီး၊ ၎င်းသည် block cipher encryption ၏ အဆင့်မြင့်ပုံစံတစ်ခုဖြစ်သည်။ တူညီသော ရိုးရှင်းသော စာသားတုံးများကို တူညီသော cipher စာသားတုံးများအဖြစ် အသွင်ဝှက်ထားသည်ဟု အဓိပ္ပါယ်ရသော မက်ဆေ့ဂျ်တစ်ခုစီကို သီးသန့်ပြုလုပ်ရန် IV လိုအပ်သည်။ ထို့ကြောင့်၊ ၎င်းသည် ECB မုဒ်နှင့် နှိုင်းယှဉ်ပါက ပိုမိုခိုင်မာသော ကုဒ်ဝှက်ခြင်းကို ပံ့ပိုးပေးသော်လည်း ECB မုဒ်နှင့် နှိုင်းယှဉ်ပါက အနည်းငယ် နှေးကွေးပါသည်။ IV ကိုမထည့်ပါက CBC မုဒ်အတွက် ပုံသေကို ဤနေရာတွင် အသုံးပြုမည်ဖြစ်ပြီး ၎င်းသည် သုညအခြေခံဘိုက်သို့ ပုံသေဖြစ်သည်[16]။
-
CTR (ကောင်တာ) CTR မုဒ် (CM) ကို ကိန်းပြည့်တန်ပြန်မုဒ် (ICM) နှင့် အပိုင်းခွဲထားသော ကိန်းပြည့်ကောင်တာ (SIC) မုဒ်ဟုလည်း ခေါ်သည်။ Counter-mode သည် block cipher ကို stream cipher အဖြစ်သို့ပြောင်းသည်။ CTR မုဒ်တွင် OFB နှင့် ဆင်တူသော ဝိသေသလက္ခဏာများ ရှိသော်လည်း ကုဒ်ဝှက်နေစဉ်အတွင်း ကျပန်းဝင်ရောက်ခွင့်ကို ခွင့်ပြုပါသည်။ CTR မုဒ်သည် ဘလောက်များကို အပြိုင် စာဝှက်ထားနိုင်သည့် ဘက်စုံပရိုဆက်ဆာစက်ပေါ်တွင် လုပ်ဆောင်ရန် သင့်လျော်ပါသည်။
-
GCM(Galois/ကောင်တာမုဒ်) အစစ်အမှန်ကုဒ်ဝှက်ခြင်းကိုပေးဆောင်ရန် universal hashing ကိုအသုံးပြုသည့် symmetric-key block cipher mode တစ်ခုဖြစ်သည်။ GCM သည် CBC မုဒ်ထက် ပိုမိုလုံခြုံသည်ဟု ယူဆသောကြောင့် ၎င်းတွင် အထောက်အထားစိစစ်ခြင်းနှင့် သမာဓိစစ်ဆေးမှုများ ပါရှိပြီး ၎င်း၏စွမ်းဆောင်ရည်အတွက် တွင်ကျယ်စွာ အသုံးပြုထားသည်။
Padding
AES မုဒ် CBC နှင့် ECB အတွက်၊ padding သည် PKCS5PADDING နှင့် NoPadding ဖြစ်နိုင်ပါသည်။ PKCS5Padding ဖြင့်၊ 16-byte string သည် 32-byte output (နောက်ထပ်ပေါင်း 16) ကို ထုတ်လုပ်ပေးမည်ဖြစ်သည်။
AES GCM PKCS5Padding သည် NoPadding အတွက် အဓိပ္ပါယ်တူဖြစ်ပြီး GCM သည် padding မလိုအပ်သော streaming mode တစ်ခုဖြစ်သောကြောင့်ဖြစ်သည်။ GCM ရှိ ciphertext သည် plaintext အတိုင်းသာဖြစ်သည်။ ထို့ကြောင့်၊ nopadding ကို ပုံသေအားဖြင့် ရွေးချယ်ထားသည်။
AES သော့အရွယ်အစား
AES အယ်လဂိုရီသမ်တွင် သင်၏သော့အလျားသည် 256၊ 192 သို့မဟုတ် 128 ဘစ်ဖြစ်စေ မခွဲခြားဘဲ 128-bit ဘစ်အရွယ်အစားရှိသည်။ Symmetric cipher mode တစ်ခုသည် IV လိုအပ်သောအခါ၊ IV ၏အရှည်သည် cipher ၏ block size နှင့် တူညီရပါမည်။ ထို့ကြောင့်၊ သင်သည် AES ဖြင့် 128 bits (16 bytes) ၏ IV ကို အမြဲသုံးရပါမည်။
AES လျှို့ဝှက်သော့
AES သည် ကုဒ်ဝှက်ခြင်းအတွက် 128 bits၊ 192 bits နှင့် 256 bits တို့၏ လျှို့ဝှက်သော့အရွယ်အစားကို ပံ့ပိုးပေးပါသည်။ အကယ်၍ သင်သည် ကုဒ်ဝှက်ခြင်းအတွက် 128 ဘစ်ကို ရွေးချယ်ပါက၊ လျှို့ဝှက်သော့သည် 16 ဘစ်ရှည်လျားပြီး သော့အရွယ်အစား 192 နှင့် 256 ဘစ်တို့အတွက် လျှို့ဝှက်သော့သည် 24 နှင့် 32 ဘစ် အသီးသီးရှိရပါမည်။ ဥပမာအားဖြင့်၊ သော့အရွယ်အစားသည် 128 ဖြစ်ပါက၊ မှန်ကန်သောလျှို့ဝှက်သော့သည် အက္ခရာ 16 လုံးရှိရမည်၊ ဆိုလိုသည်မှာ 16*8=128 bits ဖြစ်ရမည်။