使用CPA4破解经典密码算法
下面是一段经过经典密码算法加密的密文(加密算法未知):
yvvnerujjvnywhbdvkpchfgvjtzwqsuporqfzpoekkjgziicdwwkeejdsruef
whwseyejejhnaeepjbjwnuztavjswrthswlcdxqrnoclsodkrrfjtfhlfznbx
wyvdwdcwyzqlqrnevuiiienxzmwtdsyhgstwmvznrvhyihhcxjijhiojphvjw
srpejwnhrhirqbcdwnzqmwjpoibnbjdeshloewcfdhvzjgtdwsvntydyweyll
gjrrohfuyplppzrssvniejxhzjtrwyvvdecpttrieevhzlxsvunstovzwjfsa
svlsgzjcvwmseioidhsywsddisrjadhkcideivjzwwsfqjcwphvwtdtkatkjg
zjwfpjbjbofwgochaegfhmyodpjbkwtfukcixokkrseoaegbcdanjitckxaco
xvvdajdqgfxetrrskdewlwgketronoesoddshfxezqiitpeulshfdeiftiepr
pvkcfpbroqwechroqcwbadhfbuwlcwmokshzojkfnkzqlojhanbjfzjhvuxdr
neklrskdezqiswwtzjfpcamfufqvolrwjgkreewzfvesrvftzbauhasckpdhs
hzjskuzqkkrydawecjlvyqfjdlfysuwcfxwgvhajwbsvgbvwbsvjaegtqkkbv
ufhkdezufbzwnwrthswlcdhouamplshvdrrqyvvnejkjhiwiehiwiwnzdskfi
eershyatvfmbzyacdxdvytjrkqfwcylsunkmvqxtfktsdqzektaxxhwkokefz
cxukvustefzffzcuwfpjbjbofwgochwyrjjvnsrbxhywtkkjavjsxdrsrjdkk
jkfieevlodaaihyvvoadhmojylvdwzpjemhwkfnkvgnbrlrfijgjeoedqseri
irsavjtjkjhfhdwlkotkmrvritdajztavjswrthswlckfgxnonqtjvntyhqoj
pfvzistwdvvnhywsewgstkmvdsmdkrvvnazhaiwthyamvqxurienrrsewrvsm
mjecroqmuefwhwseptfpjbrjdkkjafnekkjkfieevlodadvyjzflskkjafnez
wngwqlcrkggaczinqzpivvyvrprvtzwiaaulktvneewfdgnorfmtikmrftotd
jlvyzzgejddwerocojmswlcrwprokvwgochtyhwsjjogrnbkenxutigenxlyo
chuegjfkdejdrstwtvjtfpphvrgjzkujsmmjecroiwwbeihsqvoaihtbcutyh
xhrntzqldfenkwmswkrdhwgknibhwocoogrnbkotfnjmkwcklhocziwijfvjc
vvfbuprrlswecmvwmcuotrnjomarpvnaghevafaghekkjdzcgplshyamzgizv
zrzoqgjdetrshzjuvgdclnedraskdakiwcdwmvqxhiwielsujasjltbrjdprz
fvhojwbvvnervlsearroqmjlernnbxbeddqsghaphwguknkwjbupotdwsrxol
wyvzokzqicwyodsjhzpimhssjoiedboiiugptfryeyrusjphrwismalfsrsep
ielywrpimhxzzgekkjkfieevkcfpbroqqfwcylsutkuivjwepeyufbnditkbo
jwtkhsrvzbpztavjoeodkzhlyhqdkknruwcnphvjfdsatnhjbkdefsucipuel
ywvoawitfuadkrrocaaegksdwlvftotdejrkqfqrjhdcldamhlfvwttrfqyas
kkfhljdvuxhrjdkkjkfieevlodalznjoepoeltqrxrzqnweetrodcilhzondg
abvulsikozqkfrjcvvfwuioidhssqtnkfhjprznjgdaijzmseoodhysrisfuh
zlxstktcjahvdiqfwcyhxbfpbrvjrfjaivzafneosjfzanthgikkncbgstwuj
hyvvuhrsuseposhrsewszvfwuxewrwskdexdrszodziksiankdsrkdakvhzvw
rkrjjvnyfqjplptyhtdgkrkxswkeejdktfndvgyctkatkjgjdoloibkxeulkt
vneewtdgkrkxswkeejitfrhlkkjufopvoyvrpmfufqvesgujotdiejnggwrkl
hicwrcbaocqasojwephvpnruhevdxhndeihqokalpztavjswrthswlckfgdwd
vgwodwtzfxhiedvvnfrjffujlripchkwvhdjztavjsedywfjacwjodofirroc
hcrwjufnivvxhrntzqlokqaegnhjjakltbrhlvdlivberwzfvotvdrgzjtyhk
wiotulawjeoedsrrjokkjfwevvlshyasvftbuzimlxwfjnfwycdankltbrpok
dqtlpsroysrisjswsrzatutgjboluiwwbeihshcaaxxjrzrijltbjwtwlwgkc
lrqhszpsvdxmwkrnhxhvnnjwthvjdkryvzjkkkfhkdijlxotkmgojhvhyulkt
vneewhicpuihgikdoehxhcuajdswkwlzdskywtjwwitgmvwmsdkskzjfvphvv
nazhailywvosrliafnathusfllvdwsnwrddsrrlpirfqywbchfbuphvujgekp
cdhsndeihyvrpijdxqcaaidxwebofwgochwydywjavzgjbkpodhnbkahidswj
wgzjfbkecgdxgzknwrwtfktsdqzrhemhqcwenkhwsjptydygknucbtikotrqi
wecsghhwwecroqmrioejyvvsodhshykuxknhjylvdwhywtkknggwsjltbtwri
ljgrlokhshzwlnknqyesfqqmekwshnbxqnkdudvzhfsjtlhlpwmwjyoluxszo
aelrdfntrqygkapkrboizskkngdwhuljafdadpfrbdaelfavibvuttkdezufb
zwnwdxkfieevhcdiikwjswqlcbfuiaejznhyphvitfdarzwfzpwnuffbrzatr
fqysodhsgwkokefzcdajiqclnijkjrzjrvfjbkueruxoeznfzfrruszwxhyam
fvydflucdwggkrkdrceciidswrjwfpjbjdejdnrzpsroxcfjefiyvvbamrzfz
pejstfkoffurijhidztavjbvffijatyhdoiaacotkvztfsqopshzojkvwrzql
oyaauvhoibmfkfadwdbkfbzwljrgsceemhxhywttrrpzjakltbfbdvyjzflmv
qyqfqrjhxoezeclystkmghywkeoevqwbanvaymvwrjintrqwfpjbjsoioiwef
oigfbkdewlwgksodhsgnkrcghigdecgnbkdedlircaervyoiatyhbopboizff
uboiwmsiagzrswkoaxujokkpgrwhljikbycrptidhhgqbclhcgenzrshfsodh
sgwkokefzcwnudqgfboiijarhedlircaervysijtvdrgkksyrbhyaiivyfvjg
Kkxoxwievywepeiqfhzknrotdgknvqygjdetrsqcqdvg
破解过程:
1.先确定是单表还是多表加密,通过统计字母频率

