- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于多模式加密算法文件保护方案
一种基于多模式加密算法的文件保护方案
摘 要:结合对称密码算法中的DES、IDEA、AES和单向散列算法中的MD5、SHA??1、SHA-256等算法,提出了一种在同一文件内部采用多模式加密的方案,该方案比传统的单一模式加密的方案能更好地保证数据的完整性和安全性。详细描述了该方案的算法实现,通过试验验证了其实用性,同时分析了该方案的优点和不足。
关键词:对称密码; 散列算法; 文件加密
中图分类号:TP309.7文献标志码:A
文章编号:1001-3695(2007)06-0121-02
信息技术和网络通信的发展,尤其是Internet的高速发展,大大加快了全球信息化的进程,同时信息安全方面的问题越来越多,这也引起人们的高度重视。不解决信息安全问题,信息化将不可能健康地发展。数据加密是保证信息安全的基本技术。它以很小的代价为信息提供了一种有效的安全保护,国内外学者对比进行了有效的研究[1,2]。本文提出了一个基于多模式加密算法的文件保护方案来保证计算机中信息的安全。
为了保护文件的保密性和完整性,防止信息被窜改、伪造和假冒,传统的方法是对同一个文件采用单一模式的加密方案。本文提出的文件保护方案是对同一文件不同内容用不同加密方法的多模式加密:采用128bits(16Bytes)密钥,使用对称密码算法3DES、IDEA、AES中的一种(可选)和类似CBC(密码分组链接)的加密模式对原文件进行加密以保证数据的安全;另外使用散列算法MD5、SHA??1、SHA-256中的一种(可选)对原文件生成散列值,通过校对散列值检测文件是否被更改,从而保证文件的完整性。该方案较传统的方案有更高的安全性。??
1 本文涉及的加密和散列函数算法??
本文主要使用了对称密码算法3DES、IDEA、AES和类似CBC(密码分组链接)的加密模式,散列算法采用了MD5、SHA1、SHA-256等对原文件生成散列值,通过校对散列值检测文件是否被更改,下面分别进行简单介绍。??
1.1 加密算法??
DES用56bits密钥将64bits的明文转换成64bits的密文。其中,密钥总长为64bits,另外8bits是奇偶校验位,详见文献[3]。DES的密钥存在弱密钥、半弱密钥[3]等。实用中较多是它的改进型,即用最小密钥进行三重加密[4]。IDEA算法基于“相异代数群上的混合运算”设计思想[5]。其密钥长度为128bits,是DES密钥的两倍多,分组长度为64bits。一些文献讨论IDEA算法的不足[3,5],但目前尚未有进行有效攻击的方法。AES 算法[1,7]其设计策略是宽轨迹策略(Wide Trail Strategy)。其使用128 、192 或256bits长度的密钥,对于128、192或256bits的加密分组进行加密(密钥跟加密分组长度无须相等共九种组合)。??
1.2 密码模式??
分组加密算法在加密数据时可以分为四个模式[3]。ECB是最简单和最快的分组密码模式,当然也是最弱的。本文加密文件头使用该模式。在CBC 模式下,每一个分组加密之前必须与前一个分组的密文进行一次XOR 运算,之后再进行加密。因此,每一个区块的加密结果均会受到之前所有分组内容的影响。本文加密文件体系用该模式。??
1.3 单向散列算法??
本文所用的单向散列函数是消息摘要算法MD5 和安全散列算法SHA。MD5以512bits分组来处理输入的消息,且每一分组又被划分为16个32bits子分组,经过一系列的处理后算法的输出由4个32bits分组组成,将这4个32bits分组级联后将生成一个128bits的散列值。 其运算速度非常快[4]。SHA[7]设计思想和MD5 相似,但是比MD5 具有更长的散列值,因此更能够抵抗攻击。SHA??1有160bits散列值。具备扩展转换,并且为产生更快的雪崩效应而将上一轮的输出送至下一轮。SHA-256是SHA??1的改进:具有更大的数字指纹、更复杂的非线性函数和压缩函数、每一步均有唯一的加法常数等。因此,SHA-256具有更高的安全性。??
2 强加密算法文件保护方案的实现??
下面介绍该文件保护方案的具体实现思想。主要包括文件的加密和解密两个过程。
2.1 文件的加密过程(如图1,IV为初始向量)
用户选择好要保护的文件、加密受保护文件头部信息的密码算法、加密原文件的密码算法、散列算法、加密密钥。图1 受保护文件的制作过程
使用用户选择的散列算法求出原文件的散列值,然后连同原文件的长度、加密原文件的密码算法、散列算法,这四部分作为受保护文件的头部信息加密后写入受保护文件。头部信息的内容如下:前16Bytes
文档评论(0)