ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:557.07KB ,
资源ID:6253053      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6253053.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(张乐然-无线新型电子车牌安全加密和鉴权系统.docx)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

张乐然-无线新型电子车牌安全加密和鉴权系统.docx

1、 J I A N G S U U N I V E R S I TY 本 科 毕 业 论 文 基于无线新型电子车牌安全加密和鉴权系统设计与实现 Design and implementation of security encryption and authentication system based on wireless electronic license plate 专 业: 通信工程 班 级: 11通信1班 姓

2、 名: 张 乐 然 指导教师姓名: 王 志 超 指导教师职称: 副 教 授 2015 年 5 月 基于无线新型电子车牌安全加密和鉴权系统设计与实现 专业班级:11通信1班 学生姓名:张乐然 指导老师:王志超 职称:副教授 摘要 当前,随着智慧交通技术的发展,课题组所研发的无线新型电子车牌有着广泛的市场需求,而电子车牌加密与鉴权系统的设计与实现工作意义重大,是直接关系到此类电子车牌能

3、否进一步推广的关键技术之一。 本文针对这一需求,提出了一种基于无线新型电子车牌安全加密和鉴权系统设计思路与具体实现过程。主要涉及设备鉴别、信息传输和存储以及代码和数据保护等方面一系列安全措施。 在设备鉴别上通过Cortex系列芯片内部固化全球唯一ID的方法作为设备在网络服务中的识别ID,确保设备的唯一性,即设备与服务账号的一对一绑定。同时还设置一个独特的256bit密钥作为设备登录服务器的身份验证。可以有效防止套用牌照、盗版牌照等情况的出现。 在设备信息传输和储存中使用SHA256作为数据的指纹校验,使用AES256作为数据加密的方法。高达256bit的数据校验指纹和加密密钥,配合牢固的

4、AES加密算法来确保数据传输的安全可靠。改进的Diffie–Hellman密钥交换算法来保护密钥交换防止传输途中的失窃。运用了基于Cortex-M4协处理器的一种特别优化的SHA256和AES256加密算法,在资源贫乏的单片机中也可以高速处理数据而不占用CPU时间,避免影响其他操作的执行。 在设备的代码和数据保护上,利用硬件级保护方法,在硬件上电加载前就设定保护模式,未经授权的外部设备不能读取设备中的任何信息,强制的读取会触发保护机制,设备Flash会强制启动擦除程序擦除所有数据。 最后,使用本文设计实现的数据加密和鉴权系统,在新型无线电子汽车牌照上进行应用,并对保护中的电子车牌进行攻击和

5、测试,验证了系统的安全性和可靠性,保证用户的授权安全性及可控性。 关键词:无线电子车牌 加密 鉴权 Design and implementation of security encryption and authentication system based on wireless electronic license plate Abstract At present, Internet of things technology in the fields of energy, health care, public security, traffic, intell

6、igent home plays a major role, provides a convenient, fast and reliable way of life for human beings, But the open networking platform exist authentication and authorization mechanism is not perfect, communication data confidentiality is not strong, hardware device data anti fake deficiencies such a

7、s lack of ability, and a lot of time networking equipment applications were asked to have higher security, therefore it must be as early as possible in the design a secure encryption and authentication system based on equipment necessary to protect. The response to this demand, providing a new wire

8、less electronic license plate this based on equipment has higher security requirements of secure encryption and authentication system design and implementation. In the equipment identification through a cortex series chip internal curing globally unique ID method as the equipment in service network

9、 ID, to ensure that the equipment uniqueness, i.e., the equipment and the service account of binding. At the same time also set a unique 256bit as key device login authentication server. Caneffectively prevent piracy and apply the license, the license. In the code and data protection of equipment,

10、using hardware protection method, in hardware electrical load set protection mode, the authorized external equipment can not read any information equipment, mandatory reading will trigger protection mechanism, flash device will forced to start the program erase all data. Finally, used in the design

11、 and implementation of data encryption and authentication system, in the new wireless electronic car license, and attacks and testing on the protection of the electronic license plate, to verify the reliability and safety of the system, ensure the user security authorization and controllable. Key w

