AES အေၾကာင္း သိေကာင္းစရာမ်ား

General
Designers         Vincent Rijmen, Joan Daemen
First Published 1998
Derived from     Square
Successors        Anubis, Grand Cru
Certification     AES winner, CRYPTREC, NESSIE, NSA
Key sizes        128,192 or 256 bits
Block sizes         128 bits
Structure        Substitution-permutation network
Rounds        10, 12 or 14 (depending on key size)
In the Beginning…
AES သည္ ၁၉၇၇ ခုႏွစ္တြင္ ဒီဇိုင္းျပဳလုပ္ခဲ႕ေသာ DES ၏ အားနည္းခ်က္မ်ား ႏွင္႔ ၄င္းကို linear ႏွင္႔ differential cryptanalysis ျပဳလုပ္ျခင္းမ်ားမွ ရရွိလာေသာ အေတြ႔အၾကံဳမ်ားကို အေျခခံၿပီး ဒီဇိုင္း ျပဳလုပ္ထားျခင္း ျဖစ္သည္။ DES အေနျဖင္႔ ၄င္း၏ 56 bit သာရွိေသာ key size ေၾကာင္႔ brute force attack ကို ခံႏိုင္ျခင္း မရွိခဲ႔ေပ။ ထို႔ေၾကာင္႔ ၄င္းဆိုက္ဖာကို ယခု အခါ ၂၄ နာရီအတြင္း ခ်ိဳးေဖာက္ႏိုင္ၿပီ ျဖစ္သည္။ ထို႔ေၾကာင္႔ NIST (အေမရိကန္ စံသတ္မွတ္ေရးႏွင္႔ နည္းပညာ အဖြဲ႔ခ်ဳပ္) မွ DES ႏွင္႔ ၄င္းကို ျပဳျပင္ထားေသာ triple-DES တို႔ကို အစားထိုးႏိုင္ရန္ စာဝွက္နည္းပညာ အသစ္တစ္ခု စတင္ တီထြင္မည္ျဖစ္ေၾကာင္း ၁၉၉၇ ခု ဇန္နဝါရီလတြင္ ေၾကျငာခဲ႔သည္။ NIST အေနျဖင္႔ AES ကိုေရြးခ်ယ္ရာတြင္ ယခင္က DES, SHA-1 (Secure Hash Algorithm), Digital Signature Algorithm (DSA) မ်ား ေရြးခ်ယ္သကဲ႔သို႔ မဟုတ္ဘဲ လြတ္လပ္စြာ ေရြးခ်ယ္ေသာ စနစ္ကို က်င္႔သံုးခဲ႔သည္။ ထို႔ေၾကာင္႔ မည္သူမဆို ဆိုက္ဖာ စနစ္တစ္ခု ေပးပို႔ ယွည္ၿပိဳင္ ႏိုင္ေပသည္။ NIST အေနျဖင္႔ အဆိုပါ အေရြးခ်ယ္ခံ ဆိုက္ဖာ စနစ္မ်ားကို လံုျခံဳေရး ႏွင္႔ လုပ္ေဆာင္မႈ စြမ္းရည္မ်ား စစ္ေဆးမည္ မဟုတ္ဘဲ ဆိုက္ဖာေလာကမွ ပညာရွင္မ်ားကို ဖိတ္ေခၚၿပီး ၄င္း စနစ္မ်ားကို ဝွက္စာခ်ိဳးေဖာက္ တိုက္ခိုက္မႈမ်ား ျပဳလုပ္ကာ စမ္းသပ္ေစခဲ႔ျခင္းလည္း ျဖစ္ပါသည္။
AES: Scope and Significance
AES အျဖစ္ အေရြးခံခဲ႔ရေသာ Rijndael ၏ official scope သည္ မူလက ကန္႔သတ္ခ်က္မ်ားစြာ ရွိခဲ႔ပါသည္။ US Federal Administration အတြက္သာ အသံုးျပဳမည္႔ FIPS (Federal Information Processing Standard) တစ္ခုျဖစ္ၿပီး sensitive but not classified information မ်ားအတြက္သာ အသံုးျပဳရန္ ျဖစ္ခဲ႔ပါသည္။ သို႔ရာတြင္ AES ၏ ေအာင္ျမင္မႈမ်ားမွာ ၄င္း ေဘာင္မ်ားကို ေက်ာ္လြန္သြားခဲ႔ပါသည္။ ထို႔ေၾကာင္႔ ကမာၻ အႏွံ႕ရွိ ဘဏ္မ်ား၊ အုပ္ခ်ဳပ္ေရး ယႏၲရားမ်ား ႏွင္႔ စက္မႈ လုပ္ငန္းမ်ားအတြက္ လူႀကိဳက္မ်ားေသာ ဆိုက္ဘာ စံသတ္မွတ္ခ်က္တစ္ခုအျဖစ္သို႔ ေရာက္ရွိသြားခဲ႔ပါသည္။ ထို႔ေၾကာင္႔ အဖြဲ႔အစည္းမ်ားစြာက Rijndale ကို AES အျဖစ္ အေရြးမခံရမီကပင္ ၄င္းတို႔၏ ဆိုက္ဖာ စံသတ္မွတ္ခ်က္အေနျဖင္႔ လက္ခံ သံုးစြဲေနၿပီ ျဖစ္ပါသည္။ ထို႔အျပင္ ISO, IETF ႏွင္႔ IEEE တို႔ကို ေပးပို႔ခဲ႔ရာ ၄င္းတို႔၏ စံသတ္မွတ္ခ်က္မ်ား အျဖစ္လည္း ေရြးခ်ယ္ အသံုးျပဳလ်က္ ရွိပါသည္။
    ထိုကဲ႔သို႔ Rijndael ကို ွလွ်င္ျမန္က်ယ္ျပန္႔စြာ လက္ခံသံုးစြဲလာၾကျခင္း၏ အေၾကာင္းရင္းမွာ ၄င္းသည္ royalty-free ျဖစ္ျခင္း၊ platform အမ်ိဳးမ်ိဳးတြင္ bandwidth သိသိသာသာ က်ဆင္းျခင္းမရွိဘဲ က်ယ္ျပန္႔ လြယ္ကူစြာ အသံုးခ်ႏိုင္ျခင္းေၾကာင္႔ပင္ ျဖစ္ပါသည္။
