- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
码破解
密码破解原理与应用
密码学分类及密码分类:
密码学根据其研究的范畴可分为密码编辑学和密码分析学。密码编辑学和密码分析学是互相对立,相互促进并发展的。密码编辑学研究密码体质的设计,对信息进行编辑表示实现隐蔽信息的一门学问。密码分析学是研究如何破解被加密信息的学问。
密码破解原理:
密码分析之所以能够成功破译密码,最根本的原因是明文中有冗余度。攻击或破译怒那的方法主要有三种:穷举法、统计分析攻击、数学分析攻击。
所谓穷举攻击是指,密码分析者采用依次试遍所有可能的的秘钥对所获密文进行破解,直至得到正确的明文;或者用一个确定的秘钥对所有可能的明文进行加密,直至得到所得的密文。只要有足够的时间和存储空间,穷举攻击原则上是可行的,但是集中面积算时间和存储空间都受到限制,只要秘钥足够长。这种方法往往不行。
统计分析攻击是指密码分析者涌过分析密文和明文的统计规律来破译密码。密码分析者对截获的密文进行统计分析,总结出其间的统计规律,并与明文的统计规律进行比较,从中提取明文和密文之间的对应或变换信息。
数学分析攻击是密码分析者针对加解密算法的数学基础和某些密码学特性,通过数学求解的方法来破译密码。
RC4的算法介绍: RC4加密算法Ron Rivest(非常有名的非对称加密算法RSA三巨头之一)在1987年设计的,密钥长度可变的流加密算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右,且具有很高级别的非线性。RC4起初是用于保护商业机密的。但是在1994年9月,它的算法被发布在互联网上,也就不再有什么商业机密了。RC4也被叫做ARC4(Alleged RC4——所谓的RC4),因为RSA从来就没有正式发布过这个算法。
备注:RC4是对称密钥加密算法,而RSA是非对称的加密算法。由于RC4算法加密是采一。
RC4算法非常简单,易于描述:用从1到256个字节(8到2048位)的可变长度密钥初始化一个256个字节的状态矢量S,S的元素记为S[0],S[1],? ,S[255],从始至终置换后的S包含从0到255的所有8比特数.对于加密和解密,字节K由S中256个元素按一定方式选出一个元素而生成.每生成一个K的值,S中的元素就被重新置换一次.
1 初始化S
开始时,S中元素的值被置为按升序从0到255,即s[0]=0,S[1]=1,? ,S[255]=255.同时建立一个临时矢量T.如果密钥K的长度为256字节,则将K赋给T.否则,若密钥长度为keylen字节,则将K的值赋给T的前keylen个元素,并循环重复用K的值赋给T剩下的元素,直到T的所有元素都被赋值.这些预操作可概括如下:
/*初始化*/
for i=0 to 255 do
S[i]=i;
T[i]=K[i mod keylen]
然后用T产生S的初始置换.从S[0]到S[255],对每个S[i],根据由T[i]确定的方案,将S[i]置换为S中的另一字节:
/*S的初始序列*/
j=0
for i=O to 255 do
j=(j+s[i]+T[i])mod 256
swap(s[i],s[j]);
因为对S的操作仅是交换,所以惟一的改变就是置换.S仍然包含所有值为0到255的元素.
2 密钥流的生成
矢量S一旦完成初始化,输人密钥就不再被使用.密钥流的生成是从s[0]到S[255],对每个S[i],根据当前S的值,将S[i]与S中的另一字节置换.当S[255]完成置换后,操作继续重复,从S[0]开始:
/*密钥流的产生*/
i,j=0
while(true)
i=(i+1)mod 256
j=(j+S[i])mod 256
swap(sEi],s[j])
t=(sEi]+s[j])mod 256;
k=S[t]
加密中,将k的值与下一明文字节异或;解密中,将k的值与下一密文字节异或.
3 加密方案:
本文以RC4算法为核心加密算法提出三种加密方案,其中方案一与方案二类似。方案一与方案二要求发送方与接收方持有相同的原始密钥。方案三不要求发送方与接收方使用相同的原始密钥,但发送方必须将本次加密密钥传送给接收方。
方案一
方案二
方案一与方案二流程基本一致,只是方案二没有对文件内容摘要(可使用数字签名时所使用的文件内容摘要)进行加密。以方案二为例,发送方与接收方共享同一个密钥,该种方案与WEP加密协议类似,具体流程为:
发送方:
发送方首先将所持有的密钥,即本文中的原始密码(160位)与文件内容摘要(160位)进行连接,然后用SHA-1安全散列函数对连接的结果进行计算得到本次加密文件所使用的密钥(160位)。然后将本次加密所使用的密钥传给RC4算法,用RC4算法产生的密钥流与原始明文按字节进行异或,即
文档评论(0)