12、ords: Security encryption authentication electronic license plate 目 录 第一章 绪论 1 1.1研究背景和意义 1 1.2 国内外研究现状 2 1.3主要工作 2 1.4 论文结构 3 第二章 相关技术 4 2.1安全散列算法 4 2.1.1 Hash函数概述 4 2.1.2 SHA-256算法概述 5 2.1.3 SHA-256运算步骤 6 2.2 高级加密标准(AES) 9 2.2.1 AES算法概述 9 2.2.2 轮变换 10 2.2.3 密钥扩展方案 12 第三章 设计概要

13、 15 3.1 系统概要 15 3.2 系统需求分析 16 3.3 系统设计分析 18 第四章 硬件设计 21 4.1 主控芯片 21 4.1.1最小系统设计 22 4.2 北斗/GPS定位模块 23 4.2.1最小系统设计 24 4.2.2模块连接 25 4.3 3G无线通信模块 25 第五章 软件设计 27 5.1 Unique ID的读取和验证 27 5.1.1 Unique ID测试 28 5.2 SHA256散列函数 28 5.2.1 SHA256测试 30 5.3 AES256加密算法 31 5.3.1 AES256测试 33 5.4 基于soc

14、ket和json的传输加密 34 5.4.1 ME3000初始化 34 5.4.2 ME3000连接服务器 35 5.4.3 ME3000发送和接收数据 36 5.4.4 JSON格式的通讯协议 41 5.4.5通讯模块测试 42 5.5 片上flash储存 43 5.5.1 flash储存测试 44 5.6 基于硬件的芯片读取保护 44 5.6.1 读取保护测试 45 第六章 系统测试 46 6.1 硬件测试 46 6.1.2 K60最小系统测试 46 6.2 软件测试 46 6.3 测试总结 47 结论 48 1.本论文主要工作 48 2.未来工作展望 4

15、8 致谢 50 参考文献: 51 第一章 绪论 1.1研究背景和意义 随着近年来嵌入式技术不断发展,产品应用也越来越广泛、在包括工业制造、生产控制、军事装备、消费类产品、航空航天、仪器仪表检测、交通运输等各个方面都发挥着不可替代的作用。 汽车电子牌照作为一种新型的基于嵌入式技术的智能设备,被开发用于解决当前汽车牌照功能单一,交通管理部门和车主对车辆的管理不方便,在车辆行驶过程中的识别不迅速,在交通管理中对车辆的统计不够精确等问题。是一个实现智能化交通管理、智能动态信息服务和车辆智能化控制的一体化系统。 半导体技术不断革新不仅带动硬件平台性能不断提升,也使得硬件的成本不

16、断降低,嵌入式软件已经成为产品智能化改造和增值的关键之所在,也是整个行业保持不断增长的中心之所在 [1]。然而嵌入式设备由于使用方式比较特殊,由于缺乏保护和防盗版机制,新产品投放市场不久,就被竞争对手复制,然后以盗版产品的形式重新投放到市场。这些各种形式的盗版、破解极大的损害了原创厂商的利益,阻碍了创新的发展,如果不加阻止,将让厂商不再敢投入资金和人力进行创新,对于行业百害而无一例。据国际反仿冒联盟称,到2015年,仿冒和盗版产品的国际贸易额预计将超过1.7万亿美元,而这个数字己经超过了当前全球经济出口总额的2%[2]。显然,形势已经非常紧迫。 另一方面,由于嵌入式设备的特殊使用方式,对于

17、嵌入式内部的代码和数据保护,也成了一个难题。嵌入式系统中的程序代码和数据都储存在FLASH、EEPROM这样的存储器中,这些储存设备缺乏必要的保护措施,使其中的信息很容易被读取和拷贝,严重威胁设备的信息安全。 在这种情况下,迫切需要引入一种低成本的保护机制来基于产品一定的安全防护措施不仅要防止固件不被拷贝,更重要的是保证固件可以在安全的环境下运行。而且即使固件被复制或者克隆,也不能在复制的设备上正确执行,这样才能保护原版设备的唯一性。然而嵌入式系统硬件不像PC机那样具备丰富的资源,因此PC系统中常用的各种加密方法在嵌入式系统中水土不服,这种安全防护措施必须使用一种全新的思想和方案来保护,这个

