一种高级加密标准协处理器自检的方法与流程

文档序号:19250190发布日期:2019-11-27 20:07阅读:177来源:国知局
一种高级加密标准协处理器自检的方法与流程

本发明涉及单片机技术领域,特别涉及一种高级加密标准协处理器自检的方法。



背景技术:

高级加密标准(advancedencryptionstandard,缩写aes)协处理器在安全计算单片机上已被广泛使用,主要用于提高单片机数据加密的能力。如果aes协处理器出现功能错误,则会导致基于aes计算的加解密数据出错,进一步导致单片机所属上层应用执行错误。



技术实现要素:

本发明的目的,就是针对现有技术的缺陷,提供一种高级加密标准协处理器自检的方法,对aes协处理器进行加密功能与解密功能的自检校验操作,并且通过设置协处理器自检错误计数器为自检失败提供解决方案入口,使用本发明方法的自检方法,使用者可根据协处理器自检错误计数器的取值进一步作出自检失败后的预警工作。

实现上述目的,本发明提供了一种高级加密标准协处理器自检的方法,包括:

单片机从系统区获取验证密钥生成第一密钥,获取验证明文生成第一明文,获取验证密文生成第一密文;

所述单片机对所述第一密钥进行第一自检参数校验处理;

当所述第一自检参数校验成功之后,所述单片机对所述第一明文进行第二自检参数校验处理;

当所述第二自检参数校验成功之后,所述单片机对所述第一密文进行第三自检参数校验处理;

当所述第三自检参数校验成功之后,所述单片机根据所述第一密钥,使用所述协处理器对所述第一明文进行加密处理生成第一临时密文,对所述第一密文进行解密处理生成第一临时明文;

所述单片机根据所述第一临时密文与所述第一密文,进行第一功能自检校验处理;

当所述第一功能自检校验成功之后,所述单片机根据所述第一临时明文与所述第一明文,进行第二功能自检校验处理;

当所述第二功能自检校验成功之后,所述单片机设置所述系统区的协处理器自检错误计数器的值为0,并向上位机发送自检成功信息。

进一步的,所述单片机从系统区获取验证密钥生成第一密钥,获取验证明文生成第一明文,获取验证密文生成第一密文,之前,还包括:

所述单片机在系统区设置所述验证密钥、验证明文、验证密文。

进一步的,所述单片机对所述第一密钥进行第一自检参数校验处理,具体包括:

所述单片机对所述第一密钥的值进行全零参数校验处理,具体的:当所述第一密钥的值为全十六进制0时,所述第一自检参数校验失败;当所述第一密钥的值不为全十六进制0时,所述第一自检参数校验成功。

进一步的,所述单片机对所述第一明文进行第二自检参数校验处理,具体包括:

所述单片机对所述第一明文的值进行全零参数校验处理,具体的:当所述第一明文的值为全十六进制0时,所述第二自检参数校验失败;当所述第一明文的值不为全十六进制0时,所述第二自检参数校验成功。

进一步的,所述单片机对所述第一密文进行第三自检参数校验处理,具体包括:

所述单片机对所述第一密文的值进行全零参数校验处理,具体的:当所述第一密文的值为全十六进制0时,所述第三自检参数校验失败;当所述第一密文的值不为全十六进制0时,所述第三自检参数校验成功。

进一步的,所述单片机根据所述第一临时密文与所述第一密文,进行第一功能自检校验处理,具体包括:

所述单片机判断所述第一临时密文与所述第一密文的值是否相等,如果所述第一临时密文与所述第一密文的值相等,则所述第一功能自检校验成功;如果所述第一临时密文与所述第一密文的值不相等,则所述第一功能自检校验失败。

进一步的,所述单片机根据所述第一临时明文与所述第一明文,进行第二功能自检校验处理,具体包括:

所述单片机判断所述第一临时明文与所述第一明文的值是否相等,如果所述第一临时明文与所述第一明文的值相等,则所述第二功能自检校验成功;如果所述第一临时明文与所述第一明文的值不相等,则所述第二功能自检校验失败。

进一步的,所述方法还包括:

当所述第一自检参数校验失败时,所述单片机设置所述系统区的协处理器自检错误计数器的值加1,所述单片机退出所述协处理器自检处理流程,并返回错误信息:验证参数错误;

