好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

一种采用多种加密算法的文件加密方法.pdf

3页
  • 卖家[上传人]:第***
  • 文档编号:37705103
  • 上传时间:2018-04-21
  • 文档格式:PDF
  • 文档大小:203.48KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第26卷第11期 计算机应用与软件Vol126 No. 11 2009年11月 ComputerApplications and SoftwareNov . 2009一种采用多种加密算法的文件加密方法姚 峰 何成万 胡宏银(武汉工程大学计算机科学与工程学院 湖北 武汉430073)收稿日期: 2008 - 04 - 28姚峰,讲师,主研领域:软件模式,计算机应用技术摘 要 针对传统文件加密系统中加密算法单一、 加密文件格式简单、 安全性相对较低等问题,结合对称密码算法中的DES、RC2、TripleDES、AES和单向散列算法SHA2256等算法,提出了一种采用多种加密算法的文件加密方案详细地论述了加密文件格 式的设计、 多种加密算法动态产生的方法、 加密解密过程,以及数据完整性和安全性通过实验论证了其实用性,同时分析了其优点 与不足关键词 对称加密算法 文件加密 散列算法A FI LE ENCRYPTI ONM ETHOD USINGM ULTIPLE ENCRYPTI ON ALGORITHM SYao Feng He Chengwan Hu Hongyin(College of Computer Science and Engineering,Wuhan Institute of Technology,Wuhan 430073, Hubei, China)Abstract To solve the problems of single encryption algorithm, simple file format and lower security in traditional file encryption systems,an encryption solution is proposed with multiple encryption algorithmswhich integrate symmetric encryption methods such as DES, RC2, Tri2pleDES,AES and hash algorithms such as SHA2256. The design of encryption file format, the dynamic production approach ofmultiple encryp2tion algorithms, encryption/decryption process, data integrity and security are discussed in detail . Its practicability is demonstrated by experi2ment, at the same time some strongpoints and shortages about this solution are discussed aswell .Keywords Symmetric encryption algorithm File encryption Hash algorithm0 引 言当前,对于敏感数据的保护已经成为人们关注的热点问题, 入侵者可以直接窃取服务存储设备,也可以使用网络技术入侵 窃取文件数据。

      很多情况下,由于某种需要,一些敏感数据文件 需要在网上供多人共享,这也增加了信息泄露的可能性信息 泄露是敏感数据拥有者所不愿面对的,也是难以接受的那么 如何把信息泄露的可能性降到最低,就成为一个亟需解决的问 题为了解决这一问题,国内外相关工作人员已经做了大量的 研究[1, 2],事实证明,对数据文件进行加密是一种有效的保护方 式提出了一种采用多种加密算法的文件加密方案,可以有效 地保证计算机信息的安全为了保证数据文件的保密性和完整 性,一般的做法是采用单一的加密算法对文件数据进行加密 本文采用的加密方案是按照一定的加密格式,对文件数据动态 地采用多种加密算法进行加密,加密算法可以采用常用的对称 加密算法DES、TripleDES、RC2、AES等,较传统的加密方案有更 好的安全性1 相关算法本系统使用的算法有对称加密算法DES、TripleDES、RC2、AES和SHA2256等散列算法 1. 1 加密算法 DES使用64bits密钥和64bits加密向量对明文加密,该算 法存在弱密钥和半弱密钥,但在本系统中使用的加密密钥都经过了处理,杜绝了若密钥和半弱密钥的出现,又因为其加密速度 较快,所以我们仍然使用了DES算法。

      TripleDES是DES的改 进型,使用192bits密钥和64bits加密向量对明文加密RC2使 用128bits密钥和64bits加密向量对明文加密AES使用256bits密钥和64bits加密向量对明文加密 1. 2 加密模式分组加密算法可以使用四种加密模式[3], ECB是最基本的 加密模式,相同的明文将永远加密成相同的密文,无初始向量, 容易受到密码本重放攻击,一般情况下很少使用CBC是明文 被加密前要与前面的密文进行异或运算后再加密,因此只要选 择不同的初始向量,相同的密文加密后会形成不同的密文,这是 目前应用最广泛的模式CFB和OFB类似于同步序列密码 在本系统中使用CBC加密模式 1. 3 散列算法 使用的散列算法是SHA2256, SHA2256是SHA21的改进,具 有更大的数字指纹、 更复杂的非线性函数和压缩函数、 每一步均 有唯一的加法常数等,因此, SHA2256具有更高的安全性2 文件加密系统方案设计2. 1 加密文件格式设计 加密文件格式就是密文数据的文件存储格式,设计是否合第11期 姚峰等:一种采用多种加密算法的文件加密方法273 理,会影响其安全性。

      本系统的加密文件格式设计如图1所示图1 加密文件格式整个加密文件分为文件头和文件体两部分,文件头又分为 未加密部分和加密部分;文件体部分就是文件数据加密后的密文数据各部分含义如下: ·A部分保存加密标志,用来标识文件是否是加密文件,标志字符串为 ″ENCRYPTEDBYYAO″,长度为14字节解密时,首先会根据该加密标识来确定文件是否是一个加密文件·B部分保存加密时间,格式为 ″yyyy MMddhhmmss″,长度为14字节主要用来加密(解密)文件体H部分时选择合适的加密(解密)算法,同时也可以标识加密的具体时间 ·C部分保存原文件名长度,长度为2字节,解密时,用来确定D部分中保存的原文件名的实际长度·D部分保存原文件名,长度为512字节,存放原文件名,解密时用来恢复原文件名·E部分保存文件创建时间,长度为14字节,解密时用来 恢复原文件的创建时间·F部分保存文件修改时间,长度为14字节,解密时用来 恢复原文件的最后修改时间·G部分保存压缩标志,固定字符串,″ZIPPEDBYYAO″,长度为11字节·H部分保存分段的文件加密数据2. 2 文件加密加密时,首先取得加密时间(当前时间) ,待加密文件的文件名、 文件名长度、 文件创建时间、 文件修改时间,如果文件要先压缩后加密,则G部分的值为 ″ZIPPEDBYYAO″,否则为空值。

      然后使用一个固定的32bytes长度的密钥加密文件头B2G部分,加密向量取密钥的前8 bytes采用AES加密算法加密B2G部分,把文件头内容按2. 1节中定义的格式写入加密文件 加密文件数据时,采用分块加密的方式,实验数据证明(如表1所示) , 4K bytes是一个合适的分块值,这样可以加快数据处理速度,如果分块太大或者太小,都会影响加密解密的速度首先把用户输入的密钥做SHA2256运算,得到一个32 bytes的散列值,这个32字节的散列值就作为加密数据的密钥;当采用DES算法时,取前8 bytes作为密钥;当采用RC2算法时,取前16bytes作为密钥;当采用TripleDES时,取前24 bytes作为密钥, 采用AES时, 32字节的散列值作为密钥,四种算法的加密向量都是取前8 bytes数据表1 基于不同分块值的文件加密速度表文件大小分块值加密耗时100MB0. 5KB63023ms4KB52609ms32KB57696ms1MB120447ms若G部分的值为 ″ZIPPEDBYYAO″,则先对文件数据采用ZIP算法进行压缩,然后加密各个分块采用哪种加密算法是根据加密时间动态产生的,产生的方式如图2所示。

      如加密时间为 ″20071125171824″,每一位对4求模,结果为 ″2003112131020″加密 算法和每一位的模的对应关系为: 0: DES; 1: RC2; 2: TripleDES;3:AES根据这一对应关系,第1分块采用TripleDES加密,第2、3分块采用DES加密,⋯⋯,第14分块采用DES加密,后面的分 块则重新按照第1到第14分块的加密算法进行加密,以此类推, 直到所有分块都加密因为当前时间值是不断变化的,所以各个 分块采用的加密算法根据加密的时刻不同而不同,是动态变化 的,这样可以有效地增强数据的安全性图2 分块动态加密算法产生图 2. 3 文件解密 解密时,过程与加密时大致相反,先读取加密标志,判断文 件是否是加密文件,若是,才解密使用固定的密钥解密文件头B2G部分,得到文件头的数据用户输入的密钥,采用和2. 2节中一样的处理方式,得到用于解密的密钥和解密向量再按图2中的方法得到各个分块的加密算法,对每一个加密数据分块 采用对应的算法、 密钥和解密向量进行解密解密完成后,检查G部分的值,若为“ ZIPPEDBYYAO“ ,则对解密的数据采用ZIP 压缩算法解压缩。

      最后根据C2F部分还原结果数据文件的文件 名、 文件创建时间、 文件修改时间,得到最终结果2. 4 数据完整性对于文件头的A部分,其长度在文件加密前后是不变的 对于B2G部分文件头数据,加密前的长度是567bytes,采用AES 算法加密后长度为576bytes对于H部分的加密数据,由于采 用分块加密的方式,分块值为4096bytes,若采用DES、RC2和TripleDES加密算法,加密后分块的长度都为4104bytes若采用AES加密算法,加密后分块的长度为4112bytes这样,解密时, 文件头的长度是固定的,密文数据分块大小针对不同的加密算法也是固定的,可以保证文件数据解密正确2. 5 数据安全性将多种加密算法混合起来,采用分块加密的方式对文件数 据加密,理论上增加了破译的难度,同时,采用CBC加密模式 后,一旦密文遭到修改,解密时,错误会被扩大,更加容易知道密 文被修改3 测试比较对本加密系统和一个常用的加密工具(Encryptor 1. 4)进行 加密效率测试, Encryptor采用单一的TripleDES加密算法,本系 统采用动态多模式的加密算法,针对1M、5M、10M大小的三个 文件进行加密(CPU 2. 8G,内存2G) ,测试结果如表2所示。

      表2 文件加密速度比较表文件大小本系统(加密耗时)Encryptor(加密耗时)1M892ms884ms10M6833ms7038ms100M52609ms55432ms(下转第285页)第11期 王洁松等:一种基于分箱统计的HCM算法285 和连续型两类,因此聚类中心由离散型属性向量和连续型属性 向量两部分组成 ①离散型属性向量 在实验数据中,离散型属性向量共 有9个 对于离散型属性向量的聚类中心,本文采用各离散值出 现的概率比例pi表示,如式(10)所示:pi=∑i n(10)②连续型属性向量 22个连续型属性向量的聚类中心采 用各连续型属性向量的均值avgi表示,如式(11)所示:avgi=∑n1in(11)4. 2 计算到聚类中心的距离计算某数据记录到某聚类中心的距离如式(12)所示:d 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.