随着计算机技术的飞速发展和Internet的广泛普及,人们的生活正在发生着巨大变化,但是怎样才能达到使信息系统的机密信息 不能够被泄漏,或者即使被窃取了也很难被识别,以及即使被识别了也板难修改。
一、基础加密算法
1、初始加密算法
初始加密算法是根据明文信息中的字符组成,再借助字符的ASCII码,进行相应的变换运算,从而使原有的真实信息进行伪装,避免被轻易的破解,提高了系统加密保护的安全系数。
在一般的软件系统加密过程中,组成明文信息的字符一般可以分为大写英文字母、小写英文字母、阿拉伯数字和其他特殊字符等四部分。因此,在定义初始加密算法时,需要根据不同种类的字符进行一定的变换运算处理。
具体如下:第一类变换:明文信息的字符是英文字母时,明文在[A,砌范围内,密文为明文的ASCII码值加45;明文在[n,Z]范围内,密文为其ASCII码值加19;明文在[a,m]范围内,密文为其ASCIl码值减19:明文在[n,z]范围内,密文为其ASCII码值减45。第二类变换:明文信息的字符是阿拉伯数字时,明文在[0,4]范围内,密文等于明文乘以2再加1:明文在[5,9]范围内,密文等于明文乘以2再减10。第三类:当明文信息是其他特殊字符时,密文与明文相同。
2、Base64加密算法
Base64加密算法主要的考虑了三个问题,第一为是否加密:第二为加密算法复杂程度和效率:第三为如何处理传输。加密是必须的,但是加密的主要目的不是让用户发送非常安全的Email。而是要达到一眼望去完全看不出内容就行。基于这个目的加密算法,其复杂程度和效率也就不能太大或太低。
3、改进的维热纳尔加密算法
维热纳尔密码是一个非常著名的多码加密法,主要是通过采用定义好的维热纳尔方阵,以及自定义的密钥对明文信息进行加密。以前对于维热纳尔方阵的定义,是通过以二十六个大写英文字母为依据,依次循环不断改变排列顺序,组成26X26级的方阵。为了提高此算法的复杂度,同时提高保密性能,本文在二十六个大写英文字母的基础之上,再将十位阿拉伯数字随机插入到英文字母序列中,最终构建成36X36级的改进维热纳尔方阵。
在维热纳尔加密算法中,除了维热纳尔方阵之外,还需要明文字符集和密钥。明文字符集主要是用来记录组成维热纳尔方阵所需要的字符。密钥是用来在对明文信息加密过程中,指定字符所对应的加密字符。因此,在改进的维热纳尔加密算法中,改进维热纳尔方阵、明文字符集和密钥,分别记为A、M和K。
改进微热纳尔方阵的明文字符集M定义为:
M=(A,BJ9.C,8,D,B,ZE6,GJH.5,I,4,J,K,3,L,2.M,N,1.0.p,O,Q,R,S,T,U,vw,X,z)
密钥K定义为:
K={9,D,7,E6,I,B,X,0,K,P)
因此,针对上述定义的密钥K,对明文信息字符串"HISENSE2011力进行加密变换,得到的密文是"ILY4UD7K49G"。
二、混合加密算法的设计
混合加密算法是在上述基础加密算法的基础上,由初始加密算法、改进优化的维热纳尔加密算法以及Base64加密算法共同组成的,井且其实现的过程必须按照固定的顺序依次进行,即先使用自己定义的初始加密算法,再使用改进优化的维热纳尔加密算法,最后使用Base64加密算法。以明文信息字符串c'chongqn为例,应用混合加密算法进行加密处理,具体的实现步骤如下:
第一步:字符串"chongq”经过初始加密算法之后,得到的加密字符串为"PUBATD"。
第二步:将改进优化的维热纳尔加密算法中的所使用的密钥(设定为:K=(9J D,7E6,I))。
利用密钥K对字符串“PUBATD"继续进行加密处理,得出的加密信息字符串为“QZF783”。
第三步:使用Base64加密算法继续对字符串“QZF783"进行加密换算,得到加密字符串为“UVpGNOIz”。
在计算机网络信息飞速发展的时代,信息加密算法已经成为研究软件安全的一个重要领域,取得了大量的研究成果。本文中所设计的混合加密算法,是由三种加密算法组成的,也可以在此基础之上,再增加几种著名的加密算法或自己设计的新算法,只有跟随时代发展而同步进步的技术才有更广阔的的应用空间和更长的生命周期。
维热纳尔密码是一个很著名的多码加密法,(又译作“维吉尼亚密码”)它实际上是自动密钥(autokey)加密法的一个简化形式,是基于关键词的加密系统,但不是向单码关键词加法那样使用关键词来定义替换形式,关键词写在明文的上面,并不断重复书写,这样每个明文字母都与一个关键词的字母关联。它是由法国外交家Blaise de Vigenère发明的。