软件安全中混合加密算法的设计
2013-04-29于莉莉许伟
于莉莉 许伟
摘 要:随着计算机技术的飞速发展和Internet的广泛普及,人们的生活正在发生着巨大变化。但是怎样才能达到使信息系统的机密信息不能够被泄漏,或者即使被窃取了也很难被识别,以及即使被识别了也极难修改,这一系列的要求已经成为IT业界的热点研究课题。加密技术就是目前电子商务采取的基本安全技术手段。采用信息加密技术不仅可以满足信息保密性的安全需求,而且还可以避免重要信息泄漏的安全威胁。因此,加密技术是认证技术以及其它许多安全技术的基础,也是信息安全的核心技术。
关键词:软件安全;混合加密算法
1 引言
目前,根据不同软件系统所应用的领域,比较常见的加密算法有DES加密算法、RSA加密算法、Base64加密算法和维热纳尔加密算法等。针对不同算法的各自特点,本文首先自定义一种简单的初始加密算法,再对维热纳尔加密算法进行了优化改进,最后结合Base64加密算法共同组成混合加密算法,在很大程度上提高了加密算法的安全性。
2 基础加密算法
2.1 初始加密算法
初始加密算法是根据明文信息中的字符组成,再借助字符的ASCII码,进行相应的变换运算,从而使原有的真实信息进行伪装,避免被轻易的破解,提高了系统加密保护的安全系数。
在一般的软件系统加密过程中,组成明文信息的字符一般可以分为大写英文字母、小写英文字母、阿拉伯数字和其他特殊字符等四部分。因此,在定义初始加密算法时,需要根据不同种类的字符进行一定的变换运算处理。
具体如下:第一类变换:明文信息的字符是英文字母时,明文在[A,M]范围内,密文为明文的ASCII码值加45;明文在[N,Z]范围内,密文为其ASCII码值加19;明文在[a,m]范围内,密文为其ASCII码值减19;明文在[n,z]范围内,密文为其ASCII码值减45。第二类变换:明文信息的字符是阿拉伯数字时,明文在[0,4]范围内,密文等于明文乘以2再加1;明文在[5,9]范围内,密文等于明文乘以2再减10。第三类:当明文信息是其他特殊字符时,密文与明文相同。
2.2 Base64加密算法
Base64加密算法主要的考虑了三个问题,第一为是否加密;第二为加密算法复杂程度和效率;第三为如何处理传输。加密是必须的,但是加密的主要目的不是让用户发送非常安全的Email。而是要达到一眼望去完全看不出内容就行。基于这个目的加密算法,其复杂程度和效率也就不能太大或太低。
2.3 改进的维热纳尔加密算法
维热纳尔密码是一个非常著名的多码加密法,主要是通过采用定义好的维热纳尔方阵,以及自定义的密钥对明文信息进行加密。以前对于维热纳尔方阵的定义,是通过以二十六个大写英文字母为依据,依次循环不断改变排列顺序,组成26×26级的方阵。为了提高此算法的复杂度,同时提高保密性能,本文在二十六个大写英文字母的基础之上,再将十位阿拉伯数字随机插入到英文字母序列中,最终构建成36×36级的改进维热纳尔方阵。
在维热纳尔加密算法中,除了维热纳尔方阵之外,还需要明文字符集和密钥。明文字符集主要是用来记录组成维热纳尔方阵所需要的字符。密钥是用来在对明文信息加密过程中,指定字符所对应的加密字符。因此,在改进的维热纳尔加密算法中,改进维热纳尔方阵、明文字符集和密钥,分别记为A、M和K。
改进微热纳尔方阵的明文字符集M定义为:
M={A,B,9,C,8,D,E,7,F,6,G,H,5,I,4,J,K,3,L,2,M,N,1,O,P,0,Q,R,S,T,U,V,W,X,Z}
密钥K定义为:
K={9,D,7,F,6,I,B,X,0,K,P}
因此,针对上述定义的密钥K,对明文信息字符串“HISENSE2011”进行加密变换,得到的密文是“ILY4UD7K49G”。
3 混合加密算法的设计
混合加密算法是在上述基础加密算法的基础上,由初始加密算法、改进优化的维热纳尔加密算法以及Base64加密算法共同组成的,并且其实现的过程必须按照固定的顺序依次进行,即先使用自己定义的初始加密算法,再使用改进优化的维热纳尔加密算法,最后使用Base64加密算法。以明文信息字符串“chongq”为例,应用混合加密算法进行加密处理,具体的实现步骤如下:
第一步:字符串“chongq”经过初始加密算法之后,得到的加密字符串为“PUBATD”。
第二步:将改进优化的维热纳尔加密算法中的所使用的密钥K设定为:K={9,D,7,F,6,I}。
利用密钥K对字符串“PUBATD”继续进行加密处理,得出的加密信息字符串为“QZF7B3”。
第三步:使用Base64加密算法继续对字符串“QZF7B3”进行加密换算,得到加密字符串为“UVpGN0Iz”。
在计算机网络信息飞速发展的时代,信息加密算法已经成为研究软件安全的一个重要领域,取得了大量的研究成果。本文中所设计的混合加密算法,是由三种加密算法组成的,也可以在此基础之上,再增加几种著名的加密算法或自己设计的新算法,只有跟随时代发展而同步进步的技术才有更广阔的的应用空间和更长的生命周期。
[參考文献]
[1]何茗.加密解密算法的实现及改进[J].西南民族大学学报(自然科学版).2010.1.
[2]徐荣峰.加密算法及其应用研究[D].西北工业大学.2006.
[3]刘玉珍,王丽娜,傅建明,等,译.密码编码学与网络安全原理与实践[M].第三版,北京:电子出版社.2004.
[4]佟晓筠,杜宇,等.基于软件安全混合加密技术的研究[J].计算机工程. 2004.12.