当前位置:首页 > 作文大全 >

基于RSA算法的网络文件加密系统研究

发布时间: 2022-03-20 09:57:10 浏览:

摘 要 随着信息化时代的到来,互联网技术在人们的生产生活中得到了广泛的应用,显著提高了人们信息分享与利用效率。但人们在利用互联网传播信息时,其安全性受到了极大的威胁。因此,加强对网络信息加密与解密技术的研究具有重要的社会与商业价值。鉴于此种情况本文对RSA公开密钥快速加密算法进行阐述,探讨了利用该种算法设计网络文件加密系统的相关问题,以期为保证文件在网络上的安全传输提供参考。

【关键词】RSA算法 加密 网络文件 设计

自网络诞生以来,人们就非常重视信息在网络传输时安全问题的研究,尤其近年来网络病毒、网络攻击猖獗给信息的安全传输带来严重威胁,世界各国不断增加网络信息加密解密技术的研究投入。

1 公开密钥加密系统

公开密钥加密区别于对称密钥加密,该加密系统根据加密密钥无法解出或无法在规定的时间内解出解密密钥,而只能利用对应的解密密钥才能恢复明文信息。当前,公开密钥密码算法需要复杂的数学算法做支撑,总结起来可分为以下几类:离散对数、椭圆曲线离散以及大整数因子分解等。另外,公开密钥加密系统凭借其适应性强、管理密钥简单等优点广泛应用于网络信息传输过程中,但是该种加密系统采用的算法较为复杂,一定程度上影响着信息加密解密工作效率。

1.1 公开密钥加密系统模型

公开密钥加密系统模型包含加密与认证两种基本的模型,这两种模型的加密步骤如图1所示:

图1中明文表示需要加密的传输信息;加密算法指加密时遵守的数学公式或规则;公开密钥指解密时需要输入的参数,该参数可以公开;私有密钥是相对于公开密钥来讲的,其只能被部分人员秘密的持有,另外,通过公开密钥无法或在规定的时间内无法计算出私有密钥。密文指将明文加密后获得的不规则信息,解密算法与加密算法相对应,即利用公开和私有密钥才能获得明文信息。

整个加密解密流程作如下描述:首先应保证加密参与者均掌握公开密钥和私有密钥。假设A准备将信息传传输给B,则A需要利用B传给他的公开密钥对明文进行加密处理,然后将密文传输给B,B接收密文后利用其持有的私有密钥进行解密,便可获得信息明文。

1.2 RSA算法

公开密钥加密中较具代表性的算法当属RSA算法,该算法融合了数论以及大整数因数分解知识,能够抵挡目前任何解密算法的攻击,而且与对称密钥加密算法不同的是,该算法还具备数字签名认证功能。RSA算法具备上文所述公开密钥的一般特征,因此在这里不做过多陈述。

RSA系统理论建立在欧拉定量的基础之上,即n与两个正整数a互为素数则满足aφ(n)=1(modn),公式中φ(n)表示和n互为素数的正整数的个数,该值小于n。RSA公开密钥技术的主要思想可作如下描述:首先,p与q是两个非常大的素数,即是超过100位的十进制素数,且这两个数均是保密的,而两个数的乘积n是公开的;其次,可利用z=φ(n)=(q-1)(p-1)求n;最后,在[e,z]=1的基础上选择整数e,此时φ(n)和互为素数且e是公开的,计算满足关系式de=1(modz)中的d,d是保密的。

实际情况下,利用RSA算法进行加密时安全套接字层SSL要求选取的p与q的数值为128位十进制数字,n的大小则超过10256,该算法的时间复杂度为O=exp{sqrt[lnnln(ln)]},按照每秒钟计算107次的计算速度,则破译该密文需要3.8×108年。

2 组合加密算法设计

RSA加密解密过程主要通过大整数的模幂运算实现,该形式可表示为:M=CEmodN,其中M代表密文,C是需要加密的信息,E为加密的指数,N是两个大素数之积。加密解密过程中需要进行复杂的模幂运算,这无疑降低了加密解密运算速度,因此怎样在最短的时间内计算出M的数值,是提高加密解密效率的关键,为此人们研究了很多快速模幂乘算法,例如2k进制算法、SMM算法以及滑动窗口算法,其中滑动窗口算法是2k算法的进一步拓展,下面以滑动窗口算法为例进行介绍。

2.1 滑动窗口算法

滑动窗口算法指利用宽度一定的窗口从左到右对大整数E的二进制表式进行滑动,滑动时如遇到0bit位则跳过,直到窗口的最低位为1为止,接着根据窗口中的数值对大整数E重新进行编码,则编码后的码元属于集合{0,1,3,...,2m-3,2m-1}。

为了运用滑动窗口编码技术进行大整数模幂运算,需创建用于存储计算中间数值的线性表T[k]、X[i]与L[i],其中X中储存滑动编码之后的非零元素,T存储滑动窗口的编码码元和C的模幂数值,而L线性表用于存放C的X[i]次幂比C的X[i-1]需要多计算的幂乘次数。X[i]线性表和与其对应的L[i]如表1所示:

利用滑动窗口重新编码CEmodN后,可化为下面的形式:

