AES加密算法在不停车收费系统中的应用ahref=1a

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1AES加密算法在不停车收费系统中的应用*王海科1范伊红3廉飞宇2张元2吕运鹏1(1.郑州大学物理工学院郑州450052)(2.河南工业大学郑州450052)(3.河南科技大学洛阳471003)摘要为了解决不停车收费系统中的数据安全问题,对数据加密过程进行了分析,介绍了AES加密算法的结构和几种变换的过程,围绕AES加密算法现阶段的安全性进行了探讨,选择出AES加密算法对系统中的敏感信息进行加密并通过语言实现。提出了各种加密算法都有一个有效期,为保证计算机系统安全稳定运行,要随着科学发展,对选择的加密算法进行更新。关键词AES;加密;变换;不停车收费系统;安全中图分类号:TP309.7;TP393.09AESENCRYPTIONALGORITHM’SAPPLICATIONINNoSTOPELECTRONICTOLLCOLLECTIONSYSTEMWangHaiKe1FanYiHong3LianFeiYu2ZhangYuan2LvYunPeng1(1.SchoolofPhysicalScience&TechnologyofZhengzhouUniversity,ZhengZhou,450052)(2.HenanUniversityofTechnology,ZhengZhou,450052)(3.HenanUniversityofScienceandTechnology,LuoYang,471003)AbstractInordertoresolvetheproblemsaboutdatasecurityinNoStopElectronicTollCollectionSystem,thispaperanalyzestheprocessaboutencryption,introducesthestructureandseveraltransformationofAESencryptionalgorithm,itdiscussessecurityofAESalgorithmatpresent,selectsAESencryptionalgorithmtoencryptsenseinformationinsystemandimplementincomputerlarguage.ItAdvancesthat,withthedevelopingofscience,encryptionalgorithminallcomputersystemsshoudbeupdatedforallkindsofencryptionalgorithmsexistingaperiodofvalidity.KeywordsAES;encryption;transformation;nostopelectronictollcollectionsystem;security1引言随着计算机系统的网络化,网络作为管理信息系统的支撑,其传递信息的安全性已经成为各种计算机系统能否稳定运行的关键因素。防范客户信息在网络传输过程中被截获并篡改其中的信息,确保信息安全,则是设计计算机系统的一个重要课题。数据安全需要多种方法保障,数据加密技术是保护数据安全的重要环节,也是实现网络信息安全的核心技术。它是将要传输的信息先进行加密处理,将信息编码成不易被侵入者阅读或理解的形式来保护数据的信息,再进行网络传输,即使该信息被截获,截获者也很难从加密后的乱码中得到有用信息,但是被授权的信息获取者却可以将所得到的内容还原并得到其中的信息。数据加密的基本过程如图(1)所示。2AES加密算法分析在密码(学)技术中,数据加密技术是核心。所谓加密,是通过编码的方式将简单明了的数据进行转换,转换成晦涩难懂、难以阅读的其它格式,只有拥有解密密钥才能将这些转换后的数据还原成可读数据。译码是编码的逆过程[1]。根据数据加密所基金项目:河南省杰出青年科学基金项目(0221000200)资助。*作者简介:王海科(1973—),男,河南南阳人,硕士研究生,主要从事人工智能、数据安全方面的研究。张元(1961—),男,河南洛阳人,教授,硕士生导师,主要从事人工智能方面的研究。吕运鹏(1956—)男,河南新郑人,教授,主要从事仪器仪表、测量控制方面的研究。加密解密密钥密文明文图1加解密过程2使用的密钥特点可将数据加密技术分成两种体制,一种是基于单密钥的对称加密体制(传统加密体制),包括分组密码与序列密码,另一类是基于双密钥的非对称加密体制[2]。高级加密标准(AdvancedEncryptionStandard,AES)作为对传统对称加密算法标准DES的替代者,由美国国家标准与技术研究所(NIST)于1997年提出征集算法的公告。经过几年的筛选,最终确定了由VincentRijmen和JoanDaemen发明的Rijndael算法,美国国家标准与技术研究所(NIST)在2002年5月26日建立了新的高级数据加密标准(AES)规范。大多数分组算法都是采用的Feistel结构。Feistel结构是对所加密的内容分组后,每一组再分为左右两半然后进行替换及迭代运算。而AES算法没有涉及到Feistel结构,而是采用了Square结构。Square结构是一种迭代分组密码,其轮变换有四个不同的变换组成,这四个不同的变换表现为一套查表和异或操作。AES加密通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES使用了几种不同的技术来实现置换和替换[3],AES加密算法是一个分组长度和密钥长度均可变的迭代分组密码,分组和密钥长度都可分别为128、192或256位。2.1状态、种子密钥和轮数数据块要经过多次变换操作,每次变换操作所产生的中间结果称为“状态”(State)。状态可由一个4行、Nb列的二维字节数组表示,Nb等于分组长度除以32,如表1所示。密钥也可类似地由一个4行、Nk列的二维字节数组表示,Nk等于密钥长度除以32,如表2所示。有时,可将这些分组看成是4字节向量的一维数组,数组长度与相应的二维数组表中的列数相等。表1Nb=6时的状态编排表表2Nk=4时的密钥编排表算法的输入和输出被看成是由8比特字节构成的一维数组,其元素下标的范围是0~(4Nb-1),因此输入和输出以字节为单位的分组长度分别是16、24和32,其元素下标分别是0~15、0~23和0~31。输入的种子密钥也看成是由8比特字节构成的一维数组,其元素下标的范围是0~(4Nk-1),因此种子密钥以字节为单位的分组长度也分别是16、24和32,其元素下标的范围分别是0~15、0~23和0~31[4]。a00a01a02a03a04a05a10a11a12a13a14a15a20a21a22a23a24a25a30a31a32a33a34a35k00k01k02k03k10k11k12k13k20k21k22k23k30k31k32k333迭代的轮数记为Nr,Nr与Nb和Nk有关,对应128、192、256三种密钥长度的迭代轮数分别为10、12、14。2.2加密过程(1)给定一个明文X,将State初始化为X,并进行AddRoundKey操作,将轮密钥与State异或。(2)对前Nr-1轮中的每一轮,用S盒进行一次SubBytes代换操作;对State做一次ShiftRows行移位操作;再对State做一次MixColumns列混淆操作;然后进行AddRoundKey操作。(3)依次进行SubBytes、ShiftRows、AddRoundKey操作。(4)将最后State中的内容定义为密文Y[5]。Rijndael算法取名为Cipher,它操作State[],其过程描述的伪代码如下:CipherAlgorithmPseudocodeCipher(byte[]input,byte[]output){byte[4,4]State;copyinput[]intoState[]AddRoundKeyfor(round=1;roundNr-1;++round){SubBytesShiftRowsMixColumnsAddRoundKey}SubBytesShiftRowsAddRoundKeycopyState[]tooutput[]}2.3四种变换(1)S盒变换(SubBytes)SubBytes变换是作用在状态中每个字节的非线性字节置换,这个置换表或称(S盒)是可逆的,并由以下两个变换组成:在域GF(28)中取字节的乘法逆,‘00’的乘法逆是它自己;在域GF(2)中进行如下定义的仿射变换[6]:0110001131111100001111100001111100001111110001111110001111110001111110001765421076543210xxxxxxxxyyyyyyyy4(2)列混合变换(MixColumns)MixColumns实现逐列混合,其方法如下:1mod'4xxsxcxs其中,,用矩阵表示如下:0201010323xxxxcccccccccssssssss,3,2,1,0,3,2,1,002010103030201010103020101010302''''(3)行移位变换(ShiftRows)ShiftRows变换是将状态行循环移位,0行不移,第1行循环左移1个字节,第2行循环左移2字节,第3行循环左移3字节。(4)轮密钥加变换(AddRoundKey)AddRoundKey是将轮密钥简单的与状态进行逐比特异或。轮密钥由种子密钥通过密钥编排算法得到,轮密钥长度等于分组长度Nb。2.4密钥扩展通过生成器产生Nr+1轮轮密钥,每个轮密钥由Nb个字组成,共有Nb(Nr+1)个字W(i),i=0,1…,Nb(Nr+1)-1。在加密过程中,需要Nr+1个子密钥,需要构造4(Nr+1)个32位字。2.5Rijndael算法的解密Rijndael的解密运算中除轮密钥加AddRoundKey不变外,其余字节代替(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)都进行求逆变换即可。2.6破译分析目前尚未存在对Rijndael算法完整版的成功攻击,但已经提出对简化算法(即减少圈数的Rijndael)的几种攻击方法。最著名的当数密码设计者自己提出的Square攻击。它对4到6圈的简化算法有效。其思想是利用第4圈字节替换前后平衡性的改变来猜测密钥字节。对Square攻击进行改进,可降低攻击的时间和空间复杂度,可扩展到圈数更多的简化算法的攻击上。对Rijndael算法进行攻击另一种思路是发掘Rijndael密码设计的其他弱点,如利用密钥调度方案的弱点对9圈简化算法进行了密钥相关攻击;利用算法中某些函数之间的冲突攻击4圈以上多达7圈的简化算法。但是,大多数攻击的复杂性使得当前的计算能力还远远无法实现,因此目前尚未危及到Rijndael算法的安全[7]。3AES加密在不停车收费系统中的应用高速公路不停车电子自动收费系统(NoStopElectronicTollCollectionSystem简称NSETCS)是一种能实现高速公路不停车收费的全天候智能型分布式计算机控制、处理系统。不停车收费系统主要由自动收费模块、自动摄像模块和车型识别模块三部分构成,自动收费是整个系统的核心部分。各收费站(以下简记为F)和费用结算管理中心(以下简记为C)通过光纤相连,构成局域网。当车辆以一定速度驶入收费站自动收费车道时,车型识

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功