CN115664641A - 对加密算法中轮密钥的校验方法及装置 - Google Patents

对加密算法中轮密钥的校验方法及装置 Download PDF

Info

Publication number
CN115664641A
CN115664641A CN202211673717.3A CN202211673717A CN115664641A CN 115664641 A CN115664641 A CN 115664641A CN 202211673717 A CN202211673717 A CN 202211673717A CN 115664641 A CN115664641 A CN 115664641A
Authority
CN
China
Prior art keywords
round
side channel
analysis result
channel analysis
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211673717.3A
Other languages
English (en)
Other versions
CN115664641B (zh
Inventor
苏长山
王博
李�根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202211673717.3A priority Critical patent/CN115664641B/zh
Publication of CN115664641A publication Critical patent/CN115664641A/zh
Application granted granted Critical
Publication of CN115664641B publication Critical patent/CN115664641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请提供了一种对加密算法中轮密钥的校验方法及装置。其中,加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,第N轮加密过程包括影响第N+1轮加密过程的扩散操作,N为大于或等于1的正整数。该方法包括:在利用待校验的第一轮密钥执行第N轮加密过程中,获取第一侧信道分析结果,第一侧信道分析结果用于指示第一轮密钥是否正确;在利用第二轮密钥执行第N+1轮加密过程中,获取第二侧信道分析结果,第二侧信道分析结果用于指示第二轮密钥是否正确,第二轮密钥是基于第一轮密钥得到的;根据第二侧信道分析结果以及第一侧信道分析结果,确定第一轮密钥中的目标字节为正确字节或错误字节,有助于提高侧信道分析的准确率。

Description

对加密算法中轮密钥的校验方法及装置
技术领域
本申请涉及信息技术领域,具体涉及一种对加密算法中轮密钥的校验方法及装置。
背景技术
在一些场景中,如果要利用侧信道分析推测密码设备的原始密钥,需要基于多轮加密过程中采集的多个侧信道分析结果进行联合分析,如果分析过程中某一个密钥字节出现错误都会导致无法推测出正确的原始密钥,大大增加了侧信道分析的难度,降低了侧信道分析的成功率。
发明内容
本申请实施例致力于提供一种对加密算法中轮密钥的校验方法及装置。下文从以下几个方面介绍。
第一方面,提供了一种对加密算法中轮密钥的校验方法,所述加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,所述第N轮加密过程包括影响所述第N+1轮加密过程的扩散操作,N为大于或等于1的正整数,所述方法包括:在利用待校验的第一轮密钥执行所述第N轮加密过程中,获取第一侧信道分析结果,所述第一侧信道分析结果用于指示所述第一轮密钥是否正确;在利用第二轮密钥执行所述第N+1轮加密过程中,获取第二侧信道分析结果,所述第二侧信道分析结果用于指示所述第二轮密钥是否正确,所述第二轮密钥是基于所述第一轮密钥得到的;根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节。
在一种可能的实现方式中,所述根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节,包括:若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中异常的多个第二尖峰所在的位置与所述第一尖峰所在的位置连续,则确定所述目标字节为所述错误字节。
在一种可能的实现方式中,若所述目标字节为错误字节,所述方法还包括:遍历所述目标字节的候选值,直到所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的多个第二尖峰非异常。
在一种可能的实现方式中,所述根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节,包括:若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的一个或多个第二尖峰非异常,则确定所述目标字节为所述正确字节。
在一种可能的实现方式中,所述加密算法包括SM4算法,所述扩散操作包括L变换,或所述加密算法包括AES加密算法,所述扩散操作包括列混淆操作。
第二方面,提供了一种对加密算法中轮密钥的校验装置,所述加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,所述第N轮加密过程包括影响所述第N+1轮加密过程的扩散操作,N为大于或等于1的正整数,所述装置包括:获取单元,用于在利用待校验的第一轮密钥执行所述第N轮加密过程中,获取第一侧信道分析结果,所述第一侧信道分析结果用于指示所述第一轮密钥是否正确;所述获取单元,还用于在利用第二轮密钥执行所述第N+1轮加密过程中,获取第二侧信道分析结果,所述第二侧信道分析结果用于指示所述第二轮密钥是否正确,所述第二轮密钥是基于所述第一轮密钥得到的;处理单元,用于根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节。
在一种可能的实现方式中,所述处理单元还用于:若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中异常的多个第二尖峰所在的位置与所述第一尖峰所在的位置连续,则确定所述目标字节为所述错误字节。
在一种可能的实现方式中,若所述目标字节为错误字节,所述处理单元,还用于遍历所述目标字节的候选值,直到所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的多个第二尖峰非异常。
在一种可能的实现方式中,所述处理单元还用于:若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中的与所述第一尖峰所在的位置连续的一个或多个第二尖峰非异常,则确定所述目标字节为所述正确字节。
在一种可能的实现方式中,所述加密算法包括SM4算法,所述扩散操作包括L变换,或所述加密算法包括AES加密算法,所述扩散操作包括列混淆操作。
第三方面,提供了一种对加密算法中轮密钥的校验装置,包括:存储器,用于存储指令;处理器,用于执行所述存储器中存储的指令,以执行上述各个方面所述的方法。
第四方面,提供了一种机器可读存储介质,其上存储有用于执行上述各个方面所述的方法的指令。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
第六方面,提供了一种芯片系统,该芯片系统包括处理器,用于实现上述方面中所涉及的功能,例如,获取,分析,或推算上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存处理器必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在本申请实施例中,利用某一轮(又称“第N轮”)加密过程中的扩散操作对下一轮(又称“第N+1轮”)加密过程的影响,来验证第N轮加密过程中推测的轮密钥的准确性,有助于提高侧信道分析的准确率。
附图说明
图1为本申请实施例适用的AES加密过程的示意图。
图2是本申请实施例的对加密算法中轮密钥的校验方法的流程图。
图3是本申请实施例的侧信道分析结果的示意图。
图4是本申请另一实施例的侧信道分析结果的示意图。
图5是本申请另一实施例的对加密算法中轮密钥的校验方法的流程图。
图6是本申请实施例中采集的能量波形的示意图。
图7是本申请实施例中对能量波形进行预处理后的能量波形的示意图。
图8是本申请实施例的对加密算法中轮密钥的校验装置的示意图。
图9是本申请另一实施例的对加密算法中轮密钥的校验装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。为了便于理解本申请,下文先结合图1介绍本申请实施例涉及的术语。
AES
密码学中的AES又称Rijndael加密法,是美国联邦政府采用的一种分组加密标准,也是DES算法的替代者,当今最流行的对称加密算法之一,其中,对称加密可以理解为加密和解密数据时需要使用相同的密钥。
AES是一种分组密码。分组密码顾名思义是把明文以组为单位进行拆分,拆分后的每组明文的长度相等。如此,密码设备可以每次加密一组明文,直到将整个明文加密完成得到多组密文(又称“密文块”)。之后,密码设备(Cryptographic Equipment )可以再将多个密文块拼接起来,形成密文。
目前,在AES标准规范中,分组长度可以是128位,也就是说,每个分组可以包含16个字节(每个字节8位)的明文。相应地,密钥的长度可以128位、192位或256位等。在一些实现方式中,针对不同的密钥的长度,推荐的加密轮数可以不同。例如,针对长度为128位的密钥,推荐的加密轮数可以为10轮。例如,针对长度为192位的密钥,推荐的加密轮数可以为11轮。例如,针对长度为256位的密钥,推荐的加密轮数可以为14轮。
如上文介绍,AES加密过程中可以包括多轮加密过程,不同的阶段的加密轮包括的处理步骤可以不同。通常,按照处理步骤不同,可以将加密轮分为初始轮(又称为“第0轮”)、普通轮以及最终轮。为了便于理解,下文结合图1介绍AES加密过程。
参见图1所示,在初始轮中,通常可以包括轮密钥加(AddRoundKey)操作。在普通轮中,通常可以包括字节代换(SubBytes)操作、行移位(ShiftRows)操作、列混淆(MixColumns)操作、以及轮密钥加操作。在最终轮中,通常可以包括字节代换操作、行移位操作、以及轮密钥加操作。为了便于理解,下文对上述加密过程中涉及的操作进行介绍。
轮密钥加操作
对于初始轮的轮密钥加操作而言,可以理解为是将明文与密钥之间进行异或操作。在一些实现方式中,轮密钥加操作使用的密钥可以包括原始密钥。对于除初始轮之外的其他轮(例如,普通轮或最终轮)中的轮密钥加操作而言,使用的轮密钥可以是基于原始密钥得到的。在一些实现方式中,轮密钥可以是通过对原始密钥进行密钥扩展得到的。其中,密钥扩展例如可以包括密钥编排算法。
字节代换操作
在一些实现方式中,字节代换操作可以理解为一个查表操作。在AES中,定义了一个S盒和逆S盒。其中,S盒用于加密;逆S盒可以用于解密。在一些实现方式中,可以状态矩阵的元素中的高4位作为行值,低4位作为列值,取出S盒或者逆S盒中对应的行的元素作为输出。需要说明的是,上述状态矩阵可以理解为是对明文进行某些操作后得到的。
行移位操作
在一些实现方式中,行移位操作可以理解为是一个简单的左循环移位操作。以对状态矩阵进行行移位操作为例,状态矩阵中不同的行可以左移的字节数量不同。例如,针对状态矩阵的第0行,可以左移0字节。针对状态矩阵的第1行,可以左移1字节。针对状态矩阵的第2行,可以左移2字节依次类推。
相应地,如果是解密过程中,可以通过右移作为左移的逆变换。其中,右移操作的字节数可以参见左移操作的字节数。例如,针对状态矩阵的第0行执行左移操作时移动0字节,相应地,针对状态矩阵的第0行执行右移操作时可以移动0字节。又例如,针对状态矩阵的第1行执行左移操作时移动1字节,相应地,针对状态矩阵的第1行执行右移操作时可以移动1字节,以此类推。
列混淆操作
在一些实现方式中,列混合操作可以通过矩阵相乘来实现。经行移位操作后的状态矩阵可以与固定的矩阵相乘,得到混淆后的状态矩阵。其中,矩阵元素的乘法和假发都是定义在基于有限域GF(28)上的二元运算,这种二元运算的加法等价于两个字节的异或,乘法则相对比较复杂。对于一个8位的二进制数来说,有限域上的乘法乘以(00000010)等价于左移1位(低位补0)后,再根据情况(二进制的最高位是否为0)同(00011011)进行异或运算。
相应地,在解密过程中,可以通过上述固定矩阵的逆变换的矩阵,与对状态矩阵相乘,以实现上述列混淆操作的逆变换。
随着AES 的发展,AES在软件层面和硬件层面都已经有了很多种实现方式。目前,比较流行的是实现方式是一种基于查找表的快速软件实现方案。
查表法的核心思想是将字节代换操作、行移位操作和列混淆操作中的一种或多种融合为查找表。每个查找表的大小是32 bits(4字节)乘以256项,一般称为T盒(T-Box)或T表。在一些实现方式中,加密过程可以包括4个表(用“Te”表示),解密过程可以包括4个表(用“Td”表示),共8个查找表。这样,每一轮的操作都可以通过16次查表产生。虽然一轮就要经历16次查表,但这都简化了伽罗瓦域上的计算操作和矩阵乘法操作,对于计算机程序而言,这是更快的。当然,在AES加密解密过程中还有S盒和逆向S盒两个表,这两个表相对于T表而言比较小,其大小为8 bits(1字节)乘以256项。
SM4算法
SM4算法是一个分组算法,通常用于无线局域网产品。因此,该算法又可以称为“无线局域网标准的分组数据算法”。目前,SM4算法的分组长度可以为128比特,轮密钥长度可以为128比特。
在一些实现方式中,加密算法与密钥扩展算法都可以采用多轮(例如,32轮)非线性迭代结构,每次迭代可以由一个轮函数给出,其中轮函数可以包括一个非线性变换和线性变换。在每一轮中还可以包括L变换,L变换通常会分别将轮的中间值循环左移一定的位置,例如,2,10,18,24位等。
侧信道分析
目前,加密算法(例如,AES加密算法)都是基于密码设备中的芯片实现的。然而,芯片在运行的时候,由于数据或者逻辑的不同,内部的晶体管通断是有区别的。侧信道分析正是利用了这种区别来确定程序内部的数据或者指令。
目前,已知技术中表明使用相关系数能够很好的描绘出数据之间的线性关系,并且给出了对应的实验证明。并且目前的相关系数理论十分完善,因此在实施差分能量分析时使用相关系数进行数学模型的建立数学模型变成了一种非常好的选择。以 AES 算法为例,可以针对AES 算法的S盒输出位置使用相关能量分析的方法。目前,如果想要实施相关能量攻击,需要一个固定未知的数(通常来讲是密钥)和一个随机已知的数(通常来讲是明文)进行直接或间接的运算,通过运算过程中的中间值的泄露,找到泄露值与未知数之间的关系,从而恢复密钥。
在执行相关能量分析时通常会与泄露模型相结合,通常来讲密码设备的能量消耗 会与不同的操作和操作数相关。比较常见的泄露模型例如可以包括汉明重量模型
Figure DEST_PATH_IMAGE001A
,其中a,b表示系数,x表示操作数,
Figure DEST_PATH_IMAGE002A
表示操作数中1bit的数量,T表示能 量消耗。因此,我们需要研究
Figure DEST_PATH_IMAGE002AA
Figure DEST_PATH_IMAGE003A
之间的关系。通常传统的AES密码实现时x通常为 8bit的数字,这是由于AES被设计之初,8位的处理器是当时的主流处理器,其中基于S盒的 字节代换操作可以作为侧信道分析的重点。
目前,按照侧信道分析中使用的数学分析手段,可将其分为简单能量分析(simplepower analysis)、差分能量分析(differential power analysis)、相关能量分析(correlation power analysis)、碰撞攻击(collision attack)、模板攻击(templateattack)、互信息分析(mutual information analysis)等。
在一些场景中,如果要利用侧信道分析推测密码设备的原始密钥,需要基于多轮加密过程中采集的多个侧信道分析结果进行联合分析,如果分析过程中某一个密钥字节出现错误都会导致无法推测出正确的原始密钥,大大增加了侧信道分析的难度。
例如,MILENAGE协议应用于全球用户识别卡USIM卡与运营商之间的鉴权认证,其安全性主要依赖于AES加密算法。在对使用的MILENAGE协议的全球用户识别卡USIM卡进行攻击时,由于MILENAGE协议的特殊性,想要完整推测密码信息(例如,AES加密算法的原始密钥)需要进行两轮不独立的相关能量分析,也即是说,第二轮相关能量分析的初始值,通常是第一轮相关能量分析的结果。如果某一轮的轮密钥中的某一个字节出现错误,则可能会导致无法推测出正确的密码信息。
另一方面,由于MILENAGE协议为鉴权协议,也无法通过离线的方式完成准确性的验证。对于多数无法完成离线验证的密码设备而言,侧信道分析的攻击有效性通常比较有限,有时会因为推测的密码中某一个字节的错误的致使攻击失败。
因此,本申请提供了一种对加密算法中轮密钥的校验方法,以利用某一轮(下文又称“第N轮”)加密过程中的扩散操作对下一轮(下文又称“第N+1轮”)加密过程的影响,来验证第N轮加密过程中推测的轮密钥的准确性。为了便于理解,下文结合图2介绍本申请实施例的方法。应理解,图2所示的方法可以由计算设备执行,该计算设备可以用于执行侧信道分析,例如,能量分析攻击等。因此,该计算设备又可以称为“攻击设备”。
图2是本申请实施例的对加密算法中轮密钥的校验方法的流程图。图2所示的方法包括步骤S210至步骤S230。假设加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,第N轮加密过程包括影响第N+1轮加密过程的扩散操作,N为大于或等于1的正整数。其中,扩散操作可以理解为第N轮加密过程中,将对操作数中的部分数据作为一个整体进行的操作,通常经过扩散操作上述部分数据之间会相关。其中,相关可以理解为其中一个数据经过密码加密后,如果该密码推测错误,即使相关的其他数据加密时使用的密码推测正确,对相关的其他数据进行加密过程中采集的侧信道分析结果也会呈现异常。
在一些实现方式中,若加密算法包括AES加密算法,扩散操作包括列混淆操作。如上文介绍,列混淆操作可以理解为是对操作数中的4个字节进行混淆,因此,上述相关的数据可以包括该4个字节。以S盒的输出的泄露为例,如果第一轮的密钥的某个字节出现错误,使用错误的密钥进行加密,其中一个字节的错误就会因为列混合操作扩散影响到下一轮S盒输出时的4个字节,导致下一轮的4个字节的中间值不会与波形呈现相关性。当然,在本申请实施例中,若加密算法包括SM4算法,扩散操作包括L变换。
在步骤S210中,在利用待校验的第一轮密钥执行第N轮加密过程中,获取第一侧信道分析结果。
在一些实现方式中,第一侧信道分析结果用于指示第一轮密钥是否正确。
需要说明的是,上述第一侧信道分析结果可以包括基于能量的分析结果,例如,可以是图3所示的能量波形。当然,在本申请实施例中,上述第一侧信道分析结果还可以是基于电磁波的分析结果,本申请实施例对此不作限定。
以第一侧信道分析结果可以包括基于能量的分析结果,第一侧信道分析结果可以是基于相关能量分析得到的。当然,在本申请实施例中,上述第一侧信道分析结果还可以是基于其他能量分析得到的,本申请实施例对此不作限定。
另外,上述第一轮密钥可以理解为是第N轮加密过程中使用的轮密钥,或者说,是某一轮加密过程使用的轮密钥。例如,可以是第一轮加密过程使用的轮密钥,当然,也可以是第二轮加密过程使用的轮密钥,本申请实例对此不作限定。
还需要说明的是,在本申请实施例中需要对第一轮密钥进行校验,因此,也即是说,第一轮密钥已经推测出,但是,其正确性有待验证。在本申请实施例中,第一轮密钥的推测过程可以采用已知的侧信道分析进行推测,或者,还可以采用其他方式进行推测,本申请实施例对此不作限定。例如,可以在密码设备对操作数进行加密的过程中进行泄露分析,寻找可能的泄露位置和泄露模型。并在未知密钥的情况下可以使用简单能量分析的方法确认加密算法(例如,AES加密算法)运行时的轮特征,然后使用常见的泄露模型进行分析。结合泄露模型与泄露位置对相应的曲线进行相关能量分析,得到相应的结果图。再根据结果中的对应猜测密钥的最大值进行排序,得到排名为第一的一组密钥,即为第一轮密钥。
在步骤S220中,在利用第二轮密钥执行第N+1轮加密过程中,获取第二侧信道分析结果。
在一些实现方式中,第二轮密钥是基于第一轮密钥得到的,例如,上述第二轮密钥可以是通过对第一轮密钥进行密钥扩展算法得到。其中,密钥扩展算法例如可以包括字循环、字节代换、轮常量异或中的一种或多种。本申请实施例对此不作限定。
在一些实现方式中,第二侧信道分析结果用于指示第二轮密钥是否正确。
需要说明的是,上述第二侧信道分析结果可以包括基于能量的分析结果,例如,可以是图4所示的侧信道分析结果。当然,在本申请实施例中,上述第二侧信道分析结果还可以是基于电磁波的分析结果,本申请实施例对此不作限定。
以第二侧信道分析结果可以包括基于能量的分析结果,第二侧信道分析结果可以是基于相关能量分析得到的。当然,在本申请实施例中,上述第二侧信道分析结果还可以是基于其他能量分析得到的,本申请实施例对此不作限定。
另外,上述第一轮密钥可以理解为是第N轮加密过程中使用的轮密钥,或者说,是某一轮加密过程使用的轮密钥。例如,可以是第一轮加密过程使用的轮密钥,当然,也可以是第二轮加密过程使用的轮密钥,本申请实例对此不作限定。
在步骤S230中,根据第二侧信道分析结果以及第一侧信道分析结果,确定第一轮密钥中的目标字节为正确字节或错误字节。
在一些实现方式中,可以基于第二侧信道分析结果以及第一侧信道分析结果之间的相关性,确定第一轮密钥中的目标字节为正确字节或错误字节。例如,可以第N+1轮加密过程中泄露的中间值根据泄露模型与第二轮的能量波形计算皮尔逊相关系数,得到相应的结果,
在一些实现方式中,上述步骤S230包括:若第一侧信道分析结果中目标字节对应的第一尖峰异常,且第二侧信道分析结果中异常的多个第二尖峰所在的位置与第一尖峰所在的位置连续,则确定目标字节为错误字节。
通常,在加密过程中,对不同的数据执行类似的操作时,在侧信道分析结果中波形的变化相对来说通常比较相似,参见图3所示的其他尖峰320。另外,在加密过程中对不同数据执行类似操作时,所消耗的时间基本相似,因此,在对多个数据进行加密的过程中,每相邻的两个数据之间间隔的时间通常比较相似,体现在侧信道分析结果中即为多个尖峰之间的时间间隔比较相似(例如,多个尖峰可以呈等差排列),继续参见图3所示的其他尖峰320。
综上,在一些实现方式中,上述异常的尖峰(包括第一尖峰和/或第二尖峰)可以理解为在相应的位置尖峰相对于其他尖峰的高度明显降低。参见图3所示,在原本应该出现高尖峰的位置上,第一尖峰310相比于其他尖峰320而言高度明显降低,因此,第一尖峰310即为异常的尖峰。
在一些实现方式中,上述多个第二尖峰所在的位置与第一尖峰所在的位置连续,可以包括多个第二尖峰所在的位置连续,且与第一尖峰所在的位置连续。
在一些实现方式中,上述多个第二尖峰以及第一尖峰可以对应给上文介绍相关数据的加密过程。以相关数据为通过列混淆操作的4个字节为例,上述多个第二尖峰和第一尖峰可以为4个尖峰,每个尖峰可以对应利用密钥分别对4个字节的加密过程。
为了便于理解,结合图3和图4进行说明。假设图3示出了第N轮加密过程对应的第一侧信道分析结果,图4示出了第N+1轮加密过程对应的第二侧信道分析结果。参见图3所示,在第一侧信道分析结果中第5个尖峰(参见310)所在的位置上,尖峰相比于其他尖峰320的高度明显降低,因此,第5个尖峰对应的目标字节可能是错误字节。参见图4所示,经过第N轮加密过程中的扩散操作,可以看出,由于目标字节的推测错误导致第6~第8个尖峰异常,因此,可以认为第5个尖峰的目标字节是错误字节。
在一些实现方式中,若目标字节为错误字节,上述方法还包括:遍历目标字节的候选值,直到第二侧信道分析结果中与第一尖峰所在的位置连续的多个第二尖峰非异常。其中,非异常可以理解为在侧信道分析结果中的对应位置,出现与其他尖峰高度相似的尖峰。
在一些实现方式中,上述步骤S230还包括:若第一侧信道分析结果中目标字节对应的第一尖峰异常,且第二侧信道分析结果中与第一尖峰所在的位置连续的一个或多个第二尖峰非异常,则确定目标字节为正确字节。
继续参见图3和图4所示,在第一侧信道分析结果中第10个尖峰(参见330)所在的位置上,尖峰相比于其他尖峰320的高度明显降低,因此,第10个尖峰对应的目标字节可能是错误字节。参见图4所示,经过第N轮加密过程中的扩散操作,可以看出,与第10个尖峰相邻的其他尖峰410(即尖峰11~尖峰13)是非异常的。因此,可以认为第10个尖峰的目标字节是正确字节。
在本申请实施例中,可以基于能量波形进行侧信道分析。为了提高测信道分析的准确率,可以对能量波形进行预处理。在一些实现方式中,预处理可以包括以下中的一种或多种:波形反转、低通滤波、重采样以及静态对齐。
与常见的侧信道分析的波形预处理不同,一些场景中,可能使用密文以及能量波形进行侧信道分析,为了方便后续的静态对齐操作,可以先将能量波形进行反转,即能量波形加密结束的时刻为能量波形的起始0点。
在一些场景中,为了保证能量波形的信号的完整性,在采集的能量波形的过程中会尽可能大的选择采样率,可能会导致能量波形中包括较多的高频噪声,此时,可以通过低通的滤波的方式对能量波形进行处理,以过滤能量波形中的高频信号。
另外,尽可能大的选择采样率也可能大大增加分析能量波形的工作量,因此,在本申请实施例中,可以使用重采样对于泄露频率的信号进行重采样,有助于提高分析效率。
在一些场景中,能量波形的信号采集时,针对同一被测密码设备在相同时刻可能处于不同的运行状态,如此便会导致采集的多条能量波形在时间上存在前后偏移。此时,可以使用静态对齐技术对多个能量波形进行对齐操作,有助于提升后续侧信道分析的准确率。
在一些实现方式中,静态对齐可以使用的能量波形的某一片段来进行,该片段可以包含能量波形中具有明显向下或明显向上的尖峰特征的样点区间。之后静态对齐过程中,可以将该片段作为模板,用该模板所在的波之外的每一条波与选中的模板在偏移范围内进行相似度计算,如果目标条波与模板求得的最大相似度大于或等于设定的阈值,则可以认为目标波形与模板是对齐的,相应地可以保留该能量波形。相反地,如果目标条波与模板求得的最大相似度小于设定的阈值,则可以认为目标波形与模板是未对齐的,则可以丢弃该目标波形。以此类推,直到每条能量波形都和模板进行比较。
为了便于理解,下文结合图3至图7,以加密算法为AES加密算法为例,介绍本申请另一实施例的方法。
图5是本申请实施例的对加密算法中轮密钥的校验方法的流程图。图5所示的方法包括步骤S510至步骤S560。
在步骤S510中,在待测密码设备的加密过程中,采集能量波形,得到第一能量波形集合。
在一些实现方式中,可以选取完全随机的26000明文,用待测密码设备中固定的密钥对明文进行加密,采集得到26000条能量波形得到第一能量波形集合,其中每条能量波形可以85000个点。
需要说明的是,采集能量波形的过程中使用的采样率越高,信号的还原度越高,但是存储能量波形所需的存储空间相应较大。因此,在采集能量波形的过程中可以权衡存储空间以及信号的还原度尽可能高的提高示波器的采样率,以得到更利于侧信道分析的原始能量波形。例如,可以使用的采样率为25 MS/s,采集到的能量波形参见图6所示。
在步骤S520中,对第一能量波形集合中的能量波形进行预处理,得到第二能量波形集合。
在一些实现方式中,可以先将第一能量波形集合中的每条能量波形进行反转,得到反转后的能量波形。也即是说,经过反转后,能量波形的加密结束时刻变为能量波形的起始0点。如上文介绍,在步骤S310中为了保证信号的完整性,尽可能大的选择了采样率,同时也会增加部分高频噪声。因此,可以通过低通的滤波的方式对反转后的能量波形进行滤波处理,滤除高频信号,以得到滤波后的能量波形。然后,可以对滤波后的能量波形进行重采样,得到重采样后的能量波形,以减少能量波形中待分析的波形点数,有效提升分析效率。
在一些场景中,各种原因在采集能量波形的过程中,可能会出现针对同一密码设备而言,在对多条明文加密的过程中,即使是在相对时间相同的时刻密码设备可能处于不同的运行状态,导致采集到的多个能量波形会存在时间上的前后偏移。此时,可以使用静态对齐技术对多个能量波形进行对齐操作,能够有效提升后续分析的准确率。
例如,可以选取某一段能量波形作为静态对齐所使用的模板,其中,模板通常是包括能量波形中具有明显向下或明显向上的尖峰特征的样点区间。之后,使用该模板与第一能量波形集合中的其他能量波形在偏移范围内进行相似度计算,以确定其他能量波形的相关波形片段是否与模板相似。其中,其他能量波形可以理解为第一能量波形集合中,除模板所在能量波形之外的其他能量波形。
如果其他波形的波形片段与模板之间的最大相似度大于或等于设定的阈值,则可以认为其他能量波形与模板是对齐的,此时,可以在第一能量波形集合中保留该能量波形。相反地,如果其他波形的波形片段与模板之间的最大相似度小于设定的阈值,则可以认为其他能量波形与模板是未对齐的,此时,可以从第一能量波形集合中删除该能量波形。至此,上述预处理过程完成,得到第二能量波形集合,第二能量波形集合中的能量波形可以参见图7所示。
需要说明的是,在本申请实施例中,静态对齐的方向通常为自起始点向右对齐,因此,在静态对齐之前可以先对能量波形进行反转。
在步骤S530中,对第二能量波形集合中的能量波形进行泄露分析,确定最终轮的轮密钥。
在一些实现方式中,假设未知密钥的情况下,可以使用简单能量分析的方法确认AES密码算法运行时的轮特征,然后使用常见的泄露模型进行分析。参见图6所示,我们能比较清晰的区分AES密码算法运行的10轮的特征,结合泄露模型与泄露位置对相应的曲线进行相关能量分析,得到相应的结果图。根据结果图中的对应推测密钥的相关性最大值进行排序,得到排名为第一的一组轮密钥。
在步骤S540中,根据第一侧信道分析结果,确定是否出现错误字节。
在一些实现方式中,若出现错误字节则执行步骤S550,相反地,若未出现错误字节则结束流程。
在一些实现方式中,根据第二能量波形集合得到第一侧信道分析结果,如图3所示,可以看到在第一侧信道分析结果中可以看到并没有出现16个非异常的尖峰(其中,16个尖峰对应AES加密算法采用的长度为16字节的轮密钥),仅出现了14个非异常的尖峰,此时,可以怀疑在本次密钥猜测中有密钥字节出现错误。根据第一侧信道分析结果的日志可以看出,对于推测的第一轮密钥中的第5字节与第10个字节而言,排名第一的候选值与排名靠后的候选值的可信度相近。此时,可以推测第5个字节和第10个字节的密钥可能出现错误,即第5个字节和第10个字节即为上文介绍的目标字节。
在步骤S550中,基于第一轮密钥生成第二轮密钥,并在使用第二轮密钥执行第二轮加密的过程中,生成第二侧信道分析结果。
在一些实现方式中,根据第一轮密钥,通过密钥扩展算法,可以得到第二轮密钥。使用第二轮密钥的继续进行执行AES密码算法的第二轮加密过程,并将其中间值根据泄露模型与第二轮的能量波形计算皮尔逊相关系数,得到第二侧信道分析结果,如图4所示。
在步骤S560中,确定第一轮密钥中的目标字节为正确字节或错误字节。
在一些实现方式中,参见图4,在第二侧信道分析结果中同样没有出现16个尖峰,并且第二侧信道分析结果中的尖峰数量减少到只有12个尖峰,其中第9-12个尖峰非异常,第6-8个尖峰异常。这时可以推测,第一轮密钥中的第5字节为错误字节,且经过列混淆操作扩散到第二轮后,导致4个字节的相关性降低,此时,第6-8个尖峰异常。另外,由于第9-12个尖峰非异常,可以认为第10个字节为正确字节。
在步骤S560中,遍历第5字节的候选值,直到第二侧信道分析结果中第5-8个的位置的尖峰非异常。
上文结合图1至图7,详细描述了本申请的方法实施例,下面结合图8至图9,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8是本申请实施例的对加密算法中轮密钥的校验装置的示意图。所述加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,所述第N轮加密过程包括影响所述第N+1轮加密过程的扩散操作,N为大于或等于1的正整数。图8所示的装置800包括获取单元810以及处理单元820。
获取单元810,用于在利用待校验的第一轮密钥执行所述第N轮加密过程中,获取第一侧信道分析结果,所述第一侧信道分析结果用于指示所述第一轮密钥是否正确;
所述获取单元810,还用于在利用第二轮密钥执行所述第N+1轮加密过程中,获取第二侧信道分析结果,所述第二侧信道分析结果用于指示所述第二轮密钥是否正确,所述第二轮密钥是基于所述第一轮密钥得到的;
处理单元820,用于根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节。
在一些实现方式中,所述处理单元还用于:若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中异常的多个第二尖峰所在的位置与所述第一尖峰所在的位置连续,则确定所述目标字节为所述错误字节。
在一些实现方式中,若所述目标字节为错误字节,所述处理单元,还用于遍历所述目标字节的候选值,直到所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的多个第二尖峰非异常。
在一些实现方式中,所述处理单元还用于:若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中的与所述第一尖峰所在的位置连续的一个或多个第二尖峰非异常,则确定所述目标字节为所述正确字节。
在一些实现方式中,所述加密算法包括SM4算法,所述扩散操作包括L变换,或所述加密算法包括AES加密算法,所述扩散操作包括列混淆操作。
在可选的实施例中,所述获取单元810可以为输入/输出接口930,处理单元820可以为处理器920,所述装置还可以包括存储器910,具体如图9所示。
图9是本申请另一实施例的装置的示意性框图。图9所示的装置900可以包括:存储器910、处理器920、输入/输出接口930。其中,存储器910、处理器920、输入/输出接口930通过内部连接通路相连,该存储器910用于存储指令,该处理器920用于执行该存储器920存储的指令,以控制输入/输出接口930接收输入的数据和信息,输出操作结果等数据。
应理解,在本申请实施例中,该处理器920可以采用通用的中央处理器(centralprocessing unit,CPU),微处理器,应用专用集成电路(application specificintegrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器910可以包括只读存储器和随机存取存储器,并向处理器920提供指令和数据。处理器920的一部分还可以包括非易失性随机存取存储器。例如,处理器920还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器920 中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的用于请求上行传输资源的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器910,处理器920 读取存储器910 中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种对加密算法中轮密钥的校验方法,其特征在于,所述加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,所述第N轮加密过程包括影响所述第N+1轮加密过程的扩散操作,N为大于或等于1的正整数,
所述方法包括:
在利用待校验的第一轮密钥执行所述第N轮加密过程中,获取第一侧信道分析结果,所述第一侧信道分析结果用于指示所述第一轮密钥是否正确;
在利用第二轮密钥执行所述第N+1轮加密过程中,获取第二侧信道分析结果,所述第二侧信道分析结果用于指示所述第二轮密钥是否正确,所述第二轮密钥是基于所述第一轮密钥得到的;
根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节。
2.如权利要求1所述的方法,其特征在于,所述根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节,包括:
若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中异常的多个第二尖峰所在的位置与所述第一尖峰所在的位置连续,则确定所述目标字节为所述错误字节。
3.如权利要求2所述的方法,其特征在于,若所述目标字节为错误字节,所述方法还包括:
遍历所述目标字节的候选值,直到所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的多个第二尖峰非异常。
4.如权利要求1所述的方法,其特征在于,所述根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节,包括:
若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的一个或多个第二尖峰非异常,则确定所述目标字节为所述正确字节。
5.如权利要求1所述的方法,其特征在于,所述加密算法包括SM4算法,所述扩散操作包括L变换,或
所述加密算法包括AES加密算法,所述扩散操作包括列混淆操作。
6.一种对加密算法中轮密钥的校验装置,其特征在于,所述加密算法包括第N轮加密过程以及第N+1轮加密过程,其中,所述第N轮加密过程包括影响所述第N+1轮加密过程的扩散操作,N为大于或等于1的正整数,
所述装置包括:
获取单元,用于在利用待校验的第一轮密钥执行所述第N轮加密过程中,获取第一侧信道分析结果,所述第一侧信道分析结果用于指示所述第一轮密钥是否正确;
所述获取单元,还用于在利用第二轮密钥执行所述第N+1轮加密过程中,获取第二侧信道分析结果,所述第二侧信道分析结果用于指示所述第二轮密钥是否正确,所述第二轮密钥是基于所述第一轮密钥得到的;
处理单元,用于根据所述第二侧信道分析结果以及所述第一侧信道分析结果,确定所述第一轮密钥中的目标字节为正确字节或错误字节。
7.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中异常的多个第二尖峰所在的位置与所述第一尖峰所在的位置连续,则确定所述目标字节为所述错误字节。
8.如权利要求7所述的装置,其特征在于,若所述目标字节为错误字节,
所述处理单元,还用于遍历所述目标字节的候选值,直到所述第二侧信道分析结果中与所述第一尖峰所在的位置连续的多个第二尖峰非异常。
9.如权利要求6所述的装置,其特征在于,所述处理单元还用于:
若所述第一侧信道分析结果中所述目标字节对应的第一尖峰异常,且所述第二侧信道分析结果中的与所述第一尖峰所在的位置连续的一个或多个第二尖峰非异常,则确定所述目标字节为所述正确字节。
10.如权利要求6所述的装置,其特征在于,所述加密算法包括SM4算法,所述扩散操作包括L变换,或
所述加密算法包括AES加密算法,所述扩散操作包括列混淆操作。
11.一种对加密算法中轮密钥的校验装置,其特征在于,包括:
存储器,用于存储指令;
处理器,用于执行所述存储器中存储的指令,以执行如权利要求1-5中任一项所述的方法。
12.一种机器可读存储介质,其特征在于,其上存储有用于执行如权利要求1-5中任一项所述的方法的指令。
CN202211673717.3A 2022-12-26 2022-12-26 对加密算法中轮密钥的校验方法及装置 Active CN115664641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211673717.3A CN115664641B (zh) 2022-12-26 2022-12-26 对加密算法中轮密钥的校验方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211673717.3A CN115664641B (zh) 2022-12-26 2022-12-26 对加密算法中轮密钥的校验方法及装置

Publications (2)

Publication Number Publication Date
CN115664641A true CN115664641A (zh) 2023-01-31
CN115664641B CN115664641B (zh) 2023-03-14

Family

ID=85022414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211673717.3A Active CN115664641B (zh) 2022-12-26 2022-12-26 对加密算法中轮密钥的校验方法及装置

Country Status (1)

Country Link
CN (1) CN115664641B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138917A (zh) * 2013-01-25 2013-06-05 国家密码管理局商用密码检测中心 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
KR20160117032A (ko) * 2015-03-31 2016-10-10 국민대학교산학협력단 Lea 부채널 분석에 대응하기 위한 장치 및 방법
CN106156615A (zh) * 2016-06-21 2016-11-23 上海观源信息科技有限公司 基于类可分性判距的旁路区分器方法及系统
CN108155984A (zh) * 2017-12-29 2018-06-12 北京理工大学 一种基于能量分析的密码算法簇逆向工程分析方法
CN108989015A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 一种加密的方法和装置
CN109559525A (zh) * 2018-11-26 2019-04-02 厦门精益远达智能科技有限公司 一种基于毫米波雷达的超速监控方法、装置和设备
CN112653546A (zh) * 2020-12-15 2021-04-13 电子科技大学 一种基于功耗分析的故障攻击检测方法
CN114339768A (zh) * 2021-12-24 2022-04-12 观源(上海)科技有限公司 一种usim卡抗侧信道攻击能力评估方法及其系统
CN115065481A (zh) * 2022-06-17 2022-09-16 国网浙江省电力有限公司信息通信分公司 公钥密码算法侧信道分析方法、装置及相关设备
CN115333824A (zh) * 2022-08-10 2022-11-11 湖南国科微电子股份有限公司 抵抗错误注入攻击的加密方法、装置、设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138917A (zh) * 2013-01-25 2013-06-05 国家密码管理局商用密码检测中心 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
KR20160117032A (ko) * 2015-03-31 2016-10-10 국민대학교산학협력단 Lea 부채널 분석에 대응하기 위한 장치 및 방법
CN106156615A (zh) * 2016-06-21 2016-11-23 上海观源信息科技有限公司 基于类可分性判距的旁路区分器方法及系统
CN108989015A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 一种加密的方法和装置
CN108155984A (zh) * 2017-12-29 2018-06-12 北京理工大学 一种基于能量分析的密码算法簇逆向工程分析方法
CN109559525A (zh) * 2018-11-26 2019-04-02 厦门精益远达智能科技有限公司 一种基于毫米波雷达的超速监控方法、装置和设备
CN112653546A (zh) * 2020-12-15 2021-04-13 电子科技大学 一种基于功耗分析的故障攻击检测方法
CN114339768A (zh) * 2021-12-24 2022-04-12 观源(上海)科技有限公司 一种usim卡抗侧信道攻击能力评估方法及其系统
CN115065481A (zh) * 2022-06-17 2022-09-16 国网浙江省电力有限公司信息通信分公司 公钥密码算法侧信道分析方法、装置及相关设备
CN115333824A (zh) * 2022-08-10 2022-11-11 湖南国科微电子股份有限公司 抵抗错误注入攻击的加密方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汪洋: ""基于FPGA分组密码算法的侧信道分析与研究"" *

Also Published As

Publication number Publication date
CN115664641B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
US11362802B2 (en) Cryptographic device arranged to compute a target block cipher
CN108604981B (zh) 用于估计秘密值的方法和设备
CN115643003B (zh) 用于侧信道分析的方法及装置
CN103997402B (zh) 一种加密芯片安全性能测试方法和装置
EP2523385B1 (en) Method and circuit for cryptographic operation
Bukasa et al. How TrustZone could be bypassed: Side-channel attacks on a modern system-on-chip
Courtois et al. Fault-algebraic attacks on inner rounds of DES
Aly et al. Attacking aes using bernstein’s attack on modern processors
CN112347498A (zh) 一种加密方法、装置、电子设备及可读存储介质
CN106656459A (zh) 一种针对sm3‑hmac的侧信道能量分析方法和装置
Cabrera Aldaya et al. Side‐channel analysis of the modular inversion step in the RSA key generation algorithm
CN112653546A (zh) 一种基于功耗分析的故障攻击检测方法
Mouha et al. Review of the advanced encryption standard
Oren et al. Tolerant algebraic side-channel analysis of {AES}
Jungk et al. Don't fall into a trap: Physical side-channel analysis of ChaCha20-Poly1305
Levi et al. Garbled Circuits from an SCA Perspective: Free XOR can be Quite Expensive...
You et al. Low trace-count template attacks on 32-bit implementations of ASCON AEAD
Oren et al. Side-channel cryptographic attacks using pseudo-boolean optimization
CN115664641B (zh) 对加密算法中轮密钥的校验方法及装置
Jauvart et al. First Practical Side-channel Attack to Defeat Point Randomization in Secure Implementations of Pairing-based Cryptography.
Wang et al. Right or wrong collision rate analysis without profiling: full-automatic collision fault attack
Zhang et al. Zero Correlation Linear Cryptanalysis on LEA Family Ciphers.
Abdul-Latip et al. Fault analysis of the KATAN family of block ciphers
Schmidt et al. A probing attack on AES
Roy et al. Two efficient fault-based attacks on CLOC and SILC

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant