关键词不能为空

当前您在: 主页 > 英语 >

密码常识

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-09 05:24
tags:

-

2021年2月9日发(作者:薪水)


【密码常识】






字母表顺序


-


数字










加密的时候,经常要把


A~Z


< p>
26


个字母转换成数字,最常见的一种方法就是取字母表

< br>中的数字序号。


A


代表


1



B


代表


2



C


代表


3...










字母



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









数字



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26





进制转换密码










例如二进制:


1110 10101 1101 10 101 10010 1111 1110 101









转为十进制:


14 21 13 2 5 18 15 14 5









对应字母表:


number







Mod


算法










我们可以对字母序号进行数学运算 ,然后把所得的结果作为密文。当运算结果大于


26


或小于


1


的时候,


我们希望把这个数值转为


1~26


的范围,


那么取这个数除以


26


的余数即可。











Mod


就是求余数的运算符,有时也用“


%


” 表示。例如



29 Mod 26 = 3


,或写成



29 % 26


= 3


,意思是


29

< br>除以


26


的余数是


3

< p>







倒序










加密时 为经常要对字符进行倒序处理。


如果让你按


abcdef...


的顺序背出字母表的每个字


母会很容易,但是如果是

< p>
zyxwvu...


的顺序那就很难背出来了。一个很熟悉的单词,如果按 相


反的顺序拼写,可能就会感到很陌生。











例如“


love


”字母倒过来拼就是“


evol













具体加密时倒序有很多种方案,需要灵活运用。例如:











每个单词的倒序:


siht si a tset - this is a test









整句的倒序:


tset a si siht - this is a test









数字的倒序:


02 50 91 02 - 20 05 19 20(test)







间隔










单词之 间的间隔一般使用空格。在加密时常常要去掉空格,但有时某些字母或数字来


替代空格也 不失为一种好的加密方案。错误空格位置也会起到很强的误导作用。











例如:


t hi sis at est - this is a test






字母频率










频率分析法可以有效的破解单字母替换密码。











关于词频问题的密码,我在这里提供英文字母的出现频率给大家,其中数字全部是出


现的百分比:










a





8.2







b





1.5







c





2.8







d





4.3









e 12.7







f





2.2







g





2.0







h





6.1









i





7.0







j





0.2







k





0.8







l





4.0









m





2.4







n





6.7<1>







o





7.5







p





1.9









q





0.1







r





6.0







s





6.3







t





9.1









u





2.8







v





1.0







w





2.4







x





0.2









y





2.0







z





0.1










词频法其实就是计算各个字母在文 章中的出现频率,然后大概猜测出明码表,最后验


证自己的推算是否正确。这种方法由于 要统计字母出现频率,需要花费时间较长。参考《跳


舞的小人》和《金甲虫》

< p>






【凯撒密码


(Caesar Shifts, Simple Shift)












也称凯撒移位,是最简单的加密方法之一,相传是古罗马恺撒大帝用来保护重要军情


的加密系统,它是一种替代密码。











加密公式:密文



= (


明文



+


位移数


) Mod 26









解密公式:明文



= (


密文



-


位移数


) Mod 26










以《数字城堡》中的一组密码为例:











HL FKZC VD LDS










只需把每个字母都按字母表中的顺序依次后移一个字母即可— —


A


变成


B



B


就成了


C



依此类推。因此明文为:











IM GLAD WE MET










英文字母的移位以移


25

< p>
位为一个循环,移


26


位等于没有移位。所以可以 用穷举法列


出所有可能的组合。







例如:


phhw ph diwhu wkh wrjd sduwb










利用电脑可以方便地列出所有组合,然后从中选出有意义的话:











qiix qi ejxiv xli xske tevxc









rjjy rj fkyjw ymj ytlf ufwyd









skkz sk glzkx znk zumg vgxze









tlla tl hmaly aol avnh whyaf









ummb um inbmz bpm bwoi xizbg









vnnc vn jocna cqn cxpj yjach









wood wo kpdob dro dyqk zkbdi









xppe xp lqepc esp ezrl alcej









yqqf yq mrfqd ftq fasm bmdfk









zrrg zr nsgre gur gbtn cnegl









assh as othsf hvs hcuo dofhm









btti bt puitg iwt idvp epgin









cuuj cu qvjuh jxu jewq fqhjo









dvvk dv rwkvi kyv kfxr grikp









ewwl ew sxlwj lzw lgys hsjlq









fxxm fx tymxk max mhzt itkmr









gyyn gy uznyl nby niau julns









hzzo hz vaozm ocz ojbv kvmot









iaap ia wbpan pda pkcw lwnpu









jbbq jb xcqbo qeb qldx mxoqv









kccr kc ydrcp rfc rmey nyprw









ldds ld zesdq sgd snfz ozqsx









meet me after the toga party <-









nffu nf bgufs uif uphb qbsuz









oggv og chvgt vjg vqic rctva










可知明文为:


meet me after the toga party






【凯撒移位


