March 11, 2012

လျှို့ဝှက်သော ရည်းစားစာ

Frequency analysis


စကားဝှက်ပညာ ဘာသာရပ်တစ်ခုဖြစ်သော Frequency Analysis သည်၊ မှုရင်းစာနှင့် စကားဝှက်တွင်ပါဝင်သော စာလုံးများ၏ အသုံးပြုနှုန်းကို အခြေခံ၍ စကားဝှက်နည်းကို ဖြေရှင်းသော နည်းလမ်းတစ်ခုဖြစ်ပါသည်။ ဤနည်းလမ်း၏ ဇာစ်မြစ်မှာ လွန်ခဲ့သော နှစ်ပေါင်း တစ်ထောင်ကျော်ခန့်က စတင်ခဲ့ပါသည်။ ဤနည်းလမ်းကို ၉ရာစုပိုင်းတွင် ကျော်ကြားခဲ့သော အာရပ် သိပ္ပံပညာရှင် Abu Yaqub Ibn Ishaq al-Kindi က စတင်ဖော်ဟုတ်ခဲ့ခြင်း ဖြစ်ပါသည်။

al-Kindi ၏ နီယာမမှာ သိနှင့်ပြီးဖြစ်သော ဘာသာရပ်တစ်ခုဖြင့် ရေးသားထားသော ဝှက်စာကို အဖြေထုတ်နည်းဖြစ်၏။ နည်းလမ်းမှာ ဝှက်စာတွင် အသုံးပြုထားသော မှုရင်းဘာသာရပ်ဖြင့် ရေးသားထားသည့် စာမျက်နှာ တစ်မျက်နှာခန့် ရှိသော စာတစ်စောင်ကို ယူပြီး၊ ပါဝင်သော စာလုံးတစ်လုံးစီ၏ အသုံးပြုထားသော အကြိမ်ကို ရေးတွက်ပါ။

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

ဤနည်းအားဖြင့် ၁၅ရာစုပိုင်းတွင် ဥရောပနိုင်ငံများတွင် ရေပမ်းစားလာပြီး၊ အမျိုးမျိုးသော စကားဝှက်ပညာ နည်းသစ်များနှင့် ဖြေရှင်းနည်းသစ်များ၏ အခြေခံ အတွေးအခေါ်အဖြစ် ထင်ရှားခဲ့၏။ သို့ရာတွင် ၂၀ရာစု အစပိုင်းတွင် စတင်ခဲ့သော စက်သုံးစကားဝှက်ပညာ၏ ပေါ်ပေါက်လာမှု့ကြောင့် ရိုးရှင်းသော စကားဝှက်ပညာမှ သင်္ချာနည်းပညာတို့ကို အခြေခံသော စကားဝှက်ပညာဆီသို့ ပြောင်းလည်းလာခဲ့ရပါသည်။ ထို့ကြောင့် ယနေ့ခေတ် စကားဝှက်ပညာတွင် ဤနည်းလမ်းကို အသုံးပြုနေကြသည်မှာ မရှိသလောက်ပင် နည်းပါးလာခဲ့ရပါသည်။

သို့ရာတွင် ယနေ့ထက်တိုင် ခေတ်ဟောင်း ဘာသာစကားများကို လေ့လာ ဖော်ထုတ်ရာတွင် Frequency Analysis ကို အသုံးပြုမြဲ ဖြစ်ပါသည်။


ဖြေရှင်းရန် ပုဒ်စာ


ယခုတစ်ခေါက် ဖြေရှင်းရန် ပုဒ်စာမှာ Puzzles for Hakkers မဂ္ဂဇင်း (ဂျပန်ဘာသာပြန်) မှ ကောက်နှုတ်ထားသော စာပေးစာယူ ကျော်ကြားသူများ ပဲဖြစ်ပါသည်။ အထက်ပါ Frequency Analysis ကို အသုံးပြု၍ ဖြေရှင်းကြည့်ပါမည်။


စာပေးစာယူ ကျော်ကြားသူများ

နာမည်ကြီး ပေါ့အဆိုတော် Pritney သည် သူမနီးပါး နာမည်ကြီး Lustin နှင့် ရည်းစားဖြစ်ကာစကဖြစ်၏။ သူတို့ သမီးရည်းစားနှစ်ယောက်သည် မတွေ့ရသည့်ရက်များတွင် လွမ်းရသည့်အကြောင်းများကို သီကာဖွဲ့ကာဖြင့် မေးလ်သဝဏ်လွှာများဖြင့် အလွမ်းများကို ဖလှယ်ခဲ့ကြလေသည်။ ကွန်ပျူတာဘက်တွင် ကျွမ်းကြင်သော Pritney သည် သူတို့၏ လျှို့ဝှက်ချက်များကို ဟက်ကာများကို ခိုးနားထောင်ပြီး၊ အတင်းအဖျင်း စာစောင်များမှာ သွားရောင်းစားမည်ကို အလွန်စိုးရိမ်ခဲ့၏။