从E最高位着手计算CEmodN,同时结合表1数值可将CEmodN化为:

其实,无论是2k进制算法、SMM算法还是滑动窗口算法,均不同程度的提高了RSA算法的加密速度,可以说是RSA算法的优化。但是随着科技的不断发展,人们对加密解密技术的要求越来越高,因此结合滑动窗口算法、SMM算法的优点以及RSA加密的相关特点人们探讨出了计算效率更高的加密算法-组合加密算法。

2.2 组合加密算法

2.2.1 组合加密算法思路研究

运用组合加密算法进行解密操作的基本思路为:首先,利用二进制表示加密指数E,并利用滑动窗口算法将E的二进制划分成非零与零窗口,以达到缩短指数E长度的目的;其次,为了减小中间运算的复杂程度,需要利用线性表T、X、L将乘幂后求模运算转化为成模和平方模运算;最后,在计算成模和平方模运算过程中,需要对比模数与中间运算结果大小,如果后者大于前者数值,则应运用模数与该值之差进行替换,进而降低操作数的基。组合加密算法流程图设计如图2所示:

2.2.2 组合加密算法的具体实现

根据滑动窗口算法理论知识,结合T、X、L线性表,可将D=CEmodN转化为下列形式

然后利用SMM乘同余对称特点分两步化简上式。第一步:计算CX[i]modN。由于T[k]线性表中将所有CX[i]modN可能的值包含在内,因此建立该线性表时可直接利用乘同余对称特性进行简化。该过程可用以下算法表示:

T[0]=CmodN;P=C*CmodN;P=1;n=N/2;

While(k<=2m-1-1)

{if(T[k]>n&&P>n)

then{T[k]=N-T[k];P=N-P;}

T[k]=T[k-1]*PmodN;

k++;

}

第二步分别计算幂乘余和乘同余,其算法可表示为:

D=1;

for(i=1;i

{

D=D2L[len]modN;

if(D>n){D=(N-D)2L[len]modN;}

D=D*T[k]modN;

if(D>n&&T[k]>n){D=(N-D)(N-T[k]modN;)}

}

总之,通过运用滑动窗口算法与SMM算法理论知识对RSA加密算法进行了改进,显著提高了信息的加密速度,为该加密技术的广泛应用奠定了坚实的基础。

3 网络文件加密系统设计

3.1 系统设计目的

RSA加密组合算法不但克服了公开密钥加密算法运算速度慢的缺点,而且结合数字签名技术的运用,进一步保证了文件信息的完整性,本文运用该技术对网络文件加密。

3.2 系统设计要求

3.2.1 加密功能要求

要求能够实现基本的加密功能,包括外壳绑定、批量加密、扩展加密和基本加密,其中外壳绑定指系统允许加密操作者利用鼠标右键菜单操作文件;批量加密指能够对文件进行批量加密;扩展加密是针对基本加密功能来讲的,即系统提高多种加密功能,加密操作者可根据实际情况选择不同的加密方式;基本加密相对来说比较简单,占用的计算机资源较少。另外,要求能够针对文件类型,选择不同的加密方式。同时为了降低加密过程中被监视的风险,还应能够对数据流进行加密。

3.2.2 加密可靠与安全性要求

为了保证加密的可靠性,要求加密操作具有较好的适应性,即能够在不同的系统中操作;加密出现错误能够及时报错;加密时系统出错不会给加密内容造成影响,即能够恢复加密数据。对网络文件进行加密时还应保证其安全性,即要求加密与传输过程不会被截取或读取,并能保证加密信息的完整性。

3.3 系统整体结构设计

该系统主要由服务端和客户端两部分组成,其中客户端指添加待加密文件,选择加密算法,完成加密操作的准备,而具体的加密环节则主要有服务端负责。整个加密环节可用图3表示:

3.3.1 系统客户端设计

加密系统客户端要实现的功能包括:选择加密文件,选择加密解密选项等,其中选择文件时能够调用文件对话框进而选择待加密的文件,并且还能递归选择目录中其他文件,同时还具备删除功能等,整个工作流程可用图4进行表示。

3.3.2 服务端设计

服务端的主要功能在于接收和处理来自客户端的相关请求,并按照要求解析相关的参数和加密解密操作,服务端的设计流程图如图5所示。

按照客户端与服务端的设计流程,完成了C/S结构系统整体框架的设计,经过具体的实验论证满足了网络文件加密设计要求。

4 总结

随着网络技术的飞速发展信息安全引起了各界的广泛关注,为此人们在数论与密码学的基础上提出了基于RSA快速加密算法,并对该算法进行了优化。实验结果显示该加密系统在保证传输信息完整性的基础上取得了较好的加密效果,为推动网络文件解密技术的发展做出了突出贡献。

参考文献

[1]张宝华,殷新春.RSA密码算法的安全及有效实现[J].中山大学学报(自然科学版),2008(06).

[2]胡振.基于Triple DES与RSA的文件加密系统[J].计算机与现代化,2012(09).

[3]张晓敏.RSA算法及其安全性研究[J].科技资讯,2009(14).

作者单位

西安邮电大学 陕西省西安市 710061

相关热词搜索: 算法 文件加密 研究 系统 网络

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号