一种基于多模式加密算法的文件保护方案.doc

上传人:吴起龙 文档编号:1592024 上传时间:2018-12-26 格式:DOC 页数:7 大小:17.10KB
返回 下载 相关 举报
一种基于多模式加密算法的文件保护方案.doc_第1页
第1页 / 共7页
一种基于多模式加密算法的文件保护方案.doc_第2页
第2页 / 共7页
一种基于多模式加密算法的文件保护方案.doc_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种基于多模式加密算法的文件保护方案.doc》由会员分享,可在线阅读,更多相关《一种基于多模式加密算法的文件保护方案.doc(7页珍藏版)》请在三一文库上搜索。

1、一种基于多模式加密算法的文件保护方案信息技术和网络通信的发展,尤其是Internet的高速发展,大大加快了全球信息化的进程,同时信息安全方面的问题越来越多,这也引起人们的高度重视。不解决信息安全问题,信息化将不可能健康地发展。数据加密是保证信息安全的基本技术。它以很小的代价为信息提供了一种有效的安全保护,国内外学者对比进行了有效的研究1,2。本文提出了一个基于多模式加密算法的文件保护方案来保证计算机中信息的安全。 为了保护文件的保密性和完整性,防止信息被窜改、伪造和假冒,传统的方法是对同一个文件采用单一模式的加密方案。本文提出的文件保护方案是对同一文件不同内容用不同加密方法的多模式加密:采用1

2、28bits(16Bytes)密钥,使用对称密码算法3DES、IDEA、AES中的一种(可选)和类似CBC(密码分组链接)的加密模式对原文件进行加密以保证数据的安全;另外使用散列算法MD5、SHA1、SHA-256中的一种(可选)对原文件生成散列值,通过校对散列值检测文件是否被更改,从而保证文件的完整性。该方案较传统的方案有更高的安全性。 1 本文涉及的加密和散列函数算法 本文主要使用了对称密码算法3DES、IDEA、AES和类似CBC(密码分组链接)的加密模式,散列算法采用了MD5、SHA1、SHA-256等对原文件生成散列值,通过校对散列值检测文件是否被更改,下面分别进行简单介绍。 11

3、加密算法 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或256

4、bits的加密分组进行加密(密钥跟加密分组长度无须相等共九种组合)。 1.2 密码模式 分组加密算法在加密数据时可以分为四个模式3。ECB是最简单和最快的分组密码模式,当然也是最弱的。本文加密文件头使用该模式。在CBC 模式下,每一个分组加密之前必须与前一个分组的密文进行一次XOR 运算,之后再进行加密。因此,每一个区块的加密结果均会受到之前所有分组内容的影响。本文加密文件体系用该模式。 13 单向散列算法 2 强加密算法文件保护方案的实现 下面介绍该文件保护方案的具体实现思想。主要包括文件的加密和解密两个过程。 21 文件的加密过程(如图1,IV为初始向量) 用户选择好要保护的文件、加密受保

5、护文件头部信息的密码算法、加密原文件的密码算法、散列算法、加密密钥。图1 受保护文件的制作过程 使用用户选择的散列算法求出原文件的散列值,然后连同原文件的长度、加密原文件的密码算法、散列算法,这四部分作为受保护文件的头部信息加密后写入受保护文件。头部信息的内容如下:前16Bytes包含了原文件的长度、加密原文件的密码算法、散列算法,接下来的16或32Bytes则是原文件的散列值。其中MD5(128bits)为16Bytes,SHA-256(256bits)为32Bytes,而SHA1(160bits)为16Bytes,剩余的32bits放到前16Bytes空闲的第1316Bytes中。 使用用

6、户选择的加密受保护文件头部信息的密码算法对头部信息以ECB(电子密码本)模式进行加密。在这里需要注意的是无论选择3DES、IDEA,还是AES,其密钥长度均为128bits。IDEA的密钥长度为128bits,可直接使用;AES的密钥长度和分组长度都是可选的,在本方案中它使用128bits的密钥和分组;对于3DES,它使用了文献3介绍的方法,先用128bits的密钥产生三个64bits的密钥,再使用DES算法加密。在本方案里,T1、T2、T3 如下所示: 接下来,本文使用用户选择的加密原文件的密码算法对原文件进行加密。在加密时用到了一个基于CBC模式,它可以下面的公式表示:Ci=E(PiIV)