လျှို့ဝှက်ချက်များကို မပေါက်ကြားစေရန် သူတို့သည် အင်္ဂလိပ် စာလုံးများအား နေရာလည်းသုံးခြင်းအားဖြင့် စာကားဝှက်လုပ်ခဲ့ကြ၏။ ဥပမာအားဖြင့် A နေရာတွင် B၊ B နေရာတွင် Z အစရှိသဖြင့် လည်းလှယ်အသုံးပြုနည်းဖြစ်၏။ သို့ရာတွင် လက်တွေ့သူတို့နှစ်ဦး အသုံးပြုခဲ့ကြသည်မှာ ဤစာလုံးများ ဟုတ်ချင်မှဟုတ်ပါလိမ့်မည်။ ပြောင်းလည်းထားသော စာလုံးများကို သိရှိသူမှာ သူတို့နှစ်ဦးသာ ရှိပါသဖြင့် အကယ်၍ ဟက်ကာများက မေးလ်များကို ကြားဖြတ်ခိုးယူနိုင်ဦးတော့ ဘာရေးထားမှန်း နားလည်မည် မဟုတ်။ ဤနည်းအားဖြင့် Pritney နှင့် Lustin တို့သည် ချစ်မေးလ်သဝဏ်လွှာများကို စကားဝှက်လုပ်ပြီး အလွမ်းသည်ခဲ့ကြလေသည်။

ထိုအကြောင်းကိုသိသော ကျွှန်တော်တို့၏ ဇာတ်လိုက်ကြီး Smithnik သည်၊ လွန်စာစိတ်ဝင်စားသွားပါသည်။ ထို့အတွက် အတင်းအဖျင်းစာစောင် Yellow Place ဖြင့် Pritney ၏ ရီးစားစာခိုးရန် ပရိုဂျက်ကြီးကို လက်ခံစာချုပ်ချုပ်ခဲ့ပါသည်။ နောက်ဆုံးတွင် Pritney ၏ ချစ်မေးလ်သဝဏ်လွှာ တစ်စောင်ကို ကြားဖြတ် ခိုးယူနိုင်ခဲ့ပါသည်။ ခက်ခဲခဲ့သည်မှာ ဤနေရာအထိဖြစ်ပါသည်။ Pritney ၏ စကားဝှက်ကိုမူ Smithnik သည် ထမင်းစားရေးသောက် သကဲ့သို့ ချက်ခြင်းပင် ဖြေရှင်းနိုင်ခဲ့၏။


ဤတစ်ခေါက် ပုဒ်စာမှာ Pritney ၏ ချစ်မေးလ်သဝဏ်လွှာကို စကားဝှက်မှ အဖြေထုတ်ခြင်း ဖြစ်ပါသည်။ ချစ်မေးလ်သဝဏ်လွှာ၏ မှုရင်းကို ဤနေရာတွင် ဒေါင်းလုဒ် လုပ်ယူနိုင်ပါသည်။


ဖြေရှင်းချက်

ဤနည်းလမ်းသည် Conan Doyle ရေးသားခဲ့သော The Adventure Of The Dancing Men ဝတ္တုတိုထဲကလို ဖြစ်၏။ လူရုပ်ကလေးများဖြင့် စာလုံးများကို အစားထိုး အသုံးပြုခဲ့သည်ကို သတိရပါလိမ့်မည်။ ဤနေရာတွင်လည်း ထိုနည်းတူပင် စာလုံးများကို အခြားသော စာလုံးများနှင့် အစားထိုးအသုံးပြု နေခြင်းဖြစ်၏။

ဤပုဒ်စာအား ကျွှန်တော်တို့ Frequency Analysis ကို အခြေခံပြီး ဖြေရှင်းသွားပါမည်။ ဤနမှုနာအား ဖြေရှင်းရန် အပလီကေးရှင်း တစ်ခုကို ရေးသားခဲ့ပါသည်။ စာကြောင်းတစ်ခု၏ စာလုံးများအား ပါဝင်သော အသုံးပြုနှုန်းကို တွက်ချက်နိုင်သော FreeqString နှင့် အသုံးပြုနိုင်သော FreeqChar ကလပ်စ် နှင့် ၎င်းတို့ကို ဖော်ပြအသုံးပြုနိုင်သော FreeqPanel တို့ဖြစ်ပါသည်။ တဖန် CoolCrypto တွင်အသုံးပြုသော နမှုနာအားလည်း ဤနေရာတွင် ပြန်လည်အသုံးပြုနိုင်ရန် GUI အပလီကေးရှင်း အဖြစ် ရေးသားခဲ့ပါသည်။