把密文复制到Ciphertext处,点击左侧Freq,就有统计字母频率的功能。
统计结果:
a 120 0.034
b 91 0.026
c 105 0.030
d 178 0.051
e 178 0.051
f 164 0.047
g 99 0.028
h 180 0.051
i 148 0.042
j 205 0.058
k 201 0.057
l 111 0.032
m 55 0.016
n 113 0.032
o 146 0.041
p 85 0.024
q 82 0.023
r 193 0.055
s 168 0.048
t 139 0.039
u 87 0.025
v 177 0.050
w 210 0.060
x 63 0.018
y 97 0.028
z 126 0.036
可以选择用图表的形式显示出来:

可以看到字母频率分布的较平均,没有某个字符概率很高或者概率很低,所以猜测这是一个多表加密的密文。(因为单表加密通常都会显示出语言的特征)
现在已经知道是多表加密了,那用的是哪种多表加密算法呢?
实际的办法就只能一个个尝试。
首先假设这是一个Vigenere密码算法加密的密文:
先要确定密钥的长度
用CAP的Kasiski,得知
String Distance
yvv 273
yvv 707
yvv 868
yvv 1953
yvv 2765
yvv 3101
Yvv出现的距离:434 595 1680 2492 2828
最大公约数是7
猜测密钥的长度是7
再用CAP的Low Freq