(


中文版


)












就是按照中文字在


Unicode


编码表中 的顺序进行移位,可以用来加密中文的信息。











例:< /p>


[


中文凯撒移位


]










转换成


Unicode


编码:中文凯撒移位











1


位后成为:










丮斈凰挠秼低










转换成中文:

[


丮斈凰挠秼低


]






【栅栏密码


(The Rail-Fence Cipher)












也称栅栏易位


(Columnar Transpositio n)



即把将要传递的信息中的字母交替排成上下两

< p>
行,


再将下面一行字母排在上面一行的后边,


从而 形成一段密码。


栅栏密码是一种置换密码。











例如密文:


TEOGSDYUTAENNHLNETAMSHVAE D










解密过程:先将密文分为两行











T E O G S D Y U T A E N N









H L N E T A M S H V A E D










再按上下上下的顺序组合成一句话











THE LONGEST DAY MUST HAVE AN END.






... .................................................. ........









加密时不一定非用两栏,还是举《数字城堡》中的一个例子,密文为:











PFEE SESN RETM MFHA IRWE OOIG MEEN NRMA ENET SHAS DCNS IIAA IEER BRNK FBLE


LODI














PFEESESNRETMMFHAIRWEOOIGMEENNRMAENETSHASDCN SIIAAIEERBRNKFBLELODI











64< /p>


个字符,以


8


个字符为一栏,排列成


8*8


的方阵


(


凯 撒方阵


)












P F E E S E S N









R E T M M F H A









I R W E O O I G









M E E N N R M A









E N E T S H A S









D C N S I I A A









I E E R B R N K









F B L E L O D I

















PRIMEDI FFERENCEBETWEENELEMENTSRESMONSIBLEFORHIROSHIMAANDN AGASAKI












插入空格:


PRIME DIFFERENCE BETWEEN ELEMENTS RESMONSIBLE FOR HIROSHIMA AND


NAGASAKI (


广岛和长崎的原子弹轰炸的最主要区别


)






......................................... ....................









栅栏密码也可以用于中文,不过比较容易破解。











明文:













这是中文的栅栏密码










密文


(3 *3


方阵


)


:这文栏是的密中栅码











由于中文用规则的栅栏比较容易破解,所以产生了一些变体, 例如道家心法密籍《天


仙金丹心法》中的一段加密方法。密文如下:


























































































































便
































































































































































































便

















明文


(


从上向下竖着读

)


:天然鼎器净无尘,大海茫茫月半轮。著色空摹终是假,定光

返照便为真。不分人我生还灭,但泥经权屈未伸。万法自来归一法,好从中路妙形神。







....................................... ......................









利用电脑进行加密或解密,建议使用“列举加密”或“列举解 密”


,电脑会自动尝试一


些正好匹配的栏位进行列举。











lyiroonevuclesey










4


栏:










loveyousincerely










8


栏:










lionvceeyroeulsy








【维吉尼亚密码


(Vigen


è


re Cipher)












由于频 率分析法可以有效的破解单表替换密码,法国密码学家维吉尼亚于


1586


年提


出一种多表替换密码,即维吉尼亚密码,也称维热纳尔密码。维吉尼亚密 码引入了“密钥”


的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字 频统计。











加密算法:例如密钥的字母为


[d]


,明文对应的字母。根据字母表的顺序


[d]=4,=2


,那


么密文就是


[ d]+-1=4+2-1=5=[e]


,因此加密的结果为


[e ]


。解密即做此逆运算。











加密公式:密文



= (


明文



+


密钥


) Mod 26 - 1









解密公式:明文



= [26 + (


密文



-


密钥


)] Mod 26 + 1










也可以 用查表法来进行加密:例如密钥的字母为


[d]


,明文对应的字 母,在下图的表格


第一行找到字母



深蓝 色


)


,再在左边第一列找到字母



绿色


)


,两个字母的交叉点

< br>(b



d


)


就是字母



,所以对应的密文字母 为


