EITC/IS/CCF Classical Cryptography Fundamentals သည် private-key နှင့် public-key cryptography နှစ်ခုလုံးအပါအဝင်၊ classical cryptography ၏သီအိုရီနှင့်လက်တွေ့ကျသောသွင်ပြင်ဆိုင်ရာ ဥရောပ IT အသိအမှတ်ပြုလက်မှတ်ပရိုဂရမ်ဖြစ်သည်၊ RSA
EITC/IS/CCF Classical Cryptography Fundamentals ၏ သင်ရိုးညွှန်းတမ်းတွင် သီးသန့်သော့ဝှက်စာရိုက်ခြင်း၊ မော်ဂျူလာဂဏန်းသင်္ချာနှင့် သမိုင်းဝင် ciphers၊ stream ciphers၊ ကျပန်းနံပါတ်များ၊ One-Time Pad (OTP) ကို ခြွင်းချက်မရှိ လုံခြုံသော cipher (ဖြေရှင်းချက်ပေးနေသည်ဟု ယူဆချက်အောက်တွင်) ပါဝင်ပါသည်။ ဥပမာ Quantum Key Distribution၊ QKD မှပေးသော သော့ဖြန့်ချီရေးပြဿနာ၊ linear feedback shift registers၊ Data Encryption Standard (DES cipher, encryption၊ key schedule and decryption)၊ Advanced Encryption Standard (AES၊ Galois အကွက်များကို မိတ်ဆက်ပေးခြင်း အခြေခံ cryptography)၊ block ciphers (၎င်းတို့၏လုပ်ဆောင်မှုပုံစံများအပါအဝင်)၊ multiple encryption နှင့် brute-force attacks များကိုထည့်သွင်းစဉ်းစားခြင်း၊ နံပါတ်ဖုံးလွှမ်းထားသော public-key cryptography နိဒါန်း၊ Euclidean algorithm၊ Euler's Phi function နှင့် Euler's theorem တို့အပြင်၊ RSA cryptosystem ကိုမိတ်ဆက်ခြင်းနှင့်အောက်ပါဖွဲ့စည်းပုံအတွင်း၊ ထိရောက်သောအညွှန်းကိန်း၊ ပြည့်စုံသောဗီဒီယို didactic c ကိုလွှမ်းခြုံထားသည်။ ဤ EITC အသိအမှတ်ပြုလက်မှတ်အတွက် အကိုးအကားအဖြစ် ontent။
Cryptography သည် ရန်သူတစ်ဦးထံ၌ လုံခြုံသောဆက်သွယ်ရေးနည်းလမ်းများကို ရည်ညွှန်းသည်။ ကျယ်ပြန့်သောသဘောအရ ကူးယူဖော်ပြခြင်းသည် ပြင်ပပါတီများ သို့မဟုတ် အများသူငှာ သီးသန့် (ကုဒ်ဝှက်ထားသော) မက်ဆေ့ချ်များကို ဝင်ရောက်ကြည့်ရှုခြင်းမှ တားဆီးသည့် ပရိုတိုကောများကို ဖန်တီးခြင်းနှင့် ခွဲခြမ်းစိတ်ဖြာခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ ခေတ်မီဂန္ထဝင် လျှို့ဝှက်ဝှက်စာရိုက်ခြင်းသည် အချက်အလက်လုံခြုံရေး၏ အဓိကအင်္ဂါရပ်များစွာဖြစ်သည့် ဒေတာလျှို့ဝှက်ထားမှု၊ ဒေတာခိုင်မာမှု၊ စစ်မှန်ကြောင်းနှင့် ငြင်းဆိုခြင်းမဟုတ်ခြင်းတို့ကို အခြေခံထားသည်။ သဘာဝကိုဖော်ပြသည့် ကွမ်တမ် ရူပဗေဒစည်းမျဉ်းများကို အခြေခံထားသည့် ကွမ်တမ် ကွမ်တမ် လျှို့ဝှက်ရေးပညာနှင့် ဆန့်ကျင်ဘက်အနေနှင့် ရှေးရိုးရူပဗေဒဥပဒေများကို အခြေခံသည့် လျှို့ဝှက်ဝှက်စာရိုက်ခြင်းကို ရည်ညွှန်းပါသည်။ သင်္ချာ၊ ကွန်ပြူတာသိပ္ပံ၊ လျှပ်စစ်အင်ဂျင်နီယာ၊ ဆက်သွယ်ရေးသိပ္ပံနှင့် ရူပဗေဒနယ်ပယ်များအားလုံးသည် classical cryptography တွင် ပေါင်းစပ်ထားသည်။ အီလက်ထရွန်းနစ် ကူးသန်းရောင်းဝယ်ရေး၊ ချစ်ပ်အခြေခံ ငွေပေးချေကတ်များ၊ ဒစ်ဂျစ်တယ်ငွေကြေးများ၊ ကွန်ပျူတာ စကားဝှက်များနှင့် စစ်ဘက်ဆိုင်ရာ ဆက်သွယ်ရေးများသည် ကုဒ်ဝှက်စနစ်ဆိုင်ရာ အပလီကေးရှင်းများ၏ နမူနာများဖြစ်သည်။
လက်ရှိခေတ်မတိုင်မီ၊ ကုဒ်ဝှက်စာရိုက်ခြင်းသည် ကုဒ်ဝှက်ခြင်းနှင့် တူညီလုနီးပါးဖြစ်ပြီး အချက်အလက်များကို ဖတ်၍မရသော နားမလည်နိုင်သော အဓိပ္ပါယ်မဲ့အဖြစ်သို့ ပြောင်းလဲခဲ့သည်။ ကုဒ်ဝှက်ထားသော မက်ဆေ့ဂျ်ကို တိုက်ခိုက်သူများ ဝင်ရောက်ခွင့်မရအောင် ပေးပို့သူသည် ကုဒ်ဝှက်ခြင်းလုပ်ငန်းစဉ်ကို ရည်ရွယ်လက်ခံသူများနှင့်သာ မျှဝေပါသည်။ ပေးပို့သူအတွက် Alice (“A”)၊ ရည်ရွယ်လက်ခံသူအတွက် Bob (“B”) နှင့် ရန်သူအတွက် Eve (“ခိုးနားထောင်”) တို့ကို လျှို့ဝှက်ရေးစာပေများတွင် မကြာခဏအသုံးပြုကြသည်။
Cryptography နည်းလမ်းများသည် ပိုမိုရှုပ်ထွေးလာပြီး ပထမကမ္ဘာစစ်အတွင်း rotor cipher စက်များ ဖွံ့ဖြိုးတိုးတက်လာပြီး ဒုတိယကမ္ဘာစစ်အတွင်း ကွန်ပြူတာများ စတင်ပေါ်ပေါက်လာချိန်မှစ၍ ၎င်း၏အသုံးချမှုများသည် ပိုမိုကွဲပြားလာခဲ့သည်။
ခေတ်သစ် cryptography သည် သင်္ချာသီအိုရီနှင့် ကွန်ပြူတာသိပ္ပံအလေ့အကျင့်အပေါ် ခိုင်ခိုင်မာမာ မှီခိုနေပါသည်။ cryptographic နည်းလမ်းများကို ကွန်ပြူတာ မာကျောမှု ယူဆချက်များ ပတ်လည်တွင် တည်ဆောက်ထားသောကြောင့် ၎င်းတို့ကို မည်သည့်ပြိုင်ဘက်မဆို လက်တွေ့တွင် ချိုးဖျက်ရန် ခက်ခဲစေသည်။ သီအိုရီအရ ကောင်းမွန်စွာ ပုံဖော်ထားသော စနစ်သို့ ဖောက်ထွင်းဝင်ရောက်နိုင်သော်လည်း လက်တွေ့တွင် ထိုသို့လုပ်ဆောင်ရန်မှာ မဖြစ်နိုင်ပေ။ ထိုသို့သောအစီအစဥ်များကို လုံလောက်စွာတည်ဆောက်ထားပါက "ကွန်ပျူတာဖြင့်လုံခြုံသော" ဟုရည်ညွှန်းသည်။ မည်သို့ပင်ဆိုစေကာမူ၊ သီအိုရီပိုင်းဖြတ်ကျော်မှုများ (ဥပမာ- ကိန်းပြည့်ခွဲခြမ်းစိတ်ဖြာခြင်းနည်းလမ်းများတွင် တိုးတက်မှုများ) နှင့် ပိုမိုမြန်ဆန်သော တွက်ချက်ခြင်းနည်းပညာများသည် စဉ်ဆက်မပြတ်ပြန်လည်အကဲဖြတ်ရန် လိုအပ်ပြီး လိုအပ်ပါက အဆိုပါဒီဇိုင်းများကို လိုက်လျောညီထွေဖြစ်စေပါသည်။ အကန့်အသတ်မရှိ ကွန်ပြူတာ ပါဝါဖြင့်ပင် တစ်ကြိမ်တည်း ပတ်ဒ်ကဲ့သို့သော သတင်းအချက်အလက်-သီအိုရီအရ ဘေးကင်းလုံခြုံသည့် စနစ်များ ရှိသည်၊ သို့သော် ၎င်းတို့သည် သီအိုရီအရ အကောင်းဆုံး ချိုးဖျက်နိုင်သော်လည်း ကွန်ပျူတာဖြင့် လုံခြုံသော အစီအစဉ်များထက် လက်တွေ့တွင် အသုံးပြုရန် သိသိသာသာ ပိုခက်ခဲပါသည်။
သတင်းအချက်အလက်ခေတ်တွင်၊ cryptographic နည်းပညာ တိုးတက်မှုသည် ဥပဒေဆိုင်ရာ စိန်ခေါ်မှုများစွာကို ဖြစ်ပေါ်စေခဲ့သည်။ နိုင်ငံအများအပြားသည် သူလျှိုလုပ်ရန်နှင့် သူပုန်ထရန် အလားအလာများကြောင့် ၎င်း၏အသုံးပြုမှုနှင့် တင်ပို့မှုကို ကန့်သတ်ခြင်း သို့မဟုတ် တားမြစ်ခြင်းတို့ကို လက်နက်တစ်ခုအဖြစ် အမျိုးအစားခွဲခြားထားသည်။ စုံစမ်းစစ်ဆေးသူများသည် လျှို့ဝှက်ကုဒ်ဝှက်ခြင်းဆိုင်ရာသော့များကို အချို့နေရာများတွင် စုံစမ်းစစ်ဆေးခြင်းနှင့်သက်ဆိုင်သော စာရွက်စာတမ်းများအတွက် ကုဒ်ဝှက်ခြင်းသော့များကို စွန့်လွှတ်ရန် အတင်းအကြပ်ခိုင်းစေနိုင်သည်။ ဒစ်ဂျစ်တယ်မီဒီယာကိစ္စတွင်၊ ကုဒ်ဝှက်ရေးစနစ်သည် ဒစ်ဂျစ်တယ်အခွင့်အရေးများကို စီမံခန့်ခွဲခြင်းနှင့် မူပိုင်ခွင့်ချိုးဖောက်မှုပဋိပက္ခများတွင် အဓိကအခန်းကဏ္ဍမှ ပါဝင်ပါသည်။
“cryptograph” (“cryptogram” နှင့် ဆန့်ကျင်ဘက်) ဟူသော ဝေါဟာရကို Edgar Allan Poe ၏ “The Gold-Bug” ဝတ္ထုတိုတွင် ၁၉ရာစုတွင် စတင်အသုံးပြုခဲ့သည်။
မကြာသေးမီအထိ၊ လျှို့ဝှက်စာဝှက်စနစ်သည် သာမန်ဒေတာ (plaintext ဟုခေါ်သည်) ကိုဖတ်၍မရသောပုံစံ (ciphertext ဟုခေါ်သည်) အဖြစ်သို့ပြောင်းလဲစေသည့်လုပ်ဆောင်မှုဖြစ်သည့် "ကုဒ်ဝှက်ခြင်း" ကို လုံးလုံးလျားလျားရည်ညွှန်းခဲ့သည်။ ဝှက်စာဝှက်ခြင်းသည် ကုဒ်ဝှက်ခြင်း၏ ဆန့်ကျင်ဘက်ဖြစ်သည်၊ ဆိုလိုသည်မှာ၊ နားမလည်နိုင်သော ciphertext မှ plaintext သို့သွားခြင်းဖြစ်သည်။ cipher (သို့မဟုတ် cypher) သည် ပြောင်းပြန်အစီအစဥ်တွင် ကုဒ်ဝှက်ခြင်းနှင့် စာဝှက်ခြင်းလုပ်ဆောင်သည့် နည်းပညာအစုအဝေးတစ်ခုဖြစ်သည်။ algorithm နှင့် ကိစ္စတစ်ခုစီတွင်၊ "သော့" သည် cipher ၏အသေးစိတ်လုပ်ဆောင်မှုကို တာဝန်ယူပါသည်။ သော့သည် စာဝှက်စာသားကို ကုဒ်ဝှက်ရန် အသုံးပြုသည့် လျှို့ဝှက်ချက် (ဆက်သွယ်ရေး သမားများသာ ဖြစ်နိုင်သည်)။ ၎င်းသည် အများအားဖြင့် အက္ခရာစာတန်းများ (အသုံးပြုသူမှ မှတ်မိနိုင်စေရန် တိုတောင်းသော ရည်ရွယ်ချက်ဖြင့်)။ "cryptosystem" သည် အကန့်အသတ်ရှိသော ဖြစ်နိုင်ချေရှိသော plaintexts၊ cyphertexts၊ သော့များ၊ နှင့် တရားဝင်သင်္ချာအသုံးအနှုန်းများတွင် သော့တစ်ခုစီနှင့် ကိုက်ညီသော ကုဒ်ဝှက်ခြင်းနှင့် ကုဒ်ဝှက်ခြင်းဆိုင်ရာ လုပ်ထုံးလုပ်နည်းများ စုစည်းမှုဖြစ်သည်။ သော့များသည် ပုံသေသော့များပါရှိသော ciphers များကို အလွယ်တကူ ချိုးဖျက်နိုင်ပြီး ရည်ရွယ်ချက်အများစုအတွက် အသုံးမဝင်သော (သို့မဟုတ် တန်ပြန်ရလဒ်ပင်) ဖြစ်စေသောကြောင့် သော့များသည် သော့များဖြစ်သည်။
သမိုင်းကြောင်းအရ၊ ကုဒ်ဝှက်ခြင်း သို့မဟုတ် ကုဒ်ဝှက်ခြင်းအတွက် စစ်မှန်ကြောင်းအတည်ပြုခြင်း သို့မဟုတ် ခိုင်မာမှုစစ်ဆေးခြင်းကဲ့သို့သော ထပ်လောင်းလုပ်ထုံးလုပ်နည်းများမပါဘဲ စာဝှက်များကို မကြာခဏအသုံးပြုခဲ့ကြသည်။ Cryptosystems များကို အမျိုးအစား နှစ်ခု ခွဲထားသည်- အချိုးညီသော နှင့် အချိုးမညီ။ တူညီသောသော့ (လျှို့ဝှက်သော့) ကို 1970 ခုနှစ်များအထိ သိခဲ့ကြသည့် symmetric စနစ်များတွင် မက်ဆေ့ခ်ျကို စာဝှက်နှင့် ကုဒ်ဝှက်ရန်အတွက် အသုံးပြုပါသည်။ စီမက်ထရစ်စနစ်များသည် ပိုတိုသောသော့အလျားများကို အသုံးပြုသောကြောင့်၊ အချိုးညီသောစနစ်များတွင် ဒေတာခြယ်လှယ်မှုသည် အချိုးမညီသောစနစ်များထက် ပိုမိုမြန်ဆန်သည်။ Asymmetric စနစ်များသည် ဆက်သွယ်ရေးကို “အများပြည်သူသော့” ဖြင့် စာဝှက်ထားပြီး အလားတူ “လျှို့ဝှက်သော့” ကို အသုံးပြု၍ ၎င်းကို စာဝှက်ထားသည်။ အချိုးမညီသောစနစ်များကို အသုံးပြုခြင်းသည် သော့နှစ်ခုကြားရှိ ဆက်စပ်မှုကို ဆုံးဖြတ်ရန်ခက်ခဲခြင်းကြောင့် ဆက်သွယ်ရေးလုံခြုံရေးကို တိုးတက်စေသည်။ RSA (Rivest–Shamir–Addleman) နှင့် ECC တို့သည် အချိုးမညီသော စနစ်များ (Elliptic Curve Cryptography) ၏ ဥပမာနှစ်ခုဖြစ်သည်။ အစောပိုင်း DES ကို အစားထိုးသည့် AES (Advanced Encryption Standard) သည် အရည်အသွေးမြင့် symmetric algorithm (Data Encryption Standard) ၏ ဥပမာတစ်ခုဖြစ်သည်။ Pig Latin သို့မဟုတ် အခြားသော cant ကဲ့သို့သော ကလေးများ၏ ဘာသာစကား အရှုပ်အထွေး အမျိုးမျိုးသော နည်းပညာများနှင့် အမှန်တကယ်တွင် cryptographic အစီအစဥ်အားလုံးသည် နှစ်ဆယ်ရာစုအစောပိုင်းတွင် တစ်ခါသုံး pad ကိုမမိတ်ဆက်မီ မည်သည့်အရင်းအမြစ်မှမဆို အလေးအနက်ဆိုလိုသည်မှာ အရည်အသွေးနိမ့်သော ဥပမာများဖြစ်သည်။ အချိုးကျသော အယ်ဂိုရီသမ်များ။
“ကုဒ်” ဟူသော အသုံးအနှုန်းကို ကုဒ်ဝှက်ခြင်း သို့မဟုတ် မက်ဆေ့ချ်ဝှက်ခြင်းဆိုင်ရာ မည်သည့်နည်းပညာကိုမဆို ရည်ညွှန်းရန် စကားအသုံးအနှုန်းကို မကြာခဏအသုံးပြုသည်။ သို့သော်၊ ကုဒ်ဝှက်ရေးပညာတွင်၊ ကုဒ်သည် လွင်ပြင်စာသားယူနစ်တစ်ခုအတွက် ကုဒ်စကားလုံးကို အစားထိုးခြင်း (ဆိုလိုသည်မှာ အဓိပ္ပါယ်ရှိသော စကားလုံး သို့မဟုတ် စကားစု) (ဥပမာ၊ “wallaby” သည် “အရုဏ်တက်တိုက်ခိုက်ခြင်း” ကို အစားထိုးသည်)။ ဆန့်ကျင်ဘက်အားဖြင့်၊ cyphertext တစ်ခုဖွဲ့စည်းရန်အတွက် အဆိုပါအဆင့် (အက္ခရာတစ်ခု၊ syllable၊ သို့မဟုတ် စာလုံးအတွဲတစ်ခု၊ ဥပမာ) အောက်ရှိဒြပ်စင်ကို ပြုပြင်ခြင်း သို့မဟုတ် အစားထိုးခြင်းဖြင့် ဖန်တီးထားသည်။
Cryptanalysis သည် ထိုသို့ပြုလုပ်ရန် လိုအပ်သောသော့ကို ဝင်ရောက်ခြင်းမရှိဘဲ ကုဒ်ဝှက်ထားသော အချက်အလက်များကို ကုဒ်ဝှက်ခြင်းအတွက် နည်းလမ်းများကို လေ့လာခြင်း၊ တစ်နည်းဆိုရသော် ၎င်းသည် ကုဒ်ဝှက်ခြင်းအစီအစဉ်များကို မည်သို့ “ချိုးဖျက်” ရမည်ကို လေ့လာခြင်း ဖြစ်သည်။
အင်္ဂလိပ်တွင်၊ အချို့သောလူများသည် “ကုဒ်ဝှက်ခြင်း” နှင့် “လျှို့ဝှက်ရေးပညာ” ဟူသော အသုံးအနှုန်းများကို အပြန်အလှန်အသုံးပြုကြပြီး အချို့က (ယေဘူယျအားဖြင့် အမေရိကန်စစ်တပ်အလေ့အကျင့်အပါအဝင်) ကုဒ်ဝှက်နည်းပညာများနှင့် ပေါင်းစပ်အသုံးပြုမှုနှင့် လေ့ကျင့်မှုကို ရည်ညွှန်းရန် “ကုဒ်ဝှက်ပညာ” ကို အသုံးပြုကာ “ကုဒ်ဝှက်နည်းပညာ” ကို အသုံးပြုသည်။ cryptography နှင့် cryptanalysis ကိုလေ့လာခြင်း။ အင်္ဂလိပ်ဘာသာစကားသည် အခြားဘာသာစကားများစွာထက် လိုက်လျောညီထွေဖြစ်စေသော၊ “cryptology” (cryptologists ကျင့်သုံးသည့်အတိုင်း) ဒုတိယအဓိပ္ပာယ်ကို အမြဲတမ်းအသုံးပြုလေ့ရှိသည်။ RFC 2828 အရ Steganography သည် တစ်ခါတစ်ရံတွင် cryptology တွင် ပါဝင်ပါသည်။
Cryptolinguistics သည် cryptography သို့မဟုတ် cryptology (ဥပမာ၊ ကြိမ်နှုန်းကိန်းဂဏန်းများ၊ စာလုံးပေါင်းစပ်မှုများ၊ universal patterns စသည်တို့) တွင် ဆက်စပ်မှုရှိသော ဘာသာစကားဂုဏ်သတ္တိများကို လေ့လာခြင်းဖြစ်ပါသည်။
လျှို့ဝှက်ရေးနည်းနှင့် ဝှက်စာရှာဖွေခြင်းတို့သည် ရှည်လျားသောသမိုင်းကြောင်းရှိသည်။
cryptography ၏သမိုင်းသည်အဓိကဆောင်းပါးဖြစ်သည်။
ခေတ်မီသောခေတ်မတိုင်မီ၊ ကုဒ်ဝှက်ရေးစနစ်သည် မက်ဆေ့ချ်လျှို့ဝှက်ရေး (ဆိုလိုသည်မှာ ကုဒ်ဝှက်ခြင်း) နှင့် အဓိကအားဖြင့် ပတ်သက်နေပါသည်—နားလည်နိုင်စွမ်းမရှိသောပုံစံမှ နားမလည်နိုင်သောပုံစံသို့ မက်ဆေ့ချ်များကို အဖန်ဖန်ပြောင်းလဲခြင်း၊ ကြားဖြတ်နားထောင်သူများ သို့မဟုတ် ခိုးယူခိုးနားထောင်သူများသည် လျှို့ဝှက်အသိပညာမရှိဘဲ ၎င်းတို့ကိုဖတ်မရနိုင်အောင်ပြန်ဆိုခြင်း (ဆိုလိုသည်မှာ ကုဒ်ဝှက်ခြင်းအတွက် လိုအပ်သောသော့ဟု ဆိုလိုသည် ထိုစာ၏)။ သူလျှိုများ၊ စစ်ခေါင်းဆောင်များနှင့် သံတမန်များ၏ စကားဝိုင်းများကို သီးသန့်ထားရှိရန် ကုဒ်ဝှက်ခြင်းကို ဒီဇိုင်းထုတ်ထားသည်။ မကြာသေးမီဆယ်စုနှစ်များအတွင်း၊ စည်းကမ်းသည် မက်ဆေ့ချ်ခိုင်မာမှုစစ်ဆေးခြင်း၊ ပေးပို့သူ/လက်ခံသူအထောက်အထား စစ်မှန်ကြောင်းပြသခြင်း၊ ဒစ်ဂျစ်တယ်လက်မှတ်များ၊ အပြန်အလှန်တုံ့ပြန်မှုအထောက်အထားများနှင့် လုံခြုံသောတွက်ချက်ခြင်းစသည့် နည်းပညာများကို ပေါင်းစပ်ထည့်သွင်းလာပါသည်။
အသုံးအများဆုံး classical cipher အမျိုးအစားနှစ်ခုမှာ transposition ciphers ဖြစ်ပြီး၊ စာလုံးများ သို့မဟုတ် စာလုံးအုပ်စုများကို အခြားအက္ခရာများ သို့မဟုတ် စာလုံးအုပ်စုများဖြင့်စနစ်တကျအစားထိုးခြင်း (ဥပမာ 'hello world' သည် အသေးအဖွဲပုံစံဖြင့် 'ehlol owrdl' ဖြစ်လာသည်) နှင့် အစားထိုး ciphers၊ စာလုံးများ သို့မဟုတ် စာလုံးအုပ်စုများကို အခြားအက္ခရာများ သို့မဟုတ် စာလုံးအုပ်စုများဖြင့် စနစ်တကျ အစားထိုးပေးသော (ဥပမာ 'fly at once' သည် 'gmz bu' ၏ ရိုးရှင်းသောဗားရှင်းများသည် ကောက်ကျစ်စဉ်းလဲသောရန်ဘက်များထံမှ လျှို့ဝှက်ရေးများစွာကို ဘယ်သောအခါမှ ပေးစွမ်းခြင်းမရှိပေ။ Suetonius ၏ အဆိုအရ Julius Caesar သည် ၎င်း၏ဗိုလ်ချုပ်များနှင့် ဆက်သွယ်ရန်အတွက် လူသုံးဆိုင်းဖြင့် ၎င်းကို အက္ခရာတစ်ခုစီဖြင့် အစားထိုးခဲ့သည်။အစောပိုင်း ဟေဗြဲစာဝှက်စာ၊ Atbash သည် ဥပမာတစ်ခုဖြစ်သည်။ လျှို့ဝှက်စာရိုက်ခြင်း၏ ရှေးအကျဆုံးအသုံးပြုမှုမှာ အီဂျစ်နိုင်ငံ (ဘီစီအီး 1900 ခန့်)တွင် ကျောက်တုံးပေါ်တွင် ထွင်းထားသော စာဝှက်စာသားတစ်ခုဖြစ်ပြီး၊ သို့သော် ယင်းကို စာတတ်မြောက်သောပရိသတ်များ၏ ပျော်ရွှင်စေရန်အတွက် လုပ်ဆောင်ခဲ့ခြင်း ဖြစ်နိုင်သည်။ အချက်အလက်ကို ဖုံးကွယ်ရန်။
Crypts များကို ဂန္ထဝင်ဂရိလူမျိုးများမှ သိရှိခဲ့ကြသည် (ဥပမာ၊ Spartan စစ်တပ်မှ အသုံးပြုခဲ့သည်ဟု ဆိုထားသော scytale transposition cipher)။ Steganography (လျှို့ဝှက်ထားနိုင်ရန် ဆက်သွယ်မှုတစ်ခုရှိနေခြင်းကိုပင် ဖုံးကွယ်ခြင်းအလေ့အကျင့်) ကိုလည်း ရှေးခေတ်က တီထွင်ခဲ့သည်။ Herodotus ၏အဆိုအရ ကျွန်တစ်ဦး၏ မုတ်ဆိတ်ရိတ်နေသော ခေါင်းပေါ်တွင် တက်တူးထိုးပြီး ပြန်လည်ဟောင်းနွမ်းနေသော ဆံပင်အောက်တွင် ဝှက်ထားသော စကားစုတစ်ခု၊ အချက်အလက်များကို ဖုံးကွယ်ရန်အတွက် မမြင်နိုင်သော မှင်များ၊ မိုက်ခရိုဒေါ့များနှင့် ဒစ်ဂျစ်တယ်ရေစာများကို အသုံးပြုခြင်းသည် စံနမူနာပြုခြင်း၏ လက်ရှိအခြေအနေများဖြစ်သည်။
Kautiliyam နှင့် Mulavediya တို့သည် အိန္ဒိယနိုင်ငံ၏ 2000 နှစ်ရှိ Vtsyyana ၏ Kamasutra တွင်ဖော်ပြထားသော ciphers အမျိုးအစားနှစ်မျိုးဖြစ်သည်။ Kautiliyam ရှိ cipher အက္ခရာ အစားထိုးများသည် သရများဖြစ်သည့် ဗျည်းများဖြစ်လာခြင်းကဲ့သို့သော အသံထွက်ဆိုင်ရာ ဆက်နွယ်မှုများကို အခြေခံထားသည်။ Mulavediya ရှိ cipher အက္ခရာတွင် တူညီသောအက္ခရာများ နှင့် အပြန်အလှန်ပေးထားသော စာလုံးများ ပါဝင်သည်။
မွတ်စလင်ပညာရှင် Ibn al-Nadim ၏ အဆိုအရ Sassanid Persia တွင် လျှို့ဝှက်စာတိုနှစ်စောင် ရှိသည်- h-dabrya (စာသားအရ "King's script")၊ နှင့် အခြားသော လျှို့ဝှက်စာတိုများ ဖလှယ်ရာတွင် အသုံးပြုသည့် rz-saharya၊ နိုင်ငံတွေ
သူ၏ Codebreakers စာအုပ်တွင်၊ David Kahn သည် cryptanalytic လုပ်ထုံးလုပ်နည်းများကို ဂရုတစိုက်မှတ်တမ်းတင်သည့် ပထမဆုံး အာရပ်လူမျိုးများမှ ခေတ်ပြိုင် cryptology ကို စတင်ခဲ့သည်ဟု ရေးသားခဲ့သည်။ စာရေးနည်းစာအုပ်ကို Al-Khalil (717–786) မှရေးသားခဲ့ပြီး ၎င်းတွင် သရအခေါ်အဝေါ်များပါသော အာရဗီစကားလုံးများအားလုံးကို စာရင်းပြုစုရန် အစောဆုံးအသုံးပြုမှုနှင့် ပေါင်းစပ်မှုများပါရှိသည်။
ရှေးရိုးစာဝှက်စာဝှက်များ (အပြင် ခေတ်သစ်စာဝှက်များအချို့) မှထုတ်ပေးသော ciphertexts များသည် cipher ကိုချိုးဖျက်ရန်အတွက်အသုံးချနိုင်သော plaintext နှင့်ပတ်သက်သော ကိန်းဂဏန်းအချက်အလက်များကိုဖော်ပြပါသည်။ 9 ရာစုတွင် အာရပ်သင်္ချာပညာရှင်နှင့် polymath Al-Kindi (Alkindus ဟုလည်းလူသိများသည်) မှ ကြိမ်နှုန်းခွဲခြမ်းစိတ်ဖြာမှုအား ရှာဖွေတွေ့ရှိပြီးနောက် ဉာဏ်ရည်ထက်မြက်သော တိုက်ခိုက်သူမှ ကျိုးပဲ့သွားနိုင်သည်။ ပဟေဠိများ (Cryptogram ကိုကြည့်ပါ) သော်လည်းကောင်း Classical ciphers များသည် ယနေ့တိုင် လူကြိုက်များဆဲဖြစ်သည်။ Risalah fi Istikhraj al-Mu'amma (စာရေးနည်းစာတိုများကို ပုံဖော်ခြင်းအတွက် စာမူ) ကို Al-Kindi မှ ရေးသားခဲ့ပြီး ကြိမ်နှုန်းခွဲခြမ်းစိတ်ဖြာမှု cryptanalysis နည်းပညာများကို ပထမဆုံးလူသိများသောအသုံးပြုမှုကို မှတ်တမ်းတင်ခဲ့သည်။
ကြိမ်နှုန်းခွဲဝေမှုကို ပျော့ပျောင်းသွားစေသော Homophonic cipher ကဲ့သို့သော သက်တမ်းတိုးသော ကုဒ်ဝှက်ခြင်းနည်းလမ်းအချို့သည် ဘာသာစကားအက္ခရာကြိမ်နှုန်းများမှ အကျိုးအမြတ်မရနိုင်ပါ။ ဘာသာစကားအက္ခရာအုပ်စု (သို့မဟုတ် n-gram) ကြိမ်နှုန်းများသည် ထိုစာဝှက်များကို တိုက်ခိုက်ရန်အတွက် တိုက်ခိုက်နိုင်သည်။
1467 ခုနှစ်ဝန်းကျင်တွင် Leon Battista Alberti မှ အသိသာဆုံးအနေဖြင့် polyalphabetic cipher ကိုရှာဖွေတွေ့ရှိချိန်အထိ၊ အကြိမ်ရေခွဲခြမ်းစိတ်ဖြာမှုနည်းလမ်းကို အသုံးပြု၍ ciphers အားလုံးနီးပါးသည် Al-Kindi ကိုသိရှိပြီးဖြစ်ကြောင်း အထောက်အထားအချို့ရှိသော်လည်း၊ Alberti သည် ဆက်သွယ်မှုတစ်ခု၏ မတူညီသော အစိတ်အပိုင်းများအတွက် သီးခြား ciphers (သို့မဟုတ် အစားထိုး အက္ခရာများ) ကို အသုံးပြုရန် စိတ်ကူးကို တီထွင်ခဲ့သည်။ သူသည် ပထမဆုံး အလိုအလျောက် ကုဒ်ဝှက်ခြင်း ကိရိယာဟု ယူဆရသည့် အရာကိုလည်း ဖန်တီးခဲ့ပြီး ၎င်း၏ ဒီဇိုင်းအပိုင်းကို အကောင်အထည်ဖော်သည့် ဘီးတစ်ခုလည်း ဖြစ်သည်။ Vigenère cipher တွင် ကုဒ်ဝှက်ခြင်းအား စကားလုံး၏ သော့ချက်စာလုံးကို အသုံးပြုသည့်အပေါ်မူတည်၍ စာလုံးအစားထိုးခြင်းကို ထိန်းချုပ်သည့် သော့စကားလုံးဖြင့် ထိန်းချုပ်ထားသည်။ Charles Babbage သည် Vigenère cipher သည် ဆယ့်ကိုးရာစုအလယ်ပိုင်းတွင် Kasiski ခွဲခြမ်းစိတ်ဖြာမှုတွင် အားနည်းချက်ရှိကြောင်း သရုပ်ပြခဲ့သော်လည်း Friedrich Kasiski သည် သူ၏တွေ့ရှိချက်ကို ဆယ်နှစ်အကြာတွင် ထုတ်ပြန်ခဲ့သည်။
ကြိမ်နှုန်းခွဲခြမ်းစိတ်ဖြာခြင်းသည် လျှို့ဝှက်စာဝှက်များစွာကို ဆန့်ကျင်သည့် အားကောင်းပြီး ကျယ်ပြန့်သည့်နည်းပညာတစ်ခုဖြစ်သော်လည်း၊ ကုဒ်ဝှက်ခြင်းမှာ အဆိုပါနည်းပညာကို လျှို့ဝှက်လေ့လာသူအများအပြားက သတိမပြုမိသောကြောင့် လက်တွေ့တွင် ထိရောက်မှုရှိနေပါသည်။ ကြိမ်နှုန်းခွဲခြမ်းစိတ်ဖြာမှုကို အသုံးမပြုဘဲ မက်ဆေ့ချ်ကို ချိုးဖောက်ခြင်းသည် အလုပ်ခန့်ထားသော လျှို့ဝှက်စာဝှက်ကို သိရန်လိုအပ်ပြီး သူလျှိုလုပ်ခြင်း၊ လာဘ်ပေးလာဘ်ယူမှု၊ ဖောက်ထွင်းမှု၊ ဘက်ပြောင်းမှု၊ နှင့် အခြားသော လျှို့ဝှက်ဝှက်စနစ်ဖြင့် အသိမပေးသော နည်းပရိယာယ်များ ပိုမိုနှစ်သက်ဖွယ်ရှိသည်။ စာဝှက်စနစ်၏လျှို့ဝှက်ချက်ကို 19 ရာစုတွင် နောက်ဆုံးတွင် အသိအမှတ်ပြုခဲ့သည် အမှန်မှာ၊ ပြိုင်ဘက်သည် cipher algorithm ကို အပြည့်အ၀ နားလည်သော်လည်း သင့်လျော်သော လျှို့ဝှက်စာဝှက်စနစ် (ciphers များအပါအဝင်) သည် လုံခြုံနေသင့်သည်။ တိုက်ခိုက်မှုတစ်ခုရင်ဆိုင်ရသည့်အခါတွင် လျှို့ဝှက်ချက်ကို ထိန်းသိမ်းထားရန် သော့၏လုံခြုံရေးသည် ကောင်းမွန်သောစာဝှက်တစ်ခုအတွက် လုံလောက်သင့်သည်။ Auguste Kerchoffs သည် ဤအခြေခံနိယာမကို 1883 ခုနှစ်တွင် ပထမဆုံးဖော်ပြခဲ့ပြီး၊ ၎င်းကို Kerckhoffs's Principle ဟုလူသိများသည်။ တနည်းအားဖြင့်၊ ပိုမိုပြတ်ပြတ်သားသားပြောရရင်၊ အချက်အလက်သီအိုရီနဲ့ သီအိုရီကုဒ်ဝှက်ခြင်းရဲ့အခြေခံတွေကို တီထွင်သူ Claude Shannon က Shannon's Maxim—'ရန်သူဟာ စနစ်အကြောင်းသိတယ်' လို့ ပြန်ဆိုခဲ့ပါတယ်။
ciphers များကိုကူညီရန်အတွက် ရုပ်ပိုင်းဆိုင်ရာပစ္စည်းများနှင့် အကူအညီများစွာကို အသုံးပြုထားသည်။ Spartans မှ transposition cipher tool တစ်ခုအဖြစ် Spartans မှအသုံးပြုသည်ဟုစွပ်စွဲထားသောရှေးခေတ်ဂရိ၏ scytale လှံတံသည်ပထမဆုံးဖြစ်နိုင်သည်။ အခြားအကူအညီများကို အလယ်ခေတ်အချိန်များတွင် တီထွင်ဖန်တီးခဲ့သည့် cipher grille၊ polyalphabetic ciphers များ၏ ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ၊ Alberti ၏ cipher disk၊ Johannes Trithemius ၏ tabula recta scheme နှင့် Thomas Jefferson ၏ wheel cipher ကဲ့သို့သော ပိုမိုခေတ်မီသောအကူအညီများ ရရှိလာပါသည် (လူသိရှင်ကြားမသိရသေးဘဲ 1900 ခုနှစ်ဝန်းကျင်တွင် Bazeries မှ သီးခြားပြန်လည်တီထွင်ခဲ့သည်)။ စက်ပိုင်းဆိုင်ရာ ကုဒ်ဝှက်ခြင်း/စာဝှက်စနစ် အများအပြားကို 1920 ရာစုအစောပိုင်းတွင် ဂျာမန်အစိုးရနှင့် စစ်တပ်က ကျော်ကြားသော XNUMX ခုနှစ်နှောင်းပိုင်းမှ ဒုတိယကမ္ဘာစစ်အထိ အသုံးပြုခဲ့သည့် ရဟတ်စက်များအပါအဝင် XNUMX ရာစုအစောပိုင်းတွင် မူပိုင်ခွင့်တင်ခဲ့ပြီးဖြစ်သည်။ WWI ပြီးနောက်၊ ဤစက်ဒီဇိုင်းများ၏ အရည်အသွေးမြင့်မားသောဖြစ်ရပ်များဖြင့် လုပ်ဆောင်ခဲ့သော လျှို့ဝှက်စာဝှက်များသည် cryptanalytic အခက်အခဲတွင် သိသာထင်ရှားစွာ မြင့်တက်လာခဲ့သည်။
နှစ်ဆယ်ရာစုအစောပိုင်းမတိုင်မီက ဘာသာဗေဒနှင့် အဘိဓာန်ပုံစံများဖြင့် ရေးပိုင်ရေးခြင်းမှာ အဓိကအားဖြင့် သက်ဆိုင်ပါသည်။ ထိုအချိန်မှစ၍ အာရုံစူးစိုက်မှု တိုးတက်လာခဲ့ပြီး ယခုအခါ cryptography တွင် သတင်းအချက်အလက်သီအိုရီ၊ တွက်ချက်မှုဆိုင်ရာ ရှုပ်ထွေးမှု၊ စာရင်းအင်းများ၊ ပေါင်းစပ်ဖွဲ့စည်းမှု၊ စိတ္တဇအက္ခရာသင်္ချာ၊ ကိန်းဂဏန်းသီအိုရီနှင့် ယေဘုယျအားဖြင့် အကန့်အသတ်ရှိသော သင်္ချာဆိုင်ရာ ကဏ္ဍများပါဝင်သည်။ Cryptography သည် အင်ဂျင်နီယာ အမျိုးအစား တစ်ခု ဖြစ်သော်လည်း ၎င်းသည် တက်ကြွသော၊ အသိဉာဏ်ရှိသော၊ နှင့် ရန်လိုသော ခုခံမှုတို့နှင့် ဆက်ဆံရာတွင် ထူးခြားသည်မှာ၊ အခြားသော အင်ဂျင်နီယာ အမျိုးအစားများ (ဥပမာ မြို့ပြ သို့မဟုတ် ဓာတုဗေဒ အင်ဂျင်နီယာ ကဲ့သို့) မှာ ကြားနေသဘာဝ အင်အားစုများနှင့် ဆက်ဆံရသည်မှာ ထူးခြားပါသည်။ cryptography အခက်အခဲများနှင့် ကွမ်တမ်ရူပဗေဒတို့ကြား ဆက်စပ်မှုကိုလည်း စုံစမ်းစစ်ဆေးလျက်ရှိသည်။
ဒစ်ဂျစ်တယ်ကွန်ပြူတာများနှင့် အီလက်ထရွန်းနစ်ပစ္စည်းများ ဖွံ့ဖြိုးတိုးတက်မှုသည် သိသိသာသာ ပိုမိုခေတ်မီသော လျှို့ဝှက်စာဝှက်များကို ဖန်တီးနိုင်စေခြင်းဖြင့် cryptanalysis ကို အထောက်အကူဖြစ်စေပါသည်။ ထို့အပြင်၊ သီးသန့်ရေးသားထားသော ဘာသာစကားစာသားများကို ကုဒ်ဝှက်ထားသည့် ရိုးရာ ciphers များနှင့်မတူဘဲ၊ မည်သည့်ဒေတာအမျိုးအစားကိုမဆို binary ပုံစံဖြင့် ကိုယ်စားပြုနိုင်သည့် မည်သည့်ဒေတာအမျိုးအစားကိုမဆို ကုဒ်ဝှက်ရန်အတွက် ကွန်ပျူတာများကို ခွင့်ပြုထားပါသည်။ ဒါက ဆန်းသစ်ပြီး အရေးကြီးတယ်။ cipher ဒီဇိုင်းနှင့် cryptanalysis နှစ်မျိုးလုံးတွင်၊ ကွန်ပျူတာများသည် ဘာသာစကား cryptography ကို အစားထိုးထားသည်။ သမားရိုးကျ အက္ခရာများ (ဆိုလိုသည်မှာ အက္ခရာများနှင့် ဂဏန်းများ) ကို တိုက်ရိုက် ကိုင်တွယ်သည့် ဂန္တဝင်နှင့် စက်ပိုင်းဆိုင်ရာ နည်းလမ်းများနှင့် မတူဘဲ၊ များစွာသော ကွန်ပျူတာ စာဝှက်များသည် binary bit sequences (ရံဖန်ရံခါ အုပ်စုများ သို့မဟုတ် ဘလောက်များ) တွင် လုပ်ဆောင်ပါသည်။ အခြားတစ်ဖက်တွင်မူ ကွန်ပျူတာများသည် တိုးများလာသော cipher ရှုပ်ထွေးမှုအတွက် တစ်စိတ်တစ်ပိုင်းအားဖြင့် လျော်ကြေးပေးသည့် cryptanalysis ကို ကူညီပေးပါသည်။ ဤအရာများကြားမှ၊ ကောင်းမွန်သော ခေတ်မီစာဝှက်များ သည် cryptanalysis ၏ ရှေ့တွင်ရှိနေပါသည်။ ကောင်းသော cipher ကိုအသုံးပြုခြင်းသည် အလွန်ထိရောက်မှုရှိသည် (ဆိုလိုသည်မှာ၊ လျင်မြန်ပြီး memory သို့မဟုတ် CPU စွမ်းရည်ကဲ့သို့သော အရင်းအမြစ်အနည်းငယ် လိုအပ်သည်)၊ ၎င်းကိုချိုးဖျက်ရာတွင် ပြင်းအားများသောအမိန့်စာများစွာလိုအပ်ပြီး မည်သည့်အတွက်မဆို လိုအပ်သည်ထက် များစွာပိုကြီးသည် classical cipher၊ ထိရောက်စွာ cryptanalysis မဖြစ်နိုင်ပါ။
ခေတ်မီ cryptography သည် ၎င်း၏ ပွဲဦးထွက်ဖြစ်သည်။
စက်ကိရိယာအသစ်များ၏ cryptanalysis သည် စိန်ခေါ်မှုနှင့် အချိန်ကုန်ကြောင်း သက်သေပြခဲ့သည်။ ဒုတိယကမ္ဘာစစ်အတွင်းတွင်၊ United Kingdom ရှိ Bletchley Park တွင် cryptanalytic လုပ်ဆောင်ချက်များသည် ထပ်ခါထပ်ခါလုပ်စရာများကို လုပ်ဆောင်ရန်အတွက် ပိုမိုထိရောက်သောနည်းလမ်းများကို တီထွင်နိုင်ခဲ့သည်။ Colossus သည် ဂျာမန်စစ်တပ်၏ Lorenz SZ40/42 စက်မှ ဖန်တီးထားသော ciphers များ၏ decoding အတွက် အထောက်အကူဖြစ်စေရန်အတွက် ကမ္ဘာ့ပထမဆုံး အီလက်ထရွန်းနစ်၊ ဒစ်ဂျစ်တယ်၊ ပရိုဂရမ်ထုတ်နိုင်သော ကွန်ပျူတာကို တီထွင်ခဲ့သည်။
Cryptography သည် 1970 ခုနှစ်များအလယ်ပိုင်းတွင်သာ စတင်ခဲ့သော ပွင့်လင်းပညာရပ်ဆိုင်ရာ သုတေသနနယ်ပယ်တစ်ခုဖြစ်သည်။ IBM ဝန်ထမ်းများသည် Federal (ဆိုလိုသည်မှာ US) Data Encryption Standard ဖြစ်လာသော algorithm ကို တီထွင်ခဲ့သည်။ Whitfield Diffie နှင့် Martin Hellman တို့သည် ၎င်းတို့၏ အဓိကသဘောတူညီချက် အယ်လဂိုရီသမ်ကို ထုတ်ပြန်ခဲ့သည်။ Martin Gardner ၏ Scientific American ကော်လံသည် RSA algorithm ကိုထုတ်ဝေခဲ့သည်။ Cryptography သည် ဆက်သွယ်ရေး၊ ကွန်ပျူတာကွန်ရက်များနှင့် ယေဘုယျအားဖြင့် ကွန်ပျူတာလုံခြုံရေးအတွက် နည်းပညာတစ်ခုအဖြစ် ရေပန်းစားလာခဲ့သည်။
ခေတ်မီ cryptography ချဉ်းကပ်နည်းများစွာသည် ကိန်းပြည့်ခွဲခြမ်းစိတ်ဖြာခြင်း သို့မဟုတ် သီးခြား လော့ဂရစ်သမ်ပြဿနာများကဲ့သို့ အချို့သောသင်္ချာပြဿနာများကို ဖျောက်ဖျက်၍မရပါက ၎င်းတို့၏သော့များကိုသာ လျှို့ဝှက်ထားနိုင်သောကြောင့် စိတ္တဇသင်္ချာနှင့် နက်နဲသော ဆက်စပ်မှုရှိပါသည်။ 100% လုံခြုံသည်ဟု သရုပ်ပြထားသည့် လက်တစ်ဆုပ်စာ cryptosystems များသာရှိပါသည်။ Claude Shannon သည် တစ်ခါသုံး pad သည် ၎င်းတို့ထဲမှ တစ်ခုဖြစ်ကြောင်း သက်သေပြခဲ့သည်။ အချို့သောအခြေအနေများတွင် လုံခြုံသည်ဟုပြသထားသော အဓိက algorithms အချို့ရှိပါသည်။ ဥပမာအားဖြင့် အလွန်ကြီးသော ကိန်းပြည့်များကို တွက်ချက်နိုင်ခြင်း မရှိခြင်းသည် RSA နှင့် အခြားစနစ်များ လုံခြုံသည်ဟု ယုံကြည်ခြင်းအတွက် အခြေခံဖြစ်သည်၊ သို့သော် အရင်းခံသင်္ချာပုစ္ဆာသည် မဖြေရှင်းနိုင်သေးသောကြောင့် ကွဲထွက်နိုင်မှု၏ အထောက်အထားသည် မရနိုင်ပါ။ လက်တွေ့တွင်၊ ၎င်းတို့ကို ကျယ်ကျယ်ပြန့်ပြန့် အသုံးချကြပြီး အရည်အချင်းရှိ အကဲခတ်အများစုက ၎င်းတို့သည် လက်တွေ့တွင် ကွဲလွဲ၍မရဟု ယုံကြည်ကြသည်။ n=pq ကို Factoring လုပ်ဖို့ မဖြစ်နိုင်ရင် အန္တရာယ်ကင်းတယ်လို့ Michael O. Rabin က ဖန်တီးထားတဲ့ RSA နဲ့ ဆင်တူတဲ့ စနစ်တွေ ရှိပါတယ်။ သို့သော် လက်တွေ့တွင် အသုံးမဝင်ပေ။ သီးခြား လော့ဂရစ်သမ် ပြဿနာသည် အခြား cryptosystems အချို့သည် လုံခြုံသည်ဟု ယုံကြည်ခြင်းအတွက် အခြေခံအုတ်မြစ်ဖြစ်ပြီး၊ သီးခြား လော့ဂရစ်သမ် ပြဿနာ၏ ဖြေရှင်းနိုင်မှု သို့မဟုတ် မပျော်မရွှင်နိုင်မှု သတ်မှတ်ချက်များတွင် အလားတူ လက်တွေ့ကျသော လုံခြုံမှုနည်းပါးသော စနစ်များရှိသည်။
Cryptographic algorithm နှင့် system designers များသည် cryptographic history ကို သိရှိနားလည်ခြင်းအပြင် ၎င်းတို့၏ စိတ်ကူးများကို လုပ်ဆောင်ရာတွင် ဖြစ်နိုင်ခြေရှိသော အနာဂတ်တိုးတက်မှုများကို ထည့်သွင်းစဉ်းစားရပါမည်။ ဥပမာအားဖြင့်၊ ကွန်ပြူတာလုပ်ဆောင်ခြင်းစွမ်းအား တိုးတက်လာသည်နှင့်အမျှ၊ brute-force attacks များ၏ ကျယ်ပြန့်လာသည်နှင့်အမျှ လိုအပ်သော key lengths များလည်း တိုးလာပါသည်။ Post-quantum cryptography ကိုရှာဖွေနေသော အချို့သော cryptographic system designers များသည် quantum computing ၏ ဖြစ်နိုင်ခြေရှိသော အကျိုးဆက်များကို ထည့်သွင်းစဉ်းစားနေပြီဖြစ်သည်။ ဤစက်များကို ကျိုးနွံစွာ အကောင်အထည်ဖော်ခြင်းများကို ကြေငြာခြင်းမှာ မှန်းဆခြင်းထက် ကြိုတင်သတိထားရန် လိုအပ်ပါသည်။
ယနေ့ခေတ်တွင် ဂန္တဝင် လျှို့ဝှက်စာဝှက်စနစ်
Symmetric (သို့မဟုတ် private-key) cryptography သည် ပေးပို့သူနှင့် လက်ခံသူသည် တူညီသောသော့ကို အသုံးပြုသည့် ကုဒ်ဝှက်အမျိုးအစားတစ်ခု (သို့မဟုတ် ၎င်းတို့၏သော့များသည် သာမန်အားဖြင့် နည်းပါးသော်လည်း ၎င်းတို့သည် ကွဲပြားသော်လည်း လွယ်ကူစွာတွက်ချက်နိုင်သောနည်းလမ်းဖြင့် ဆက်နွယ်နေပြီး လျှို့ဝှက်သိုဝှက်ထားကာ လျှို့ဝှက်ထားရှိသည့် ကုဒ်ဝှက်အမျိုးအစားတစ်ခုဖြစ်သည်။ ) ဇွန်လ 1976 ခုနှစ်အထိ၊ ဤသည်မှာ လူသိရှင်ကြားသိခဲ့သော တစ်ခုတည်းသော ကုဒ်ဝှက်ခြင်းအမျိုးအစားဖြစ်သည်။
Block ciphers နှင့် stream ciphers နှစ်ခုလုံးကို အချိုးညီသောသော့ချိတ်များကို အကောင်အထည်ဖေါ်ရန်အတွက် အသုံးပြုပါသည်။ ဘလောက် cipher သည် stream cipher ကဲ့သို့ စာလုံးတစ်လုံးချင်းထက် လွင်ပြင်တုံးများအတွင်း ထည့်သွင်းမှုကို ကုဒ်ဝှက်သည်။
US အစိုးရသည် Data Encryption Standard (DES) နှင့် Advanced Encryption Standard (AES) ကို cryptography စံနှုန်းများအဖြစ် သတ်မှတ်ခဲ့သည် (AES တည်ထောင်ပြီးသည်နှင့် နောက်ဆုံးတွင် DES ၏ အသိအမှတ်ပြုလက်မှတ်ကို ရုတ်သိမ်းလိုက်သည်)။ DES (အထူးသဖြင့်၎င်း၏အတည်ပြုချက်နှင့်သိသိသာသာပိုမိုလုံခြုံသော triple-DES ကွဲလွဲမှု) သည်တရားဝင်စံအဖြစ်၎င်းကိုကန့်ကွက်သော်လည်းလူကြိုက်များဆဲဖြစ်သည်။ ၎င်းကို ATM ကုဒ်ဝှက်ခြင်းမှ အီးမေးလ် လျှို့ဝှက်ရေး နှင့် လုံခြုံသော အဝေးထိန်း သုံးစွဲခွင့်အထိ ကျယ်ပြန့်သော အပလီကေးရှင်းများတွင် အသုံးပြုသည်။ မတူညီသော ဘလောက်စာဝှက်များ အများအပြားကို တီထွင်ပြီး ထုတ်ဝေခဲ့ပြီး အောင်မြင်မှု အတိုင်းအတာများ ကွဲပြားခဲ့သည်။ FEAL ကဲ့သို့သော အရည်အချင်းပြည့်မီသော ကျွမ်းကျင်သူများက ဒီဇိုင်းထုတ်ထားသည့် အချို့အပါအဝင် အများအပြားသည် အကျယ်တဝင့် ကွဲသွားခဲ့သည်။
ဘလောက်စာဝှက်များ နှင့် မတူဘဲ တိုက်ရိုက်လွှင့်သော စာဝှက်များ သည် တစ်ကြိမ်သုံး pad နှင့် ဆင်တူသော ရိုးရိုးစာသား တစ်စ်ပြီးတစ်ဘစ် သို့မဟုတ် စာလုံးတစ်လုံးချင်း နှင့် ပေါင်းစပ်ထားသော အဓိကအကြောင်းအရာ၏ အဆုံးမရှိ ရှည်လျားသော စီးကြောင်းကို ထုတ်ပေးပါသည်။ stream cipher တစ်ခု၏ output stream ကို cipher လုပ်ဆောင်ချက်အဖြစ် ပြောင်းလဲသွားသော ဖုံးကွယ်ထားသော အတွင်းပိုင်းအခြေအနေမှ ထုတ်ပေးပါသည်။ လျှို့ဝှက်သော့ပစ္စည်းကို အစပိုင်းတွင် ထိုအတွင်းပိုင်းအခြေအနေကို သတ်မှတ်ရန် အသုံးပြုသည်။ stream cipher RC4 ကို တွင်တွင်ကျယ်ကျယ် အသုံးပြုသည်။ သော့စီးရေကြောင်း၏ ဘလောက်များကို ဖန်တီးခြင်း (pseudorandom number generator အစား) နှင့် XOR လုပ်ဆောင်ချက်ကို ကီးစီးကြောင်း၏ bit တစ်ခုစီနှင့် plaintext ၏ bit တစ်ခုစီသို့ အသုံးပြုခြင်းဖြင့်၊ block ciphers များကို stream ciphers အဖြစ် အသုံးပြုနိုင်မည်ဖြစ်သည်။
မက်ဆေ့ချ် စစ်မှန်ကြောင်းအထောက်အထားပြကုဒ်များ (MACs) များသည် ကုဒ်နံပါတ် hash လုပ်ဆောင်ချက်များနှင့် ဆင်တူသည်၊ ခြွင်းချက်အနေဖြင့် လျှို့ဝှက်သော့ကို လက်ခံရရှိသည့်အခါ hash တန်ဖိုးကို တရားဝင်အောင်ပြုလုပ်ရန် လျှို့ဝှက်သော့ကို အသုံးပြုနိုင်သည်။ ဤပိုရှုပ်ထွေးမှုသည် naked digest algorithms များကို တိုက်ခိုက်ခြင်းအား တားဆီးပေးသည်၊ ထို့ကြောင့် အကျိုးရှိမည်ဟု ယူဆပါသည်။ ကုဒ်ဝှက်နည်းပညာ၏ တတိယအမျိုးအစားမှာ ကုဒ်ဝှက်ထားသော hash လုပ်ဆောင်ချက်များဖြစ်သည်။ ဥပမာ၊ ဒစ်ဂျစ်တယ် လက်မှတ်များတွင် အသုံးပြုနိုင်သော သေးငယ်ပြီး ပုံသေ အလျားရှိသော hash ကို ထည့်သွင်းပြီး အရှည်လိုက် မက်ဆေ့ဂျ်ကို ယူသည်။ တိုက်ခိုက်သူသည် ကောင်းမွန်သော hash အယ်လဂိုရီသမ်များကို အသုံးပြု၍ တူညီသော hash ထုတ်ပေးသည့် မက်ဆေ့ချ်နှစ်ခုကို ရှာမတွေ့ပါ။ MD4 သည် အသုံးများသော်လည်း ယခုအခါ မှားယွင်းနေသော hash function တစ်ခုဖြစ်သည်။ MD5၊ MD4 ၏ မြှင့်တင်ထားသော ပုံစံသည် အလားတူ တွင်ကျယ်စွာ အသုံးပြုသော်လည်း လက်တွေ့တွင် ကွဲနေပါသည်။ MD5 နှင့်တူသော hash အယ်လဂိုရီသမ်စီးရီး၏ Secure Hash Algorithm ကို US National Security Agency မှ ဖန်တီးထားသည်- NIST ၏ အလုံးစုံ hash အယ်လဂိုရီသမ်၏ အလုံးစုံကြံ့ခိုင်မှုကို သိသိသာသာမြှင့်တင်ရန် စံအသစ်တစ်ခုဖန်တီးရန် လုံခြုံရေးရှုထောင့်မှ US စံချိန်စံညွှန်းအာဏာပိုင်မှ "သတိထားရမည်" ဟု ဆုံးဖြတ်ခဲ့သည်။ ကိရိယာအစုံ။" SHA-1 သည် MD5 ထက် ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုပြီး ပိုမိုလုံခြုံသော်လည်း cryptanalyst များသည် ၎င်းနှင့်ဆန့်ကျင်ဘက်တိုက်ခိုက်မှုများကို ခွဲခြားသတ်မှတ်ထားသည်။ SHA-2 မိသားစုသည် SHA-1 တွင် တိုးတက်ကောင်းမွန်သော်လည်း 2011 ခုနှစ်အထိ ထိပ်တိုက်ရင်ဆိုင်ရန် အားနည်းပါသည်။ SHA-2 မိသားစုသည် SHA-1 တွင် ပိုမိုကောင်းမွန်လာသော်လည်း ထိပ်တိုက်တွေ့မှုဒဏ်ကို ခံနိုင်ရည်ရှိနိုင်သောကြောင့် 2012 ခုနှစ်တွင် SHA-3 ဟုလူသိများသော US အမျိုးသားစံနှုန်းအသစ်ကို ရွေးချယ်ရန်အတွက် hash function ဒီဇိုင်းပြိုင်ပွဲကို ကျင်းပခဲ့ပါသည်။ National Institute of Standards and Technology (NIST) မှ Keccak ကို SHA-2 hash algorithm အသစ်အဖြစ် Keccak မှ ကြေငြာလိုက်သောအခါ၊ 2012 ခုနှစ် အောက်တိုဘာလ 3 ရက်နေ့တွင် ပြိုင်ပွဲသည် နိဂုံးချုပ်သွားပါသည်။ ကူးယူနိုင်သော hash လုပ်ဆောင်ချက်များသည် နောက်ပြန်လှည့်၍မရသော ပိတ်ဆို့ခြင်းများနှင့် လျှို့ဝှက်စာဝှက်များကဲ့သို့ပင်၊ မူရင်းထည့်သွင်းမှုဒေတာကို ပြန်လည်ရယူရန်အတွက် အသုံးမပြုနိုင်သော hashed output တစ်ခုကို ပေးဆောင်ပါသည်။ မယုံကြည်ထိုက်သောအရင်းအမြစ်မှရရှိသောဒေတာ၏စစ်မှန်မှုကိုစစ်ဆေးရန် သို့မဟုတ် အပိုကာကွယ်မှုအတိုင်းအတာတစ်ခုထပ်တိုးရန် Cryptographic hash လုပ်ဆောင်ချက်များကို အသုံးပြုပါသည်။
မက်ဆေ့ချ်တစ်ခု သို့မဟုတ် မက်ဆေ့ချ်အစုတစ်ခုသည် အခြားသော့များနှင့် မတူညီနိုင်သော်လည်း၊ စီမက်ထရစ်-ကီး cryptosystems များသည် ကုဒ်ဝှက်ခြင်းနှင့် စာဝှက်ခြင်းအတွက် တူညီသောသော့ကို အသုံးပြုသည်။ symmetric ciphers များကို လုံခြုံစွာအသုံးပြုရန် အဓိကလိုအပ်သော စီမံခန့်ခွဲမှုသည် ကြီးမားသောအားနည်းချက်ဖြစ်သည်။ ဆက်သွယ်နေသော ပါတီတစ်စုံစီသည် အကောင်းဆုံးအားဖြင့် မတူညီသောသော့တစ်ခုကို မျှဝေသင့်ပြီး ပေးပို့လိုက်သော ciphertext တစ်ခုစီအတွက် မတူညီသော ciphertext တစ်ခုလည်း ဖြစ်နိုင်သည်။ လိုအပ်သောသော့အရေအတွက်သည် ကွန်ရက်ပါဝင်သူအရေအတွက်နှင့် တိုက်ရိုက်အချိုးကျပြီး ၎င်းတို့အားလုံးကို တသမတ်တည်းနှင့် လျှို့ဝှက်ထားနိုင်ရန် ရှုပ်ထွေးသောသော့စီမံခန့်ခွဲမှုနည်းစနစ်များကို လိုအပ်ပါသည်။
Whitfield Diffie နှင့် Martin Hellman တို့သည် အများသူငှာသော့ (asymmetric key ဟုလည်းခေါ်သည်) လျှို့ဝှက်ဝှက်စာရိုက်ခြင်းသဘောတရားကို 1976 ခုနှစ် အလုပ်တစ်ခုတွင် တီထွင်ခဲ့သည်၊ ယင်းတွင် ကွဲပြားသော်လည်း သင်္ချာနည်းအရဆက်စပ်သော့နှစ်ခု—အများပြည်သူသော့နှင့် လျှို့ဝှက်သော့—အသုံးပြုထားသည်။ ၎င်းတို့ကို ရှုပ်ထွေးစွာ ချိတ်ဆက်ထားသော်လည်း၊ အများသူငှာသော့စနစ်သည် အခြား ('ပုဂ္ဂလိကသော့') မှ သော့တစ်ခု ('ပုဂ္ဂလိကသော့') ကို တွက်ချက်ရာတွင် တတ်နိုင်လောက်သော နည်းလမ်းဖြင့် တည်ဆောက်ထားသည်။ ယင်းအစား သော့နှစ်ခုလုံးကို ချိတ်ဆက်ထားသောအတွဲအဖြစ် လျှို့ဝှက်ထုတ်လုပ်ထားသည်။ သမိုင်းပညာရှင် David Kahn ၏အဆိုအရ Public-key cryptography သည် "Renaissance တွင် စာလုံးအစားထိုးခြင်း ပေါ်ပေါက်လာပြီးနောက် နယ်ပယ်တွင် တော်လှန်ရေးအရှိဆုံး အယူအဆအသစ်ဖြစ်သည်။"
အများသူငှာသော့ခရစ်တိုစနစ်ရှိ အများသူငှာသော့ကို လွတ်လပ်စွာ ထုတ်လွှင့်နိုင်သော်လည်း တွဲဖက်သီးသန့်သော့ကို ဝှက်ထားရပါမည်။ အများသူငှာသော့ကို လျှို့ဝှက်ကုဒ်ဝှက်ခြင်းအတွက် အသုံးပြုသော်လည်း၊ လျှို့ဝှက်သော့ကို အများသူငှာသော့ကုဒ်ဝှက်ခြင်းစနစ်တွင် ကုဒ်ဝှက်ခြင်းအတွက် အသုံးပြုပါသည်။ Diffie နှင့် Hellman တို့သည် ထိုကဲ့သို့သောစနစ်ကို မဖန်တီးနိုင်သော်လည်း၊ လူနှစ်ဦးသည် မျှဝေထားသော ကုဒ်ဝှက်ရေးသော့ကို လျှို့ဝှက်စွာသဘောတူခွင့်ပြုသည့် ဖြေရှင်းချက်ဖြစ်သည့် Diffie–Hellman သော့လဲလှယ်သည့်ပရိုတိုကောကို ပံ့ပိုးပေးခြင်းဖြင့် အများသူငှာသော့ဝှက်စာရိုက်ခြင်းကို စိတ်ကူးနိုင်သည်ဟု သရုပ်ပြခဲ့ကြသည်။ အများသူငှာသော့လက်မှတ်များအတွက် အသုံးအများဆုံးဖော်မတ်ကို X.509 စံနှုန်းဖြင့် သတ်မှတ်သည်။
Diffie နှင့် Hellman ၏ထုတ်ဝေမှုသည် လက်တွေ့ကျသော အများသူငှာသော့ကုဒ်ဝှက်စနစ်တစ်ခုကို တီထွင်ရန် ကျယ်ပြန့်သောပညာရပ်ဆိုင်ရာ စိတ်ဝင်စားမှုကို ဖြစ်ပေါ်စေခဲ့သည်။ Ronald Rivest၊ Adi Shamir နှင့် Len Adleman တို့သည် 1978 ခုနှစ်တွင် ပြိုင်ပွဲကို နောက်ဆုံးတွင် အနိုင်ရခဲ့ပြီး ၎င်းတို့၏အဖြေကို RSA algorithm ဟုခေါ်သည်။
အရည်အသွေးမြင့် public-key algorithms များ၏ အစောဆုံး လူသိရှင်ကြား သာဓကများအပြင် Diffie-Hellman နှင့် RSA အယ်လဂိုရီသမ်များကို အသုံးအများဆုံးထဲတွင် ပါဝင်ပါသည်။ Cramer-Shoup cryptosystem၊ ElGamal ကုဒ်ဝှက်ခြင်းနှင့် ဘဲဥပုံမျဉ်းကွေး မြောက်မြားစွာသောချဉ်းကပ်မှုများသည် အချိုးမညီသော-သော့ အယ်ဂိုရီသမ်များ၏ ဥပမာများဖြစ်သည်။
ဗြိတိန်ထောက်လှမ်းရေးအဖွဲ့အစည်းတစ်ခုဖြစ်သည့် အစိုးရဆက်သွယ်ရေးရုံးချုပ် (GCHQ) မှ ၁၉၉၇ ခုနှစ်တွင် ထုတ်ပြန်ခဲ့သော စာတမ်းတစ်ခုအရ GCHQ စာရေးဆရာများသည် ပညာရပ်ဆိုင်ရာ တိုးတက်မှုများစွာကို ကြိုမြင်ထားသည်။ ဒဏ္ဍာရီအရ၊ asymmetric key cryptography ကို 1997 ခုနှစ်ခန့်တွင် James H. Ellis မှ တီထွင်ခဲ့သည်။ Clifford Cocks သည် RSA နှင့် အလွန်ဆင်တူသော ဒီဇိုင်းဖြေရှင်းချက်ကို 1970 ခုနှစ်တွင် တီထွင်ခဲ့သည်။ Malcolm J. Williamson သည် 1973 ခုနှစ်တွင် Diffie-Hellman သော့လဲလှယ်မှုကို တီထွင်ခဲ့ခြင်းကြောင့် ဂုဏ်ပြုခံရပါသည်။
ဒစ်ဂျစ်တယ် လက်မှတ်စနစ်များကို public-key cryptography ကို အသုံးပြု၍လည်း လုပ်ဆောင်ပါသည်။ ဒစ်ဂျစ်တယ် လက်မှတ်သည် သမားရိုးကျ လက်မှတ်တစ်ခုနှင့် ဆင်တူသောကြောင့် သုံးစွဲသူအတွက် ဖန်တီးရန် လွယ်ကူသော်လည်း အခြားသူများ အတုလုပ်ရန် ခက်ခဲသည်။ ဒစ်ဂျစ်တယ်လက်မှတ်များသည် လက်မှတ်ရေးထိုးထားသည့် ဆက်သွယ်ရေး၏အကြောင်းအရာနှင့်လည်း အမြဲတမ်းချိတ်ဆက်နိုင်သည်။ ဆိုလိုသည်မှာ ၎င်းတို့ကို ရှာမတွေ့ဘဲ စာရွက်စာတမ်းတစ်ခုမှ အခြားတစ်ခုသို့ ရွှေ့၍မရဟု ဆိုလိုသည်။ ဒစ်ဂျစ်တယ်လက်မှတ်အစီအစဉ်များတွင် အယ်လဂိုရီသမ်နှစ်ခုရှိသည်- မက်ဆေ့ချ်ကိုလုပ်ဆောင်ရန် လျှို့ဝှက်သော့ကိုအသုံးပြုသည့် လက်မှတ်ထိုးခြင်းအတွက်တစ်ခု (သို့မဟုတ် မက်ဆေ့ချ်၏ hash သို့မဟုတ် နှစ်ခုလုံး) နှင့် အတည်ပြုရန်အတွက်တစ်ခု၊ အတည်ပြုရန်အတွက် တစ်ခုမှာ မက်ဆေ့ချ်နှင့်ကိုက်ညီသော အများသူငှာသော့ကို အသုံးပြု၍ အတည်ပြုရန်အတွက်တစ်ခု လက်မှတ်၏စစ်မှန်မှု။ အသုံးအများဆုံး ဒစ်ဂျစ်တယ် လက်မှတ်နည်းလမ်း နှစ်ခုမှာ RSA နှင့် DSA ဖြစ်သည်။ အများသူငှာ အဓိကအခြေခံအဆောက်အဦများနှင့် ကွန်ရက်လုံခြုံရေးစနစ်များစွာ (ဥပမာ၊ SSL/TLS၊ VPN အများအပြား) လုပ်ဆောင်ရန် ဒစ်ဂျစ်တယ် လက်မှတ်များကို အားကိုးသည်။
ဂဏန်းသီအိုရီမှ ပေါ်ပေါက်လာသော “ခက်ခဲ” ပြဿနာများကဲ့သို့သော ကွန်ပြူတာဆိုင်ရာ ရှုပ်ထွေးမှုသည် အများသူငှာသော့နည်းလမ်းများကို ဖော်ထုတ်ရန်အတွက် မကြာခဏ အသုံးပြုလေ့ရှိသည်။ ကိန်းပြည့်ခွဲခြမ်းစိတ်ဖြာခြင်းပြဿနာသည် RSA ၏ မာကျောမှုနှင့် ဆက်စပ်နေပြီး သီးခြား လော့ဂရစ်သမ်ပြဿနာသည် Diffie–Hellman နှင့် DSA တို့နှင့် ဆက်စပ်နေသည်။ elliptic curve cryptography ၏ လုံခြုံရေးသည် elliptic curve နံပါတ် သီအိုရီပြဿနာများအပေါ် အခြေခံသည်။ အများသူငှာသော့ဆိုင်ရာ အယ်လဂိုရီသမ်အများစုတွင် အခြေခံပြဿနာများ၏အခက်အခဲကြောင့် ဘလောက်စပီကာအများစုတွင်အသုံးပြုသည့်နည်းပညာများထက် များစွာပိုစျေးကြီးသော မော်ဒူလာပွားခြင်းနှင့် အညွှန်းကိန်းများကဲ့သို့ လုပ်ဆောင်ချက်များပါဝင်သည်။ ရလဒ်အနေဖြင့် public-key cryptosystems များသည် မကြာခဏ hybrid cryptosystems များဖြစ်ပြီး၊ သက်ဆိုင်ရာ symmetric key ကို မက်ဆေ့ချ်ဖြင့် ပေးပို့သော်လည်း public-key algorithm ဖြင့် ကုဒ်ဝှက်ထားသော မြန်ဆန်ပြီး အရည်အသွေးမြင့် symmetric-key algorithm ဖြင့် ကုဒ်ဝှက်ထားသည်။ ကုဒ်သင်္ကေတ hash လုပ်ဆောင်ချက်ကို တွက်ချက်ပြီး ထွက်ပေါ်လာသော hash ကိုသာ ဒစ်ဂျစ်တယ်စနစ်ဖြင့် ရေးထိုးထားသည့် စပ်ဟပ်သင်္ကေတပုံစံများကိုလည်း အများအားဖြင့် အသုံးပြုပါသည်။
Cryptography တွင် Hash Functions
Cryptographic hash functions များသည် symmetric သို့မဟုတ် asymmetric encryption အတွက် data encryption အတွက် သီးခြားသော့များကို ထုတ်လုပ်ပြီး အသုံးပြုသည့် လျှို့ဝှက်ကုဒ်လုပ်နည်း အယ်လဂိုရီသမ်များဖြစ်ပြီး ၎င်းတို့ကို သော့များအဖြစ် ယူဆနိုင်ပါသည်။ ဥပမာ၊ ဒစ်ဂျစ်တယ် လက်မှတ်များတွင် အသုံးပြုနိုင်သော သေးငယ်ပြီး ပုံသေ အလျားရှိသော hash ကို ထည့်သွင်းပြီး အရှည်လိုက် မက်ဆေ့ဂျ်ကို ယူသည်။ တိုက်ခိုက်သူသည် ကောင်းမွန်သော hash အယ်လဂိုရီသမ်များကို အသုံးပြု၍ တူညီသော hash ထုတ်ပေးသည့် မက်ဆေ့ချ်နှစ်ခုကို ရှာမတွေ့ပါ။ MD4 သည် အသုံးများသော်လည်း ယခုအခါ မှားယွင်းနေသော hash function တစ်ခုဖြစ်သည်။ MD5၊ MD4 ၏ မြှင့်တင်ထားသော ပုံစံသည် အလားတူ တွင်ကျယ်စွာ အသုံးပြုသော်လည်း လက်တွေ့တွင် ကွဲနေပါသည်။ MD5 ကဲ့သို့သော ဟက်ရ်ှအယ်လဂိုရီသမ်၏ Secure Hash အယ်လဂိုရီသမ်စီးရီးကို အမေရိကန်အမျိုးသားလုံခြုံရေးအေဂျင်စီမှ တီထွင်ထားခြင်းဖြစ်သည်- NIST ၏ စုစုပေါင်း hash အယ်လဂိုရီသမ်၏ အလုံးစုံကြံ့ခိုင်မှုကို သိသိသာသာမြှင့်တင်ရန် စံအသစ်တစ်ခုဖန်တီးရန် လုံခြုံရေးရှုထောင့်မှ အမေရိကန်စံနှုန်းအာဏာပိုင်မှ "သတိထား" ဆုံးဖြတ်ခဲ့သည် ကိရိယာအစုံ။" SHA-1 သည် MD5 ထက် ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုပြီး ပိုမိုလုံခြုံသော်လည်း cryptanalyst များသည် ၎င်းနှင့်ဆန့်ကျင်ဘက်တိုက်ခိုက်မှုများကို ခွဲခြားသတ်မှတ်ထားသည်။ SHA-2 မိသားစုသည် SHA-1 တွင် တိုးတက်ကောင်းမွန်သော်လည်း 2011 ခုနှစ်အထိ ထိပ်တိုက်ရင်ဆိုင်ရန် အားနည်းပါသည်။ SHA-2 မိသားစုသည် SHA-1 တွင် ပိုမိုကောင်းမွန်လာသော်လည်း ထိပ်တိုက်တွေ့မှုဒဏ်ကို ခံနိုင်ရည်ရှိနိုင်သောကြောင့် 2012 ခုနှစ်တွင် SHA-3 ဟုလူသိများသော US အမျိုးသားစံနှုန်းအသစ်ကို ရွေးချယ်ရန်အတွက် hash function ဒီဇိုင်းပြိုင်ပွဲကို ကျင်းပခဲ့ပါသည်။ National Institute of Standards and Technology (NIST) မှ Keccak ကို SHA-2 hash algorithm အသစ်အဖြစ် Keccak မှ ကြေငြာသောအခါ၊ 2012 ခုနှစ် အောက်တိုဘာလ 3 ရက်နေ့တွင် ပြိုင်ပွဲသည် နိဂုံးချုပ်သွားပါသည်။ ကူးယူနိုင်သော hash လုပ်ဆောင်ချက်များသည် နောက်ပြန်လှည့်၍မရသော ပိတ်ဆို့ခြင်းများနှင့် လျှို့ဝှက်စာဝှက်များကဲ့သို့ပင်၊ မူရင်းထည့်သွင်းမှုဒေတာကို ပြန်လည်ရယူရန်အတွက် အသုံးမပြုနိုင်သော hashed output တစ်ခုကို ပေးဆောင်ပါသည်။ မယုံကြည်ထိုက်သောအရင်းအမြစ်မှရရှိသောဒေတာ၏စစ်မှန်မှုကိုစစ်ဆေးရန် သို့မဟုတ် အပိုကာကွယ်မှုအတိုင်းအတာတစ်ခုထပ်တိုးရန် Cryptographic hash လုပ်ဆောင်ချက်များကိုအသုံးပြုပါသည်။
Cryptographic primitives နှင့် cryptosystems များ
ကုဒ်ဝှက်စာရိုက်ခြင်း၏ သီအိုရီပိုင်းအလုပ်အများစုသည် ကုဒ်ကူးခြင်းဆိုင်ရာ အခြေခံအကျဆုံးများ—အခြေခံကုဒ်ဝှက်ခြင်းဂုဏ်သတ္တိများပါရှိသော အယ်လဂိုရီသမ်များ—နှင့် အခြားသော ကုဒ်ဝှက်ခြင်းဆိုင်ရာစိန်ခေါ်မှုများနှင့် မည်သို့သက်ဆိုင်ကြောင်းကို အာရုံစိုက်သည်။ ထို့နောက် ပိုမိုရှုပ်ထွေးသော လျှို့ဝှက်စာဝှက်ကိရိယာများကို ဖန်တီးရန်အတွက် ဤအခြေခံမူလအစများကို အသုံးပြုပါသည်။ ဤအခြေခံအရည်အသွေးများသည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောအဆင့်မြင့်လုံခြုံရေးဂုဏ်သတ္တိများကိုသေချာစေသည့် cryptosystems သို့မဟုတ် cryptographic protocols ဟုခေါ်သော ပိုမိုရှုပ်ထွေးသောကိရိယာများဖန်တီးရန် အသုံးပြုသည့် အခြေခံအရည်အသွေးများကို ပေးစွမ်းပါသည်။ အခြားတစ်ဖက်တွင်၊ cryptographic primitives နှင့် cryptosystems အကြားနယ်နိမိတ်သည် မထင်သလို၊ ဥပမာ၊ RSA အယ်လဂိုရီသမ်ကို တစ်ခါတစ်ရံတွင် cryptosystem တစ်ခုအဖြစ် မှတ်ယူကြပြီး တစ်ခါတစ်ရံတွင် မူလအစဖြစ်သည်။ Pseudorandom လုပ်ဆောင်ချက်များ၊ တစ်လမ်းသွား လုပ်ဆောင်ချက်များ နှင့် အခြားသော လျှို့ဝှက်စာဝှက် primitives များသည် သာမာန်ဥပမာများဖြစ်သည်။
ပိုမိုရှုပ်ထွေးသော အယ်လဂိုရီသမ်တစ်ခုဖန်တီးရန် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကုဒ်ဝှက်စာမူများကို ပေါင်းစပ်ခြင်းဖြင့် ကုဒ်ဝှက်စနစ် သို့မဟုတ် cryptosystem ကို ဖန်တီးထားသည်။ Cryptosystems (ဥပမာ၊ El-Gamal ကုဒ်ဝှက်ခြင်း) သည် အချို့သော လုံခြုံရေးအရည်အသွေးများ (ဥပမာ၊ ကျပန်း oracle မော်ဒယ်ရွေးချယ်ထားသော-plaintext တိုက်ခိုက်မှု CPA လုံခြုံရေး) ကို သေချာစေသည့် သီးခြားလုပ်ဆောင်နိုင်စွမ်း (ဥပမာ၊ အများသူငှာသော့ကုဒ်ဝှက်ခြင်း) ကို ပေးဆောင်ရန် ရည်ရွယ်ပါသည်။ စနစ်၏ လုံခြုံရေးအရည်အသွေးများကို ပံ့ပိုးရန်၊ cryptosystems များသည် အရင်းခံ cryptographic primitives များ၏ ဂုဏ်သတ္တိများကို အသုံးပြုပါသည်။ ရှေးရိုးစဉ်ဆက်များနှင့် cryptosystems များအကြား ခြားနားချက်မှာ အတန်ငယ်ထင်သလို ကွဲပြားနေသောကြောင့် ခေတ်မီဆန်းပြားသော cryptosystem သည် အခြေခံကျသော cryptosystems မြောက်မြားစွာပေါင်းစပ်မှုမှ ထုတ်ပေးနိုင်သည်။ အခြေအနေများစွာတွင်၊ cryptosystem ၏ဖွဲ့စည်းပုံတွင် နေရာလွတ်ရှိ ပါတီနှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော ပါတီနှစ်ခုအကြား အပြန်အလှန်အပြန်အလှန်ဆက်သွယ်မှုများ (ဥပမာ၊ လုံခြုံသောမက်ဆေ့ချ်ပေးပို့သူနှင့် လက်ခံသူကြား) သို့မဟုတ် အချိန်ကာလတစ်လျှောက် (ဥပမာ၊ လုံခြုံသောမက်ဆေ့ချ်တစ်ခု၏ ပေးပို့သူနှင့် လက်ခံသူကြား)၊ (ဥပမာ၊ လျှို့ဝှက်ရေးနည်းဖြင့် ကာကွယ်ထားသော အရန်ဒေတာ)။
အောင်လက်မှတ် သင်ရိုးညွှန်းတမ်းနှင့် အသေးစိတ် သိစေရန်အတွက် အောက်ပါဇယားကို ချဲ့ထွင်ပြီး ခွဲခြမ်းစိတ်ဖြာနိုင်ပါသည်။
EITC/IS/CCF Classical Cryptography Fundamentals Certification Curriculum သည် ဗီဒီယိုဖောင်တစ်ခုတွင် ပွင့်လင်းမြင်သာမှုရှိသော သင်ကြားရေးပစ္စည်းများကို ရည်ညွှန်းသည်။ သင်ယူမှုလုပ်ငန်းစဉ်အား သက်ဆိုင်ရာ သင်ရိုးအပိုင်းများကို အကျုံးဝင်သော အဆင့်ဆင့်ဖွဲ့စည်းပုံ (ပရိုဂရမ်များ -> သင်ခန်းစာများ -> ခေါင်းစဉ်များ) ဖြင့် ပိုင်းခြားထားပါသည်။ ဒိုမိန်းကျွမ်းကျင်သူများနှင့် အကန့်အသတ်မရှိ အကြံပေးခြင်းကိုလည်း ဆောင်ရွက်ပေးပါသည်။
Certification လုပ်ထုံးလုပ်နည်းအသေးစိတ်အတွက် စစ်ဆေးပါ။ ဘယ်လိုအလုပ်လုပ်လဲ.
အဓိက ဟောပြောချက် မှတ်စုများ
Christof Paar နှင့် Jan Pelzl တို့၏ ရေးနည်းကို နားလည်ခြင်း PDF Slides ပုံစံဖြင့် အွန်လိုင်းသင်တန်း
https://www.crypto-textbook.com/slides.php
Christof Paar နှင့် Jan Pelzl တို့၏ ကူးယူဖော်ပြမှုကို နားလည်ခြင်း၊ ဗီဒီယိုပုံစံဖြင့် အွန်လိုင်းသင်တန်း
https://www.crypto-textbook.com/movies.php
ပင်မဂန္ထဝင် လျှို့ဝှက်စာဝှက်စာအုပ် ကိုးကား
Christof Paar နှင့် Jan Pelzl တို့၏ ရေးနည်းကို နားလည်ခြင်း။
https://www.crypto-textbook.com/index.php
ထပ်လောင်းအသုံးပြုထားသော ဂန္တဝင် လျှို့ဝှက်စာဝှက်စာအုပ်ကို ကိုးကားခြင်း။
A. Menezes၊ P. van Oorschot နှင့် S. Vanstone တို့၏ အသုံးချ ရေးပိုင်ရေးနည်းလက်စွဲစာအုပ်-
https://cacr.uwaterloo.ca/hac/
https://www.amazon.com/exec/obidos/ISBN=0849385237/7181-7381933-595174
EITC/IS/CCF Classical Cryptography Fundamentals ပရိုဂရမ်အတွက် အော့ဖ်လိုင်းကိုယ်တိုင် သင်ယူခြင်းဆိုင်ရာ အပြည့်အစုံကို PDF ဖိုင်တွင် ဒေါင်းလုဒ်လုပ်ပါ။
EITC/IS/CCF ကြိုတင်ပြင်ဆင်ပစ္စည်းများ - စံဗားရှင်း
EITC/IS/CCF ကြိုတင်ပြင်ဆင်ပစ္စည်းများ – ပြန်လည်သုံးသပ်မေးခွန်းများဖြင့် တိုးချဲ့ဗားရှင်း