当所述第二自检参数校验失败时,所述单片机设置所述系统区的协处理器自检错误计数器的值加1,所述单片机退出所述协处理器自检处理流程,并返回错误信息:验证参数错误;

当所述第三自检参数校验失败时,所述单片机设置所述系统区的协处理器自检错误计数器的值加1,所述单片机退出所述协处理器自检处理流程,并返回错误信息:验证参数错误。

进一步的,所述方法还包括:

当所述第一功能自检校验失败时,所述单片机设置所述系统区的协处理器自检错误计数器的值加1,所述单片机退出所述协处理器自检处理流程,并返回错误信息:协处理器加密功能错误;

当所述第二功能自检校验失败时,所述单片机设置所述系统区的协处理器自检错误计数器的值加1,所述单片机退出所述协处理器自检处理流程,并返回错误信息:协处理器解密功能错误。

进一步的,所述方法还包括:

当所述协处理器自检错误计数器的值超过限定值时,所述单片机中止所述协处理器的使用功能。

本发明提供的一种高级加密标准协处理器自检的方法,首先单片机会在系统区预置用于校验的验证密钥、验证明文、验证密文;当单片机启动aes协处理器自检之后,第一步就是获取上述三者预置信息并生成对应的第一密钥、第一明文、第一密文;单片机先行对保存于系统区的三个用于验证的参数进行三个参数校验,以防参数不符合aes计算要求;在第一、二、三自检参数校验都成功之后,单片机对aes协处理器的加密功能启动第一功能自检校验;在第一功能自检校验成功之后,单片机对aes协处理器的解密功能启动第二功能自检校验;在第二功能自检校验成功之后,说明aes协处理自检成功完成,协处理器状态正常,因此,单片机将协处理器自检错误计数器的值重置为0,并向上位机返回自检成功的信息。

附图说明

图1为本发明实施例一提供的一种高级加密标准协处理器自检的方法示意图。

图2为本发明实施例二提供的一种高级加密标准协处理器自检的方法示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例一,如图1提供一种高级加密标准协处理器自检的方法示意图所示,方法包括以下步骤:

步骤11,单片机从系统区获取验证密钥生成第一密钥,获取验证明文生成第一明文,获取验证密文生成第一密文。

步骤12,单片机对第一密钥进行第一自检参数校验处理,

具体包括:单片机对第一密钥的值进行全零参数校验处理,当第一密钥的值为全十六进制0时,第一自检参数校验失败;当第一密钥的值不为全十六进制0时,第一自检参数校验成功。

步骤13,当第一自检参数校验成功之后,单片机对第一明文进行第二自检参数校验处理,

具体包括:单片机对第一明文的值进行全零参数校验处理,当第一明文的值为全十六进制0时,第二自检参数校验失败;当第一明文的值不为全十六进制0时,第二自检参数校验成功。

步骤14,当第二自检参数校验成功之后,单片机对第一密文进行第三自检参数校验处理,

具体包括:单片机对第一密文的值进行全零参数校验处理,当第一密文的值为全十六进制0时,第三自检参数校验失败;当第一密文的值不为全十六进制0时,第三自检参数校验成功。

步骤15,当第三自检参数校验成功之后,单片机根据第一密钥,使用协处理器对第一明文进行加密处理生成第一临时密文,对第一密文进行解密处理生成第一临时明文。

步骤16,单片机根据第一临时密文与第一密文,进行第一功能自检校验处理,

具体包括:单片机判断第一临时密文与第一密文的值是否相等,如果第一临时密文与第一密文的值相等,则第一功能自检校验成功;如果第一临时密文与第一密文的值不相等,则第一功能自检校验失败。

步骤17,当第一功能自检校验成功之后,单片机根据第一临时明文与第一明文,进行第二功能自检校验处理,

单片机判断第一临时明文与第一明文的值是否相等,如果第一临时明文与第一明文的值相等,则第二功能自检校验成功;如果第一临时明文与第一明文的值不相等,则第二功能自检校验失败。

步骤18,当第二功能自检校验成功之后,单片机设置系统区的协处理器自检错误计数器的值为0,并向上位机发送自检成功信息。