[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









y 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 X









z Z 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





假如对如下明文加密:











to be or not to be that is the question










当选定 “


have


”作为密钥时,加密过程是:密钥第一个字母为


[h]


,明文第一个为


[t]



因此可以找到在


h



t


列中的字母


[a]


,依此类推,得出对应关系如下:











密钥:


ha ve ha veh av eh aveh av eha vehaveha









明文:


to be or not to be that is the question









密文:


ao wi vr isa tj fl tcea in xoe lylsomvn






ADFGX/ADFGVX


密码


(ADFGX/ADFGVX Cipher)






ADFGX









19<1>18

< br>年,第一次世界大战将要结束时,法军截获了一份德军电报,电文中的所有


单词都 由


A



D


、< /p>


F



G



X


五个字母拼成,因此被称为


ADFGX


密码。


ADFGX


密码是

< br>19<1>18



3


月由德军上 校


Fritz Nebel


发明的,


是 结合了


Polybius


密码和置换密码的双重加密方案。


A



D



F



G



X



Polybius


方阵 中的前


5


个字母。











明文:


A T T A C K A T O N C E









经过< /p>


Polybius


变换:


AF AD AD AF GF DX AF AD DF FX GF XF










下一步 ,利用一个移位密钥加密。假设密钥是“


CARGO



,将之写在新格子的第一列。


再将上一阶段的密码文一列一列写进新方格 里。











C A R G O









_________









A F A D A









D A F G F









D X A F A









D D F F X









G F X F X










最后,密钥按照字母表顺序“


ACG OR


”排序,再按照此顺序依次抄下每个字母下面的


整列讯息, 形成新密文。如下:











FAXDF ADDDG DGFFF AFAXX AFAFX










在实际应用中,移位密钥通常有两 打字符那么长,且分解密钥和移位密钥都是每天更


换的。





ADFGVX










19<1>18



6


月,再加入一个字


V


扩充。变成以


6


×


6


格共


36


个字符加密。这使得


所有英文字母(不再将

I



J


视为同一个字)以及数字< /p>


0



9


都可混合 使用。这次增改是因


为以原来的加密法发送含有大量数字的简短信息有问题。

< p>








【乘法密码


(Multiplication Cipher)












乘法密 码也是一种简单的替代密码,与凯撒密码相似,凯撒密码用的是加法,而乘法


密码用的自 然是乘法。这种方法形成的加密信息保密性比较低。











加密公式:密文



= (


明文



*


乘数


) Mod 26










对于乘 数密码,只有当乘数与


26


互质时,加密之后才会有唯一的解, 因此乘数只可


能有如下


11


种的选择:











乘数



= 3,5,7,9,11,15,17,19,21,23,25










仿射密 码和希尔密码因为都用到了乘法,所以乘数也受到相同的局限。







【仿射密码


(Affine Shift)












仿射密码就是凯撒密码和乘法密码的结合。











加密公式:密文



= (


明文



*


乘数



+


位移数


) Mod 26




【希尔密码


(Hill Cipher)












希尔密 码就是矩阵乘法密码,运用基本矩阵论原理的替换密码。每个字母当作


26



制数字:


A=0, B=1, C=2... < /p>


一串字母当成


n


维向量,


跟一个


n


×


n


的密钥矩阵相乘,


再将得出的


结果模

< br>26



希尔密码的优点是完全隐藏了字符的频率信息,< /p>


弱点是容易被已知明文攻击击破。





加密










例如:密钥矩阵










1 3









0 2










明文:


HI THERE










去空格 ,


2


个字母一组,根据字母表顺序换成矩阵数值如下,末尾的< /p>


E


为填充字元:











HI TH ER EE









8





20 5





5









9





8





18 5










HI


经过矩阵运算转换为



IS


,具体算法参考下面的说明:











|1 3| 8 e1*8+3*9=35 MOD26=9 =I









|0 2| 9 e0*8+2*9<1>=18 MOD26=18=S










用同样的方法把“


HI THERE


”转换为密文“


IS RPGJTJ



,注意明文中的两个


E


分别 变为


密文中的


G


T








解密










解密时 ,必须先算出密钥的逆矩阵,然后再根据加密的过程做逆运算。











逆矩阵算法公式:










|A B| = 1/(AD- BC) * | D -B|









|C D|


















|-C





A|










例如密钥矩阵


=









|1 7|









|0 3|









AD- BC=1*3-0*7=3 3*X=1 mod26


所以



X=9









因此










|1 7|


的逆矩阵为:



9 * |3 -7|









|0 3|



















|0





1|










假设密文为“

FOAOESWO












FO AO ES WO










6





1





5 23









15 15 19 15










9* |3 -7| | 6| = 9*(3*6-7*15)=-783 mod26 = 23=W












|0





1| |15| = 9*(0*6+1*15)= 135 mod26 = 5 =E










所以密 文“


FOAOESWO


”的明文为“


W EREDONE









Playfair


密码


(Playfair Cipher)












Pla yfair


将明文中的双字母组合作为一个单元对待,并将这些单元转换为双字母组合。


加密后的字符出现的频率在一定程度上被均匀化。











5*5


变换矩阵


(I



J


视为同一字符


)












C I P H E









R A B D F









G K L M N









O Q S T U









V W X Y Z










加密规则:按成对字母加密











相同对 中的字母加分隔符


(



x)









ballon -> ba lx lo on









同行取右边:


he->ec









同列取下边:


dm->mt









其他取交叉:


kt->mq





od->tr










例如:


ballon -> ba lx lo on -> db sp gs ug








【置换密码


(Transposition Cipher)












也称易位密码。







【替代密码


(Monoalphabetic Substitution)












也称单表替换密码。





字母表数字











1-26


这些数字分别表示


A-Z


的字母。











字母



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









数字



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26




字母表代码










同字母 表数字,只是把


10


以下的数字添


0< /p>


补位。











字母






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









数字



01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26






反字母表










就是丹·布朗在《达·芬奇密码》 一书中提到的埃特巴什码


(Atbash Cipher)


。它 的原理


是取一个字母,指出它位于字母表正数第几位,再把它替换为从字母表倒数同样的 位数后得


到的字母。如:


E


被替换为< /p>


V



N


被替换为


M


等。











明码表



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









密码表



Z Y X W V U T S R Q P O N M L K J I H G F E D C B A










明文:


sophia









密文:


hlksrz






随机乱序字母










即单字母替换密码。重排密码表二 十六个字母的顺序,密码表会增加到四千亿亿亿多


种,能有效的防止用筛选的方法检验所 有的密码表。这种密码持续使用几个世纪,直到阿拉


伯人发明了频率分析法。

< p>










明码表



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









密码表



Q W E R T Y U I O P A S D F G H J K L Z X C V B N M










明文:


forest









密文:


gbmrst






棋盘密码











Polybius


密码。






键盘密码










加密的原理同棋盘密码,只是利用了键盘作为方阵。











键盘的字母分布:











~!@#$$%^&*()_+|









`1234567890-=










QWERTYUIOP{}










qwertyuiop[]










ASDFGHJKL:










asdfghjkl;'










ZXCVBNM<>?










zxcvbnm,./










密文:


72 81 12 63 01 12 63









明文:


jianpan










低下头 看看键盘就知道了,


密文就是键盘上的


26

个字母的坐标,


72


即第


7


列第


2


行,



7<1>


列正好是数字键


[7]


的位置,往下


2


个就是字母


[J]






键盘移位










密文:


kosm[sm









明文:


jianpan










就是键 盘上的字母往右一个。例如


[j]


键的右面是

< br>[k]


,键的右面是


[o]


,依 此类推。








软键盘密码










密文


1< /p>



まはす



にはつ



へつ



たっゃの



せちなゃ



ひつなゃ



てなゃ



ひつな



ゅつ













密文


2< /p>



ㄈㄘㄍ



ㄋㄘㄛ



ㄠㄛ



ㄗㄟㄙㄕ



ㄐㄧㄇㄙ



ㄨㄛㄇㄙ



ㄣㄇㄙ



ㄨㄛㄇ



ㄩㄛ













密文


3< /p>



ц


р


в



м


р


ж



у


ж



е


з


ы


п



г


ё


л


ы



с


ж


л

< br>ы



и


л


ы



с


ж


л



ь


ж



н


в










密文


4< /p>



#←☆



△←◇



〓◇



●◆_→



★◎■_



↑◇■_



□■_



↑◇■



 ̄◇













明文:


zhe shi li yong ruan jian pan jia mi de(


这是利用软键盘加密的


)










用智能


ABC


或微软拼音输入法,


把小键盘打开,


选择日本平假名字符,


输入



zhe shi



就会出现“まはす



にはつ”


,如果切换到俄文字符就会出现“


ц< /p>


р


в



м


р


ж


”……







数字小键盘密码











数字小键盘的字母分布:











7 8 9









4 5 6









1 2 3










密文:


852 74123 741236987<1> 74269 78974123456 7412369









明文:


I L O V E U










对照小键盘,依次打这些字母,看组成的形状就行了。











关于


Alt+


小键盘数字的加密方法,参看 :百度


/Google/


网页字符。







手机键盘密码











根据手机键盘上的数字和对应的字母进行加密。











密文:


42 21 71 71 93









明文:


HAPPY











42




4


键对应的是


GHI



GHI



2


个就是

H




21




2


键对应的是

< br>ABC



ABC



1



就是


A












加密时往往只出现数字键,而不给 出具体的字母位置,这时解密时就要列举所有可能


的组合,从中选出有意义的单词来。< /p>











例如密文:


427<1>79


,这时就要从



GHI ABC PQRS PQRS WXYZ


中提出有意义的字符:


HAPPY










另一种方法是根据形状加密的,和数字小键盘密码相同,按照密码里的数字比划一下


就划出来了。











比如密文


173946



对应的明文是


H



17


是左边一竖,


39


是右边一竖,


46


是中间一横。< /p>









【百度


/Google/


网页字符】











下面解释一下在百度、


Google


搜索中 文的关键词时,地址栏上出现的奇怪字符。





百度字符


(GB2312)





















< br>字












/s?wd=%C4%E3%BA%C3


的网页。











密文


(G B



16


进制


)



%C4%E3%BA%C3









密文


(G B


码十进制


)



50403 47811









明文:你好











百度用 的是


GB2312


的中文编码,



16


进制的。


GB2312


是标准的简体中文编码。


“你”


字的

< br>GB


码为


C4E3


< p>
“好”字的


GB


码为


BA C3



“你好”转换成十进制为


504 03



47811


< br>




Google


字符


(URI)












Google






好< /p>









< p>







/search?q=%E4%BD%A0%E5%A5%BD


的网页。











密文


(U RI)



%E4%BD%A0%E5%A5%BD









明文:你好











URI


全称


Uniform Resource Identifier(


通用资源标识符


)



Internet


可用的每种资源< /p>



- HTML


文档、图像、视频片段、程序等



-


由一个通过


URI


进行定位。







网页编码


(Unicode)









论坛里常玩的一个把戏,就是让你 回帖时写一堆像天书一样的奇怪字符,而回帖之后


就能看到相应的文字。











密文


(Unicode16


进制


)


:楼主是个天才










密文< /p>


(Unicode10


进制


)

< p>
:楼主是个天才










明文:楼主是个天才











这里使用的是


Unicode


编码


(


十进制


)



Unicode


是一种全世界范围的文字编码,网页都

< br>支持这种编码。





Alt+


数字小键盘










按住< /p>


Alt


键,


在任意文本框中,

< p>
用键盘右边的数字小键盘输入


55021



然后松开


Alt


键,


这时你看到了什么?











用同样的方法分别输入“你好”两 个字的


GB


代码


(

十进制


)50403



47811


,这时你将在


文本框中看到这两个字。











注意在


qq


的对话框中,要使用

< p>
Unicode


代码


(


十 进制


)20320



22909









MD5






简介










MD5


的全称是


Message- Digest Algorithm 5


(信息


-


摘要算法)


,在


90


年代初 由


Ronald L.


Rivest


开发出来,经


MD2



MD3



MD4


发展而来。











MD5


是一种散列


(Hash)

< p>
算法,散列算法的用途不是对明文加密,让别人看不懂,而是


通过对信息摘 要的比对,防止对原文的篡改。通常对散列算法而言,所谓的“破解”


,就是找


碰撞。











MD5


是 把一个任意长度的字节串加密成一个固定长度的大整数


(通常是


16


位或


32


位)


加密的过程中要筛选过滤掉一些原文的数据信息,因此想通过对加密的结果进行逆 运算来得


出原文是不可能的。











关于< /p>


MD5


的应用,举个具体的例子吧。例如你在一个论坛注册一个账 号,密码设为



qiuyu21



。此密码经过


MD5


运算后,变成“


287F1E255D930496EE01037339CD978D



,当你


点“提交”按钮提交时,服务器的数据库中不记录你 的真正密码“


qiuyu21



,而是 记录那个


MD5


的运算结果。然后,你在此论坛登录,登录时你 用的密码是“


qiuyu21



,电脑 再次进行


MD5


运算,把“


qiuyu 21


”转为“


287F1E255D930496EE0103 7339CD978D



,然后传送到服务器

< br>那边。


这时服务器就把你传过来的


MD5


运算结果与数据库中你注册时的


MD5


运算结果比较,


如果相同则登录成功。







也就是 说,


服务器只是把


MD5


运算结果作比 较。


你也许会问,


服务器为什么不用直接对你的


密码“


qiuyu21


”进行校验呢?因为如果服务器 的数据库里存的是你的真实密码,那么黑客只


要破解了服务器的数据库,那么他也就得到 了所有人的密码,他可以用里面的任意密码进行



< p>















MD5






那< /p>




使






< p>


287F1E255D930496EE01037339CD978D


”这一串数字,他也不能以此作为密码来登录。

















MD5










< br>击










287F1E255D930496EE01037339CD978D


”这一串数字,那么你怎么


能得出我的密码




qiuyu21



呢 ?因为


MD5


算法是不可逆的,


你只能 用暴力法


(


穷举法


)

< br>来破解,


就是列举所有















< br>然







MD5















287F1 E255D930496EE01037339CD978D





qiuyu21



这个密码是


7


位英文字符和数字混合,


这样的排列组合的数量是个天文数字,如果一一列举,那么在你有生之年是看不到了。所以


只有使用黑客字典才是一种有效可行的方法,黑客字典可以根据一些规则自动生成。例如



qiuyu21


”这个密码,就是一种常见的组合 ,规则是:拼音


+


拼音


+


数字,拼音总共大约


400


个,数字以


2


位数


100


个来算,这种 规则总共约


400*400*100=16,000,000


种 可能,使用优化


的算法,估计用


1


秒就 能破解吧。就算考虑到字母开头大写或全部大写的习惯,也只会花大


< br>10


几秒时间。如果是破解你熟悉的某个人的密码,那么你可以根据你对他的了解 来缩小


词典的范围,以便更快速的破解。这种破解方法在很大程度上依赖于你的运气。< /p>







最后谈谈


MD5

的碰撞。


根据密码学的定义,


如果内容不同的明文,


通过散列算法得出的结果


(密码学称为信息摘要)相同,就称为发生了 “碰撞”


。因为


MD5


值可以由任意长 度的字符


计算出来,


所以可以把一篇文章或者一个软件的所有字 节进行


MD5


运算得出一个数值,


如果


这篇文章或软件的数据改动了,


那么再计算出的


MD5


值也会产生变化,


这种方法常常用作数


字签名校验。因为明文的长度可以大于


MD5


值 的长度,所以可能会有多个明文具有相同的


MD5


值,如果你找 到了两个相同


MD5


值的明文,那么你就是找到了


MD5


的“碰撞”












散列算法的碰撞分为两种,强无碰撞和弱无碰撞。还是以前面那个密码为例:假如你


已知“


287F1E255D930496EE01037339CD9 78D


”这个


MD5


值,然后找出了一 个单词碰巧也能


计算出和“


qiuyu21

”相同的


MD5


值,那么你就找到了


MD5


的“弱无碰撞”


,其实这就意味


着你已经破解了


MD5


。如果不给你指定的

< br>MD5


值,让你随便去找任意两个相同


MD5

< p>
值的明


文,即找“强无碰撞”


,显然要相对容易些 了,但对于好的散列算法来说,做到这一点也很不


容易了。










值得一 提的是,强无碰撞已经被中国的王小云老师给搞定了,她提出的算法可以在短


时间内找到 碰撞,在世界上引起了轰动,现在的电脑大约一两个小时就可以找到一对碰撞。


遗憾的是 ,


找到强无碰撞在实际破解中没有什么真正的用途,


所以现在< /p>


MD5


仍然是很安全的。








MD5


算法描述











MD5


算法简要的叙述可以为:


MD5



512


位分组来处理输入的信息,且每一 分组


又被划分为


16



32


位子分组,


经过了一系列的处理后,


算法的输出由四个


32


位分组组成,


将这四个


32


位分组级联后将生成一个


128


位散列值。












MD5


算法中,


首先需要对信息进行填充,


使其字节长度对


512


求余的结果等于


448



因此,信息的字节长度(


Bits


Length


)将被扩展至


N*512+448


,即


N*64+56< /p>


个字节(


Bytes


< br>,


N


为一个正整数。填充的方法如下,在信息的后面填充 一个


1


和无数个


0

,直到满足上面的


条件时才停止用


0


对信息的填充。然后,在在这个结果后面附加一个以


64


位二 进制表示的


填充前信息长度。


经过这两步的处理,


现在的信息字节长度


=N*512+448+64=(N+1)*512



即长


度恰好是


5 12


的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。

< br>










MD5


中有四个

32


位被称作链接变量(


Chaining


Variable


)的整数参数,他们分别为:


A= 0x01234567



B=0x89abcdef

< p>


C=0xfedcba98


< br>D=0x76543210







当设置好这四个链接变量后,就开 始进入算法的四轮循环运算。循环的次数是信息中


512



信息分组的数目。











将上面 四个链接变量复制到另外四个变量中:


A


a



B



b



C



c< /p>



D



d












主循环有四轮(

< br>MD4


只有三轮)


,每轮循环都很相似。第一轮进行


16


次操作。每次操


作对

< br>a



b



c



d


中的其中三个作一次非线性函 数运算,然后将所得结果加上第四个变量,


文本的一个子分组和一个常数。再将所得结果 向右环移一个不定的数,并加上


a



b



c



d


中之一。最后用该结果取代


a


< p>
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



Ζ


的对应位是独立和均匀的,那么结果的每一位也


应是独立和均匀的。


F


是一个逐位运算的函数。即,如果


X


,那么


Y


,否则


Z


。函数


H


是逐位


奇 偶操作符。











假设


Mj


表示消息的第


j


个子分组(从


0



15


< p>
:









<< FF(a,b,c,d,Mj,s,ti)


表示



a=b+((a+(F(b,c,d)+Mj+ti)









<< GG(a,b,c,d,Mj,s,ti)


表示



a=b+((a+(G(b,c,d)+Mj+ti)









<< HH(a,b,c,d,Mj,s,ti)


表示



a=b+((a+(H(b,c,d)+Mj+ti)









<< II(a,b,c,d,Mj,s,ti)


表示



a=b+((a+(I(b,c,d)+Mj+ti)







这四轮(


64


步)是:










第一轮














FF(a,b,c,d,M0,7<1>,0xd76aa478)













FF(d,a,b,c,M1,12,0xe8c7<1>b756)













FF(c,d,a,b,M2,17,0x242070db)













FF(b,c,d,a,M3,22,0xc1bdceee)













FF(a,b,c,d,M4,7,0xf57c0faf)













FF(d,a,b,c,M5,12,0x4787c62a)













FF(c,d,a,b,M6,17,0xa8304613)













FF(b,c,d,a,M7,22,0xfd469501)













FF(a,b,c,d,M8,7,0x698098d8)













FF(d,a,b,c,M9,12,0x8b44f7af)













FF(c,d,a,b,M10,17,0xffff5bb1)













FF(b,c,d,a,M11,22,0x895cd7be)













FF(a,b,c,d,M12,7,0x6b901122)













FF(d,a,b,c,M13,12,0xfd987193)













FF(c,d,a,b,M14,17,0xa679438e)













FF(b,c,d,a,M15,22,0x49b40821)





第二轮














GG(a,b,c,d,M1,5,0xf61e2562)













GG(d,a,b,c,M6,9,0xc040b340)













GG(


с


,d,a,b,M11,14,0x265e5a51)













GG(b,c,d,a,M0,20,0xe9b6c7aa)













GG(a,b,c,d,M5,5,0xd62f105d)













GG(d,a,b,c,M10,9,0x02441453)













GG(


с


,d,a,b,M15,14,0xd8a1e681)













GG(b,c,d,a,M4,20,0xe7d3fbc8)













GG(a,b,c,d,M9,5,0x21e1cde6)













GG(d,a,b,c,M14,9,0xc337<1>07d6)













GG(


с


,d,a,b,M3,14,0xf4d50d87)













GG(b,c,d,a,M8,20,0x455a14ed)













GG(a,b,c,d,M13,5,0xa9e3e905)













GG(d,a,b,c,M2,9,0xfcefa3f8)













GG(


с


,d,a,b,M7,14,0x676f02d9)













GG(b,c,d,a,M12,20,0x8d2a4c8a)









第三轮














HH(a,b,c,d,M5,4,0xfffa3942)













HH(d,a,b,c,M8,11,0x87<1>71f681)













HH(c,d,a,b,M11,16,0x6d9d6122)













HH(b,c,d,a,M14,23,0xfde5380c)













HH(a,b,c,d,M1,4,0xa4beea44)













HH(d,a,b,c,M4,11,0x4bdecfa9)













HH(c,d,a,b,M7,16,0xf6bb4b60)













HH(b,c,d,a,M10,23,0xbebfbc70)













HH(a,b,c,d,M13,4,0x289b7ec6)













HH(d,a,b,c,M0,11,0xeaa127fa)













HH(c,d,a,b,M3,16,0xd4ef3085)













HH(b,c,d,a,M6,23,0x04881d05)













HH(a,b,c,d,M9,4,0xd9d4d039)













HH(d,a,b,c,M12,11,0xe6db99e5)













HH(c,d,a,b,M15,16,0x1fa27cf8)













HH(b,c,d,a,M2,23,0xc4ac5665)






第四轮














II(a,b,c,d,M0,6,0xf4292244)













II(d,a,b,c,M7,10,0x432aff97)













II(c,d,a,b,M14,15,0xab9423a7)













II(b,c,d,a,M5,21,0xfc93a039)













II(a,b,c,d,M12,6,0x655b59c3)













II(d,a,b,c,M3,10,0x8f0ccc92)













II(c,d,a,b,M10,15,0xffeff47d)













II(b,c,d,a,M1,21,0x85845dd1)













II(a,b,c,d,M8,6,0x6fa87e4f)













II(d,a,b,c,M15,10,0xfe2ce6e0)













II(c,d,a,b,M6,15,0xa3014314)













II(b,c,d,a,M13,21,0x4e0811a1)













II(a,b,c,d,M4,6,0xf7537e82)













II(d,a,b,c,M11,10,0xbd3af235)













II(c,d,a,b,M2,15,0x2ad7d2bb)













II(b,c,d,a,M9,21,0xeb86d391)






常数


ti


可以如下选择:

< br>










在第


i


步中 ,


ti



4294967296*ab s(sin(i))


的整数部分,


i


的 单位是弧度。


(4294967296


等于

2



32


次方

)


所有这些完成之后,将


A



B



C



D


分别加上


a



b



c


< p>
d


。然后用下一分


组数据继续运行算法,最后的输 出是


A



B



C



D


的级联 。











当你按照我上面所说的方法实现


MD 5


算法以后,


你可以用以下几个信息对你做出来的


程序作一个简单的测试,看看程序有没有错误。















MD5 (













MD5 (













MD5 (













MD5 (













MD5 (













MD5


(


= d174ab98d27<1>7d9f5a5611c2c9f419d9f













MD5


(


890






MD5


的安全性










MD5


相对


MD4


所作的改进:











1.


增加了第四轮;










2.


每一步均有唯一的加法常数;










3.


为 减弱第二轮中函数


G


的对称性从


(X& Y)|(X&Z)|(Y&Z)


变为


(X&Z)|(Y&(~Z ))











4.


第一步加上了上一步的结果,这将引起更快的雪崩效应;










5.


改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似;










6.


近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应。


各轮的位移量互不


相同。







埃特巴 什码是一个系统:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。






在罗马字母表中,它是这样出现的:








常文:


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





密文:


Z Y X W V U T S R Q P O N M L K J I H G F E D C B A








这种密码是由熊斐特博士发现的。熊斐特博士为库姆兰《死海 古卷》的最初研究者之一,他



《圣经》


历史研究方面最有名气的著作是


《逾越节的阴谋》



他运用这种密码来研究别人利


用其他方法不能破解的那些经文。这种密码 被运用在公元


1


世纪的艾赛尼


/


萨多吉


/


拿撒勒教


派 的经文中,用以隐藏姓名。其实早在公元前


500


年,它就被抄 经人用来写作《耶利米书》



1


〕耶利 米是活动在公元前


627-



586< /p>


年间的犹太先知,圣经旧约书中有许多关于他的记


载。在他离世前 ,犹太领土已被巴比伦人占领。



1



。它也是希伯来文所用的数种密码系统


之一。

< br>





白金特、雷伊和林肯在《弥赛亚的遗产》中写道,熊斐特博士于《艾赛尼派的奥德赛》一书

中描述他如何对圣殿骑士们崇拜的鲍芙默神痴迷,又如何用埃特巴什码分析这个词。令他惊

< br>奇的是,破译出的词“


Sophia


”为希腊语中的“智 慧”







在希伯来语中


,


Baphomet


”一词拼写如下——要记住,希伯来语 句必须从右向左读:








taf






mem






vav






pe






bet







将埃特巴什码用于上述字母,熊斐特博士得到如下结果:








alef






yud






pe






vav






shin







即为用希伯来语从右向左书写的希腊词“

Sophia








Sop hia


的词义不仅限于


“智慧”



它还是一位女神的名字——这位女神照说应该是上帝的新娘。


许多人 相信,


圣殿骑士们崇拜这位女神。



1



作者引用的是诺斯替学派的神话:


“ 不可知解”


的至尊上帝,


“源化”出最早的几位亚神,最后一位 就是索菲亚——“智慧”


。她极求得到对


上帝“神质”的“真知 ”——她名字第二意义的来源,而这种不合神性的欲望“孕生”了邪


神,


即创造宇宙的另一位


“上帝”



诺斯替派将他等同于旧约中的上帝,


来解释亚当夏娃堕降


尘间 和大洪水的事件。



1






< br>圣殿骑士们通晓埃特巴什码的事实,强烈表明有些来自一个拿撒勒教派的人置身于圣殿骑士


中间。








丹·布 朗关于英语是“最纯洁的”语言的观念可能是空想的,但并不是什么新理论。莱纳堡


附近 有个叫做莱纳浴泉的村庄,那里的神父亨利·布德写过一本名为《真实的凯尔特语》的


书 ,也声称英语是一种神圣的语言,或许在“巴比伦塔”



2


〕用方舟拯救人类的诺亚,有一


支后代在巴比鲁尼亚定居。他们在史 纳尔平原建造高塔,试图攀登天界。恼怒的上帝分化了


在此之前统一使用的语言,而交流 不通引发的混乱和争执使人前功尽弃。



2

〕堕毁前就已得


到使用。据说,这本书从字面上是不能理解的,它是用密码写成的, 传达一个不同的信息。


我们还应该记住,与其他的一些欧洲语言一样,英语的许多词汇源 于拉丁。正如翠茜·特威


曼在《达戈贝特复仇记》杂志中指出的那样,英语因为有


26


个字母,可以完美地用于埃特


巴什码。其 他欧洲语言所用的字母则不成偶数。此外,她始终认为郇山隐修会偏爱英语。





传说中的比尔密码——

< p>
700


万美元的未解之迷






遗传下 来的比尔密码源于


1820



1


月,当时,一位个头高高、皮肤黝黑、长着一双乌黑发


亮的眼睛和一头 乌黑发亮的头发、朴实而漂亮的陌生人骑马来到弗吉尼亚林奇堡的华盛顿旅


馆。来人受到 该旅馆老板罗伯特·莫里斯——富人知道他喜欢宴请宾客,穷人知道他慷慨大


方——的欢 迎,陌生人自我介绍说他叫托马斯·杰弗逊·比尔。他在巡视院子并检查为他和


他的马准 备的旅馆设备后告诉莫里斯说,他打算在那儿呆一个冬天。比尔精神饱满,谈锋极


健,又 是一位殷勤的客人,他的阳刚之美受到太太们的倾慕,遭到男人们的嫉妒。他以长长


的故 事来娱悦其他宾客,这些故事涉及每个可以想象得出的主题,但他对他的家庭、他的出


身 和他的住处却只字不提。那年的


3


月底,他一声不响地离开了这 家旅馆,无人知道他的去


向。








此后两年间,无人知道他的消息。后来,


1822

< br>年


1


月,他突然又出现在这个旅馆,他还像从

< p>
前那么友善,只是比以前更为黝黑更为潇洒了,他那齐整而被晒黑了的躯体表明他曾经历过


一次重大的户外探险。每个人,尤其是女人们欢迎他的归来。春天来到时,比尔又不见了。


他留下了一个锁着的铁盒,莫里斯打算把它藏起来,等他回来再说。夏天,莫里斯收到比尔


的一封来信,信头是圣路易,


5



9


日。在信中,比尔描述了他遇到野牛和野蛮灰熊的情形。


(那时,圣路易是一个小小的边境城市。



“我现在 不能决定我会离开多久,


”信继续说,


“肯

定不少于两年,也许更长。





-


-


-


-


-


-


-


-



本文更新与2021-02-09 05:24,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/619125.html

密码常识的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文