By.zx
实验内容: 经典密码算法分析实践
破解以下数据,并解析破解过程
Mfwkrpltqqctixlcnrgemwhivjwoeenijkymnhmmqxhjnzssuwypfychjafmv
jhpvrexjahtewqmnkujyqgpexzvqeyknvvwhnsoglrjjxbmnyxiuiaitnfict
slcpahjloiionvtkutfvnjtjwjbxhxnlrwdwjeglenwnvraqrigghjxwsxhjx
mnwosgmvnislkbylimiiisyttrrtmjbvxljkzbqgzfvtdhtzqsxhjfavenhmi
ztitsauedqtagxhjnzzethmigwhfslbrgqzvrrgfslvjgztialaibwaetmtur
egfnvfxsywctkljwauinfsrvendjmiirlwiahemflgsoajzpsmjfaperjfngi
rqncomngnvbtesjlglexhwemnltvzmnzymfwpfwsvrghjtrfrfyqbrsfrwakt
mjpbqexzxcsryjzfenifbnghnqtlaowpmewsyflvymnsjrmjnsojlessmjwok
yprkofqnvptjwmqxhwtctlbzyjeeznqqnreqpmfsnqjdrpljibuishtzrnuxy
jrjowjpnpfynurxohftzxhjsmezextngleknnnaowqlpypbnvamnlqqctifsl
gekjmqfswsnvpveinjyigtftfgownvtxaqqgssrymmfiaxtvgsgtftfmnqjit
yelfurwbjnrvrgrjiaahnqmqsmnsigidutafisxnwafuykivpeiywsmniyprr
eyfonmnxyicpuhpguinfsavhebmwsmnnxpglexjifsntsmcpahjiosvjwmyig
fymqhaqniaeewgqamtbfanrayyipoisllvwpqfgsvorgmvnisleushfixhwhj
iohenlepbyaqqbuiwfdbuenpxbbetjwzvjihqigisjfabrszworahnhpfewym
mzaisyprmrxjdrrpwjdvsuxrigghjxubwtwjkrrtqditeisxbympunazinnso
henliwaklfxbjieplcnrgemwhpoxynbyrlfurwoajzglelfurwefxwaxhwjmz
srjypnrisyprmrmnagsrnharestsjhxwnyprpkjxwasnknzrxhjdpnzeflivr
bjjvsvejxkbvislvrxtnsotsaqxvvrertzrxhfsaiinltznrewnsfwosxohen
lepbyrkbpbjisnauidymqehasiubveymiafenoqakhfwjvrynymakfnsqflei
gwgxortnglehxtnrdbntyfewjtrkayjlnposlevxhiftvenxmiakhfnauinmz
iglektzzirhqcosfsnkbpaxfvrpkffvqhiinmehrtljnjisnauidrnlgebqjq
arisypcssnyqbr
加密方法分析:使用Cryptographic Analysis Program的Freq工具,密文经过分析频率得到
密文的英文字母频率表:
下面列出的表格引自Algoritmy网站。而这个列表和其他的表稍微不同,如美国康奈尔大学数学探索项目(Math Explorer's Project)在统计40000个单词后得到了大同小异的另一表。
对比可以看出密文字母的频率相对于正常的频率更加分散,并不集中于一些高频的字母中, 使用CAD ic工具得出密文的ic值是0.04366,ic值用来统计字母的平滑度,完全平滑是0.038,正常的明文ic值大概是0.065,单表加密不能改变ic值,可以判断不是单表加密,因为单表加密字母频率一般是和正常的频率差不多,只是频率高的字母替换成其它字母,密文的平滑度很高,猜测密文通过多表加密,
破解方法:多表加密是用一个固定长度的密钥给密文加密,我们可以把密文分解成n份(数值是密钥长度)的密文,这样每份密文就是一份单表加密的密文.再通过单表密文的破解方法来破解;
破解步骤:
1. 利用kasiki法找出密钥长度:
通过分析可知,得到密钥长度是关键的步骤.我们可以通过暴力的方法,不断的分解密文来统计频率对比正常频率,但是这种方法对于密钥长度很长的时候,效率不高.通过baidu发现有一种方法可以分析密钥长度那就是kasiski法,kasiski基本思想就是,如果明文里面有相隔密钥长度的倍数的相同字母,那么这些字母加密后也是呈现相同的字母,那么我们在密文找出这些相同的字母,算出各自之间的距离,再统计他们的距离的公约数,那么这个公约数是就有可能是密钥长度.那么我就可以使用CAP里面的Kasiski工具
这个表是字母组合来得出结果,因为当密文统计单个字母,我们很难知道哪些字母是同一个密钥加密,得出的公约数很能就是1,3个连续字母组合的话,在密文找到相同的字母组就很可能是同一个密钥形成的.这里我们就把size of character string设置成3.可以从右边的表得到,有218个字母组的最大公约数是3,有210个字母组的最大公约数是6,那么密钥长度很大可能就是3或者6,并且公约数为3的字母组数量是包含了公约数为6的字母组数量,个人推断密钥长度为6的可能性更加的大.
2. 根据密钥长度找出密钥
Low Freq:使用CAD里面的Low Freq工具可以通过密钥长度得出最低各个分解的表的字母低频率信息(不知道是什么字母还是组合),通过正常的表可知道字母最低频率可以在1%以下,几个低频率的字母加起来约占2%,通过这个规律,可以用字母的26张表来破解,输入密钥长度6把密文分成6份密文,通过26个表对6分密文解密,得出加密的多张表低频率信息, 和正常的频率对比得出最匹配的密钥
通过low freq得出加密的密钥为affine
通过密钥affine和公式mi=(ci-ki) (mod 26), (i=1, 2, … , n)
marcellolippisguangzhouevergrandeclinchedtheirfourthsuccessiv
echinesesuperleaguetitlesundayfinishingthreepointsaheadofseco
ndplacedbeijingguoanafterbothsidesdrewtheirfinalmatchesofthes
easonbeijingcouldhavestolenthetitlefromguangzhouiftheasiancha
mpionshadlosttheirmatchatshandonglunengandifguoanhadwonathome
againststrugglershenanjianyeevergrandehadtoovercomeascareafte
rliubinbinopenedthescoringonminutessparkingcelebrationsamongt
hehomesupportersandatachillyworkersstadiuminbeijingwhennewsof
thegoalfilteredthroughbutbrazilianelkesonlevelledthescorejust
beforehalftimetocalmthenervesofthefifaworldcupwinninglippiand
takehisownincrediblegoalscoringtallyfortheseasontogoalsinleag
uegamesbeijingmeanwhiledominatedpossessionbutfailedtofindthen
etagainstapluckyhenansidewhofinishtheseasononeplaceabovereleg
ateddalianaerbinitwasanattackingdisplayfrombeijingwhohadpushe
dguangzhouallthewaythankstoaterrificlateseasonsurgewhichsawth
emwintheirsevenpreviousmatchesmostrecentlyagainstlippismening
uangdonglastweekguangzhoulostfourgamesoverthegameseasonthreem
orethanintheirhistoricseasonbutwithelkesononfiretheyhaveagain
beenfreescoringnettinggoalsninemorethansvengoranerikssonsguan
gzhourfwhofinishedthirdandmorethanbeijingharbinyitengfinished
bottomofthecslandwillberelegatedalongwithdalianshanghaishenhu
atheformerclubofnicolasanelkaanddidierdrogbafinishedmidtablei
nninthposition
第二篇:应用密码学作业--破解 维吉尼亚(vigenere) 密码
作业(选择性作业):
以下数据为使用Vigenere算法加密密文,请尝试破解,并解析破解过程;可以使用代码分析工具;作业可以是详细的破解过程,也可以是谈破解的方法和思路,请将作业在10月26日24:00前提交。
wuvrkpkuggjiuarnviipcqgjgucrtixpejrqfhvvfgcteeqruhiqfihlnpgwr
lnqkridohnhhhlydcqceehswyyrcvuahrtehhnqpexfwvnpnvsrlsdzenelvo
entqahnqvlgtiakwvyybhhgmeaeiepvvnmcusgcjhhxvpkvoeucvtpeecrfhr
xtsahlzgepznbrpcuefymnsbrcfnltbhpamrboftptvulcprptehacntvklrf
wrvplztgcteeqrqweaghjpspqqovnfuxcaezgrviyqgrapntvlgyeikiydafu
mowllcgqztfczkugrzitjifgwcfiaimvdafcwvlppjepnevpxjlwnaagwrbvi
eatukwevuavvazsreytptlkrvlrruxuoefcmfirvvekuwbwpfztvnpolegpev
vsgcviltbhwrlnqkrivftftqudrhipjenphyvuyfgqutvpygaouczgahrhswy
tunetnefvqksigcvapngjiyvryfepkphpgjhbbxikasjgmiotvpxjlwbtpfiu
gjiuhiqvlgjohpxtfhnfxqiezqvgahbwkjafhnqqyefvvcaetkgcudzqvgjob
thkuagghkutugacfwrchxhnpgswyiavitlsguepkpeqxgjtbwvphtvqrcssre
ytptlvlgyejqynkbrpsebtfvsubpcqvvmoevvqvpfkrcmgucrkztnpajpcukw
hbnqghulpntevlllhvqttugxtlafwvazscggkhlegwgyvrvlgwrvoiopnvuxg
ysgtiuzeqkrjpsfvevlmrpxmpnyqwukohdxuiugjiuhiqjiyhngghvoezkrkz
teashkesgreltbdievmrostlcboqgycvcpnfhnthjlaqghcudfcmfptjqynkf
neiupgakjkjaavgjhlygrilsnuetlshnxqmchvwjlohvpkuequexpntushinn
vxjldrretamrpxkucywhkugntifbcgksppnpkzksinpwvhfsdcdftughgwaev
qgutjkpnhlfqwgslbhjwunreiuzaeaeuzeguvguetqxkhtresparnexuhnqey
vvvrtlghdfjievnskvolduowcykeqccswvnpdldresotifumqueqhswyyrcvu
laenccudgjiwrsucvtpeelyowjrvwyplydiceeqvaquejcmtjrnhxehrekitz
wvnpdlbhkpviugqrgdohnhdlpycggkoagbvlnqghtlaqkrgzsgjiflcvumqut
bcbgahrtirsapgqgutakqtvdztetlcbprcpsfcrelpycrgzactsllcgovehmr
tspzavflckcbuxovrrvlcubacrfdafostltucrgpguvcghrfnevlphvwvoesw
xwyebhvcmkvppqzsjjmeoezrpqfscgsrsevphqbbgvlgmugwvgvfagetiyecj
nvsfkiovugjvgtavpwwucrtxcpnztgcteeqrcjkaqanldtghvoeegaqblqdie
oaaiiuiuguekksboithfocwgzwrtinpkrncvvbrtisbieghdftugettynujqy
cruvgauepjtvmtgvohnlcpcygryinsedwmrweqcvofwbwpfyezcmpahnvaqbl
qcqqbngvsrlrfqrplloajgdeevlcutbfeatrpcqgyoauekktnpoudohnhdlch
vfahnqjiccyntxkslrtcdbtgjitlwbwpfiezqvgjhvpsqrsnphevmzwrkjagk
spzedwmrteavepkmbtiovnrajqyuaoepueqrpcuefjiuhiqjicssbuekknnxe
ntaarsylrjqynkfnnpvvblcrfahrvsvhlawqdlrbhjtpgnviuhnqfiuarbait
zwbwpfkrbrjtvmgqfatifuifvpcqvvbnvvcdbtugwcpdgjiivvrtrolngysws
dctsebrrcjnlegqjjbnggvmplygvczthviesafuwwimntmplspqqrseggttvd
hexkvnbhwketlriflsgtsalrfcrfhnquxcytnrvqnrnoqgaoqgzgsocniuzek
ripziigqqyesnizpbygqqkeepjtpgnviutrpcqgyoacpuvvbyifaocwwjhhrc
hyptutirsapkriirvvekusgtmflngpyesentqkzsvniufsggqdbtfcmfahrkv
tlpycggteavaqblqdiujayghdhcxymvotugrwtbrtshdaejickscgvdvageyv
mrboxqhsccvvvfnotcjkniiqmsnxmpns
加分规则:
1. 个人基本分数,如果你有提交作业,则根据你作业的质量,可以得到1-5分。
2. 全班奖励分数100分,如果你破解成功,则可以分享这100分,个人奖励分数=100/成
功破解人数。
3. 个人作业分数为=个人基本分数+个人奖励分数。
4. 本作业拒绝小组讨论和提交
注.
1. 作业命名提交格式:
应用密码学-作业-01-学号-姓名-提交日期.doc
例子:
应用密码学-作业-01-0800001-李四-101026.doc
注意:上述符号- 请使用英文输入
2. 作业请提交到MYSTU