7、;IV=IVCi;在这个加密模式中,第i个密文分组是由第i个明文分组与初始向量IV异或后再使用具体的密码算法加密得到的,然后IV与第i个密文异或得到新的IV以备对第i+1个明文分组加密时使用。最初的初始向量IV是由受保护文件头部的密码算法产生的子密钥的异或和,不同的密钥产生不同的IV,不同的密码算法产生不同的IV。在本方案中,各个密码算法先产生128bits的IV,在加密原文件时再灵活使用(在加密原文件时,若用户选择了AES算法则128bits的IV可直接使用;若选择了3DES或IDEA,则要将128bits的IV分为前后两个64bits,再将它们异或得到一个64bits的IV来使用)。 各个

8、密码算法产生128bits初始向量IV的方法:AES产生44个子密钥,长度为32bits。将其按顺序分成四组异或得到128bits的初始向量IV,如图2所示。DES先将128bits的密钥分成两个64bits的密钥,生成64个子密钥(DES产生16个子密钥,长度为48bits,在本方案中一个48bits的子密钥被分成两个24bits的子密钥),接着将64个子密钥平均分成四组异或得到128bits的初始向量IV(图略)。IDEA产生52个子密钥,长度为16bits。在本方案中,使用前48个子密钥将其合并成24个32bits的分组,然后按顺序分成四组异或得到128bits的初始向量IV(图略)。

9、图2 AES的128bits初始向量IV的生成 最后要说明的是,由于DES、IDEA的分组长度为64bits,AES为128bits,若将原文件制作为受保护文件后,受保护文件的长度是64bits的倍数而不是128bits的倍数,那么密码分析者即可确定加密原文件的密码算法不是DES就是IDEA,这样会降低破译的难度。在加密完原文件后,将检测受保护文件的长度是否为128bits的倍数,若不是128bits的倍数则再加上一些随机数据使其为128bits的倍数(是128bits的倍数必然是64bits的倍数,那么密码分析者将不能从文件长度中确定密码算法了)。 22 文件的解密过程 (1)软件根据用户提

10、供的解密密钥、受保护文件的头部信息密码算法解密受保护文件的前16Bytes,获取原文件的长度、加密算法、散列算法信息; (2)根据散列算法产生的散列值的长度读取受保护文件中相应的字节,将其解密得到原文件的散列值H1; (3)根据解密受保护文件的前16Bytes时得到的原文件加密算法信息和原文件的长度,解密受保护文件剩余部分,将解密得到数据写入文件; (4)对上一步得到文件用解密受保护文件的前16Bytes时得到的散列算法信息求出该文件的散列值H2; (5)比较H1与H2,若两者相等则表示文件未被修改;若不等则表示文件已修改。3 试验结果和该方案的特点 对该方案的实用性进行如下试验:分别对一个t

11、xt文件(49.7KB),一个MP3文件(4.95MB),一个exe文件(11.2MB)进行加密和解密试验,使用的散列算法: SHA256,文件头部用3DES加密,文件体分别用3DES、IDEA、AES进行加密,从试验结果可看出该方案的执行时间并没有大幅度的提高,但安全性有很大提高,数据如表1、2(CPU1.1GHz,256MB内存)。 其中,IV是受保护文件头部的密码算法产生的子密钥的异 或和。这种加密模式保留了CBC的优点增加了安全性,而且一旦密文遭到修改其错误将会扩散到修改点以后的全部密文,这样可以更加容易地检测到改动。这些方法较好保证了数据的完整性。在一定程度上将三种密码算法混合起来,增加了破译的难度。密文遭修改后,在解密时该错误会被扩大,可更加容易发现密文被改动。 该方案目前也存在着一些不足:密钥过长(128bits),解密时需提供受保护文件头部信息的密码算法。加密保护文件头部信息时只用了电子密码本模式(ECB),降低了安全性。密文被修改后无法正确解密恢复原文,容错性不理想。 4 结束语 该方案用多种模式加密算法对同一文件进行加密。它是对已有的加密方案的有效改进和整合。虽然该方案还有一些不足之处,但较传统单一模式的加密方案其能更好保证文件的安全性和完整性。 本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1