发布信息

基于AES-128算法的汽车仪表加解密处理方法和系统与流程

作者:admin      2022-08-31 17:33:17     209



电子通信装置的制造及其应用技术基于aes-128算法的汽车仪表加解密处理方法和系统技术领域1.本发明涉及仪表加解密技术领域,具体地,涉及一种基于aes-128算法的汽车仪表加解密处理方法和系统。背景技术:2.随着新能源汽车的崛起及“互联网+”概念的普及,现在的汽车已经不再局限于行驶功能,智能座舱提供给人们更丰富的功能同时,对汽车安全也提出了更高的需求。如ota在线升级,以及本地存储数据安全性。3.所以越来越多的整车厂开始对数据进行加密处理,目前市面上比较成熟的是通用公司的pepu加密,大众的fazitid以及马自达的davinci,虽然各个厂家对于数据的处理方式不一样,但算法原理基本相同,本发明描述的是基于aes-128算法原理的汽车仪表加解密算法处理、目前已用在马自达多款电动车上,取得了不错的效果。4.专利文献cn109104278a(申请号:cn201811071752.1)公开了一种加密解密方法,包括:(1)、选定待加密明文,经处理器读取明文数据;(2)、使用aes算法对步骤(1)得到的明文数据进行加密,得到加密明文与aes密码;(3)、使用rsa算法对经过步骤(2)得到的aes密码进行加密,同时使用ssl发送连接请求;(4)、经过认证后接受ssl连接请求,并通过ssl连接获取aes密码与rsa密钥;(5)、利用经过步骤(4)得到的aes密码与rsa密钥对加密明文解密。5.aes是一个对称分组密码算法,根据使用的密码长度,aes最常见的有3种方案,用以适应不同的场景要求,分别是aes-128、aes-192和aes-256,本发明根据马自达客户需求,基于cybersecurity的长度选择aes-128满足设计需求,所产生的seed&key通过can写入到产品,从而实现芯片内部的数据保护。技术实现要素:6.针对现有技术中的缺陷,本发明的目的是提供一种基于aes-128算法的汽车仪表加解密处理方法和系统。7.根据本发明提供的基于aes-128算法的汽车仪表加解密处理方法,包括:8.字节替代步骤:通过变换函数s-box进行字节映射,获取对应的开始字节;9.行移位步骤:对4x4矩阵的内部字节进行置换;10.列混淆步骤:每个字节对应的值只与该列的4个值有关系,将某个字节所对应的值乘以2,其结果是将该值的二进制位左移一位;11.轮秘钥加步骤:在加密过程中,将每轮的输入与轮秘钥异或一次;12.秘钥写入步骤:在完成上述步骤后得到一组秘钥,进行写入保存,格式为字符串。13.优选的,所述行位移步骤包括:第一行保持不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节,则矩阵s的表达式为:14.s’[i][j]=s[i][(j+i)%4],其中i、j属于[0,3]。[0015]优选的,所述列混淆包括正向混淆与逆向混淆,在列混淆的过程中,如果某个字节所对应的值的最高位为1,则还需将移位后的结果异或00011011,各个值在相加时使用模2加法。[0016]优选的,所述轮秘钥加步骤包括:任何数和自身的异或结果为0,解密时再异或上该轮的密码进行输入恢复。[0017]优选的,每轮的秘钥分别由初始秘钥扩展得到,最初行作为种子,剩余行从种子秘钥产生,变量nk代表以32位字为单位的种子秘钥长度,秘钥扩展过程为:[0018]将初始秘钥以列为主,转化为4*32bits的字,分别记为w[0…(nk-1)];[0019]依次求解w[j],其中j是整数并且属于[4,k];其中,k=nb*(nr+1),nb=4,nr为轮数,128位秘钥对应的nr=10;[0020]若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]);否则w[j]=w[j-4]⊕w[j-1]。[0021]根据本发明提供的基于aes-128算法的汽车仪表加解密处理系统,包括:[0022]字节替代模块:通过变换函数s-box进行字节映射,获取对应的开始字节;[0023]行移位模块:对4x4矩阵的内部字节进行置换;[0024]列混淆模块:每个字节对应的值只与该列的4个值有关系,将某个字节所对应的值乘以2,其结果是将该值的二进制位左移一位;[0025]轮秘钥加模块:在加密过程中,将每轮的输入与轮秘钥异或一次;[0026]秘钥写入模块:在完成上述步骤后得到一组秘钥,进行写入保存,格式为字符串。[0027]优选的,所述行位移模块包括:第一行保持不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节,则矩阵s的表达式为:[0028]s’[i][j]=s[i][(j+i)%4],其中i、j属于[0,3]。[0029]优选的,所述列混淆包括正向混淆与逆向混淆,在列混淆的过程中,如果某个字节所对应的值的最高位为1,则还需将移位后的结果异或00011011,各个值在相加时使用模2加法。[0030]优选的,所述轮秘钥加模块包括:任何数和自身的异或结果为0,解密时再异或上该轮的密码进行输入恢复。[0031]优选的,每轮的秘钥分别由初始秘钥扩展得到,最初行作为种子,剩余行从种子秘钥产生,变量nk代表以32位字为单位的种子秘钥长度,秘钥扩展过程为:[0032]将初始秘钥以列为主,转化为4*32bits的字,分别记为w[0…(nk-1)];[0033]依次求解w[j],其中j是整数并且属于[4,k];其中,k=nb*(nr+1),nb=4,nr为轮数,128位秘钥对应的nr=10;[0034]若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]);否则w[j]=w[j-4]⊕w[j-1]。[0035]与现有技术相比,本发明具有如下的有益效果:[0036]本发明通过层层剖析加密的过程,如秘钥预扩展、字节替代、行移位、列混淆和轮秘钥加,最后生成最后的key,然后通过did将生成的key写入到产品里实现最终的加密目标,本发明使用简单的矩阵运算加密数据,加密/解密率高。附图说明[0037]通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:[0038]图1为加密流程图;[0039]图2为密钥扩展流程图;[0040]图3为s-box对应表;[0041]图4为行移位示意图;[0042]图5为实际移位示意图;[0043]图6为列混淆示意图;[0044]图7为列混淆示意图。具体实施方式[0045]下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。[0046]实施例:[0047]如图1,加密过程主要涉及到4个block:字节替代、行移位、列混淆和轮秘钥加,与此同时解密过程分别为与之对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的秘钥分别由初始秘钥扩展得到。算法中16字节的明文、密文和轮秘钥都以一个4x4的矩阵(4*4)表示。[0048]每轮的秘钥分别由初始秘钥扩展得到,如图2,其中w[i,j]最初的nk行被作为种子seed,用原始秘钥值;剩余行从种子秘钥来产生。变量nk代表以32位字为单位的种子秘钥长度。新的秘钥被称为轮秘钥(roundkeys)以将它们与原始种子秘钥区别开来,秘钥扩展过程如下:[0049]1)将初始秘钥以列为主,转化为4*32bits的字,分别记为w[0…(nk-1)];[0050]2)按照如下方式,依次求解w[j],其中j是整数并且属于[4,k];(k=nb*(nr+1),nb=4,nr为轮数,128位秘钥对应的nr=10);[0051]3)若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]);否则w[j]=w[j-4]⊕w[j-1]。[0052]aes加密例程开始是拷贝16字节的输入数组到一个名为态state的4×4字节矩阵中,aes加密算法取名为cipher,它操作state[];[0053]举例:[0054]cipher key=2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c[0055]当nk=4,w0=2b7e1516,w1=28aed2a6,w2=abf71588,w3=09cf4f3c。[0056]字节替代:通过s-box完成一个字节到另外一个字节的映射,按照aij就能找到对应的开始字节,如图3为s-box对应表。[0057]行移位:如图4,行移位的功能是实现一个4x4矩阵内部字节之间的置换。[0058]如图5,实际移位的操作即是:第一行保存不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节。假设矩阵的名字为state,简称s,用公式表示如下:[0059]state’[i][j]=state[i][(j+i)%4],其中i、j属于[0,3]。[0060]列混淆:分为正向混淆与逆向混淆,如图6和图7,根据矩阵的乘法可知,在列混淆的过程中,每个字节对应的值只与该列的4个值有关系,将某个字节所对应的值乘以2,其结果就是将该值的二进制位左移一位,如果该值的最高位为1(表示该数值不小于128),则还需要将移位后的结果异或00011011(0x1b),但是要注意上述矩阵乘法与一般意义上矩阵的乘法有所不同,各个值在相加时使用的是模2加法(相当于是异或运算)。[0061][0062]其中:[0063][0064][0065]01·46=01000110b[0066]01·a6=10100110b[0067]则:[0068][0069]轮密码加:任何数和自身的异或结果为0。加密过程中,每轮的输入与轮秘钥异或一次;因此,解密时再异或上该轮的密码即可恢复输入。[0070]秘钥写入:在以上四个过程都完成的基础上能得到一组秘钥,称之为diag,格式是字符串。例如下面就是产线随机生成的一组加密数据:[0071]diag=3031323334353637383900000010c9fa819f3acb0062e7a6aa9241b0dc2db412875a2d2fa100765927a6ed903ae6a41d7944[0072]然后发[0073]2efef3+diag(3031323334353637383900000010c9fa819f3acb0062e7a6aa9241b0dc2db412875a2d2fa100765927a6ed903ae6a41d7944),其中2e代表写入,fef3称之为did。[0074]如果收到6e fe f3+positive feedback,那就代表当前生成的key已经全部写进去了,如果实际的产品需要解密也是一样,只要将上述的seed&key进行逆向处理,如进行矩阵的逆运算,将得到新的一组key,将新的一组key通过第三步“秘钥写入”就可以解密,这样就能实现汽车仪表加解密处理。[0075]根据本发明提供的基于aes-128算法的汽车仪表加解密处理系统,包括:字节替代模块:通过变换函数s-box进行字节映射,获取对应的开始字节;行移位模块:对4x4矩阵的内部字节进行置换;列混淆模块:每个字节对应的值只与该列的4个值有关系,将某个字节所对应的值乘以2,其结果是将该值的二进制位左移一位;轮秘钥加模块:在加密过程中,将每轮的输入与轮秘钥异或一次;秘钥写入模块:在完成上述步骤后得到一组秘钥,进行写入保存,格式为字符串。[0076]所述行位移模块包括:第一行保持不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节,则矩阵s的表达式为:s’[i][j]=s[i][(j+i)%4],其中i、j属于[0,3]。所述列混淆包括正向混淆与逆向混淆,在列混淆的过程中,如果某个字节所对应的值的最高位为1,则还需将移位后的结果异或00011011,各个值在相加时使用模2加法。所述轮秘钥加模块包括:任何数和自身的异或结果为0,解密时再异或上该轮的密码进行输入恢复。每轮的秘钥分别由初始秘钥扩展得到,最初行作为种子,剩余行从种子秘钥产生,变量nk代表以32位字为单位的种子秘钥长度,秘钥扩展过程为:将初始秘钥以列为主,转化为4*32bits的字,分别记为w[0…(nk-1)];依次求解w[j],其中j是整数并且属于[4,k];其中,k=nb*(nr+1),nb=4,nr为轮数,128位秘钥对应的nr=10;若j%4=0,则w[j]=w[j-4]⊕g(w[j-1]);否则w[j]=w[j-4]⊕w[j-1]。[0077]本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。[0078]以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部