18、课题对嵌入式软件保护技术的研究十分有意义。 1.2 国内外研究现状 目前在物联网设备的信息保护上的研究主要分为以下几种: 1、纯软件加密。纯软件加密是用软件实现一个加密方案对自身进行保护,这是人们通常容易想到的方法。这种方法成本比较低、也易于实现。一般利用核心数据(如密钥)和核心软件模块(如Bootloader)配合来验证其它的模块,而通常两者与其它普通数据一样,都存放在Flash上。一旦盗版者利用HAG等底层手段进行修改、替换核心数据和核心模块,则整套安全机制都将失效[3]。并且,嵌入式系统空间有限、资源宝贵,用纯软件加密的办法对产品进行保护对于大部分低端嵌入式设备来讲并不实用。 2

19、硬件加密。按实现原理上来分,硬件加密可以分成两类:第一类是所谓的加密型存储产品。这种加密型存储产品的原理是将普通的EEPROM按某种算法进行加密,用来保护存储在EEPROM中的数据。所以这类产品的加密算法是不能公开的,正因为使用的算法是没有得到国际公认的,因此其加密等级、加密安全性也谈不上任何标准。另一类是厂商自己使用一些单片机,开发一些简单的算法,以期达到在与主机通讯时数据是加密的效果。釆用这种方法,厂商可以掌握全部的技术细节,安全性也有保障,唯一不足的是,这种方法需要花费较大的精力和财力才能完成。 然而不管是上面哪种方法都有很大的局限性,首先是保护内容的局限性,即只能保护flash上面

20、的数据,数据一旦离开芯片就将完全暴露。其次是保护方式在通用性和性能上缺乏平衡,不是太消耗资源就是不方便移植。最后是保护缺乏维度,在身份识别和设备鉴别上缺乏比较的措施,无法真正从各种攻击中保护设备。我们设计的数据加密和鉴权系统的方案则克服了上述的缺点,做到了多方面的保护。 1.3主要工作 本毕业设计来源于“新型无线电子车牌和智能交通管理系统”课题,设计的主要任务是提供一个多层面的数据加密和鉴权系统,一方面使得设备数据在传输和储存中都可以有效防范各种攻击,一方面也维护设备的唯一性,防止出现盗用、冒用设备的情况。本文主要完成了以下模块的设计和实现: 1、实现unique ID读取和验证 2、

21、实现sha256散列算法 3、实现aes256加密算法 4、受保护的片上flash储存 5、基于socket和json的传输加密 6、基于硬件的芯片读取保护 1.4 论文结构 全文共分为六章,具体内容安排如下: 第一章绪论,介绍了本课题的来源及其研究背景和意义。在此基础上给出了毕业设计核心内容及论文结构; 第二章相关技术,对系统设计中用到的关键技术进行介绍; 第三章设计概要,对系统总体设计及其需求分析和设计分析进行阐述; 第四章硬件设计,包括芯片的选择、主控器及其最小系统的设计、GPRS模块使用设计、定位模块使用设计、控制系统的设计、电源系统的设计; 第五章软件设计,

22、主要是各种安全措施的软件实现方法。程序使用C语言,使用IAR7.2编写和编译,在freescale k60芯片上调试和运行。同时对各个模块进行测试。 第六章系统测试,对系统的功能进行测试,分为两个部分:硬件测试和软件测试,看是否能够实现。 结论总结全文工作,并对系统的进一步完善提出展望。 附录给出了系统设计的原理图和系统实物图。 第二章 相关技术 安全防护系统的强度很大程度上在于安全算法的强度,为了构建一个足够强壮的安全防护框架,本设计选用了安全散列算法的最高级别SHA256和高级加密标准下的AES256算法作为核心算法。其中SHA256负责对数据计算指纹,

23、AES256则负责加密数据。两种算法都是由美国国家标准和技术协会(NIST)发布并作为行业标准算法经过了十多年各种广泛的考验,安全性能可以信赖。下文将详细阐述两种算法。 2.1安全散列算法 SHA (Secure Hash Algorithms,安全散列算法)是一种将一个消息映射到一个固定长度的消息摘要的算法。其最大的特点就是不同的输入消息,它们映射得到的摘要大相径庭的机率非常高。这种算法由美国国家安全局(NSA)设计并于1993年被美国国家标准和技术协会(NIST)发布。 其算法的安全基于以下两点[4]: a.由消息摘要反推原始输入消息,从计算上来说是不可行的。 b.想要找到两组不