本发明实施例二,如图2提供一种高级加密标准协处理器自检的方法示意图所示,方法包括以下步骤:

步骤31,单片机从系统区获取验证密钥生成第一密钥,获取验证明文生成第一明文,获取验证密文生成第一密文。

步骤32,单片机对第一密钥进行第一自检参数校验处理,

具体包括:单片机对第一密钥的值进行全零参数校验处理,当第一密钥的值为全十六进制0时,则第一自检参数校验失败,转至步骤410;当第一密钥的值不为全十六进制0时,第一自检参数校验成功,转至步骤33。

步骤33,当第一自检参数校验成功之后,单片机对第一明文进行第二自检参数校验处理,

具体包括:单片机对第一明文的值进行全零参数校验处理,当第一明文的值为全十六进制0时,第二自检参数校验失败,转至步骤410;当第一明文的值不为全十六进制0时,第二自检参数校验成功,转至步骤34。

步骤34,当第二自检参数校验成功之后,单片机对第一密文进行第三自检参数校验处理,

具体包括:单片机对第一密文的值进行全零参数校验处理,当第一密文的值为全十六进制0时,第三自检参数校验失败,转至步骤410;当第一密文的值不为全十六进制0时,第三自检参数校验成功,转至步骤35。

步骤35,当第三自检参数校验成功之后,单片机根据第一密钥,使用协处理器对第一明文进行加密处理生成第一临时密文,对第一密文进行解密处理生成第一临时明文。

步骤36,单片机根据第一临时密文与第一密文,进行第一功能自检校验处理,

具体包括:单片机判断第一临时密文与第一密文的值是否相等,如果第一临时密文与第一密文的值相等,则第一功能自检校验成功,转至步骤37;如果第一临时密文与第一密文的值不相等,则第一功能自检校验失败,转至步骤420。

步骤37,当第一功能自检校验成功之后,单片机根据第一临时明文与第一明文,进行第二功能自检校验处理,

单片机判断第一临时明文与第一明文的值是否相等,如果第一临时明文与第一明文的值相等,则第二功能自检校验成功,转至步骤38;如果第一临时明文与第一明文的值不相等,则第二功能自检校验失败,转至步骤430。

步骤38,当第二功能自检校验成功之后,单片机设置系统区的协处理器自检错误计数器的值为0,并向上位机发送自检成功信息。

步骤410,单片机设置系统区的协处理器自检错误计数器的值加1,单片机退出协处理器自检处理流程,并返回错误信息:验证参数错误。

此处,导致该项错误的原因,一般是用于进行aes协处理器自检的预存在系统区的验证参数:验证密钥、密文、明文出了问题。

步骤420,单片机设置系统区的协处理器自检错误计数器的值加1,单片机退出协处理器自检处理流程,并返回错误信息:协处理器加密功能错误。

此处,导致该项错误的原因,一般是aes协处理器的加密功能在自检时未通过验证。

步骤430,单片机设置系统区的协处理器自检错误计数器的值加1,单片机退出协处理器自检处理流程,并返回错误信息:协处理器解密功能错误。

此处,导致该项错误的原因,一般是aes协处理器的解密功能在自检时未通过验证。

本发明提供的一种高级加密标准协处理器自检的方法,首先单片机会在系统区预置用于校验的验证密钥、验证明文、验证密文;当单片机启动aes协处理器自检之后,第一步就是获取上述三者预置信息并生成对应的第一密钥、第一明文、第一密文;单片机先行对保存于系统区的三个用于验证的参数进行三个参数校验,以防参数不符合aes计算要求;在第一、二、三自检参数校验都成功之后,单片机对aes协处理器的加密功能启动第一功能自检校验;在第一功能自检校验成功之后,单片机对aes协处理器的解密功能启动第二功能自检校验;在第二功能自检校验成功之后,说明aes协处理自检成功完成,协处理器状态正常,因此,单片机将协处理器自检错误计数器的值重置为0,并向上位机返回自检成功的信息。通过使用本发明方法上位机可以随意挑选自检时机向协处理器发出自检要求;本发明方法还通过设定协处理器自检错误计数器对自检失败做了鉴别处理,既保障了aes协处理器的稳定工作状态,也为使用者提供了及时便捷的预警处理手段。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1