ဤအပလီကေးရှင်းမှာ ရေးသားရင်း Java 7 ကို စမ်းသပ်အသုံးပြုလိုပါ၍ Java 7 ကိုအခြေခံ၍ ရေးသားထားပါသည်။ ထို့အတွက် အသုံးပြုနိုင်ရန် Java 7 ကို အသုံးပြုရန် လိုအပ်ပါသည်။

၁ ။ နမှုနာ အပလီကေးရှင်းအား အသုံးပြုကြည့်ခြင်း

အပလီကေးရှင်း ကို စတင်ကြည့်ပါမည်။ အောက်ပါအတိုင်း ဒေါင်းလုဒ်လုပ်ထားသည့် နေရာတွင် cmp ဖြင့် ဖွင့်ကြည့်ပြီး java -jar happy-hacking.jar ဟု ရိုက်ကြည့်ပါမည်။


အောက်ပါအတိုင်း အပလီဝင်းဒိုးကိုထွက်ပေါ်လာသည်ကို တွေ့ရပါမည်။ ဘယ်ဘက်ရှိ Freeq Analyser ခလုပ်ကို နှိပ်ပါက အောက်ပါအတိုင်း တွေ့မြင်ရမည် ဖြစ်သည်။



၂။ လိုအပ်သော ဖိုင်များအား လုဒ်လုပ်ယူခြင်း

ဤနမှုနာအတွင်းတွင်စကားဝှက် ကို အဖြေထုတ်ရန် ဖိုင် (love-letter.txt) နှင့်ပုံမှန်စာ ဖြစ်သော အင်္ဂလိပ်စာ
ဝတ္တုတိုတစ်ခုကို (essay.txt) ကို လုဒ်လုပ်ပါမည်။ စကားဝှက် ဖိုင်အား Load Source ခလုပ်ဖြင့်၊ သာမန်စာ အား Load Formal ခလုပ်ဖြင့် လုဒ် လုပ်နိုင်ပါသည်။

Load Source

Load Formal
၃။ စကားဝှက်အား အဖြေထုတ်ခြင်း

ဦးစွာ Load Source ဖြင့် ခေါ်ယူထားသော မှုရင်းစာကို Source Tab တွင် လေ့လာကြည့်ပါမည်။ အောက်ပါအတိုင်း ခုနှစ်များ၊ နံပါတ်များမှာအစီအစဉ် အလိုက်ရှိကြောင်းကို တွေ့ရပါသည်။ တဖန်ကော်မာများ၊ ဖူးစတော့များ ကိုလည်းစာကြောင်းအဆုံးတွင် တွေ့ရ၏။


စကရိုးအား ဆွဲ၍ အောက်ဖက်ကို ဆက်ကြည့်သောအခါ အောက်ပါအတိုင်း z မှစသော နံပါတ်များကို တွေ့ရပြီး၊ a, b, c ၏ ပြောင်းပြန်အတိုင်း ဖြစ်နေသည်ကို တွေ့ရ၏။ ဤအချက်သည်ကြီးမားသော အဖြေတစ်ခုဖြစ်၏။


ပြီးလျှင် အပေါ်ဘက်မှ Crypt ခလုပ်ကို နှိပ်ပြီး စာလုံးများကို ပြောင်းသော စာမှတ်နှာဘက်ကို သွားပါမည်။ ပြီးပါက အောက်ပါအတိုင်း set နေရာတွင် သင့်တော်သည့်စာလုံးများအားဖြည့်စွက်ပြီး ပုဒ်စာ အားဖြေရှင်းသွားပါမည်။


အထက်ပါပုံတွင် တွေ့ရှိခဲ့သော ဟင့် အတိုင်း a - z မှ z - a ကိုဖြည့်စွက်ပါမည်။ ပြီးလျှင် အောက်တွင်ရှည်သော Crypt ခလုပ်အသေးကို နှိပ်ပါက အဖြေကို အောက်တွင် ဖော်ပြပေးနိုင်မည် ဖြစ်သည်။


အဖြေမှာ GNU free documentation license ဖြစ်နေပါတော့သည်။

ရေးသားထားသော နမှုနာ အပလီကေးရှင်း ကို ဤနေရာတွင် ဒေါင်းလုဒ်လုပ်ယူနိုင်ပါသည်။
အသုံးပြုထားသော ကုဒ်များကိုမှု https://github.com/minlwin/mmju/tree/master/happy-hacking တွင် လေ့လာနိုင်ပါသည်။

လေးစားစွာဖြင့်
မင်းလွင်

1 comment: