CN117579249B - 能量分析攻击中明文选择方法、装置、设备和存储介质 - Google Patents
能量分析攻击中明文选择方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117579249B CN117579249B CN202410063644.9A CN202410063644A CN117579249B CN 117579249 B CN117579249 B CN 117579249B CN 202410063644 A CN202410063644 A CN 202410063644A CN 117579249 B CN117579249 B CN 117579249B
- Authority
- CN
- China
- Prior art keywords
- plaintext
- key
- hamming weight
- key set
- unique
- 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.)
- Active
Links
- 238000010187 selection method Methods 0.000 title abstract description 13
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 17
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 41
- 239000013598 vector Substances 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 4
- 241000820057 Ithone Species 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Abstract
本发明提供了能量分析攻击中明文选择方法、装置、设备和存储介质,涉及密码算法分析检测技术领域,该方法包括:构建汉明重量映射表;当进行能量分析攻击时,获取初始明文,将初始明文输入芯片,并根据汉明重量映射表,得到所述芯片的功耗,根据功耗获得汉明重量值;根据汉明重量值,得到密钥集合,并检测密钥集合中的元素是否唯一;当元素唯一时,得到密钥,并结束能量分析攻击;当元素不唯一时,获取密钥集合对应的目标明文,将目标明文输入芯片,得到芯片的当前功耗,根据当前功耗获得新的汉明重量值,并得到新的密钥集合,检测新的密钥集合中的元素是否唯一,直至当元素唯一时,得到密钥。本发明有效提高能量分析攻击时的攻击效率。
Description
技术领域
本发明涉及密码算法分析检测技术领域,具体而言,涉及一种能量分析攻击中明文选择方法、装置、设备和存储介质。
背景技术
硬件密码电子设备在处理信息的过程中存在能量、电磁、时间等信息的泄漏,利用这些泄漏的信息对密码电子设备进行攻击,即为侧信道攻击,侧信道攻击可以分为能量分析攻击、电磁攻击和时间攻击等,其中能量分析攻击因效率较高,成为侧信道的主要的手段。
能量分析攻击利用密码设备在处理数据时消耗的电能来获取对密码算法或密钥的信息。在能量分析攻击中,明文选择是攻击者试图通过在不同的明文输入下进行功耗分析,来推断出密码设备中的密钥或其他敏感信息,然而面对大量的明文选择,能量分析攻击时需要获得大量的明文-密文对,需要花费大量的时间和资源,使得能量分析攻击的实施变得更加困难和耗时。
发明内容
本发明所要解决的问题是如何有效提高能量分析攻击时的攻击效率。
为解决上述问题,本发明提供一种能量分析攻击中明文选择方法,包括:
构建汉明重量映射表;
当进行能量分析攻击时,获取初始明文,将所述初始明文输入芯片,并根据所述汉明重量映射表,得到所述芯片的功耗,根据所述功耗获得汉明重量值;
根据所述汉明重量值,得到密钥集合,并检测所述密钥集合中的元素是否唯一;
当所述元素唯一时,得到密钥,并结束所述能量分析攻击;
当所述元素不唯一时,获取所述密钥集合对应的目标明文,将所述目标明文输入所述芯片,得到所述芯片的当前功耗,根据所述当前功耗获得新的所述汉明重量值,并得到新的所述密钥集合,检测新的所述密钥集合中的元素是否唯一,直至当所述元素唯一时,得到所述密钥,并结束所述能量分析攻击。
与现有技术相比:本发明构建汉明重量映射表,该表将汉明重量与对应的功耗特征进行映射,基于汉明重量映射表,实现能量分析攻击中明文选择,在进行能量分析攻击时,获取一个初始明文作为输入,并将该明文输入密码芯片进行加密操作,根据汉明重量映射表,得到芯片的功耗特征,根据所得到的功耗特征,通过反向查找汉明重量映射表,获得对应的汉明重量值,然后,根据该汉明重量值,生成可能的密钥集合,对生成的密钥集合进行检测,判断其中的元素是否唯一。如果唯一,则得到正确的密钥,并结束能量分析攻击;如果密钥集合中的元素不唯一,意味着当前的明文选择无法得到唯一的密钥,因此,需要进一步选择目标明文,将目标明文输入芯片进行加密操作,并获得芯片的当前功耗,根据当前功耗表获得新的汉明重量值,根据新的汉明重量值,生成新的密钥集合,并再次检测其中的元素是否唯一。如果元素唯一,得到正确的密钥,并结束能量分析攻击。如果元素仍不唯一,重复上述步骤,直至得到唯一的密钥,通过本发明可以减小攻击时的枚举过程,在较少的攻击次数下即可以攻击成功,解决了现有能量分析攻击时需要花费大量的时间和资源,使得攻击的实施变得更加困难和耗时的问题。
可选地,所述构建汉明重量映射表,包括:
步骤110,根据对称加密算法,得到初始密钥集合;
步骤120,获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值;
步骤130,将相同所述汉明重量值对应的所述密钥,划分为一个集合,得到多个目标密钥集合;检测所有所述目标密钥集合中的元素是否为零或唯一;
步骤140,当所述目标密钥集合中的元素为零或唯一时,确定所述汉明重量值对应的所述密钥,当所述目标密钥集合中的元素不为零或唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,并完成汉明重量映射表构建。
可选地,所述获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值,包括:
根据汉明重量公式,将所述第一明文与所述初始密钥集合中的密钥进行异或处理,得到所述汉明重量值;
其中,所述汉明重量公式为:
,
其中,为第j个所述汉明重量值,m为所述第一明文,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算。
可选地,所述当所述目标密钥集合中的元素不为零或唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,包括:
将所述目标密钥集合分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值;
将相同的所述汉明重量值对应的密钥划分至同一集合,得到多个子密钥集合,分别检测所述子密钥集合中的元素个数,并得到多个向量,根据所述向量计算所述目标密钥集合中的元素个数,直至所述元素为零或唯一。
可选地,所述将所述目标密钥集合,分别与所有所述明文进行异或处理,得到每个所述明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值,包括:
通过异或公式,将所述目标密钥集合,分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值;
其中,所述异或公式为:
,
其中,为所述汉明重量值,mi为第i个所述第一明文,Kxy为第x轮中汉明重量为y的密钥集合,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算。
可选地,所述根据所述向量计算所述目标密钥集合中的元素个数,包括:
通过元素计算公式,根据所述向量计算所述目标密钥集合中的元素个数;
其中,所述元素计算公式为:
,
其中,mi为第i个所述第一明文,dmi为使得值,所述使得值为所述第一明文对应的已知值,x为第x轮,为所述目标密钥集合中的元素个数,所述向量为,/>代表使用第x轮中第i个所述第一明文。
可选地,所述获取所述密钥集合对应的目标明文,包括:
根据所述密钥集合得到所述使得值,根据所述使得值得到对应的所述目标明文,其中,所述目标明文为所述密钥集合对应的最优明文。
为解决上述问题,本发明还提供了一种能量分析攻击中明文选择装置,包括:
处理单元,用于构建汉明重量映射表;
获取单元,用于当进行能量分析攻击时,获取初始明文,将所述初始明文输入芯片,并根据所述汉明重量映射表,得到所述芯片的功耗,根据所述功耗获得汉明重量值;
判断单元,用于根据所述汉明重量值,得到密钥集合,并检测所述密钥集合中的元素是否唯一;
检测单元,用于当所述元素唯一时,得到密钥,并结束所述能量分析攻击;
所述检测单元,还用于当所述元素不唯一时,获取所述密钥集合对应的目标明文,将所述目标明文输入所述芯片,得到所述芯片的当前功耗,根据所述当前功耗获得新的所述汉明重量值,并得到新的所述密钥集合,检测新的所述密钥集合中的元素是否唯一,直至当所述元素唯一时,得到所述密钥,并结束所述能量分析攻击。
本发明所述的一种能量分析攻击中明文选择装置与所述的能量分析攻击中明文选择方法相对于现有技术的优势相同,在此不再赘述。
为解决上述问题,本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的能量分析攻击中明文选择方法。
本发明所述的一种计算机设备与所述的一种能量分析攻击中明文选择方法相对于现有技术的优势相同,在此不再赘述。
为解决上述问题,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的能量分析攻击中明文选择方法。
本发明所述的一种计算机可读存储介质与所述的一种能量分析攻击中明文选择方法相对于现有技术的优势相同,在此不再赘述。
附图说明
图1为本发明实施例中能量分析攻击中明文选择方法的流程示意图;
图2为本发明实施例中计算机设备的内部结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
在本发明实施例的描述中,术语“一些实施例”的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
结合图1所示,本发明实施例的能量分析攻击中明文选择方法包括:
步骤100,构建汉明重量映射表。
具体地,现有的技术方案首先对密码电子设备建模(可以使用多元高斯模板和机器学习等)。然后攻击时是随机产生一个明文,输入到密码设备中,然后获得设备的能量曲线,再通过已经建立的模板获得S-BOX输出汉明重量值,根据明文、汉明重量值之间的关系,攻击出密钥。而本实施例,通过先建立汉明重量映射表,然后在后续能量分析攻击时,根据明文、密钥与汉明重量值之间的映射关系,直接进行查表,节省时间,提高效率。
步骤200,当进行能量分析攻击时,获取初始明文,将所述初始明文输入芯片,并根据所述汉明重量映射表,得到所述芯片的功耗,根据所述功耗获得汉明重量值;
具体地,在能量分析攻击中,攻击者首先需要获取初始明文,其可以通过多种方式实现,如截获通信数据、侧信道泄露等,攻击者将获取到的初始明文输入到目标密码芯片中,同时,攻击者测量密码芯片在处理该明文时的功耗,根据测量到的功耗数据,攻击者利用映射表对应的明文、密钥和S-BOX输出的汉明重量,得到对应的汉明重量值,其中,S-BOX为密钥基本结构,攻击者基于映射表和测量到的功耗数据,分析功耗与汉明重量值之间的关系。具体来说,攻击者会对比测量到的功耗数据与映射表中的不同明文、密钥和S-BOX输出的汉明重量值,以找到最接近实际功耗的汉明重量值,通过对不同明文、密钥和S-BOX输出的汉明重量值进行分析,攻击者可以推断出最有可能的密钥值。这是通过找到与实际测量功耗最相匹配的汉明重量值来实现的。在本实施例的步骤中,汉明重量映射表起到了关键的作用,它提供了明文、密钥和S-BOX输出汉明重量之间的映射关系,使得攻击者可以通过测量功耗并与映射表进行比对,从而推断出最可能的密钥值,在确保准确性的同时,节省时间,提高攻击效率。
步骤300,根据所述汉明重量值,得到密钥集合,并检测所述密钥集合中的元素是否唯一;
步骤400,当所述元素唯一时,得到密钥,并结束所述能量分析攻击;
具体地,根据汉明重量值推断得到的密钥集合可能包含多个元素,因为不同的密钥可能对应相同的汉明重量值,为了判断密钥集合中的元素是否唯一,对于每个密钥,使用特定的密码算法运算过程进行加密操作,并将得到的密文与已知的明文进行比对,如果存在任意两个密钥对应的密文与已知的明文相同,则说明这两个密钥是相同的,即不是唯一的。通过检测是否有重复的密文,就可以判定密钥集合中的元素是否唯一,在能量分析攻击中,唯一性检测对于确定最终的被推断密钥非常重要。如果密钥集合中的元素不唯一,攻击者就需要更多的分析和检测来确定最终的密钥。
步骤500,当所述元素不唯一时,获取所述密钥集合对应的目标明文,将所述目标明文输入所述芯片,得到所述芯片的当前功耗,根据所述当前功耗获得新的所述汉明重量值,并得到新的所述密钥集合,检测新的所述密钥集合中的元素是否唯一,直至当所述元素唯一时,得到所述密钥,并结束所述能量分析攻击。
具体地,根据已知的密钥集合,选取对应的目标明文,并将其输入到目标密码芯片中。获取芯片在处理该密钥对应的明文时的功耗,根据新的功耗数据,利用汉明重量映射表计算出对应的汉明重量值,利用汉明重量映射表重新推断得到新的密钥集合,使用前面所提到的唯一性检测方法,对新的密钥集合进行检测,判断其中的元素是否唯一,如果新的密钥集合中的元素仍然不唯一,那么重复步骤,选择新的密钥,获取对应的目标明文和新的汉明重量值,直到得到唯一的密钥,当唯一的密钥获得后,攻击者就可以结束能量分析攻击,并利用该密钥进行进一步的攻击或破解密码系统。
与现有技术相比:本发明构建汉明重量映射表,该表将汉明重量与对应的功耗特征进行映射,基于汉明重量映射表,实现能量分析攻击中明文选择,在进行能量分析攻击时,获取一个初始明文作为输入,并将该明文输入密码芯片进行加密操作,根据汉明重量映射表,得到芯片的功耗特征,根据所得到的功耗特征,通过反向查找汉明重量映射表,获得对应的汉明重量值,然后,根据该汉明重量值,生成可能的密钥集合,对生成的密钥集合进行检测,判断其中的元素是否唯一。如果唯一,则得到正确的密钥,并结束能量分析攻击;如果密钥集合中的元素不唯一,意味着当前的明文选择无法得到唯一的密钥,因此,需要进一步选择目标明文,将目标明文输入芯片进行加密操作,并获得芯片的当前功耗,根据当前功耗表获得新的汉明重量值,根据新的汉明重量值,生成新的密钥集合,并再次检测其中的元素是否唯一。如果元素唯一,得到正确的密钥,并结束能量分析攻击。如果元素仍不唯一,重复上述步骤,直至得到唯一的密钥,通过本发明可以减小攻击时的枚举过程,在较少的攻击次数下即可以攻击成功,解决了现有能量分析攻击时需要花费大量的时间和资源,使得攻击的实施变得更加困难和耗时的问题。
可选地,所述构建汉明重量映射表,包括:
步骤110,根据对称加密算法,得到初始密钥集合;
步骤120,获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值;
步骤130,将相同所述汉明重量值对应的所述密钥,划分为一个集合,得到多个目标密钥集合;检测所有所述目标密钥集合中的元素是否为零或唯一;
步骤140,当所述目标密钥集合中的元素为零或唯一时,确定所述汉明重量值对应的所述密钥,当所述目标密钥集合中的元素不为零或唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,并完成汉明重量映射表构建。
具体地,例如,对称加密算法(AES密码算法)第一轮共有128比特子密钥,共16字节,设为x轮中汉明重量为y的密钥集合,其中/>,因此,第一行密钥池的密钥集合/>,共有256个。
可选地,所述获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值,包括:
根据汉明重量公式,将所述第一明文与所述初始密钥集合中的密钥进行异或处理,得到所述汉明重量值;
其中,所述汉明重量公式为:
,
其中,为第j个所述汉明重量值,m为所述第一明文,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算。
具体地,本实施例选择明文m=0,代入到汉明重量公式中(其中HM代表取汉明重量值),计算明文m=0与当前密钥集合中的密钥异或后得到的S-BOX输出值的汉明重量。
可选地,所述当所述目标密钥集合中的元素不为零或唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,包括:
将所述目标密钥集合分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值;
将相同的所述汉明重量值对应的密钥划分至同一集合,得到多个子密钥集合,分别检测所述子密钥集合中的元素个数,并得到多个向量,根据所述向量计算所述目标密钥集合中的元素个数,直至所述元素为零或唯一。
具体地,经过汉明重量公式的计算后,得到256个汉明重量值,值的大小属于{0,1,2,3,4,5,6,7,8},我们把得到相同汉明重量值的密钥分在一个集合中,得到9个密钥集合,/>,/>,/>,/>,/>,/>,/>,/>,这9个密钥集合中的密钥与明文m异或后,经过S-BOX输出的汉明重量值分别对应0,1,2,3,4,5,6,7,8,即/>中的密钥与明文m异或后,经过S-BOX输入的汉明重量值都是0,/>中的密钥与m异或后经过S-BOX输出后的汉明重量值为1,以此类推,若密钥集合中元素个数为0或者1,则说明我们已经确定了此汉明重量值下的密钥。若密钥集合中元素数量不为0或者1,则要重复进行以下操作,直到每个密钥集合中元素为0或者1为止。
可选地,所述将所述目标密钥集合,分别与所有所述明文进行异或处理,得到每个所述明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值,包括:
通过异或公式,将所述目标密钥集合,分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值;
其中,所述异或公式为:
,
其中,为所述汉明重量值,mi为第i个所述第一明文,Kxy为第x轮中汉明重量为y的密钥集合,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算。
可选地,所述根据所述向量计算所述目标密钥集合中的元素个数,包括:
通过元素计算公式,根据所述向量计算所述目标密钥集合中的元素个数;
其中,所述元素计算公式为:
,
其中,mi为第i个所述第一明文,dmi为使得值,所述使得值为所述第一明文对应的已知值,x为第x轮,为所述目标密钥集合中的元素个数,所述向量为,/>代表使用第x轮中第i个所述第一明文。
具体地,本实施例对于第x轮的每个密钥集合,遍历明文/>,对于每个明文/>,代入到异或公式中(其中HM代表取汉明重量值),得到每个明文/>与密钥集合中每个密钥/>异或后,通过S盒后的汉明重量值;把经过异或公式计算后得到相同汉明重量值的密钥分在一个集合中,得到9个密钥集合/>,/>,/>,/>,/>,/>,/>,,/>,统计每个集合中的元素个数,得到向量,其中x代表第几轮,mi为明文的值,然后计算,其中/>代表集合中的元素个数,其中,使得值/>最小的明文m,即为最优明文,也就是选择的明文。
可选地,所述获取所述密钥集合对应的目标明文,包括:
根据所述密钥集合得到所述使得值,根据所述使得值得到对应的所述目标明文,其中,所述目标明文为所述密钥集合对应的最优明文。
具体地,本实施例中的最优明文为使得值最小的明文m,即为最优明文,也就是选择的明文。
和上述一种能量分析攻击中明文选择方法相对应,本发明实施例还提供了一种能量分析攻击中明文选择装置,包括:
处理单元,用于构建汉明重量映射表;
获取单元,用于当进行能量分析攻击时,获取初始明文,将所述初始明文输入芯片,并根据所述汉明重量映射表,得到所述芯片的功耗,根据所述功耗获得汉明重量值;
判断单元,用于根据所述汉明重量值,得到密钥集合,并检测所述密钥集合中的元素是否唯一;
检测单元,用于当所述元素唯一时,得到密钥,并结束所述能量分析攻击;
所述检测单元,还用于当所述元素不唯一时,获取所述密钥集合对应的目标明文,将所述目标明文输入所述芯片,得到所述芯片的当前功耗,根据所述当前功耗获得新的所述汉明重量值,并得到新的所述密钥集合,检测新的所述密钥集合中的元素是否唯一,直至当所述元素唯一时,得到所述密钥,并结束所述能量分析攻击。
本实施例所述的一种能量分析攻击中明文选择装置与所述的一种能量分析攻击中明文选择方法相对于现有技术的优势相同,在此不再赘述。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述能量分析攻击中明文选择方法。
需要注意的是,该设备可以为服务器、移动终端等计算机设备。
图2示出了一个实施例中计算机设备的内部结构图。该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现多能协同运行方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行的多能协同运行方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。在一个实施例中,提供了还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述能量分析攻击中明文选择方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所发明的原理和新颖特点相一致的最宽的范围。
虽然本发明披露如上,但本发明的保护范围并非仅限于此。本领域技术人员在不脱离本发明的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。
Claims (8)
1.一种能量分析攻击中明文选择方法,其特征在于,包括:
构建汉明重量映射表;
其中,所述构建汉明重量映射表,包括:
步骤110,根据对称加密算法,得到初始密钥集合;
步骤120,获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值,
其中,所述获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值,包括:
根据汉明重量公式,将所述第一明文与所述初始密钥集合中的密钥进行异或处理,得到所述汉明重量值;
其中,所述汉明重量公式为:
,
其中,为第j个所述汉明重量值,m为所述第一明文,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算;
步骤130,将相同所述汉明重量值对应的所述密钥,划分为一个集合,得到多个目标密钥集合;检测所有所述目标密钥集合中的元素是否为零或唯一;
步骤140,当所述目标密钥集合中的元素为零或唯一时,确定所述汉明重量值对应的所述密钥,当所述目标密钥集合中的元素不为零或不唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,并完成汉明重量映射表构建;
当进行能量分析攻击时,获取初始明文,将所述初始明文输入芯片,并根据所述汉明重量映射表,得到所述芯片的功耗,根据所述功耗获得汉明重量值;
根据所述汉明重量值,得到密钥集合,并检测所述密钥集合中的元素是否唯一;
当所述元素唯一时,得到密钥,并结束所述能量分析攻击;
当所述元素不唯一时,获取所述密钥集合对应的目标明文,将所述目标明文输入所述芯片,得到所述芯片的当前功耗,根据所述当前功耗获得新的所述汉明重量值,并得到新的所述密钥集合,检测新的所述密钥集合中的元素是否唯一,直至当所述元素唯一时,得到所述密钥,并结束所述能量分析攻击。
2.根据权利要求1所述的能量分析攻击中明文选择方法,其特征在于,所述当所述目标密钥集合中的元素不为零或不唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,包括:
将所述目标密钥集合分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值;
将相同的所述汉明重量值对应的密钥划分至同一集合,得到多个子密钥集合,分别检测所述子密钥集合中的元素个数,并得到多个向量,根据所述向量计算所述目标密钥集合中的元素个数,直至所述元素为零或唯一。
3.根据权利要求2所述的能量分析攻击中明文选择方法,其特征在于,所述将所述目标密钥集合分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值,包括:
通过异或公式,将所述目标密钥集合,分别与所有所述第一明文进行异或处理,得到每个所述第一明文与所述目标密钥集合中每个所述密钥异或处理后的所述汉明重量值;
其中,所述异或公式为:
,
其中,为所述汉明重量值,mi为第i个所述第一明文,Kxy为第x轮中汉明重量为y的密钥集合,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算。
4.根据权利要求2所述的能量分析攻击中明文选择方法,其特征在于,所述根据所述向量计算所述目标密钥集合中的元素个数,包括:
通过元素计算公式,根据所述向量生成所述目标密钥集合中的元素个数;
其中,所述元素计算公式为:
,
其中,mi为第i个所述第一明文,dmi为使得值,所述使得值为所述第一明文对应的已知值,x为第x轮,为所述目标密钥集合中的元素个数,所述向量为,/>代表使用第x轮中第i个所述第一明文。
5.根据权利要求4所述的能量分析攻击中明文选择方法,其特征在于,所述获取所述密钥集合对应的目标明文,包括:
根据所述密钥集合得到所述使得值,根据所述使得值得到对应的所述目标明文,其中,所述目标明文为所述密钥集合对应的最优明文。
6.一种能量分析攻击中明文选择装置,其特征在于,包括:
处理单元,用于构建汉明重量映射表;
其中,所述构建汉明重量映射表,包括:
步骤110,根据对称加密算法,得到初始密钥集合;
步骤120,获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值,
其中,所述获取多个第一明文,将多个所述第一明文分别与所述初始密钥集合中的密钥进行异或处理,得到对应的汉明重量值,包括:
根据汉明重量公式,将所述第一明文与所述初始密钥集合中的密钥进行异或处理,得到所述汉明重量值;
其中,所述汉明重量公式为:
,
其中,为第j个所述汉明重量值,m为所述第一明文,key为所述密钥,所述密钥的值为0-255区间,HM[]代表得到所述汉明重量值,Sbox()代表分组加密算法的S盒计算;
步骤130,将相同所述汉明重量值对应的所述密钥,划分为一个集合,得到多个目标密钥集合;检测所有所述目标密钥集合中的元素是否为零或唯一;
步骤140,当所述目标密钥集合中的元素为零或唯一时,确定所述汉明重量值对应的所述密钥,当所述目标密钥集合中的元素不为零或不唯一时,进行密钥寻优处理,直至所述目标密钥集合中的元素为零或唯一,并完成汉明重量映射表构建;
获取单元,用于当进行能量分析攻击时,获取初始明文,将所述初始明文输入芯片,并根据所述汉明重量映射表,得到所述芯片的功耗,根据所述功耗获得汉明重量值;
判断单元,用于根据所述汉明重量值,得到密钥集合,并检测所述密钥集合中的元素是否唯一;
检测单元,用于当所述元素唯一时,得到密钥,并结束所述能量分析攻击;
所述检测单元,还用于当所述元素不唯一时,获取所述密钥集合对应的目标明文,将所述目标明文输入所述芯片,得到所述芯片的当前功耗,根据所述当前功耗获得新的所述汉明重量值,并得到新的所述密钥集合,检测新的所述密钥集合中的元素是否唯一,直至当所述元素唯一时,得到所述密钥,并结束所述能量分析攻击。
7.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现权利要求1至5中任一项所述的能量分析攻击中明文选择方法。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现权利要求1至5中任一项所述的能量分析攻击中明文选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410063644.9A CN117579249B (zh) | 2024-01-17 | 2024-01-17 | 能量分析攻击中明文选择方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410063644.9A CN117579249B (zh) | 2024-01-17 | 2024-01-17 | 能量分析攻击中明文选择方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117579249A CN117579249A (zh) | 2024-02-20 |
CN117579249B true CN117579249B (zh) | 2024-03-29 |
Family
ID=89892257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410063644.9A Active CN117579249B (zh) | 2024-01-17 | 2024-01-17 | 能量分析攻击中明文选择方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117579249B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202145A (zh) * | 2014-09-04 | 2014-12-10 | 成都信息工程学院 | 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法 |
CN105812121A (zh) * | 2016-03-08 | 2016-07-27 | 中国人民解放军军械工程学院 | 一种高度程式化的密钥高效分析方法 |
CN116073988A (zh) * | 2023-02-08 | 2023-05-05 | 重庆邮电大学 | 一种基于混合去噪的抗能量分析攻击能力的检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101026439B1 (ko) * | 2009-07-20 | 2011-04-07 | 한국전자통신연구원 | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 |
-
2024
- 2024-01-17 CN CN202410063644.9A patent/CN117579249B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202145A (zh) * | 2014-09-04 | 2014-12-10 | 成都信息工程学院 | 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法 |
CN105812121A (zh) * | 2016-03-08 | 2016-07-27 | 中国人民解放军军械工程学院 | 一种高度程式化的密钥高效分析方法 |
CN116073988A (zh) * | 2023-02-08 | 2023-05-05 | 重庆邮电大学 | 一种基于混合去噪的抗能量分析攻击能力的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117579249A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1903470B1 (en) | Tag privacy protecting method, tag device, updater, updater solicitor, programs therefore and recording medium carrying such programs in storage | |
CN102043913B (zh) | 生物体认证方法及计算机系统 | |
CN108604981B (zh) | 用于估计秘密值的方法和设备 | |
CN109417466B (zh) | 机密密钥估算方法与装置 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
EP3040901A1 (en) | System and method for aligning time-series data over a large range of time indices | |
KR20190001177A (ko) | 바이오메트릭을 이용한 사용자의 인증 방법 및 장치 | |
CN114679250A (zh) | 基于混合混沌和Arnold变换的图像加密算法 | |
CN114239082A (zh) | 集成国密算法的抗攻击物联网安全芯片、方法及装置 | |
US20220085999A1 (en) | System and method to optimize decryption operations in cryptographic applications | |
CN117579249B (zh) | 能量分析攻击中明文选择方法、装置、设备和存储介质 | |
Zhou et al. | Analysis on the parameter selection method for FLUSH+ RELOAD based cache timing attack on RSA | |
US20220085998A1 (en) | System and method to generate prime numbers in cryptographic applications | |
Zhang et al. | A novel template attack on wnaf algorithm of ECC | |
CN115801264A (zh) | 椭圆曲线数字签名的物理攻击方法、介质、设备及系统 | |
CN105357002A (zh) | 基于云存储生物特征认证的敏感信息安全外包方法 | |
CN113705107A (zh) | 一种基于均值岭回归的功耗分析方法 | |
CN114465728A (zh) | 攻击椭圆曲线签名算法的方法、装置、设备及存储介质 | |
CN111475690A (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN101299856B (zh) | 一种防止针对sim卡破解攻击的方法及装置 | |
CN113328848B (zh) | 参数化s盒生成方法、装置、设备及存储介质 | |
CN114095395B (zh) | 对故障注入产生的错误数据进行分析的方法、装置及介质 | |
CN115987483B (zh) | 一种检测白盒密码的方法 | |
CN113282803B (zh) | 工作量证明算法优化方法、装置、计算机设备和存储介质 | |
CN116579774B (zh) | 基于交叉加密的支付平台系统及方法 |
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 |