24、同的消息对应到相同的消息摘要,从计算上来说也是不可行的。对输入消息作出任何改变,有很高的机率导致其生成迥异的消息摘要。 SHA虽然是基于MD4的,但是SHA更为复杂。SHA相比于MD4主要是添加了扩展转换、将摘要位数进行了扩展、通过将上一轮的输出作为下一轮的输入这样的方法产生更快的雪崩效应这几点。除此之外还有以下改变[5]: a.额外增加了第四轮,只不过是使用了与第二轮相同的运算函数。 b.每一步的加法常量都是唯一的。 c.采用了循环纠错编码。 SHA家族一共包括五种安全散列算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512。其中后四者统称为SH

25、A-2、它们的设计原理基本相同,只是摘要的位数不同。 2.1.1 Hash函数概述 在1979年,梅克尔得到真实的单向散列函数的定义,安全属性包括原像和第二原像。 1980年,戴维斯在数字签名中使用散列函数,用来抵御RSA数字签名的伪造攻击,这标志着哈希函数密码学研究存在启动[6]。如今,哈希函数是现代密码学的一个重要分支,它在电子签名和抗抵赖,密码认证,消息认证等诸多领域有着广泛的应用[7]。哈希函数的基本思想是,如果散列值H(X)作为消息x的消息摘要,然后改变X消息中的任何一个位或几位,将导致最后的散列值H(x)的巨大改变[8]。散列函数是开放的,也就是处理的过程是不安全的,其安全性是

26、单向的。例如,散列函数作为一种使用构成文件指纹的方法[9],如果您需要验证某人确实有一个特定的文件(你有该文件),但你不希望他会文件传递给你,然后让他给你的散列值,如果他发给你的哈希值与您在此文件的哈希值是相同的,那么我们可以肯定他有文件[10]。由于这个特点,散列函数自然成为许多安全协议和加密系统的安全性保障基础,如SSL,TSL协议[11]。 2.1.2 SHA-256算法概述 SHA-256算法适用于长度为α(0≤α≤264)的消息,我们这里将消息定义为M。同md5和sha-1一样,待处理的消息必须是512比特的倍数。接下来对每一个512比特消息按32比特一组进行分组,再扩展到64组

27、扩展后的消息序列表示为ω0,ω1,…ω63。这里我们需要8个工作变量: Η00=6a09e667 Η10=bb67ae85 Η20=3c6ef372 Η30=a54ff53a Η40=510e527f Η50=9b05688c Η60=1f83d9ab Η70=5be0cd19 SHA-256同时还有两个临时变量Τ1,Τ2。算法的运算会使用到6个逻辑函数,而每个函数的操作对象都是字(32位),每个函数的输出结果也是字。 Ch(x,y,z)=(x∧y)⊕(x∧z) Maj(x,y,z)=(x∧y)⊕(x∧z)⊕(y∧z) 0(256)(x)=ROTR2(χ)⊕RO

28、TR13(χ)⊕ROTR22(χ) 1(256)(x)=ROTR6(χ)⊕ROTR11(χ)⊕ROTR25(χ) σ0(256)(χ)=ROTR7χ⊕ROTR18χ⊕SHR3χ σ1(256)(χ)=ROTR17(χ)⊕ROTR19(χ)⊕SHR10(χ) 其中SHRn(χ)=χ≫n ROTRn(χ)=(χ≫n)∨(χ≪w-n) SHA-256算法中还用到64个常量,Κ0(256),Κ1(256),...Κ63(256)。这些常量用16进制表示如表2.1所示: 表2.1 SHA-256常量表 428a2f98 71374491 b5cOfbcf

29、e9b5dba5 3956c25b 59flllfl 923f82a4 ablc5ed5 d807aa98 12835b01 243185be 550c7dc3 72be5d74 8Odeblfe 9bdc06a7 cl9bfl74 e49b69cl efbe4786 0fcl9dc6 240calcc 2de92c6f 4a7484aa 5cbOa9dc 76f988da 983e5152 a831c66d b00327c8 bf597fc7 c6e00bf3 d5a79147 06ca6351 14292967 27b70a85

30、2elb2138 4d2c6dfc 53380dl3 650a7354 766a0abb 81c2c92e 92722c85 a2bfe8al a81a664b c24b8b70 c76c51a3 dl92e819 d6990624 f40e3585 106aa070 19a4cll6 1e376c08 2748774c 34b0bcb5 391cOcb3 4ed8aa4a 5b9cca4f 682e6ff3 748fB2ee 78a5636f 84c87814 8cc70208 90befffa a4506ceb bef9a3f7

31、c67178f2 2.1.3 SHA-256运算步骤 1、填充附加消息 在Hash计算之前,需要对输入消息M进行填充,以确保填充后的消息长度是512的整数倍。填充方法如下,假设消息M的长度是l比特,然后在消息末尾附加1个“1”和k个“0”,使得l + l + k = 448 mod 512。然后在后面的64比特中填上原始长度l的二进制表示。举个例子,一个消息“abc”,总共8x3 = 24比特,接下来在后面填上1个“1”,然后接着是448- (24+1) =423个“0”,最后填上原始消息长度值24,这样就构成一个512比特的消息。 2、解析填充后的消息 前文已经提到,填充后的消

32、息长度是512的整数倍,这里先把消息分成N组,Μ(0),Μ(1),...Μ(N),每组512比特。依次读入512比特的消息,以32比特为一组,分成16组,假设第1组32比特消息为Μ0(i),依次往后,第二个为Μ1(i),最后一个为Μ15(i)。 3、SHA-256 的 Hash 计算 上述预处理都完成后,每个512比特的消息块从Μ(0),Μ(1),...Μ(N),将被按顺序处理,处理步骤如下: For i = 1 to N: { 1、扩展的得到的64个消息序列,{Wt}: Wt = Mt(i) , 0≤t≤15σt{256}(Wt-2)+Wt-7+σ0{256}(Wt-15)+W

33、t-16 , 16≤t≤63 2、初始化8个工作变量a,b,c,d,e,f,g,h为前一次(i-1)的Hash值: a = Η0(i-1) b= Η1i-1 c = Η2i-1 d = Η3i-1 e = Η4i-1 f = Η5i-1 g = Η6i-1 h = Η7(i-1) 3、For t = 0 to 63: { Τ1= h+1256(e)+Ch(e,f,g)+Κ1{256}+Wt Τ2=0256a+Maj(a,b,c) h = g g = f f = e e = d + Τ1 d = c c = b b

34、 a a = Τ1 + Τ1 } 4、计算得到第i次的Hash值Η(i): Η0(i) = a + Η0(i-1) Η1(i) = b + Η1(i-1) Η2(i) =c + Η2(i-1) Η3(i) = d + Η3(i-1) Η4(i) = e + Η4(i-1) Η5(i) = f + Η5(i-1) Η6(i) = g + Η6(i-1) Η7(i) = h + Η7(i-1) } 1到N次重复之后,循环结束,最终的256比特消息摘要就是第N次Hash值Η0(N),Η1(N),...Η7(N)的级联: Η0(N)∥Η1(N)∥Η2(N)∥Η3(N

35、)∥Η4(N)∥Η5(N)∥Η6(N)∥Η7(N) 2.2 高级加密标准(AES) 1997年9月12日NIST正式发出了征集算法的公告,其目标是确定一种保护敏感(无密级的)信息的、公开的、免费的并且全球通用的算法作为AES,以弥补DES退出后,数据加密标准留下的空缺。其最基本的功能要求是:算法必须是对称分组密码,分组长度为128比特,密钥长度支持128,192和256比特。 2000年10月2日,NIST正式宣布Rijndeal算法将被不加修改地作为AES,此后NIST授权联邦信息处理标准出版社(FIPS PUBS)为AES制定了标准草案用以征集公众的评议,随后在公众评议的基础上对草

36、案进行修改,于2001年11月26日发布了正式的197号标准一AES标准[12],在FIPS PUBs 197中指出了标准生效的具体时间为2002年5月26日,至此,经历数年的AES开发研究才终于落下帷幕。 2.2.1 AES算法概述 Rijndael算法是一个分组迭代加密算法,而且可变数据块长、可变密钥长。数据块长和密钥长可以是128,192或256比特,但为了满足AES的要求,分组长度被固定为为128比特,密钥长度则是可变的128,192或256比特。 算法中数据块要经过多次数据转换操作,其中每一次转换操作产生的中间结果叫做状态。状态可表示为二维字节数组即状态矩阵,它有4行,Nb列,

37、且Nb等于数据块长除以32,在标准AES里Nb=4。密钥也可类似地表示为二维字节数组,它有四行,Nk列,其中Nk等于密钥块长除以32。算法转换的轮数Nr由Nb和Nk共同决定,具体值列在表2.2中。 表2.2在不同的Nb和Nk下轮的数值Nr Nr Nb=4 Nb=6 Nb=8 Nk=4 10 12 14 Nk=6 12 12 14 Nk=8 14 14 14 AES采用的是替代/置换(SP)网络结构。每一轮由3层组成: (1)非线性层:进行SbuByte变换(即S盒替换),起到混淆的作用; (2)线性混合层:进行ShiftRow行变换运算和MxiColum

38、n列变换运算以确保多轮之上的高度扩散; (3)密钥加层:子密钥简单地异或到中间状态上. AES算法加密的基本流程如图2.1所示: 128位明文数据 与扩展密钥的异或运算 S盒变换 行变换 列变换 与扩展密钥的异或 S盒变换 行变换 与扩展密钥的异或 128位加密数据 图2.1 AES加密流程图 2.2.2 轮变换 轮变换包含4个不同的变换,S盒变换,行变换,列变换和轮密钥加,下面用用类C语言描述: Round(State,RoundKey) { SubByte(State); ShiftRow(State); MixColumn(State)

39、 AddRoudKey(State,RoundKey); } 最后一轮少了MixColumn(State)函数,为: FinalRound(State,RoundKey) { SubByte(State); ShiftRow(State); AddRoundKey(State,RoundKey); } 下面我们分别介绍轮变换中的各个变换。 1、SubByte变换 SubByte变换即S盒运算。该运算有如下两个步骤: (l)对所有的子字节在有限域GF(28)中求其乘法逆,且规定‘00'的逆为‘00’,‘01’的逆仍然为‘01’; (2)经(1)处理后的

40、字节值进行如图2.2定义的仿射转换: 图2.2 仿射变换 该变换和状态记为SubByte(State)。变幻的方法是通过查S盒表找到这个字节对应的多项式,然后对这个字节进行替换。而逆S变换的计算方法稍有不同,先通过查逆S盒表进行字节替换,即逆仿射变换运算,然后再利用前面介绍过的方法求得输入字节乘法逆。 2、ShiftRow变换 这一变换和状态用ShiftRow(State)来表示。例如在行左平移变换中,状态的行以不同的位移向左循环平移,第O行不动,第1行移动Cl个字节,第2行移动C2个字节,第3行移动C3个字节.C1,CZ,C3与分组长Nb有关,相关关系为表2.3所示。 表2.3

41、 ShiftRow变换 Nb C1 C2 C3 4 1 2 3 6 1 2 3 8 1 2 4 3、MixColumn变换和InvMixColumn变换 在列混淆变换中,我们把状态的每一列看作是在系数域GF(28)中上的多项式,然后在模(x4+1)下与固定多项式cx='03'x3+'01'x2+'01'x+'02'相乘。这种运算可用矩阵乘法来表示,记bx=c(x)⊗a(x),则: 图2.3 MixColumn变换 对所有的列进行这一运算就用MixColumn(State)表示。由于c(x)与x4+1互素,因此c(x)可逆,且c-1x=dx='0B'x

42、3+'0D'x2+'09'x+'0E'。列混淆变换的逆类似于列混淆变换,只需将c(x)换成d(x)即可。也就是只需要将系数矩阵换为其乘法逆矩阵即可,如图2.4: 图2.4 InvMixColumn变换 4、轮密钥加 轮密钥加用AddRoundKey(state,RoundKey)表示。计算方法是将状态矩阵和轮密钥进行简单的位异或。轮密钥长度等于分组长度Nb,使用的轮密钥是通过密钥扩展算法,由种子密钥所生成。 2.2.3 密钥扩展方案 轮密钥的生成是由密钥扩展和轮密钥选择两部分构成,其基本原则是: (1)轮密钥的总位数等于分组长度乘以(1+Nr),如分组长为256bit,轮数10

