一种HMAC-SM3算法的密钥获取方法、装置、设备和存储介质制造方法及图纸

技术编号:26384900 阅读:38 留言:0更新日期:2020-11-19 23:54
本申请公开了一种HMAC‑SM3算法的密钥获取方法、装置、设备和存储介质,其中方法包括:获取HMAC‑SM3算法运行时的功率曲线;将功率曲线输入至预置神经网络模型,得到功率曲线对应的运行参数,其中,预置神经网络模型为功率曲线和运行参数的关联关系模型;根据运行参数计算HMAC‑SM3算法的哈希值,并根据哈希值恢复HMAC‑SM3算法的密钥,解决了现有针对HMAC‑SM3算法的密钥获取准确率较低的技术问题。

【技术实现步骤摘要】
一种HMAC-SM3算法的密钥获取方法、装置、设备和存储介质
本申请涉及密码算法分析
,尤其涉及一种HMAC-SM3算法的密钥获取方法、装置、设备和存储介质。
技术介绍
随着信息分析技术的发展,常常需要获取硬件密码电子设备的加密信息,例如密钥信息等。现有技术中,对HMAC-SM3算法的密钥获取方法包括:差分能量分析方法,该方法在面对大多数情况时,都可以获取到密钥信息,但是该方法获取到的密钥信息准确率较低。因此,提供一种准确率较高的HMAC-SM3算法的密钥获取方法是本领域技术人员亟待解决的技术问题。
技术实现思路
有鉴于此,本申请提供了一种HMAC-SM3算法的密钥获取方法、装置、设备和存储介质,解决了现有针对HMAC-SM3算法的密钥获取准确率较低的技术问题。本申请第一方面提供了一种HMAC-SM3算法的密钥获取方法,包括:获取HMAC-SM3算法运行时的功率曲线;将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的运行参数,其中,所述预置神经网络模型为所述功率曲线和所述运行参数的关联关系模型;根据所述运行参数计算所述HMAC-SM3算法的哈希值,并根据所述哈希值恢复所述HMAC-SM3算法的密钥。可选地,所述将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的运行参数具体包括:根据功率曲线和预置神经网络模型的对应关系,确定获取的各所述功率曲线对应的预置神经网络模型;将各所述功率曲线输入至对应的预置神经网络模型,得到各所述功率曲线对应的运行参数。可选地,所述根据所述运行参数计算所述HMAC-SM3算法的哈希值,并根据所述哈希值恢复所述HMAC-SM3算法的密钥具体包括:根据所述运行参数计算用于恢复所述HMAC-SM3算法的密钥的第一散列;根据所述第一散列计算用于恢复所述HMAC-SM3算法的密钥的第二散列;根据所述第一散列和所述第二散列恢复所述HMAC-SM3算法的密钥。本申请第二方面提供了一种HMAC-SM3算法的密钥获取装置,包括:获取单元,用于获取HMAC-SM3算法运行时的功率曲线;第一运算单元,用于将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的运行参数,其中,所述预置神经网络模型为所述功率曲线和所述运行参数的关联关系模型;第二运算单元,用于根据所述运行参数计算所述HMAC-SM3算法的哈希值,并根据所述哈希值恢复所述HMAC-SM3算法的密钥。可选地,所述第一运算单元具体包括:获取子单元,用于根据功率曲线和预置神经网络模型的对应关系,确定获取的各所述功率曲线对应的预置神经网络模型;运算子单元,用于将各所述功率曲线输入至对应的预置神经网络模型,得到各所述功率曲线对应的运行参数。可选地,所述第二运算单元具体包括:第一恢复子单元,用于根据所述运行参数计算用于恢复所述HMAC-SM3算法的密钥的第一散列;第二恢复子单元,用于根据所述第一散列计算用于恢复所述HMAC-SM3算法的密钥的第二散列;第三恢复子单元,用于根据所述第一散列和所述第二散列恢复所述HMAC-SM3算法的密钥。本申请第三方面提供了一种HMAC-SM3算法的密钥获取设备,包括处理器以及存储器;所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行第一方面所述的HMAC-SM3算法的密钥获取方法。本申请第四方面提供了一种存储介质,述存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的HMAC-SM3算法的密钥获取方法。从以上技术方案可以看出,本申请实施例具有以下优点:本申请提供了一种HMAC-SM3算法的密钥获取方法,包括:获取HMAC-SM3算法运行时的功率曲线;将功率曲线输入至预置神经网络模型,得到功率曲线对应的运行参数,其中,预置神经网络模型为功率曲线和运行参数的关联关系模型;根据运行参数计算HMAC-SM3算法的哈希值,并根据哈希值恢复HMAC-SM3算法的密钥。本申请中,首先获取HMAC-SM3算法运行时的功率曲线,由于预置神经网络模型为功率曲线和运行参数的关联关系模型,这样当把获取到的功率曲线输入至预置神经网络模型时,便可以得到该功率曲线对应的运行参数,然后根据运行参数可以计算HMAC-SM3算法的哈希值,再接着可以根据所述哈希值恢复所述HMAC-SM3算法的密钥,从而实现了对HMAC-SM3算法的密钥获取,通过神经网络的深度学习方法,恢复出HMAC计算过程中使用的参数,从而推导出正确的密钥,从而解决了现有针对HMAC-SM3算法的密钥获取准确率较低的技术问题。附图说明图1为SM3算法的原理图;图2为SM3算法中函数f的原理图;图3为HMACSM3算法的原理图;图4为本申请实施例中一种HMAC-SM3算法的密钥获取方法的实施例一的流程示意图;图5为本申请实施例中一种HMAC-SM3算法的密钥获取方法的实施例二的流程示意图;图6a为本申请实施例中应用例中δ1,0Byte3的恢复结果示意图;图6b为本申请实施例中应用例中δ1,0Byte2的恢复结果示意图;图6c为本申请实施例中应用例中δ1,0Byte1的恢复结果示意图;图6d为本申请实施例中应用例中δ1,0Byte0的恢复结果示意图;图7a为本申请实施例中应用例中a0Byte3的恢复结果示意图;图7b为本申请实施例中应用例中a0Byte2的恢复结果示意图;图7c为本申请实施例中应用例中a0Byte1的恢复结果示意图;图7d为本申请实施例中应用例中a0Byte0的恢复结果示意图;图8为本申请实施例中一种HMAC-SM3算法的密钥获取装置的实施例的结构示意图。具体实施方式本申请实施例提供了一种HMAC-SM3算法的密钥获取方法、装置、设备和存储介质,解决了现有针对HMAC-SM3算法的密钥获取准确率较低的技术问题。为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以便于理解,本申请中首先对HMAC-SM3的原理进行介绍如下:SM3算法的原理如图1所示。该函数的输入数据被填充,使得它可以被分成N个512比特的块。每个块将在相同的过程中处理:前一个块通过函数f计算后一个块的新IV,块N的输出是算法的散列结果。其中,函数f的原理图如图2所示。函数T将512位输入转换为64个32位字对。在循环期间循环使用中间值(本文档来自技高网
...

【技术保护点】
1.一种HMAC-SM3算法的密钥获取方法,其特征在于,包括:/n获取HMAC-SM3算法运行时的功率曲线;/n将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的运行参数,其中,所述预置神经网络模型为所述功率曲线和所述运行参数的关联关系模型;/n根据所述运行参数计算所述HMAC-SM3算法的哈希值,并根据所述哈希值恢复所述HMAC-SM3算法的密钥。/n

【技术特征摘要】
1.一种HMAC-SM3算法的密钥获取方法,其特征在于,包括:
获取HMAC-SM3算法运行时的功率曲线;
将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的运行参数,其中,所述预置神经网络模型为所述功率曲线和所述运行参数的关联关系模型;
根据所述运行参数计算所述HMAC-SM3算法的哈希值,并根据所述哈希值恢复所述HMAC-SM3算法的密钥。


2.根据权利要求1所述的HMAC-SM3算法的密钥获取方法,其特征在于,所述将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的运行参数具体包括:
根据功率曲线和预置神经网络模型的对应关系,确定获取的各所述功率曲线对应的预置神经网络模型;
将各所述功率曲线输入至对应的预置神经网络模型,得到各所述功率曲线对应的运行参数。


3.根据权利要求1所述的HMAC-SM3算法的密钥获取方法,其特征在于,所述根据所述运行参数计算所述HMAC-SM3算法的哈希值,并根据所述哈希值恢复所述HMAC-SM3算法的密钥具体包括:
根据所述运行参数计算用于恢复所述HMAC-SM3算法的密钥的第一散列;
根据所述第一散列计算用于恢复所述HMAC-SM3算法的密钥的第二散列;
根据所述第一散列和所述第二散列恢复所述HMAC-SM3算法的密钥。


4.一种HMAC-SM3算法的密钥获取装置,其特征在于,包括:
获取单元,用于获取HMAC-SM3算法运行时的功率曲线;
第一运算单元,用于将所述功率曲线输入至预置神经网络模型,得到所述功率曲线对应的...

【专利技术属性】
技术研发人员:金鑫曾勇刚肖勇杨劲锋
申请(专利权)人:南方电网科学研究院有限责任公司中国南方电网有限责任公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1