首页 密码学Word版

密码学Word版

举报
开通vip

密码学Word版目录:  密码常识    字母表顺序-数字    进制转换密码    Mod算法    倒序    间隔    字母频率  凯撒密码(CaesarShifts,SimpleShift)  凯撒移位(中文版)  栅栏密码(TheRail-FenceCipher)  维吉尼亚密码(VigenèreCipher)  Polybius密码(PolybiusCipher)  ADFGX/ADFGVX密码(ADFGX/ADFGVXCipher)    ADFGX    ADFGVX  乘法密码(MultiplicationCi...

密码学Word版
目录:  密码常识    字母表顺序-数字    进制转换密码    Mod算法    倒序    间隔    字母频率  凯撒密码(CaesarShifts,SimpleShift)  凯撒移位(中文版)  栅栏密码(TheRail-FenceCipher)  维吉尼亚密码(VigenèreCipher)  Polybius密码(PolybiusCipher)  ADFGX/ADFGVX密码(ADFGX/ADFGVXCipher)    ADFGX    ADFGVX  乘法密码(MultiplicationCipher)  仿射密码(AffineShift)  希尔密码(HillCipher)    加密    解密  Playfair密码(PlayfairCipher)  摩斯电码  置换密码(TranspositionCipher)  替代密码(MonoalphabeticSubstitution)    字母表数字    字母表代码    反字母表    随机乱序字母    棋盘密码    键盘密码    键盘移位    软键盘密码    数字小键盘密码    手机键盘密码  数字谐音密码  数字记忆编码  百度/Google/网页字符    百度字符(GB2312)    Google字符(URI)    网页编码(Unicode)    Alt+数字小键盘  MD5【密码常识】字母表顺序-数字  加密的时候,经常要把A~Z这26个字母转换成数字,最常见的一种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 就是取字母表中的数字序号。A代表1,B代表2,C代表3...  字母ABCDEFGHIJKLMNOPQRSTUVWXYZ  数字1234567891011121314151617181920212223242526进制转换密码  例如二进制:1110101011101101011001011111110101  转为十进制:142113251815145  对应字母表:numberMod算法  我们可以对字母序号进行数学运算,然后把所得的结果作为密文。当运算结果大于26或小于1的时候,我们希望把这个数值转为1~26的范围,那么取这个数除以26的余数即可。  Mod就是求余数的运算符,有时也用“%”表示。例如29Mod26=3,或写成29%26=3,意思是29除以26的余数是3。倒序  加密时为经常要对字符进行倒序处理。如果让你按abcdef...的顺序背出字母表的每个字母会很容易,但是如果是zyxwvu...的顺序那就很难背出来了。一个很熟悉的单词,如果按相反的顺序拼写,可能就会感到很陌生。  例如“love”字母倒过来拼就是“evol”。  具体加密时倒序有很多种 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,需要灵活运用。例如:  每个单词的倒序:sihtsiatset-thisisatest  整句的倒序:tsetasisiht-thisisatest  数字的倒序:02509102-20051920(test)间隔  单词之间的间隔一般使用空格。在加密时常常要去掉空格,但有时某些字母或数字来替代空格也不失为一种好的加密方案。错误空格位置也会起到很强的误导作用。  例如:thisisatest-thisisatest字母频率  频率 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 法可以有效的破解单字母替换密码。  关于词频问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出现的百分比:  a8.2b1.5c2.8d4.3  e12.7f2.2g2.0h6.1  i7.0j0.2k0.8l4.0  m2.4n6.7o7.5p1.9  q0.1r6.0s6.3t9.1  u2.8v1.0w2.4x0.2  y2.0z0.1  词频法其实就是计算各个字母在文章中的出现频率,然后大概猜测出明码表,最后验证自己的推算是否正确。这种方法由于要统计字母出现频率,需要花费时间较长。参考《跳舞的小人》和《金甲虫》。【凯撒密码(CaesarShifts,SimpleShift)】  也称凯撒移位,是最简单的加密方法之一,相传是古罗马恺撒大帝用来保护重要军情的加密系统,它是一种替代密码。  加密公式:密文=(明文+位移数)Mod26  解密公式:明文=(密文-位移数)Mod26  以《数字城堡》中的一组密码为例:  HLFKZCVDLDS  只需把每个字母都按字母表中的顺序依次后移一个字母即可——A变成B,B就成了C,依此类推。因此明文为:  IMGLADWEMET  英文字母的移位以移25位为一个循环,移26位等于没有移位。所以可以用穷举法列出所有可能的组合。  例如:phhwphdiwhuwkhwrjdsduwb  利用电脑可以方便地列出所有组合,然后从中选出有意义的话:  qiixqiejxivxlixsketevxc  rjjyrjfkyjwymjytlfufwyd  skkzskglzkxznkzumgvgxze  tllatlhmalyaolavnhwhyaf  ummbuminbmzbpmbwoixizbg  vnncvnjocnacqncxpjyjach  woodwokpdobdrodyqkzkbdi  xppexplqepcespezrlalcej  yqqfyqmrfqdftqfasmbmdfk  zrrgzrnsgregurgbtncnegl  asshasothsfhvshcuodofhm  bttibtpuitgiwtidvpepgin  cuujcuqvjuhjxujewqfqhjo  dvvkdvrwkvikyvkfxrgrikp  ewwlewsxlwjlzwlgyshsjlq  fxxmfxtymxkmaxmhztitkmr  gyyngyuznylnbyniaujulns  hzzohzvaozmoczojbvkvmot  iaapiawbpanpdapkcwlwnpu  jbbqjbxcqboqebqldxmxoqv  kccrkcydrcprfcrmeynyprw  lddsldzesdqsgdsnfzozqsx  meetmeafterthetogaparty<-  nffunfbgufsuifuphbqbsuz  oggvogchvgtvjgvqicrctva  可知明文为:meetmeafterthetogaparty-------------------------------------------------------------------------【凯撒移位(中文版)】  就是按照中文字在Unicode编码表中的顺序进行移位,可以用来加密中文的信息。  例:[中文凯撒移位]  转换成Unicode编码:中文凯撒移位  移1位后成为:丮斈凰撓秼低  转换成中文:[丮斈凰挠秼低]\【栅栏密码(TheRail-FenceCipher)】  也称栅栏易位(ColumnarTransposition),即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。栅栏密码是一种置换密码。  例如密文:TEOGSDYUTAENNHLNETAMSHVAED  解密过程:先将密文分为两行  TEOGSDYUTAENN  HLNETAMSHVAED  再按上下上下的顺序组合成一句话  THELONGESTDAYMUSTHAVEANEND.  .............................................................  加密时不一定非用两栏,还是举《数字城堡》中的一个例子,密文为:  PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI  去掉空格:PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCNSIIAAIEERBRNKFBLELODI  共64个字符,以8个字符为一栏,排列成8*8的方阵(凯撒方阵):  PFEESESN  RETMMFHA  IRWEOOIG  MEENNRMA  ENETSHAS  DCNSIIAA  IEERBRNK  FBLELODI  从上向下竖着读:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI  插入空格:PRIMEDIFFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDNAGASAKI(广岛和长崎的原子弹轰炸的最主要区别)  .............................................................  栅栏密码也可以用于中文,不过比较容易破解。  明文:这是中文的栅栏密码  密文(3*3方阵):这文栏是的密中栅码  由于中文用规则的栅栏比较容易破解,所以产生了一些变体,例如道家心法密籍《天仙金丹心法》中的一段加密方法。密文如下:  ○茫天:摹然月终为鼎半是真灭器轮假不但伸净著定分泥万○无○光人经法一从尘色返我权自法中妙大空照生屈来好路形神海○便还未归  ○茫  天:摹  然月终为  鼎半是真灭  器轮假不但伸  净著定分泥万○  无○光人经法一从  尘色返我权自法中妙  大空照生屈来好路形神  海○便还未归  明文(从上向下竖着读):天然鼎器净无尘,大海茫茫月半轮。著色空摹终是假,定光返照便为真。不分人我生还灭,但泥经权屈未伸。万法自来归一法,好从中路妙形神。  .............................................................  利用电脑进行加密或解密,建议使用“列举加密”或“列举解密”,电脑会自动尝试一些正好匹配的栏位进行列举。6回复:《灰灰的密码学笔记》【维吉尼亚密码(VigenèreCipher)】  由于频率分析法可以有效的破解单表替换密码,法国密码学家维吉尼亚于1586年提出一种多表替换密码,即维吉尼亚密码,也称维热纳尔密码。维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。  加密算法:例如密钥的字母为[d],明文对应的字母[b]。根据字母表的顺序[d]=4,[b]=2,那么密文就是[d]+[b]-1=4+2-1=5=[e],因此加密的结果为[e]。解密即做此逆运算。  加密公式:密文=(明文+密钥)Mod26-1  解密公式:明文=[26+(密文-密钥)]Mod26+1  也可以用查表法来进行加密:例如密钥的字母为[d],明文对应的字母[b],在下图的表格第一行找到字母"d"(深蓝色),再在左边第一列找到字母"b"(绿色),两个字母的交叉点(b行d列)就是字母"E",所以对应的密文字母为[e]。  [-----------------图-----------------]   a b c d e f g h i j k l m n o p q r s t u v w x y z  a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A  c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B  d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C  e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D  f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E  g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F  h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G  i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H  j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I  k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J  l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K  m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L  n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M  o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N  p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O  q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P  r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q  s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R  t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S  u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T  v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U  w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V  x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W  假如对如下明文加密:  tobeornottobethatisthequestion  当选定“have”作为密钥时,加密过程是:密钥第一个字母为[h],明文第一个为[t],因此可以找到在h行t列中的字母[a],依此类推,得出对应关系如下:  密钥:havehavehavehavehavehavehaveha  明文:tobeornottobethatisthequestion  密文:aowivrisatjfltceainxoelylsomvn【Polybius密码(PolybiusCipher)】  也称棋盘密码,是利用波利比奥斯方阵(PolybiusSquare)进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。  假设我们需要发送明文讯息“Attackatonce”,用一套秘密混杂的字母表填满波利比奥斯方阵,像是这样:  ADFGX  Abtalp  Ddhozk  Fqfvsn  Ggjcux  Xmrewy  i和j视为同一个字,使字母数量符合5×5格。之所以选择这五个字母,是因为它们译成摩斯密码时不容易混淆,可以降低传输错误的机率。使用这个方格,找出明文字母在这个方格的位置,再以那个字母所在的栏名称和列名称代替这个字母。可将该讯息转换成处理过的分解形式。  明文:ATTACKATONCE  密文:AFADADAFGFDXAFADDFFXGFXF  A,D,F,G,X也可以用数字1,2,3,4,5来代替,这样密文就成了:  131212134325131223354353-------------------------------------------------------------------------【ADFGX/ADFGVX密码(ADFGX/ADFGVXCipher)】ADFGX  1918年,第一次世界大战将要结束时,法军截获了一份德军电报,电文中的所有单词都由A、D、F、G、X五个字母拼成,因此被称为ADFGX密码。ADFGX密码是1918年3月由德军上校FritzNebel发明的,是结合了Polybius密码和置换密码的双重加密方案。A、D、F、G、X即Polybius方阵中的前5个字母。  明文:ATTACKATONCE  经过Polybius变换:AFADADAFGFDXAFADDFFXGFXF  下一步,利用一个移位密钥加密。假设密钥是“CARGO”,将之写在新格子的第一列。再将上一阶段的密码文一列一列写进新方格里。  CARGO  _________  AFADA  DAFGF  DXAFA  DDFFX  GFXFX  最后,密钥按照字母表顺序“ACGOR”排序,再按照此顺序依次抄下每个字母下面的整列讯息,形成新密文。如下:  FAXDFADDDGDGFFFAFAXXAFAFX  在实际应用中,移位密钥通常有两打字符那么长,且分解密钥和移位密钥都是每天更换的。ADFGVX  在1918年6月,再加入一个字V扩充。变成以6×6格共36个字符加密。这使得所有英文字母(不再将I和J视为同一个字)以及数字0到9都可混合使用。这次增改是因为以原来的加密法发送含有大量数字的简短信息有问题。作者:秋雨灰灰2007-6-1010:42 回复此发言--------------------------------------------------------------------------------8回复:《灰灰的密码学笔记》【乘法密码(MultiplicationCipher)】  乘法密码也是一种简单的替代密码,与凯撒密码相似,凯撒密码用的是加法,而乘法密码用的自然是乘法。这种方法形成的加密信息保密性比较低。  加密公式:密文=(明文*乘数)Mod26  对于乘数密码,只有当乘数与26互质时,加密之后才会有唯一的解,因此乘数只可能有如下11种的选择:  乘数=3,5,7,9,11,15,17,19,21,23,25  仿射密码和希尔密码因为都用到了乘法,所以乘数也受到相同的局限。-------------------------------------------------------------------------【仿射密码(AffineShift)】  仿射密码就是凯撒密码和乘法密码的结合。  加密公式:密文=(明文*乘数+位移数)Mod26-------------------------------------------------------------------------【希尔密码(HillCipher)】  希尔密码就是矩阵乘法密码,运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0,B=1,C=2...一串字母当成n维向量,跟一个n×n的密钥矩阵相乘,再将得出的结果模26。希尔密码的优点是完全隐藏了字符的频率信息,弱点是容易被已知明文攻击击破。加密  例如:密钥矩阵  13  02  明文:HITHERE  去空格,2个字母一组,根据字母表顺序换成矩阵数值如下,末尾的E为填充字元:  HITHEREE  82055  98185  HI经过矩阵运算转换为IS,具体算法参考下面的说明:  |13|8e1*8+3*9=35MOD26=9=I  |02|9e0*8+2*9=18MOD26=18=S  用同样的方法把“HITHERE”转换为密文“ISRPGJTJ”,注意明文中的两个E分别变为密文中的G和T。解密  解密时,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。  逆矩阵算法公式:  |AB|=1/(AD-BC)*|D-B|  |CD||-CA|  例如密钥矩阵=  |17|  |03|  AD-BC=1*3-0*7=33*X=1mod26所以X=9  因此  |17|的逆矩阵为:9*|3-7|  |03||01|  假设密文为“FOAOESWO”  FOAOESWO  61523  15151915  9*|3-7||6|=9*(3*6-7*15)=-783mod26=23=W  |01||15|=9*(0*6+1*15)=135mod26=5=E  所以密文“FOAOESWO”的明文为“WEREDONE”-------------------------------------------------------------------------【Playfair密码(PlayfairCipher)】  Playfair将明文中的双字母组合作为一个单元对待,并将这些单元转换为双字母组合。加密后的字符出现的频率在一定程度上被均匀化。  5*5变换矩阵(I或J视为同一字符):  CIPHE  RABDF  GKLMN  OQSTU  VWXYZ  加密规则:按成对字母加密  相同对中的字母加分隔符(如x)  ballon->balxloon  同行取右边:he->ec  同列取下边:dm->mt  其他取交叉:kt->mqod->tr  例如:ballon->balxloon->dbspgsug作者:秋雨灰灰2007-6-1010:42 回复此发言--------------------------------------------------------------------------------9回复:《灰灰的密码学笔记》【摩斯电码】  摩斯电码(摩尔斯电码)是一种发报用的信号代码,是一种替代密码,用点(Dot)和划(Dash)的组合来表示各个英文字母或标点。  国际标准摩斯电码表  1*----A*-N-*[.]*-*-*-  2**---B-***O---[,]--**--  3***--C-*-*P*--*[:]---***  4****-D-**Q--*-[']*----*  5*****E*R*-*[?]**--**  6-****F**-*S***[-]-****-  7--***G--*T-[()]-*--*-  8---**H****U**-[@]*--*-*  9----*I**V***-[—]-***-  0-----J*---W*--分数线-**-*      K-*-X-**-      L*-**Y-*--终了[\r]***-*-      M--Z--**始信[\n]-*-*-  例:Hello(斜线代表字母之间的间隔)  ****/*/*-**/*-**/---/作者:秋雨灰灰2007-6-1010:43 回复此发言--------------------------------------------------------------------------------10回复:《灰灰的密码学笔记》【置换密码(TranspositionCipher)】  也称易位密码。-------------------------------------------------------------------------【替代密码(MonoalphabeticSubstitution)】  也称单表替换密码。字母表数字  用1-26这些数字分别表示A-Z的字母。  字母ABCDEFGHIJKLMNOPQRSTUVWXYZ  数字1234567891011121314151617181920212223242526字母表代码  同字母表数字,只是把10以下的数字添0补位。  字母ABCDEFGHIJKLMNOPQRSTUVWXYZ  数字0102030405060708091011121314151617181920212223242526反字母表  就是丹·布朗在《达·芬奇密码》一书中提到的埃特巴什码(AtbashCipher)。它的原理是取一个字母,指出它位于字母表正数第几位,再把它替换为从字母表倒数同样的位数后得到的字母。如:E被替换为V,N被替换为M等。  明码表ABCDEFGHIJKLMNOPQRSTUVWXYZ  密码表ZYXWVUTSRQPONMLKJIHGFEDCBA  明文:sophia  密文:hlksrz随机乱序字母  即单字母替换密码。重排密码表二十六个字母的顺序,密码表会增加到四千亿亿亿多种,能有效的防止用筛选的方法检验所有的密码表。这种密码持续使用几个世纪,直到阿拉伯人发明了频率分析法。  明码表ABCDEFGHIJKLMNOPQRSTUVWXYZ  密码表QWERTYUIOPASDFGHJKLZXCVBNM  明文:forest  密文:gbmrst棋盘密码  即Polybius密码。键盘密码  加密的原理同棋盘密码,只是利用了键盘作为方阵。  键盘的字母分布:  ~!@#$%^&*()_+|  `1234567890-=\  QWERTYUIOP{}  qwertyuiop[]  ASDFGHJKL:"  asdfghjkl;'  ZXCVBNM<>?  zxcvbnm,./  密文:72811263011263  明文:jianpan  低下头看看键盘就知道了,密文就是键盘上的26个字母的坐标,72即第7列第2行,第7列正好是数字键[7]的位置,往下2个就是字母[J]。键盘移位  密文:kosm[sm  明文:jianpan  就是键盘上的字母往右一个。例如[j]键的右面是[k],[i]键的右面是[o],依此类推。软键盘密码  密文1:まはすにはつへつたっゃのせちなゃひつなゃてなゃひつなゅつぬす  密文2:ㄈㄘㄍㄋㄘㄛㄠㄛㄗㄟㄙㄕㄐㄧㄇㄙㄨㄛㄇㄙㄣㄇㄙㄨㄛㄇㄩㄛㄎㄍ  密文3:црвмржужезыпгёлысжлыилысжльжнв  密文4:#←☆△←◇〓◇●◆_→★◎■_↑◇■_□■_↑◇■ ̄◇▲☆  明文:zheshiliyongruanjianpanjiamide(这是利用软键盘加密的)  用智能ABC或微软拼音输入法,把小键盘打开,选择日本平假名字符,输入“zheshi”就会出现“まはすにはつ”,如果切换到俄文字符就会出现“црвмрж”……数字小键盘密码  数字小键盘的字母分布:  789  456  123  密文:8527412374123698774269789741234567412369  明文:ILOVEU  对照小键盘,依次打这些字母,看组成的形状就行了。  关于Alt+小键盘数字的加密方法,参看:百度/Google/网页字符。手机键盘密码  [-----------------图-----------------]  根据手机键盘上的数字和对应的字母进行加密。  密文:4221717193  明文:HAPPY  “42”:4键对应的是GHI,GHI第2个就是H;“21”:2键对应的是ABC,ABC第1个就是A。  加密时往往只出现数字键,而不给出具体的字母位置,这时解密时就要列举所有可能的组合,从中选出有意义的单词来。  例如密文:42779,这时就要从GHIABCPQRSPQRSWXYZ中提出有意义的字符:HAPPY  另一种方法是根据形状加密的,和数字小键盘密码相同,按照密码里的数字比划一下就划出来了。  比如密文173946,对应的明文是H,17是左边一竖,39是右边一竖,46是中间一横。作者:秋雨灰灰2007-6-1010:44 回复此发言--------------------------------------------------------------------------------11回复:《灰灰的密码学笔记》【百度/Google/网页字符】  下面解释一下在百度、Google搜索中文的关键词时,地址栏上出现的奇怪字符。百度字符(GB2312)  例如在百度搜索“你好”两个字,会转到一个地址为http://www.baidu.com/s?wd=%C4%E3%BA%C3的网页。  密文(GB码16进制):%C4%E3%BA%C3  密文(GB码十进制):5040347811  明文:你好  百度用的是GB2312的中文编码,是16进制的。GB2312是标准的简体中文编码。“你”字的GB码为C4E3,“好”字的GB码为BAC3。“你好”转换成十进制为50403和47811。Google字符(URI)  例如在Google搜索“你好”两个字,会转到一个地址为http://www.google.cn/search?q=%E4%BD%A0%E5%A5%BD的网页。  密文(URI):%E4%BD%A0%E5%A5%BD  明文:你好  URI全称UniformResourceIdentifier(通用资源标识符)。Internet可用的每种资源-HTML文档、图像、视频片段、程序等-由一个通过URI进行定位。网页编码(Unicode)  论坛里常玩的一个把戏,就是让你回 行书字帖3500常用字图幼儿笔画描红字帖田字格空白字帖簪花小楷字帖乐善堂 时写一堆像天书一样的奇怪字符,而回帖之后就能看到相应的文字。  密文(Unicode16进制):楼主是个天才  密文(Unicode10进制):楼主是个天才  明文:楼主是个天才  这里使用的是Unicode编码(十进制),Unicode是一种全世界范围的文字编码,网页都支持这种编码。Alt+数字小键盘  按住Alt键,在任意文本框中,用键盘右边的数字小键盘输入55021,然后松开Alt键,这时你看到了什么?  用同样的方法分别输入“你好”两个字的GB代码(十进制)50403、47811,这时你将在文本框中看到这两个字。  注意在qq的对话框中,要使用Unicode代码(十进制)20320、22909。作者:秋雨灰灰2007-6-1010:48 回复此发言--------------------------------------------------------------------------------12回复:《灰灰的密码学笔记》【MD5】简介  MD5的全称是Message-DigestAlgorithm5(信息-摘要算法),在90年代初由RonaldL.Rivest开发出来,经MD2、MD3和MD4发展而来。  MD5是一种散列(Hash)算法,散列算法的用途不是对明文加密,让别人看不懂,而是通过对信息摘要的比对,防止对原文的篡改。通常对散列算法而言,所谓的“破解”,就是找碰撞。  MD5是把一个任意长度的字节串加密成一个固定长度的大整数(通常是16位或32位),加密的过程中要筛选过滤掉一些原文的数据信息,因此想通过对加密的结果进行逆运算来得出原文是不可能的。  关于MD5的应用,举个具体的例子吧。例如你在一个论坛注册一个账号,密码设为“qiuyu21”。此密码经过MD5运算后,变成“287F1E255D930496EE01037339CD978D”,当你点“提交”按钮提交时,服务器的数据库中不记录你的真正密码“qiuyu21”,而是记录那个MD5的运算结果。然后,你在此论坛登录,登录时你用的密码是“qiuyu21”,电脑再次进行MD5运算,把“qiuyu21”转为“287F1E255D930496EE01037339CD978D”,然后传送到服务器那边。这时服务器就把你传过来的MD5运算结果与数据库中你注册时的MD5运算结果比较,如果相同则登录成功。  也就是说,服务器只是把MD5运算结果作比较。你也许会问,服务器为什么不用直接对你的密码“qiuyu21”进行校验呢?因为如果服务器的数据库里存的是你的真实密码,那么黑客只要破解了服务器的数据库,那么他也就得到了所有人的密码,他可以用里面的任意密码进行登录。但是如果数据库里面的密码都是MD5格式的,那么即使黑客得到了“287F1E255D930496EE01037339CD978D”这一串数字,他也不能以此作为密码来登录。  现在再来谈谈MD5的破解。假设你是攻击者,已经得到了“287F1E255D930496EE01037339CD978D”这一串数字,那么你怎么能得出我的密码是“qiuyu21”呢?因为MD5算法是不可逆的,你只能用暴力法(穷举法)来破解,就是列举所有可能的字母和数字的排列组合,然后一一进行MD5运算来验证运算结果是否为“287F1E255D930496EE01037339CD978D”,“qiuyu21”这个密码是7位英文字符和数字混合,这样的排列组合的数量是个天文数字,如果一一列举,那么在你有生之年是看不到了。所以只有使用黑客字典才是一种有效可行的方法,黑客字典可以根据一些规则自动生成。例如“qiuyu21”这个密码,就是一种常见的组合,规则是:拼音+拼音+数字,拼音总共大约400个,数字以2位数100个来算,这种规则总共约400*400*100=16,000,000种可能,使用优化的算法,估计用1秒就能破解吧。就算考虑到字母开头大写或全部大写的习惯,也只会花大约10几秒时间。如果是破解你熟悉的某个人的密码,那么你可以根据你对他的了解来缩小词典的范围,以便更快速的破解。这种破解方法在很大程度上依赖于你的运气。  最后谈谈MD5的碰撞。根据密码学的定义,如果内容不同的明文,通过散列算法得出的结果(密码学称为信息摘要)相同,就称为发生了“碰撞”。因为MD5值可以由任意长度的字符计算出来,所以可以把一篇文章或者一个软件的所有字节进行MD5运算得出一个数值,如果这篇文章或软件的数据改动了,那么再计算出的MD5值也会产生变化,这种方法常常用作数字签名校验。因为明文的长度可以大于MD5值的长度,所以可能会有多个明文具有相同的MD5值,如果你找到了两个相同MD5值的明文,那么你就是找到了MD5的“碰撞”。  散列算法的碰撞分为两种,强无碰撞和弱无碰撞。还是以前面那个密码为例:假如你已知“287F1E255D930496EE01037339CD978D”这个MD5值,然后找出了一个单词碰巧也能计算出和“qiuyu21”相同的MD5值,那么你就找到了MD5的“弱无碰撞”,其实这就意味着你已经破解了MD5。如果不给你指定的MD5值,让你随便去找任意两个相同MD5值的明文,即找“强无碰撞”,显然要相对容易些了,但对于好的散列算法来说,做到这一点也很不容易了。  值得一提的是,强无碰撞已经被中国的王小云老师给搞定了,她提出的算法可以在短时间内找到碰撞,在世界上引起了轰动,现在的电脑大约一两个小时就可以找到一对碰撞。遗憾的是,找到强无碰撞在实际破解中没有什么真正的用途,所以现在MD5仍然是很安全的。作者:秋雨灰灰2007-6-1010:49 回复此发言--------------------------------------------------------------------------------13回复:《灰灰的密码学笔记》MD5算法描述  对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。  在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(BitsLength)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。  MD5中有四个32位被称作链接变量(ChainingVariable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。  当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。  将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。  主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。以一下是每次操作中用到的四个非线性函数(每轮一个)。    F(X,Y,Z)=(X&Y)|((~X)&Z)    G(X,Y,Z)=(X&Z)|(Y&(~Z))    H(X,Y,Z)=X^Y^Z    I(X,Y,Z)=Y^(X|(~Z))    (&是与,|是或,~是非,^是异或)  这四个函数的说明:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。F是一个逐位运算的函数。即,如果X,那么Y,否则Z。函数H是逐位奇偶操作符。  假设Mj表示消息的第j个子分组(从0到15):  <
本文档为【密码学Word版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
夕夕资料
拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.
格式:doc
大小:84KB
软件:Word
页数:0
分类:文学
上传时间:2021-03-25
浏览量:15