43、则轮密钥的总长为256*(10+1)=2816bit; (2)种子密钥扩展为扩展密钥,种子密钥长度为4*Nk个字节; (3)轮密钥由以下方法从扩展密钥中获得:对第1轮密钥由前Nb个字构成;第2轮密钥由第二个Nb个字即第Nb+l个字到第2Nb个字构成;以下依次类推。 1、密钥的扩展 扩展密钥用数组w[Nb*(Nr+l)表示,前Nk个字是种子密钥,其它的密钥字通过递归定义生成。由于密钥扩展函数取决于Nk的值,因此下面介绍中分为Nk≤6和Nk>6两种情况。 若Nk≤6,用类C语言描述如下: KeyExpansion(byte Key[4*Nk], word w[Nb*(Nr+l)])

44、 { for(i=0;i

45、数RotByte(w)返回的是这4个字节经循环置换后的字,这个循环置换为:若输入字为(a,b,c,d),则输出字(b,c,d,a)。 可以看出:扩展密钥的Nk个字由种子密钥构成,随后的字w[i]等于w[i-1]经一些变换后得到的字temp和字w[i-Nk]异或而成;而且对位置为Nk倍数的字变换中不仅运用了循环左移变换RotByte和子字节变换SubByte,还运用了轮常数Rcon。 对轮常数,我们定义为: Rcon[i]==(Rc[i],'00','00','00'); 而Re[i]表示在有限域GF(28)中xi-1的值,即: Rc[1]=l(即'01');

46、 Rc[i]=x(即'02')·(Rc[i-1])= xi-1 当Nk>6时,用类C语言描述为: KeyExpnasionb(byte Key[4*Nk] word w[Nb *(Nr+l)]) { for(i=0;i

47、 else if(i%Nk==4) temp=SubByte(temp); w[i]=w[i-Nk]^temp: } } 这与Nk≤6的区别在于对指数满足i-4是Nk的倍数的字,在异或之前 对w[i-1]进行SubByte变换。 2、轮密钥的选择 由于在进行密钥加时,密钥长必须与分组长相等,因此第i轮的密钥与分组长度有关,并且由扩展密钥的字w[Nb*i,w[Nb*i+l],…,w[Nb*(i+l)]构成。表2.4给出了Nb=4,Nk=4时的轮密钥选择情况。 表2.4 轮密钥选择 W0 W1 W2 W3 W4 W5 W6

48、 W7 W8 W9 W10 W11 … 轮密钥0 轮密钥1 轮密钥2 … 这种算法的优点在于占有的存储空间不大,并且轮密钥的计算只需要使用Nk个字节就可以了,不需要进行预计算。 第三章 设计概要 3.1 系统概要 新型无线汽车电子牌照主要是一种新型的基于嵌入式技术的智能设备。主要是为了解决当前汽车牌照功能单一,交通管理部门和车主对车辆的管理不方便,在车辆行驶过程中的识别不迅速,在交通管理中对车辆的统计不够精确等问题。是一个实现智能化交通管理、智能动态信息服务和车辆智能化控制的一体化系统。 系统的整体结构下图3.1所示: 数据库 管理端服务器 智能交通灯系

49、统 智能无卡收费 交通局管理软件 终端服务器 无线电子汽车牌照 手机APP管理软件 。。。 。。。 图3.1 系统框图 其中云系统作为整个系统的核心,管理页面、手机APP和无线电子车牌都会连接到云,通过与云系统的交互来执行服务。在云端会有一个庞大的数据库,其中保存着车牌登记、违章、年检和保险等所有的信息。新型无线电子车牌系统的特色功能主要有以下几个: 1、 车辆信息的数字化管理 由于所有的车辆信息都保存在云端,因此从任何位置和设备都可以很方便的获取这些信息,极大地便利车辆信息的管理。演示系统目前提供了三个接入方法。 (1) 网页管理系统,通过网页的方式管理整个车辆系

50、统的所有信息,被设计用于部署在交通管理部门,具有很高的权限,可以查看和修改所有车辆的信息。 (2) 手机APP管理,车主可以通过账号和密码登陆服务器,拥有受限制的权限,仅仅可以查看自己名下车牌的相关信息,不过对于诸如保险、违章、车辆位置等信息,依然可以非常方便的处理,省去了车主往返交通管理部门的麻烦,真正做到“掌”控自己的车。 (3) 车辆信息近距离读取。该功能暂未实现,不过未来可以通过加入蓝牙、zigbee、NFC这样的模块,实现车辆信息的近距离读取功能,这样在交警执勤等情形下可以做到快速获取车牌信息,为执法带来便利。 2、 无卡收费功能 当前的无法收费功能都是基于ETC实现的,这

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服