- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于文件分块排序的加密算法研究.doc
基于文件分块排序的加密算法研究
摘 要
本文提出了一种新型的加密思想,通过对文件进行分块排序加密的方式,提高了加密文件的安全性,增加了破解加密文件的难度,并提供了更多种加密算法的思路。
关键字:信息安全,文件分块,访问控制,文件加密
一、引言
如今,由于网络的普及,个人或公司的重要文件都遭到了潜在的威胁(比如被非法盗取、查看等)。所以,敏感信息文件及重要文件就需要加强保密程度,针对实际情况的不同采取不同的处理方式,才能更好地保障重要文件内容的安全性。
现在国内外常用的加密算法基本分为两类,即对称加密算法和非对称加密算法。对称加密算法的典型代表如DES算法,其加密文件的安全性取决于密码长度,长度不够则较容易通过穷举法破解,若构建专门的硬件来破解DES算法加密的文件所需要的时间会更短,并且DES算法需要对密码进行16轮的置换和代换运算后再对文件进行操作,需要消耗大量时间[1]。
非对称加密算法的典型代表如RSA算法,其安全性高,但计算量大。加密或解密大文件时所消耗的时间是DES算法的几十上百倍,并且RSA算法的安全性取决于大数分解,由于其公钥已知,便可根据公钥来推算出私钥,若能找到一种高效的大数分解算法,那么破解出私钥也就不是难事[2]。
除此之外,还有许多新颖的加密方法,比如将可执行文件捆绑到加密文件中,其优势在于直接运行可执行文件输入密码就可查看文件,无需重复加密文件,但是程序需要存储正确的密码以进行比对,即加密文件内包含正确的密码,通过其他手段依旧可能获取密码,降低了加密文件内容的安全性[3]。
由上可知,只要存在与密码相关的信息,加密文件始终是不安全的,公钥有可能被破解,存储的密码也有可能被获取。针对上述问题,本文提出了基于文件内容分块重组的加密算法来加强文件内容的保护。
二、文件内容分块重组加密方法
2.1思想概述
对于任意一个文件,在计算机中都是以“0”和“1”的二进制形式组成的。若对一个大文件内容以二进制的形式进行加密,文件内容的加密程度相当于文件中“0”和“1”的混乱度。为了增加混乱度,可采用各种复杂的算法(如异或、模加运算等)对文件内容进行加密,但其加密程度也不一定高,因为加密过程中不可避免地会做一些无用功。打个比方说,一个三阶魔方,美国科学家曾证明任意打乱的魔方都可以在20步之内还原,这说明无论对魔方打乱多少次,所得的状态都可以在20步之内得出[4]。对于需要加密的原文件内容就好比复原状态下的魔方,将其以二进制的形式通过各种复杂的算法处理十次甚至数十次,可能只需要寥寥几步就可以复原文件内容。
通过这一点我们知道,只要方法合理有效,即使通过简单的加密过程,其加密程度或许也可以达到复杂加密后的结果。因此,本文考虑基于文件内容分块重组的加密算法,其主要思想是:按照用户输入的密码,编码过程以用户输入密码的ASCII码当作密码。将文件内容划分成与密码长度相同的小块(如密码有20位,便将文件内容划分成20个小块),且每个小块与对应的密码大小成比例(比如用户输入“lThy9686”,程序则读取ASCII码“1088410412157545654”作为密码,然后可按照每个字符的ASCII码值的大小将文件按比例分为108、84、104、121、57、54、56、54的分块),再按照从小到大的排序规律将分块的文件内容重新整合成一个新的文件,所得的就是一个重组后的文件。这样可以利用ASCII码的国际通用性增加加密算法的安全性和适用范围。如果用户想将加密文件与计算机绑定(即只允许在某一台计算机上解码文件),则可以选择加密过程中添加计算机的MAC地址或硬盘序列号作为密码的一部分再对文件进行加密,这样一来盗取编码后的文件到其他电脑上也不可能被解码查阅[5]。
2.2 文件编码过程
图1.文件和密码
如图1所示,假设有一个1.74MB的文件,要对此文件内容进行分块重组加密(为避免数值过大不便表述,文件以字节为最小单位),用户首先需要输入一个密码,以543294727为例,转换为ASCII码为:53-52-51-50-57-52-55-50-55,为使各分块比例区分明显,本文以密码数字来划分文件内容。
图2.密码的排序
如图2所示,将输入密码按顺序编排序号,再将密码按照按从小到大的顺序进行排序,同时密码的序号顺序也随着对应密码的变动而改变。
表1.文件的分块排序
排序前 5 4 3 2 9 4 7 2 7
排序后 2 2 3 4 4 5 7 7 9 如表1所示,将文件内容划分为与密码数字大小成比例的九个分块,可以看到不同数字对应的文件分块大小比例差异是很大的。为求各分块文件内容的大小,只需将所有的密码数字相加,再将文件内容大小除以所有的密码数字相加的和便可得到单位分块大小(若有余数可以选择放在最后一个分块中),比如:
文档评论(0)