时间:2024-05-04
罗光明
(四川水利职业技术学院,四川成都611230)
基于AES和RSA的网络数据加密方案
罗光明
(四川水利职业技术学院,四川成都611230)
随着计算机应用广度与深度的增加,信息安全问题越来越受到广泛关注,为确保网络传输数据的安全性,保障信息安全,网络数据加密技术获得较快发展,新型的数据加密标准AES逐渐取代传统的DES数据加密标准。在认知AES与RSA加密算法及其实现的基础上,分析两者优缺点,提出基于AES和RSA的网络数据加密方案,以实现对网络传输数据的加密保护,保障信息安全,实现其应用价值。
AES;RSA;网络数据;加密方案
随着计算机及互联网的广泛应用,网络数据在传输过程中的安全性问题受到广泛关注。为保障其信息传输安全,信息安全技术尤其是数据加密技术在研究中获得高速发展并广泛应用[1]。将加密密钥类型作为研究与划分的标准,则可以将数据加密技术划分为两大系统,分别为对称加密系统(即私钥加密系统)与非对称加密系统(即公钥加密系统)。对称加密系统在实际操作与应用中,网络数据传输的发送方与接收方对相关信息的加密与解密操作,均通过相同的单一密钥来实现,具备加密速度快与算法简单等优势,属于主流的密码体制。DES数据加密标准算法属于对称密码算法中最为典型的应用,然而其加密系统所应用的密钥长度相对较短,在分布式开发网络大环境应用中,难以达到网络数据传输的加密安全性要求[2]。随着数据加密技术的不断发展,AES因其技术优势,作为一种高级数据加密标准逐渐获得认可,成为DES加密标准之后的重要标准。RSA属于非对称加密系统中应用最为广泛的公钥加密算法。在认知AES与RSA网络数据加密与其实现方法的基础上,提出基于AES和RSA的网络数据加密方案,保障网络数据传输的安全性。
1.1 AES加密算法Rijndael
AES高级加密标准是以Rijndael算法为基础发展而来,Rijndael密码本质上属于一种特殊的迭代型分组密码,这种分组密码在实际操作中,其分组长度与密码的长度可以依据实际需要进行相应的变化。AES加密算法在数据处理上以字节作为基础单位,以128位比特信息作分析,其信息可以划分为16个字节,依据相应的操作顺序将其字节复制到4×4的矩阵之中,称之为state,即状态。通过状态矩阵变换实现AES所有变换。AES加密标准下其类型相对应的密钥长度、分组大小及加密轮数对应关系如表1所示。
表1 AES密钥长度、分组大小及加密轮数对应关系表
数据分组加密的轮数,多是通过Nr进行表示。轮函数在迭代操作中,需要通过四个步骤的变化来实现迭代操作,其实际操作步骤表现为字节代换运算、行变换、列混合与轮密钥添加变换。通过对轮函数的迭代操作能够将相对简单的非线形变化与混合函数之间进行变化操作,让字节代换运算具备一定非线形扩散[3],在迭代操作中,引入不同密钥从而提高数据信息的加密性,保障数据信息传输的安全。
通过表1可以看出,不同类型的AES加密密钥长度、分组大小及其秘密轮数存在着一定差异。在进行加密操作时,将分组各字节输入,其具体的输入方式依据图1所提供的方法装入矩阵state中,如需要将ABCDEF⁃GHIJKLMNOP字节输入,则其输入映射到状态矩阵中则表现为图1的状态。
图1 分组状态矩阵
轮函数迭代需要经过四个步骤,将其步骤具体化为:
(1)函数迭代的字节代换运算
函数迭代中的字节代换运算,属于一种可逆的非线形字节代换操作方式,针对分组中存在的每个字节进行操作,其字节操作遵循S盒,即代换表。S盒具体组成由限域GF(2)上存在的仿射变换与GF(28)上存在的乘法取逆构成。仿射变化运算遵循如下规则:
(2)函数迭代的行变换
行变换属于函数迭代的一种线性变换,通过行变换可以实现密码信息的充分混乱,让信息具备较高的非线形度,让其密码破译防护能力提升。行变换的操作是以每行字为标准以循环右移的方式实现操作的,在具体行变换过程中,第0行不需要执行偏移操作,第一行循环右移以一个字节为准,第二行循环右移则以两个字节为准,以此类推,来实现整个行变换操作[4]。
(3)函数迭代的列混合变化
函数迭代的列混合变化,指的是从状态之中选择出一列,在将其转变为多项式形式的基础上,以固定多项式a(x)进行相乘,取其相乘所得结果,以结果进行取模运算操作,模值公式为X4+1,多项式a(x)={03}x3+ {02}x2+{01}x+{02}。多项式与模值X4+1属于互质关系,具备可逆性。列混合变化所具备的算数表达式具体为:s′(x)=a(x)*s(x)。s(x)代表状态列多项式。
(4)函数迭代轮密钥的添加变换
在函数迭代轮密钥的添加变换操作中,将轮密钥异或到状态纸张,通过密钥表获得轮密钥,轮密钥长度与数据库的长度Nb相同。
1.2 高级加密标准AES实现流程
高级加密标准AES算法的实现表现为:基于发送方,首先需要创建一个AES私钥并通过口令将其私钥进行加密处理,将通过口令加密之后的AES密钥经过互联网数据传输发送给接收方[5]。发送方对私钥进行解密,借助私钥加密明文获得完整的密文,加密AES密钥与密文通过网络传输一起发送到接收方。接收方在收到网络数据后,通过口令对加密密钥作解密处理,从而获得AES密钥,以解密之后取得的密钥将收到的密文进行解密操作,最终形成明文,AES实现流程具体如图2所示。
图2 AES实现流程示意图
2.1 RSA加密算法
RSA算法属于一种公钥加密算法,其字母属于该密码系统发明者人物名字首字母缩写,系统发明者分别为Ron Rivest、Adi Shamir与Leonard Adleman。作为一种公钥加密算法,其在密码协议应用较为广泛,如SSL等[6]。
RSA算法实现是建立于大质数因数分解的公钥体系之上。具体而言,存在两个较大的质数,其中一个作为公钥而另外一个则承担私钥任务,如采取其中一个作为加密处理,而另外一个则作为解密进行操作。其算法密钥长度具备可变性,支持40~2 048位变化,加密过程中可以将明文分块进行操作,明文分块大小也可以变化,但其大小不允许超出密钥长度。密钥长度与加密效果之间成正比关系,即其密钥越长则其加密效果越好,然而密钥越长则其加密与解密所需要的开销越大,处理速度越慢。
将RSA算法简单描述为:RSA公开密钥n=pq,其中p与q属于两个不相同的很大质数,p与q应做到保密性。通过将(p-1)及(q-1)相乘,获得ϕ(n),选择出整数e与ϕ(n)互质,其中整数e应大于1小于ϕ(n)。RSA秘密密钥d=e-1mod ϕ(n)。加密操作c=mc(mod n),解密操作m=cd(mod n),其中c代表密文,m代表明文。
2.2 RSA算法操作实现流程
RSA算法操作实现流程表现为:第一,要求接收网络数据的一方进行RSA密钥对创建操作,完整的密钥对包括公钥与私钥两部分,其中公钥在网络数据传输的过程中传输给发送方,私钥则需要由接收方进行保存。发送方在接收到公钥后通过公钥可以实现对明文的加密处理,加密后形成密文,将密文通过网络传输给接收方,接收方则可以通过所保存的RSA私钥对所接收的密文进行解密,从而转变为明文,实现数据的安全传输。
RSA算法,属于现代信息安全技术中的公开密钥系统的代表性成果,其安全性的实现是建立于大素数因子的合数,因子分解困难法则基础之上。Rijndael算法属于新型的具备高水平的高级加密标准,其算法应用对计算机的内容与处理能力要求较低,操作过程中则很容易抵御时间与空间的攻击,其在不同的运行环境条件下,能够保持较好的运行效果[7],从而让AES在运行中成为网络数据加密处理的首选算法,其本身更兼具安全性、灵活性、高效性与便捷性等优势。
RSA算法与AES算法相比,AES算法的密钥长度最大只能达到256比特,能够通过软件与硬件完成高速处理,而RSA算法在应用中则需要进行大整数的求模与乘幂等字长处理操作,在处理速度上相对而言低于AES算法,因此,采取AES算法进行网络数据信息的加密与解密处理,其运行效率优越于RSA算法。从管理密钥的视角上来看,AES算法在使用中要求在进行数据传输之前,执行密钥分配,确保密钥分配保密性,将私钥经过网络传输给接收方。而应用RSA算法,其在网络数据处理中采取公钥加密(私钥加密)与私钥解密(公钥解密)的操作方式,其对网络数据的加密与解密处理不需要通过网络进行保密密钥传输操作,在密钥管理层次上,优越于RSA算法[8]。在安全性层次上,RSA算法与AES算法安全性均较好,当前尚未出现能够有效完全破译该算法的方法。在签名与认证层次上,AES算法作为一种对称密钥密码体制,难以实现数字签名与身份认证等操作,相对而言,RSA算法属于一种非对称密码体制,其在应用中能够较为容易地实现数字签名操作与身份认证操作。
研究及应用表明,RSA算法在应用中执行加密与解密的速度较慢,效率偏低,难以承担大量的数据文件加密[9]。在网络应用中完全采取公开密码体制进行机密信息传输难以实现且没有必要。AES算法的加密速度较快,然而其安全管理存在一定问题,在网络数据传输中,加强AES密钥安全管理属于AES加密安全处理的关键。考虑到两者之间的优劣势,尝试提出一种综合性质的网络数据加密方案,既可以发挥AES算法的运算速度与加密强度上的优势,同时发挥RSA算法管理优势,规避AES算法在机密信息传输中的网络安全问题,同时避免RSA算法运行速度慢的问题。在网络数据传输环节中,采取AES对称密码体制针对传输数据信息进行加密处理,同时引入RSA不对称密码体制进行AES密钥传输,则可以较好的规避AES算法与RSA算法的不足并发挥其优势,形成一种基于AES和RSA的网络数据加密方案,其方案的加解密实现流程示意图如图3所示。
图3 基于AES和RSA的网络数据加密方案实现流程图
基于AES和RSA的网络数据加密方案实现流程如下:首先,由接收网络数据信息的一方创建RSA密钥对,由接收方通过Internet将RSA公钥传输给发送方,同时对RSA私钥进行保密保存;其次,由发送方进行AES密钥创建,通过AES密钥加密需要传输的明文数据信息,明文数据信息则需要同时进行RSA公钥加密与AES密钥加密处理;最后,发送方将RSA公钥加密后的AES密钥与密文一同经过Internet发送给接收一方。当接收方接收到其传输的网络数据信息后,其信息此时为加密的密文,要求接收方首先调用接收方所保留的RSA私钥并通过私钥对加密的AES密钥进行解密处理,解密处理后获得AES密钥,通过AES密钥解密密文获得明文信息,保障整个网络数据传输的安全性。
随着计算机技术及互联网应用的不断普及,信息安全问题与数据安全保障问题备受关注,为确保数据传输的安全性,网络数据加密技术不断发展。AES属于一种高级加密标准,RSA属于一种非对称公钥加密算法,在认知其算法与实现流程的基础上,综合分析了两者在应用中存在的优势与不足,提出具备互补性的基于AES和RSA的网络数据加密的新型方案,其加密方案在应用中具备加密速度快、效率高,且密钥管理简单等优势,能够有效保障网络数据传输的安全性,在网络传输数据加密中应用更具备优势,其应用前景及现实价值突出。
[1]陈谊,张丽,孙悦红,等.一个面向仿真网络的数据加密系统[J].计算机仿真,2011,28(2):140⁃143.
[2]张继,袁婷婷,林和平,等.AES、RSA混合加密算法研究[C]// 2011年亚太青年通信学术会议(APYCC2011)论文集.北京:中国通信学会,2011:217⁃220.
[3]魏占祯,杨亚涛,陈志伟,等.RSA乘法同态的数据库密文检索实现[J].哈尔滨工程大学学报,2013,34(5):641⁃645.
[4]苏治中.数字加密技术及其在日常中的应用[J].电脑知识与技术,2012,8(15):3668⁃3669.
[5]张红.基于高效的SSH协议的运维审计系统研究与实现[D].长沙:湖南大学,2011.
[6]舒畅.网络数据的加密传输方式分析[J].消费电子,2014(10):97⁃98.
[7]虞旭.计算机网络数据传输加密技术研究[J].科教导刊:电子版,2014(6):129⁃129.
[8]钟治初,郭江鸿,张海峰,等.高效安全的无线传感器网络数据聚合方案[J].计算机应用,2013,33(z1):137⁃140.
[9]郭江鸿,马建峰.安全透明的无线传感器网络数据汇聚方案[J].通信学报,2012(10):51⁃59.
[10]董乐.信息系统数据安全技术的研究与实现[D].厦门:厦门大学,2011.
Network data encryption scheme based on AES and RSA
LUO Guang⁃ming
(Sichuan Water Conservancy Vocational College,Chengdu 611230,China)
With the increase of computer application in breadth and depth,the problem of information security is received extensive attention.How to ensure the security of the network transmission data and information security,the network data en⁃cryption technology has gained rapid development,the traditional DES data encryption standard is gradually replaced by the new AES data encryption standard.Based on the cognition of AES and RSA encryption algorithm and its realization,the advantages and disadvantages of the two encryption algorithms are analyzed,the network data encryption scheme is proposed based on AES and RSA to implement the encryption protect of network transmission data and ensure the information security,its application value is realized.
AES;RSA;network data;encryption scheme
TN918⁃34
A
1004⁃373X(2015)09⁃0087⁃03
罗光明(1981-),男,重庆大足人,硕士,讲师。主要研究方向为计算机应用。
2014⁃11⁃21
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!