Start of AES Process
၁၉၉၇ စက္တင္ဘာလတြင္ AES အတြက္ candidate nominations မ်ား ေပးပို႔ရန္ ေနာက္ဆံုး ေၾကျငာခဲ႔ပါသည္။ အနည္းဆံုး လိုအပ္ခ်က္ - 128 bits block size ရွိၿပီး key size 128,192 ႏွင္႔ 256 bits မ်ား အသံုးျပဳႏိုင္ေသာ symmetric block cipher မ်ား ေပးပို႔ရန္ ျဖစ္သည္။ NIST က လိုအပ္လ်က္ရွိေသာ ဆိုက္ဖာ အမ်ိဳးအစားမွာ triple-DES ကဲ႔သို႔ လံုျခံဳ စိတ္ခ်ရၿပီး ၄င္းထက္ပို၍ လုပ္ေဆာင္မႈ စြမ္းရည္ (efficiency) ပိုျမင္႔ေသာ ဆိုက္ဖာ ပင္ ျဖစ္သည္။ ထို႔ျပင္ အဆိုပါ ဆိုက္ဖာသည္ အကယ္၍ AES အျဖစ္ အေရြးခံရပါက တစ္ကမာၻလံုးအတြက္ royalty-free အျဖစ္ သတ္မွတ္ေပးရမည္ ျဖစ္ပါသည္။ AES အတြက္ စကာတင္ ဆိုက္ဖာမ်ားျဖစ္ရန္ ေအာက္ပါ အရည္အခ်င္းမ်ား သတ္မွတ္ခဲ႕ပါသည္။
1.    ဘေလာက္ ဆိုက္ဖာ ၏ algorithm အျပည္႔အစံု ကို ေရးသား သတ္မွတ္ရန္၊
2.    အကိုးအကားအေနျဖင္႔ ANSI C ကိုအသံုးျပဳ၍ ေရးသား တင္သြင္းရန္၊ ANSI C ႏွင္႔ Java တို႔ကို အသံုးျပဳ၍ သခၤ်ာနည္းအရ က်စ္လစ္ ေအာင္ ျပဳျပင္ထားေသာ ပရိုဂရမ္ မ်ား ေရးသား တင္သြင္းရန္၊
3.    Known-answer ႏွင္႔ Monte Carlo test မ်ား ျပဳလုပ္ရန္ ႏွင္႔ မွန္ကန္ေသာ ဘေလာက္ဆိုက္ဖာ အသံုးျပဳမႈမ်ားအတြက္ အဆိုပါ tests မ်ား၏ ရလာဒ္မ်ားကို တင္သြင္းရန္၊
4.    Hardware ႏွင္႔ Software အသံုးျပဳမႈ ၂ မ်ိဳးလံုးအတြက္ ခန္႔မွန္း တြက္ခ်က္ထားေသာ efficiency ကို တင္ျပရန္၊ ဝွက္စာခ်ိဳးေဖာက္တိုက္ခိုက္မႈ ခံႏိုင္ရည္ ကို ခန္႔မွန္း တင္ျပရန္၊ အသံုးျပဳမႈ အမ်ိဳးမ်ိဳးအတြက္ ကန္႔သတ္ခ်က္မ်ား၊ အားသာခ်က္မ်ားကို တင္ျပရန္၊
5.    ဆိုက္ဖာ ခ်ိဳးေဖာက္ တိုက္ခိုက္မႈ ခံႏိုင္ရည္ကို သိရွိၿပီးသမွ် ဆိုက္ဖာ ခ်ိဳးေဖာက္တိုက္ခိုက္နည္းမ်ား အသံုးျပဳလ်က္ စမ္းသပ္ ေလ႔လာ တင္ျပရန္။
    အဆိုပါ စံသတ္မွတ္ခ်က္မ်ားေၾကာင္႔ အေရြးခ်ယ္ခံ ဆိုက္ဖာ အမ်ားစု မွာ အပယ္ခံလိုက္ရၿပီး က်န္ဆိုက္ဖာမ်ားမွာလည္း အခ်ိန္မီ submission package တင္ႏိုင္ေရးအတြက္ အသည္းအသန္ ႀကိဳးစားခဲ႔ရပါသည္။ ထိုအခ်ိန္တြင္ Cryptix team က ဆိုက္ဖာမ်ား အားလံုးအတြက္ Java implementation ေရးသားေပးမည္ျဖစ္ၿပီး၊ known-answer ႏွင္႔ Monte Carlo test မ်ားအတြက္ Java implementation မ်ား ေရးသားေပးမည္ ျဖစ္ေၾကာင္း ေၾကျငာ ကူညီခဲ႔သျဖင္႔ ဒီဇိုင္းနာမ်ားအတြက္ ဝန္ အနည္းငယ္ ေပါ႔သြားခဲ႔ေသာ္လည္း AES API ကို ေရးသားပံုအား ၂ ႀကိမ္ ေျပာင္းလဲ ခဲ႔သျဖင္႔ ဝန္ထုပ္ဝန္ပိုး ျဖစ္ခဲ႔ရပါသည္။ ေနာက္ဆံုးတြင္ စကာတင္ ဆိုက္ဖာ ၁၅ ခုသာ အခ်ိန္မီ ၿပီးစီးခဲ႔ၿပီး ေရြးခ်ယ္ျခင္း ခံခဲ႔ရပါသည္
