随着计算机科学技术和计算机网络的飞速发展,网络信息安全和个人数据的隐私保护越来越受到人们的重视。数据安全保护技术的研究目的在于保护人们的数据安全,通过数据存储以及数据加密等技术方法,实现增强数据的安全性、可靠性和可用性。同时,平衡数据安全保护所消耗的时间资源和空间资源。 
  关键词散列存储;数据加密;DES;数据安全 
  1 引言 
  在计算机技术如此发达的今天,计算机技术应用于人们生活中的各个角落,它已成为人们社会生活不可分割的一部分。同时,有关调查显示,214年全球人均月消耗流量为1GB,213年仅一天全球累计产生的流量达到1EB(即1亿GB)。这意味着我们已经进入大数据时代。随着数据量的增加和网络覆盖范围的扩大,信息存储的安全性逐渐受到人们越来越多的关注。如今的云存储技术的发展也使得人们面临另一个严峻的考验,即云存储数据的安全性。对数据保护的措施一般采用数据加密的方法,然而此方法的缺点在于对大数据,采用强数据加密算法会导致加密解密过程比较长;若采用弱加密算法,则数据的保密性不能得到很好的保证。本文探讨一种方法,使得数据加密时间和安全性达到一种平衡。 
  在利用弱加密算法对数据进行加密时,若他人得到加密后的密文,相对而言会比较容易破解密码从而得到明文。因此在数据保护的过程中,可以从两方面一是对密文进行保护使他人无法获得密文或者无法获得完整的密文;二是采用强加密算法使他人无法轻易破解密文;高数据的安全性。由于采用强加密算法会较大增加数据加密的时间代价,因此可以从更有效的保护密文方面高数据的安全性。 
  2 DES加密算法 
  为了保护数据的安全,对数据的加密是必不可少的。DES加密算法是1977年美国采用的IBM公司设计的加密算法,它实现了加密算法的国际标准化,是非机密数据的正式数据加密标准。因此在对个人非机密数据的保护上使用DES加密算法已能满足大多数据保护求。DES算法由一个主密钥生成16个子密钥,然后读取8个字节的明文将其转换成二进制,即64位的1矩阵。把得到的64位矩阵作为算法的输入,与生成的16个子密钥依次进行迭代运算,最终输出64位的密文矩阵,重复读取加密的过程,由此得到密文文件。而解密过程只是将算法的输入改成8字节的密文,然后将子密钥的使用顺序颠倒即可。 
  DES加密算法属于对称密码算法,其加密密钥和解密密钥相同,有着较快的加密解密速度。但是,随着计算机性能的不断高,计算机运算能力的不断增强,DES的缺点也更加突出。DES加密算法的缺点主在于,加密密钥太短只有8位,对于暴力破解的方法无法进行有效的防护。因此为了在使用DES加密算法的同时高数据的安全性,有必对密文采取一定的保护措施。 
  3 散列存储 
  南京邮电大学的徐小龙等人在《一种基于数据分割与分级的云存储数据隐私保护机制》中,出采用将数据分割后加密,然后上传至云端,并将数据的目录信息存放在本地的方法实现云存储中数据的保护。但这种方法的缺点在于若有k个文件被窃取,那么他人有可能还原出原文件,数据的安全性还是受到一定的威胁;而且个人必须保存一份额外的目录文件,才能使得最后能方便的还原出原数据,增加了一定的空间资源消耗。本文利用散列存储的思想,将一个大文件分割成几份子文件,实现了只有在同时得到所有密文文件时才能还原出原文件。 
  散列存储技术本来是将数据存放位置与数据关键字建立一种对应关系的查找技术,它的基本思想是,取数据的关键字从而决定数据的存放位置。散列存储的优点在于访问速度非常快。将散列存储的思想应用到数据分割上,将文件分割成m个文件步骤如下 
  (1) 新建1、2、…、m个空白文件; 
  (2) 从密文中读取一个字节; 
  (3) 将(2)中所得字节转换成1进制数n; 
  (4) 将这个字节以追加方式写入第n mod m个文件中; 
  (5) 重复步骤(2)到(4),最终完成文件的分割。 
  但是,经过上述步骤得到m个密文文件后,会因为无法得知对解密后的密文重组顺序,从而导致无法进行数据还原。原因在于,对当前字节进行散列存储时计算的此字节本身所存储的位置,但是文件的组合是有顺序的,所以应当计算的是此字节的下一个字节的存储位置,这样以来数据能形成一条数据链,从而在数据还原时,能从数据链的头部依次还原成整个原数据。 
  因此,出另一个解决办法,步骤如下 
  (1) 新建1、2、…、m个空白文件; 
  (2) 从密文中读取一个字节; 
  (3) 若此字节为文件第一个字节则写入文件1中,并将其转换成1进制数n,计算n mod m,记为k; 
  (4) 若此字节不是文件中第一个字节,则将其写入文件k中(k<=m);    (5) 重复步骤(2)到(4),从而完成对文件的分割。    数据还原阶段步骤如下    (1) 解密m个密文文件;    (2) 新建一个文件c;    (3) 从文件1中读取一个字节写入c中,并将其转换成1进制数n,计算n mod m,记为k;    (4) 从文件k(k<=m)中读取一个字节以追加的形式写入c中,并将其转换成1进制数n,令 k = n mod m;    (5) 重复(4)步骤,最终得到原文件。    在实际应用中,可以将m个文件分开存储,这样能有效的防止他人同时获取所有密文。从而无法破解密文数据。由此,运用散列存储的思想,既能很好的实现数据分割,又因为其实通过逐字节分开存储的方法,能有效的防止他人通过获得一部分密文数据而还原出部分原数据。再者,通过对使用DES加密后的文件进行密文分割,使得他人只有同时获得所有密文数据,并且破解了DES密钥之后才能还原出明文,高了数据信息的安全性,增加破解密文的代价。   4 性能分析    利用散列存储的思想对密文数据进行分割,其时间复杂度为(1)。而且,在数据分割过程中并没有产生出密文数据以外的数据,节约了空间资源。因此,其具有良好的可行性。    在数据安全方面,将密文数据通过散列存储的思想分割后,增加了他人获取全部密文数据的难度,高了密文数据的安全性。同时,由于通过几个密文数据并不能推算出明文数据,尤其是在没有第一个文件的情况下,即使破解了DES的解密密钥,只能够知道当前字节的下一个字节存放在那个文件,却无法知道存放的具体位置,因此无法通过剩余的文件推算出部分数据信息,这样以来大大增加了数据的安全性。    在数据完整性方面,只有在获得全部密文,并且得到DES解密密钥的情况下,从第一个文件开始执行解密过程,才能够完整的还原出整个明文数据。若密文数据被破坏,那么从被破坏的位置开始,解密结果将会出现异常很容易被发现,从而保证了数据的完整性。    5 结束语    信息安全已成为当今社会越来越受人关注的问题,尤其是在当前网络如此发达的情况下,局域网、分布式系统以及云存储的数据信息安全问题显得愈发突出。如何保护个人的信息安全,使人们能放心的使用网络这一快捷、方便的资源,是现在计算技术研究的热门话题。本文出的基于散列存储和DES数据加密的方法,在对数据加密的同时,也考虑到对密文的保护,从而增加他人获取密文的代价,高还原明文的难度。而且,个人在保护自己的数据时不需将整个文件全部带走,只需带走一部分文件就能实现对整个文件的保护,使数据保护更加便捷。然而,由于采用逐字节散列的方法,会增加一定的时间开销。如何进一步的在不增加空间消耗的前下,降低时间的开销需我们继续不断研究。    参考文献    1 解双建,原亮,谢方方.DES算法原理及其FPGA实现J.计算机技术与发展,211(7)158-16+1.    2 隋涛.DES与AES数据加密算法探讨J.湖北第二师范学院学报,213(8)66-68.    3 徐小龙,周静岚,杨庚.一种基于数据分割与分级的云存储数据隐私保护机制J.计算机科学,213(2)98-12.