CN114021112A - 密码算法能量分析方法及装置、存储介质及电子设备 - Google Patents
密码算法能量分析方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114021112A CN114021112A CN202111355457.0A CN202111355457A CN114021112A CN 114021112 A CN114021112 A CN 114021112A CN 202111355457 A CN202111355457 A CN 202111355457A CN 114021112 A CN114021112 A CN 114021112A
- Authority
- CN
- China
- Prior art keywords
- energy trace
- energy
- cryptographic algorithm
- determining
- segment
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密码算法能量分析方法及装置、存储介质及电子设备,具体包括:确定密码算法在加密过程中所对应的目标能量迹;依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。本发明实施例提供的方案中,能够根据密码算法的能量迹特征成功地自动化分析出加密过程中的操作参数,通过划分能量迹片段后进行分类实现了快速高效地分析能量迹信息。
Description
技术领域
本发明涉及网络安全领域,特别涉及一种密码算法能量分析方法及装置、存储介质及电子设备。
背景技术
密码算法是用于加密和解密的数学函数,用于保证信息的安全,是密码协议的基础。当我们想通过网络发送消息时,可使用密码算法隐藏消息的内容并将其转化成密文,这个转化过程就叫做加密。现行的密码算法主要包括对称加密算法、公钥密码算法等,相较于对称加密算法,公钥密码算法利用公钥加密、私钥解密的方式将公钥和私钥分离,能够加强密码算法的安全性。通常,加密设备在进行公钥密码算法的过程中,会呈现出规律性的能量消耗,采用能量分析的方法能够通过直观分析该能量消耗特征,得到加密设备的一些属性特征如密文信息。
现有的能量分析方法,若对密码算法中能量消耗特征认识不明确,则难以通过能量分析获得准确的密文信息,导致分析成功率低;并且现有能量分析方法处理步骤较为繁琐,对分析数据没有形成统一且有效地处理,导致分析速度较慢,分析结果也较为不稳定。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种密码算法能量分析方法及装置、存储介质及电子设备,技术方案如下所述:
一种密码算法能量分析方法,包括:
确定密码算法在加密过程中所对应的目标能量迹;
依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
上述的方法,可选的,所述确定密码算法在加密过程中所对应的目标能量迹,包括:
获取所述密码算法在应用过程中的总能量迹;
在所述总能量迹中,确定所述总能量迹包括的各个子能量迹,每个所述子能量迹的连续功耗的绝对值大于预设功耗阈值;
依据所述密码算法的算法特性,在所述各个子能量迹中确定与所述密码算法对应的目标能量迹。
上述的方法,可选的,将所述目标能量迹划分为多个能量迹片段,包括:
确定所述目标能量迹中包括的各个功耗负尖峰,所述目标能量迹中包括多个功耗负尖峰,相邻两个功耗负尖峰之间包括多个电压负尖峰;
以每个所述功耗负尖峰为划分点,将所述目标能量迹划分为多个能量迹片段。
上述的方法,可选的,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作,包括:
确定各个所述能量迹片段的片段特征是否清晰,若存在片段特征不清晰的能量迹片段,则对所述总能量迹进行滤波处理,并重新确定密码算法在加密过程中所对应的目标能量迹;
若不存在片段特征不清晰的能量迹片段,则确定每个所述能量迹片段中包含的明显负尖峰个数,所述明显负尖峰为峰值小于预设电压阈值的电压负尖峰;
将包括一个明显负尖峰的能量迹片段归属为第一类能量迹片段,并将包括多个明显负尖峰的能量迹片段归属为第二类能量迹片段;
确定归属第一类能量迹片段的能量迹片段对应的执行操作为点加操作;
确定归属第二类能量迹片段的能量迹片段对应的执行操作为倍点操作。
上述的方法,可选的,所述依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,包括:
对每个所述能量迹片段进行降维处理;
对经过降维处理的各个能量迹片段对应的执行操作进行编码,获得所述目标能量迹对应的编码序列;
依据所述编码序列,确定所述密码算法在加密过程中所应用的操作参数。
上述的方法,可选的,所述对经过降维处理的各个能量迹片段对应的执行操作进行编码,包括:
确定每个执行操作的操作参数;
依据每个所述执行操作的操作参数,确定该执行操作所对应比特位上的比特值。
上述的方法,可选的,归属第一类能量迹片段的能量迹片段在所述目标能量迹中,其之前与之相邻的能量迹片段为归属第二类能量迹片段的能量迹片段。
一种密码算法能量分析装置,包括:
第一确定单元,用于确定密码算法在加密过程中所对应的目标能量迹;
划分单元,用于依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
分类单元,用于应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
第二确定单元,用于依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的密码算法能量分析方法。
一种电子设备,包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的密码算法能量分析方法。
与现有技术相比,本发明具有以下优点:一种密码算法能量分析方法及装置、存储介质及电子设备,具体包括:确定密码算法在加密过程中所对应的目标能量迹;依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。本发明实施例提供的方案中,能够根据密码算法的能量迹特征成功地自动化分析出加密过程中的操作参数,通过划分能量迹片段后进行分类实现了快速高效地分析能量迹信息。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种密码算法能量分析方法的方法流程图;
图2为本发明实施例提供的一种密码算法能量分析方法的又一方法流程图;
图3为本发明实施例提供的一种密码算法能量分析方法用于分析SM2密码算法时获得的完整能量迹功耗图;
图4为本发明实施例提供的一种密码算法能量分析方法用于分析SM2密码算法时获得的完整能量迹功耗图中将中间的能量迹划分为L1和L2两段子能量迹时的示意图;
图5为本发明实施例提供的一种密码算法能量分析方法用于分析SM2密码算法时能量迹L1的功耗图;
图6为本发明实施例提供的一种密码算法能量分析方法用于分析SM2密码算法时能量迹L2的功耗图;
图7为本发明实施例提供的一种密码算法能量分析方法用于分析SM2密码算法时能量迹L1的部分放大功耗图;
图8为本发明实施例提供的一种密码算法能量分析方法用于分析SM2密码算法并提取出能量迹L1中能量迹片段特征不明显时的功耗图;
图9为将图8情况下的能量迹进行数字滤波处理后的能量迹L1的功耗图;
图10为将图9中各能量迹片段对应的执行操作类别一一标明的示意图;
图11为将图9中各能量迹片段降维为二维形式后的各个能量迹片段在二维坐标系下的示意图;
图12为根据图10中各能量迹片段对应的执行操作类别和顺序进行编码的示意图;
图13为本发明实施例提供的一种密码算法能量分析装置的结构示意图;
图14为本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参考图1示出了,本发明实施例提供的一种密码算法能量分析方法的方法流程图,图1示出的方法执行过程为本发明实施例提供的密码算法能量分析方法的一种可行性实现方案,该方法的可以应用在各大系统平台中,其执行主体为设置在系统平台中的服务器,所述密码更新方法具体包括:
S101:确定密码算法在加密过程中所对应的目标能量迹;
本发明实施例提供的方法中,密码算法包括加密过程和解密过程等,加密过程和解密过程具有不同的能量迹特征,因此可获取所述密码算法在应用过程中的总能量迹。在所述总能量迹中,确定所述总能量迹包括的各个子能量迹,每个所述子能量迹的连续功耗的绝对值大于预设功耗阈值。以此划分出不同阶段的子能量迹,各所述子能量迹中既有加密过程对应的能量迹,又有解密过程对应的能量迹,需要加以区分。
本发明实施例提供的方法中,通过不同的能量迹特征区分出加密过程中所对应的目标能量迹,依据所述密码算法的算法特性,在所述各个子能量迹中确定与所述密码算法在加密过程中对应的目标能量迹。密码算法加密过程采用的操作参数对应的操作数量能够体现在能量迹中,根据各子能量迹中的操作参数数据能够区分加密过程中所对应的目标能量迹。
S102:依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
本发明实施例提供的方法中,密码算法的加密过程是由多个执行操作数组成,每个执行操作数可对应一个能量迹片段;目标能量迹是由多个周期性的能量迹片段组成,对应着加密过程中的多个操作数。
本发明实施例提供的方法中,通过观察目标能量迹的功耗图可了解,目标能量迹的功耗瞬时值呈现周期性变化规律,可通过能量迹的功耗值来划分能量迹片段;所述目标能量迹中包括多个功耗负尖峰,相邻两个功耗负尖峰之间包括多个电压负尖峰;通过确定所述目标能量迹中包括的各个功耗负尖峰,以每个所述功耗负尖峰为划分点,将所述目标能量迹划分为多个能量迹片段。
S103:应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
本发明实施例提供的方法中,在进行分类前,可先确定各个所述能量迹片段的片段特征是否清晰,若存在片段特征不清晰的能量迹片段,则对所述总能量迹进行滤波处理,并重新确定密码算法在加密过程中所对应的目标能量迹,以获得片段特征清晰的能量迹片段。
本发明实施例提供的方法中,若不存在片段特征不清晰的能量迹片段,则可以进行分类将每个所述能量迹片段都划分到对应的执行操作类别中;不同执行操作对应的能量迹特征不同,通过分析不同能量迹片段的能量迹特征,找出分类规律,并根据分类规律对每个所述能量迹片段进行分类。
本发明实施例提供的方法中,通过观察目标能量迹的功耗图了解到,所述能量迹片段中有些包含一个明显负尖峰,有些包含多个明显负尖峰,所述明显负尖峰为峰值小于预设电压阈值的电压负尖峰,可将每个所述能量迹片段中的明显负尖峰个数作为分类依据。分类方法具体为:确定每个所述能量迹片段中包含的明显负尖峰个数,将包括一个明显负尖峰的能量迹片段归属为第一类能量迹片段,并将包括多个明显负尖峰的能量迹片段归属为第二类能量迹片段。
本发明实施例提供的方法中,通过观察目标能量迹的功耗图了解到,多个明显负尖峰的能量迹片段多于一个明显负尖峰的能量迹片段,再结合密码算法的特征可知,在加密过程中,倍点操作是多于点加操作的,因此确定归属第一类能量迹片段的能量迹片段对应的执行操作为点加操作;确定归属第二类能量迹片段的能量迹片段对应的执行操作为倍点操作。
S104:依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
本发明实施例提供的方法中,由于每个所述能量迹片段中操作点数较多,可先对每个所述能量迹片段进行降维处理,降维至二维或其他合适维度后再进行后续步骤。
本发明实施例提供的方法中,通过分析每个所述能量迹片段的分类类别和顺序,能够得到每个所述能量迹片段对应执行操作的顺序,从而得到加密过程中完整的操作参数;具体为对经过降维处理的各个能量迹片段对应的执行操作进行编码,获得所述目标能量迹对应的编码序列;依据所述编码序列,确定所述密码算法在加密过程中所应用的操作参数。
本发明实施例提供的方法中,编码是为了得到规范化、系统化的操作参数,所述对经过降维处理的各个能量迹片段对应的执行操作进行编码的方式为:确定每个执行操作的操作参数;依据每个所述执行操作的操作参数,确定该执行操作所对应比特位上的比特值。
本发明实施例提供的方法中,通过分析密码算法在加密过程中的执行原理,可以了解到无论计算到操作参数编码的哪个比特位,倍点操作都要进行,但是点加操作并非每次都进行,且点加操作只能跟在倍点操作之后。因此可以确定归属第一类能量迹片段的能量迹片段在所述目标能量迹中,其之前与之相邻的能量迹片段为归属第二类能量迹片段的能量迹片段。
在具体的实现过程中,能量迹片段对应的操作若为倍点操作,后续的能量迹片段对应的操作为点加操作,则两个能量迹片段对应的操作编码为1。
本发明实施例提供的方案中,能够通过分析密码算法在加密过程中所对应的目标能量迹的能量迹特征,将目标能量迹进行划分后分类,得到划分后各个所述能量迹片段对应的执行操作,依据每个所述能量迹片段对应的执行操作进行编码,能够确定所述密码算法在加密过程中所应用的操作参数,实现了快速高效、自动化地分析能量迹信息从而得到所求密码算法的操作参数;且本发明实施例提供的方案易于实现,对于公钥密码算法具有较高成功率。
为了更加清晰的对本申请的密码算法能量分析过程进行说明,本发明实施例提供一具体实例如下:
参考图2示出了,本发明实施例提供的密码算法能量分析方法,应用在SM2密码算法中时,通过分析智能卡实现该SM2密码算法的能量波形,得到所求操作参数的操作流程。
参考图2,本发明实施例提供的针对SM2密码算法的能量分析方法包括:
步骤1:对采集的SM2密码算法运行过程中的完整能量迹进行能量分析,判断确定出完整能量迹中加密算法实现的位置。
本发明实施例提供的方法中,在判断加密算法实现的位置时,可采用简单能量攻击方法。具体地,包括采集SM2密码算法的完整能量迹,准备智能卡并搭建软件和硬件设备采波平台,通过采波平台采集智能卡实现SM2密码算法的完整能量迹,所采集到的完整能量迹功耗图如图3所示。
本发明实施例提供的方法中,采集到SM2密码算法的完整能量迹后,需要寻找出其中加密过程中所对应的目标能量迹。根据图3的完整能量迹可以明显看出,中间的能量迹具有较高的功耗,因此,加密位置就在中间高功耗能量迹中。然而,中间部分有两段特征不同的能量迹,如图4所示,将中间部分两段特征不同的能量迹分别命名为L1和L2,接下来需要判断L1和L2哪段能量迹对应加密算法实现过程。分析SM2密码算法的特点,当执行SM2密码算法时,关键步骤具有很高的周期性,经放大可以看出,能量迹L1和能量迹L2是由多个周期性能量迹片段组成,分别如图5、图6所示,而SM2密码算法操作参数为256比特位,根据该算法的每个比特位对应1或2个操作可知,加密算法的操作数量应在384左右,因此,加密过程能量迹的周期性能量迹片段数量也应在384左右。通过简单能量分析,能够得知能量迹L1为加密过程对应的目标能量迹。
步骤2:分析加密位置对应的目标能量迹及其特征,将加密位置的能量迹划分为多个规律性的能量迹片段。
本发明实施例提供的方法中,观察如图5所示的加密过程对应目标能量迹L1,发现目标能量迹L1由多个能量迹片段组成,而每个能量迹片段能够由目标能量迹中存在的多个较为明显的功耗负尖峰划分。参考图7展示了目标能量迹L1放大后部分波形的负尖峰位置,可以令功耗值低于设定阈值如-400mV的负尖峰为功耗负尖峰。通过寻找加密过程对应目标能量迹中所有负尖峰的位置,获得每个能量迹片段的数据,实现对目标能量迹的切分得到多个能量迹片段。
步骤3:结合SM2密码算法的实现特征,对能量迹片段特征及其对应的执行操作进行分析识别。
本发明实施例提供的方法中,在对每个所述能量迹片段进行分类之前,先观察能量迹片段特征是否清楚明显,若不明显则使用数字信号处理的方式明确特征。如当能量迹片段特征不清楚时,先对完整能量迹进行滤波等数字信号处理,获得能量迹片段特征清晰的目标能量迹后重新进行分析识别。本发明实施例提供的方法中观察得到的能量迹片段参见图8所示,发现能量迹片段的特征并不明显,此时需要对能量迹进行数字信号预处理,使能量迹片段特征清晰可见,此处对能量迹使用低通滤波,图9即为图8低通滤波后的结果。
本发明实施例提供的方法中,通过分析SM2密码算法的实现过程,寻找关键操作执行规律。在SM2密码算法中,关键一步是进行标量乘计算,标量乘计算公式为R=kP,其中P、R都为椭圆曲线上的点,操作参数k为整数。而本发明实施例的密码算法能量分析就是针对该过程并求出操作参数k的二进制编码实现。
本发明实施例提供的方法中,通过分析标量乘计算的实现过程可以了解到,在该标量乘计算过程中包括两种不同的操作,一种是点加操作,一种是倍点操作。而对于标量乘算法中的操作参数k的二进制编码,若某个二进制位为0,则只进行一次倍点操作,而若该二进制位的值为1,则进行一次倍点操作和一次点加操作。由此,无论计算到哪个比特位,倍点操作都要进行;但是点加操作并非每次都进行,且点加操作只能跟在倍点操作之后。
本发明实施例提供的方法中,结合所分析到的能量迹片段的特征,对特征清晰的各个所述能量迹片段进行分类,找到不同特征的能量迹片段对应的执行操作。仔细观察图9中的能量迹片段,可以发现这些能量迹片段正好有两种不同的特征:如果将负尖峰的峰值对应的功耗值小于-150mV视为明显负尖峰,注意此处负尖峰的峰值在功耗图中实际上是功耗值的最小瞬时值,那么部分能量迹片段中仅一个明显的负尖峰,其余能量迹有多个明显的负尖峰,参见图9标注了各个所述能量迹片段对应的明显负尖峰数量。并且通过观察图9中的能量迹片段,可以看到仅一个明显负尖峰的能量迹片段只能在有多个明显负尖峰的能量迹片段之后出现,而有多个明显负尖峰的能量迹片段既能够和有多个明显负尖峰的能量迹片段相邻,也能够与仅一个明显负尖峰的能量迹片段相邻。结合SM2密码算法的标量乘计算中点加操作只能跟在倍点操作后的特征,将仅一个明显负尖峰的能量迹片段归属为第一类能量迹片段,并确定归属第一类能量迹片段的能量迹片段对应的执行操作为点加操作;将有多个明显负尖峰的能量迹片段归属为第二类能量迹片段,并确定归属第二类能量迹片段的能量迹片段对应的执行操作为倍点操作。图10展示了图9中能量迹片段对应的执行操作。
步骤4:使用层次聚类算法,将相同操作对应的能量迹片段归为一类,然后分析能量迹片段的类别和顺序,得到能量迹片段对应操作的顺序,从而得到完整的操作参数,以完成对SM2密码算法的能量分析。
本发明实施例提供的方法中,通过使用聚类算法,能够快速地将特征相似的能量迹片段分为一类。聚类算法是指在没有具体划分说明的情况下划分数据对象的集合的算法,将类似的对象组成簇并使不同的簇中的对象彼此差异尽可能大。具体来说,本发明实施例提供的方法中使用层次聚类算法将相同执行操作对应的能量迹片段归为一类,从而快速得到能量迹片段对应的执行操作及执行操作的顺序。
本发明实施例提供的方法中,由于能量迹片段中执行操作数较多,直接使用聚类算法进行聚类的计算量较大,因此可使用主成成分分析的方式先进行降维处理,使每个能量迹片段降至二维。随后使用层次聚类算法分类降维后的各个所述能量迹片段,参见图11所示是降维为二维形式后的各个能量迹片段图,其中每个点代表一个能量迹片段,每个点的横坐标值和纵坐标值即为能量迹片段降维后的二维数据,可以观察到深色点B的数量多于浅色点A的数量,而根据标量乘计算中所有比特位都要进行倍点操作、部分比特位进行点加操作的特征可知,倍点操作数量较多;因此深色点B对应的能量迹片段应对应倍点操作,浅色点A对应的能量迹片段应对应点加操作,由此可以快速得到SM2密码算法在加密过程中所有能量迹片段对应的执行操作类别以及操作的顺序。
本发明实施例提供的方法中,对经过降维处理的各个能量迹片段对应的执行操作进行编码,从而确定SM2密码算法在加密过程中所应用的操作参数k的编码形式。本发明实施例提供的方法中以二进制编码为例进行说明,由标量乘计算中操作参数k的比特位为0时对应一次倍点操作,比特位为1时对应一次倍点操作和一次点加操作可知,已知操作顺序的情况下可以推出所用操作参数k的二进制编码。图12展示了滤波后加密过程对应目标能量迹L1的末尾以及其中能量迹片段对应的执行操作,根据图12中各个执行操作的顺序,可以将每个点加操作和位于其前面并且相邻的一个倍点操作编码为1,将剩余每个倍点操作都编码为0,得到对应的操作参数k最后五个比特位为10011,这些比特位已标注在图12中,同理可以推出SM2密码算法的加密过程中所用操作参数k的完整二进制编码。
本发明实施例还提供了与一种密码算法能量分析方法对应的一种密码算法能量分析装置,所述密码算法能量分析装置用于实现所述密码算法能量分析方法在实际中的应用,所述一种密码算法能量分析装置的结构图可参照图13,所述密码算法能量分析装置中包括:
第一确定单元201,用于确定密码算法在加密过程中所对应的目标能量迹;
划分单元202,用于依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
分类单元203,用于应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
第二确定单元204,用于依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
本发明实施例提供的密码算法能量分析装置包括处理器和存储器,上述第一确定单元、划分单元、分类单元和第二确定单元均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来动态执行密码更新过程,提升更新效率。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述密码算法能量分析方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述密码算法能量分析方法。
如图14所示,本发明实施例提供了一种电子设备,所述电子设备30包括至少一个处理器301、以及与处理器301连接的至少一个存储器302、总线303;其中,处理器301、存储器302通过总线303完成相互间的通信;处理器301用于调用存储器302中的程序指令,以执行上述的密码算法能量分析方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序,包括:
确定密码算法在加密过程中所对应的目标能量迹;
依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种密码算法能量分析方法,其特征在于,包括:
确定密码算法在加密过程中所对应的目标能量迹;
依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
2.根据权利要求1所述的方法,其特征在于,所述确定密码算法在加密过程中所对应的目标能量迹,包括:
获取所述密码算法在应用过程中的总能量迹;
在所述总能量迹中,确定所述总能量迹包括的各个子能量迹,每个所述子能量迹的连续功耗的绝对值大于预设功耗阈值;
依据所述密码算法的算法特性,在所述各个子能量迹中确定与所述密码算法对应的目标能量迹。
3.根据权利要求2所述的方法,其特征在于,将所述目标能量迹划分为多个能量迹片段,包括:
确定所述目标能量迹中包括的各个功耗负尖峰,所述目标能量迹中包括多个功耗负尖峰,相邻两个功耗负尖峰之间包括多个电压负尖峰;
以每个所述功耗负尖峰为划分点,将所述目标能量迹划分为多个能量迹片段。
4.根据权利要求3所述的方法,其特征在于,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作,包括:
确定各个所述能量迹片段的片段特征是否清晰,若存在片段特征不清晰的能量迹片段,则对所述总能量迹进行滤波处理,并重新确定密码算法在加密过程中所对应的目标能量迹;
若不存在片段特征不清晰的能量迹片段,则确定每个所述能量迹片段中包含的明显负尖峰个数,所述明显负尖峰为峰值小于预设电压阈值的电压负尖峰;
将包括一个明显负尖峰的能量迹片段归属为第一类能量迹片段,并将包括多个明显负尖峰的能量迹片段归属为第二类能量迹片段;
确定归属第一类能量迹片段的能量迹片段对应的执行操作为点加操作;
确定归属第二类能量迹片段的能量迹片段对应的执行操作为倍点操作。
5.根据权利要求1所述的方法,其特征在于,所述依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,包括:
对每个所述能量迹片段进行降维处理;
对经过降维处理的各个能量迹片段对应的执行操作进行编码,获得所述目标能量迹对应的编码序列;
依据所述编码序列,确定所述密码算法在加密过程中所应用的操作参数。
6.根据权利要求5所述的方法,其特征在于,所述对经过降维处理的各个能量迹片段对应的执行操作进行编码,包括:
确定每个执行操作的操作参数;
依据每个所述执行操作的操作参数,确定该执行操作所对应比特位上的比特值。
7.根据权利要求4所述的方法,其特征在于,归属第一类能量迹片段的能量迹片段在所述目标能量迹中,其之前与之相邻的能量迹片段为归属第二类能量迹片段的能量迹片段。
8.一种密码算法能量分析装置,其特征在于,包括:
第一确定单元,用于确定密码算法在加密过程中所对应的目标能量迹;
划分单元,用于依据所述目标能量迹的能量特征,将所述目标能量迹划分为多个能量迹片段;
分类单元,用于应用层次聚类算法,对每个所述能量迹片段进行分类,并确定每个所述能量迹片段在其所属分类下对应的执行操作;
第二确定单元,用于依据每个所述能量迹片段对应的执行操作,确定所述密码算法在加密过程中所应用的操作参数,以完成对所述密码算法的能量分析。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~7任意一项所述的密码算法能量分析方法。
10.一种电子设备,其特征在于,包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行如权利要求1~7任意一项所述的密码算法能量分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111355457.0A CN114021112A (zh) | 2021-11-16 | 2021-11-16 | 密码算法能量分析方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111355457.0A CN114021112A (zh) | 2021-11-16 | 2021-11-16 | 密码算法能量分析方法及装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114021112A true CN114021112A (zh) | 2022-02-08 |
Family
ID=80064550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111355457.0A Pending CN114021112A (zh) | 2021-11-16 | 2021-11-16 | 密码算法能量分析方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114021112A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560135A (zh) * | 2023-11-14 | 2024-02-13 | 北京智芯微电子科技有限公司 | 抗能量分析攻击能力的检测方法及系统、设备和存储介质 |
-
2021
- 2021-11-16 CN CN202111355457.0A patent/CN114021112A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117560135A (zh) * | 2023-11-14 | 2024-02-13 | 北京智芯微电子科技有限公司 | 抗能量分析攻击能力的检测方法及系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344615B (zh) | 一种检测恶意命令的方法及装置 | |
US20200134046A1 (en) | Compression of Log Data Using Field Types | |
CN111586071B (zh) | 一种基于循环神经网络模型的加密攻击检测方法及装置 | |
CN103942292A (zh) | 虚拟机镜像文件处理方法、装置及系统 | |
CN111159413A (zh) | 日志聚类方法、装置、设备及存储介质 | |
CN115412371B (zh) | 基于物联网的大数据安全防护方法、系统及云平台 | |
CN111260220B (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN113381963B (zh) | 一种域名检测方法、装置和存储介质 | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN115017441A (zh) | 一种资产分类方法、装置及电子设备和存储介质 | |
CN114021112A (zh) | 密码算法能量分析方法及装置、存储介质及电子设备 | |
CN111949720B (zh) | 基于大数据和人工智能的数据分析方法及云端数据服务器 | |
CN115935208A (zh) | 一种数据中心设备多元时间序列运行数据在线分割方法、设备及介质 | |
CN116366603A (zh) | 一种活跃IPv6地址的确定方法及装置 | |
CN112968761B (zh) | 一种针对密码算法的人工智能侧信道分析方法 | |
Sahoo et al. | On the study of GRBF and polynomial kernel based support vector machine in web logs | |
CN107016310B (zh) | 一种身份认证系统的智能终端ic卡授权与管理方法 | |
CN116366790B (zh) | 一种网络视频存储方法及系统 | |
CN117093545B (zh) | 一种电动自行车证照数据存储与管理方法、系统及介质 | |
CN111339574B (zh) | 区块数据处理方法、装置、计算机设备和存储介质 | |
CN117112846A (zh) | 一种多信息源证照信息管理方法、系统及介质 | |
WO2016140680A1 (en) | Multi-level object re-identification | |
CN113630385A (zh) | 一种sdn网络下dos攻击防控方法及装置 | |
CN117786390A (zh) | 一种待维护特征数据整理方法及其相关设备 | |
CN114185547A (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 |