输入密钥的长度7,给出的可能密钥是forward。
用CAP的Vigenere Cipher,输入keyword:forward,给出的原文是
there are very few people as entitledtoanalysethesimilaritiesanddif
ferencesbetweenmensandwomensfootballascarolinamoracefollowing
ayearplayingcareerduringwhichshebecamewidelyrecognisedasthegr
eatestitalianwomaninhistoryinshebeganacoachingcareerthatinclu
dedashortbutpioneeringstintatthehelmofamensclubseriecsviterbe
seinsincethenmoracehasmadeanameforherselfasoneofthetopcoaches
inwomensfootballandatvcommentatorforbothmensandwomensfootball
shehasalsobecomethefirstitalianwomantobeinductedintohercountr
ysfootballinghalloffameandallthatwhileworkingaslawyerinherspa
retimetheindefatigablemoraceslatestventureisasafifadevelopmen
tinstructorhavingjustconductedacourselastweekbetweenandoctobe
rattheiranianfootballacademyintehranthereshetrainediranianwom
enonthetechnicalaspectsofcoachingwomensfootballnotjustfootbal
lbutspecificallywomensfootballwhoeversaysthatthemensgameandth
ewomensgamearethesamehasclearlyneverworkedinaprofessionalenvi
ronmentshetoldfifacomasmuchaswomensfootballhasgrownoverthelas
tfewdecadesithasntbecomeanymoresimilartothemensgamewomenareph
ysicallydifferenttomenandthemorethewomensgamedevelopsthemorei
tisfullofspecificitiesthatrequireadifferentapproachfromacoach
justlikesayinvolleyballorbasketballtheresnopointingroupingita
llunderthesamecategorytheobviousphysicaldifferencesareonlythe
startingpointtheformerstrikeralsopointstokeytacticaldifferenc
esandtrainingmethodstakeaverysimpleexamplethepiggyinthemiddle
drillsshecontinuedyouremovethatfromamenstrainingsessionandyou
relostwhereasgenerallyspeakingfemaleplayersdonttendtocareabou
tthiskindofcompetitivenessinawarmupmoracehopesthatdevelopment
initiativeslikethewomensfootballcoachingcourseintehranwhichwa
sattendedbywomenonlywillhelptonarrowthegapbetweentheopportuni
tiesaffordedtomaleandfemalecoachesofcourseyouhavegreatcoaches
thatunderstandthewomensgamelikeantoniocabriniinitalyorphilipp
ebergerooinfrancesaidmoracebutwhatstrikesmeiswhensometeamsorc
lubschooseheadcoachesnotbasedonarsumorexperiencebutonlybecaus
etheyhappentobemenasisaidbeforethegameisdifferentandthatsclea
rtoeveryonebuttheopportunitiesaffordedtocoachesshouldntbediff
erentopportunitiesforallthegospelthatmoraceispreachingisparti
cularlyvaluableinthemiddleeastwherelatelywomensfootballhasmad
edramaticstridesiranforexamplefieldswomensnationalteamsfromal
lcategoriesstartingatuanditsnationalleaguefeaturesteamsinthef
irstdivisionandanotherfiveintheseconddivisionnottomentionatot
alfutsalteamsspreadacrossfourdifferentleaguedivisionsatfirstg
lanceitseasyforwesternstotendtothinkthatthisisacompletelydiff
erentculturebuthonestlyasanitalianwhatstruckmethemostwerethes
imilaritiessaidmoracepeoplearewarmandapproachableandtheresnop
lacewherethatisasclearasinfootballwhatisevidenttomeintehranis
agiganticpassionforfootballalevelofinterestthatstrulyoutstand
ingspecificallyamongthewomenthoughitsclearthatthispassioncarr
iesapotentialwhichisonlynowbeinguntappedhopefullythiscourseis
animportantsteptowardsthismahdiemohammadkhaniamemberoftheiran
ianfaswomenscommitteefullyagreeswiththeformeritalyandcanadaco
achwomensfootballhasflourishedinrecentyearsandnowadaysitsthem
ostpopularsportamongiranianwomenshesaiditsalsooneofthefavouri
tesportsformuslimwomenbecausetheyareallowedtoplaywhilewearing
aheadscarfmohammadkhanialsobelievesthatcombinationofdevelopme
ntcoursesandelitecompetitionslikenextyearsfifauwomensworldinj
ordanthefirstwomensworldcupheldinthemiddleeastarethewayforwar
dfortheregionitsagreatopportunitytoattractpublicopiniontowome
nsfootballandalsoforfemalemiddleeasternteamstoshowtheirstreng
thsagainstinternationalopponentssheconcluded
发现译文是有意义的,就把这个密文破解了。
如果发现译文是无意义的,就需要假设别的加密算法,根据假设的算法来使用相应的解密方法。
使用CPA4破解经典密码算法的更多相关文章
- Android逆向之旅---Android中锁屏密码算法解析以及破解方案
一.前言 最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机 ...
- 破解magento加密的密码算法
magento遇到丢掉密码的情况,其实很常见……比如我这记性,还好我比较暴力:-P 先看一段代码: /** * Hash a string * * @param s ...
- 【十大经典数据挖掘算法】PageRank
[十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 我特地把PageRank作为[十大经 ...
- 5分钟破解wpa2密码(转)
首先大家要明白一种数学运算,它叫做哈希算法(hash),这是一种不可逆运算,你不能通过运算结果来求解出原来的未知数是多少,有时我们还需要不同的未知数通过该算法计算后得到的结果不能相同,即你不太可能找到 ...
- 密码算法详解——DES
0 DES简介 在20世纪60年代后期,IBM公司成立了一个由Horst Feistel负责的计算机密码学研究项目.1971年设计出密码算法LUCIFER后,该项目宣告结束.LUCIFER被卖给了伦敦 ...
- Mac系统安装Aircrack-ng破解wifi密码(2)
我们上一篇文章说过如何通过Aircrack-ng, 破解使用WPA/PSK加密方式的路由密码, 这一篇介绍的是使用Aircrack-ng破解使用WEP加密方式的路由密码: WEP和WPA/PSK的区别 ...
- Kali Linux使用Aircrack破解wifi密码(wpa/wpa2)
Kali Linux能做很多事,但是它主要以渗透测试及'破解wifi密码'闻名. 如果你使用Macbook 请看 使用macbook破解WPA/WPA2 wifi密码 要求: 安装有Kali Linu ...
- 路由器安全——破解wifi密码,同时中间人攻击
聊聊安全那些事儿 篇一:Wi-Fi安全浅析 2016-04-25 13:18:16 141点赞 712收藏 63评论 前言 近期,Wi-Fi相关的安全话题充斥着电视新闻的大屏幕,先是曝出了路由器劫持的 ...
- liboqs-量子安全密码算法开源C库
liboqs是一个用于量子安全密码算法的开源C库. 一,概述 liboqs提供: 量子安全 密钥封装机制(KEM)和数字签名算法的开源实现的集合: 这些算法的通用API: 测试工具和基准测试例程. l ...
随机推荐
- HDOJ-ACM1023(JAVA)
题意:输入栈的大小,输出可能的出栈顺序的个数. 这道题,如果做了1022,那就只要在上面改改就行了, 第一想法是加上全排列-----结果是正确的,但是绝对会超时 验证性的实现了:(Time Limit ...
- 各大算法专题-STL篇
这篇文章着重记录c++中STL的用法.主要粗略的介绍其用法,以知识点的形式呈现其功能,不会深入源码分析其工作原理. 排序和检索. sort(a,a+n),对a[0]往后的n个元素(包括a[0])进行排 ...
- cnUVA情况
http://cn_uva.jd-app.com/ 欢迎访问
- poj1515--Street Directions(边的双连通)
给一个无向图,要求变成强连通的有向图,需要保留哪些边. 边的双连通,对于桥保留两条边,其他的只保留一条边.求双连通的过程中记录保留边. /******************************* ...
- 过滤器Filter(2)
过滤器-编码统一处理 过滤器的写法如下 package com.gqx.encodeFilter; import java.io.IOException; import java.lang.refle ...
- <Android>从窗口泄漏谈android:configChanges属性
今天有幸去哥们的大公司做了半天的暂时工,一个偶现的Bug折腾了他好久,好不easy今天抓到了异常Log日志.大致的意思就是android.view.windowleaked--窗口泄漏.我在网上查了资 ...
- HDU3746 Cyclic Nacklace 【KMP】
Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- asp.net分页控件库
AspNetPager分页控件 AspNetPager分页控件解决了分页中的很多问题,直接采用该控件进行分页处理,会将繁琐的分页工作变得简单化,下面是我如何使用AspNetPager控件进行分页处理的 ...
- (转+整理) oracle authid definer 与 authid current_user
转:http://blog.csdn.net/indexman/article/details/17067531 http://blog.csdn.net/liqfyiyi/article/detai ...
- socket.io中emit和on的用法【转】
socket.emit('action');表示发送了一个action命令,命令是字符串的,在另一端接收时,可以这么写: socket.on('action',function(){...});soc ...