Evaluation Criteria (ႏိႈင္းခ်ိန္ ဆံုးျဖတ္ရန္ စံသတ္မွတ္ခ်က္မ်ား)
    ေအာက္ပါ စံသတ္မွတ္ခ်က္မ်ားကို အေျခခံ၍ ေနာက္ဆံုး စကာတင္ ဆိုက္ဖာ ၅ ခု ကို ေရြးခ်ယ္ စီစစ္ခဲ႔ပါသည္။
1.    လံုျခံဳစိတ္ခ်ရမႈ။ အေရးအႀကီးဆံုး အခ်က္ျဖစ္သည္။ သို႔ေသာ္ လက္ေတြ႔ ေဖာ္ထုတ္ျပသရန္မူ ခက္ခဲသည္။ အခ်ိဳ႕ ဆိုက္ဖာမ်ားကိုသာ သီအိုရီအရ အားနည္းခ်က္မ်ားရွိေနေၾကာင္း သက္ေသျပႏိုင္ခဲ႔သည္။ အမ်ားစုကို အားနည္းခ်က္မရွိဟု သတ္မွတ္ခဲ႔ရသည္။
2.    Costs (ကုန္က်စားရိတ္)။ ၄င္းကို ထပ္မံ ခြဲျခားထားသည္။ ပထမ အခ်က္အေနျဖင္႔ intellectual property issue ျဖစ္သည္။ အကယ္၍ AES အျဖစ္ အေရြးခံရမည္ဆိုပါက အဆိုပါ ဆိုက္ဖာသည္ အခမဲ႔ အသံုးျပဳခြင္႔ ေပးရမည္ ျဖစ္သည္။ ထို႔ျပင္ အျခား AES အျဖစ္ ေရြးခ်ယ္ခံရသည္႔ ဆိုက္ဖာတြင္ မိမိ အိုင္ဒီယာ ပါရွိေနေၾကာင္း ပိုင္ဆိုင္ခြင္႔ အျငင္းပြားမႈ၊ မူပိုင္ခြင္႔ ျပဳလုပ္မႈ မျပဳလုပ္ပါမည္႔ အေၾကာင္း ဝန္ခံ လက္မွတ္ ေရးထိုးထားရမည္ ျဖစ္သည္။ ေနာက္ ကုန္က်စားရိတ္ အမ်ိဳးအစားမွာ အဆိုပါ ဆိုက္ဖာကို အသံုးခ်ရာတြင္ ကုန္က်မည္႔ စားရိတ္ ျဖစ္သည္။ memory လိုအပ္ခ်က္၊ ပရိုဂရမ္ ၏ အရြယ္အစား ႏွင္႔ computational efficiency တို႔ ထည္႔သြင္း စဥ္းစားရမည္ ျဖစ္ၿပီး dedicated hardware အတြက္မူ chip မ်ားအတြက္ စဥ္းစားရမည္ ျဖစ္သည္။
3.    Algorithm and Implementation Characteristics။ platforms အမ်ိဳးမ်ိဳးတြင္ အသံုးခ်ႏိုင္စြမ္း ရွိရမည္။ အနိမ္႔ဆံုးအေနျဖင္႔ storage memory ႏွင္႔ RAM နည္းပါးလွေသာ 8-bit micro-controller မ်ားႏွင္႔ smart card မ်ားတြင္ အသံုးခ်ႏိုင္စြမ္း ျဖစ္သည္။ ေနာက္တစ္မ်ိဳးအေနျဖင္႔ dedicated hardware မ်ားတြင္ စြမ္းရည္ျမင္႔မားစြာ အသံုးခ်ႏိုင္ရမည္ ျဖစ္သည္။ ဥပမာ- ဆက္သြယ္ေရးဆိုင္ရာ ကိစၥရပ္မ်ားတြင္ gigabit-per-second ႏႈန္းျဖင္႔ on-the-fly encryption/decryption ျပဳလုပ္ေပးႏိုင္ရမည္ ျဖစ္သည္။ ၄င္း တို႔ ၂ ခုၾကားရွိ ဆာဗာမ်ား၊ workstations၊ PC၊ palmtops အစရွိသည္႔ ဝွက္စာနည္းပညာ အသံုးခ်ရန္ လိုအပ္သည္႔ က်ယ္ျပန္႔ ေျမာက္ျမားလွစြာေသာ processors မ်ား တြင္လည္း အသံုးခ်ႏိုင္စြမ္း ရွိရမည္ ျဖစ္သည္။ ၄င္းအခ်က္အတြက္ အသံုးမ်ားေသာ Pentium family processor မ်ားျဖင္႔ စမ္းသပ္ရန္ ျဖစ္သည္။ ဒုတိယ feature တစ္ခုမွာ key agility လွ်င္ျမန္စြာ key ဖန္တီးႏိုင္မႈ ျဖစ္သည္။ မ်ားေသာအားျဖင္႔ ဘေလာက္ ဆိုက္ဖာမ်ားသည္ key ဖန္တီးရန္ အခ်ိန္ေပးရေလ႔ ရွိသည္။ key တစ္ခုတည္းကို အသံုးျပဳ၍ အခ်က္အလက္ အေျမာက္အမ်ားကို ဝွက္စာျပဳလုပ္ရန္ အတြက္ key setup လုပ္ခ်ိန္ သည္ အေရးသိပ္မႀကီးေသာ္လည္း key မၾကာခဏ ေျပာင္းလဲ အသံုးျပဳရသည္႔ အေျခအေနမ်ိဳးတြင္မူ သိသာ လာေပသည္။ ဥပမာ- IP packets မ်ားကို encryption ျပဳလုပ္ေသာ Internet Protocol Security (IPSEC) တြင္ key setup အတြက္ ၾကာခ်ိန္သည္ အေရးပါလာေပသည္။ အဆိုပါ အေျခအေနမ်ိဳးတြင္ key setup ကို လွ်င္ျမန္စြာ ျပဳလုပ္ႏိုင္ျခင္းသည္ အားသာခ်က္ တစ္ခုပင္ ျဖစ္သည္။ ေနာက္ဆံုး အခ်က္တစ္ခုမွာ simplicity ရိုးရွင္းလြယ္ကူမႈ ပင္ ျဖစ္သည္။ ၄င္း အခ်က္သည္ လံုျခံဳစိတ္ခ်ရမႈ ထက္ပင္ ဆံုးျဖတ္ရ ခက္ခဲေပသည္။ ၄င္း သည္ ဆိုက္ဖာ algorithm တြင္ အဆင္႔ မည္မွ် ပါဝင္ျခင္း၊ symmetry မည္မွ် ျဖစ္ျခင္း ႏွင္႔ ၄င္း algorithm ကို နားလည္ရန္ မည္မွ် လြယ္ကူသည္ ဆိုေသာ အခ်ကမ်ားအေပၚ အေျခခံ၍ ဆံုးျဖတ္ရျခင္း ျဖစ္သည္။ အျခား အခ်က္မ်ားတြင္ တူညီေနပါက ရိုးရွင္းလြယ္ကူမႈကို အားသာခ်က္အျဖစ္ NIST ႕ထည္႔သြင္းစဥ္းစားရျခင္းမွာ အသံုးခ်ရာတြင္ လြယ္ကူေစရန္ႏွင္႔ ရွင္းလင္းစြာနားလည္မႈေၾကာင္႔ လံုျခံဳစိတ္ခ်ရမႈကို confident ရွိေစရန္ ျဖစ္သည္။
Selection
    ၁၉၉၉ ခု မတ္လတြင္ အီတလီႏိုင္ငံ၊ ေရာမၿမိဳ႕၌ က်င္းပေသာ ပထမ AES conference သို႔ တင္သြင္းဖတ္ၾကားေသာ စာတမ္းမ်ား အရ အေရြးခ်ယ္ခံ ဆိုက္ဖာ အခ်ိဳ႕၏ အားနည္းခ်က္မ်ား ေထာက္ျပႏိုင္ခဲ႔သျဖင္႔ စကာတင္ ဆိုက္ဖာ ငါးမ်ိဳး ေရြးခ်ယ္ စစ္ထုတ္ ႏိုင္ခဲ႔သည္။ ၄င္းတို႔မွာ MARS, RC6, Rijndael, Serpent ႏွင္႔ Twofish တို႔ ျဖစ္ၾကသည္။ Rijndael ကို AES အျဖစ္ ေရြးခ်ယ္ေၾကာင္း ၂၀၀၀ျပည္႔ႏွစ္ ေအာက္တိုဘာလ ၂ ရက္ေန႔ ၌ NIST မွ တရားဝင္ ထုတ္ျပန္ေၾကျငာခဲ႔ျခင္းျဖင္႔ အတည္ျပဳႏိုင္ခဲ႔သည္။

Please Share This Post

Share on Facebook Plus on Google+