CN115065481A - 公钥密码算法侧信道分析方法、装置及相关设备 - Google Patents
公钥密码算法侧信道分析方法、装置及相关设备 Download PDFInfo
- Publication number
- CN115065481A CN115065481A CN202210684837.7A CN202210684837A CN115065481A CN 115065481 A CN115065481 A CN 115065481A CN 202210684837 A CN202210684837 A CN 202210684837A CN 115065481 A CN115065481 A CN 115065481A
- Authority
- CN
- China
- Prior art keywords
- waveform
- subset
- waveform segments
- clustering
- segments
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 26
- 238000002372 labelling Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 46
- 238000000513 principal component analysis Methods 0.000 claims description 15
- 238000003064 k means clustering Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 238000004088 simulation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种公钥密码算法侧信道分析方法,对于待处理的多个波形段可以聚类至第一集合和第二集合内、且第一集合和第二集合具有各自的聚类中心;针对第一集合与第二集合中的任意一个集合,确定该集合内各波形段与另一集合的聚类中心的距离,并选择距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;针对第一集合与第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合与另一集合的第二子集内的各波形段贴标签0或1;按照贴标签后的各波形段在待处理的多个波形段中的次序进行标签拼接得到相应的密钥,验证该密钥以确定正确密钥。
Description
技术领域
本发明涉及网络安全技术领域,更具体地说,涉及一种公钥密码算法侧信道分析方法、装置及相关设备。
背景技术
现代密码学通常实现于一台密码设备,其典型形态是U盾、智能卡、加密机等,其中包含加密算法和密钥。当密码设备加密时,其输入为明文,输出为密文。
针对密码设备的主流攻击方法是侧信道分析,通过采集密码设备在运行过程中消耗的能量、辐射的电磁、花费的时间等物理信息,并对这些信息进行分析,恢复设备中的密钥。
以一款典型的RSA算法智能卡为例,其中运行着RSA签名算法,其明文m、私钥d、模数N、签名值s的长度均为1024比特,其实现方式为带有伪乘的平方-乘算法,攻击者尝试通过简单能量分析的方法恢复其私钥d。执行一次RSA签名运算产生的能量、电磁波形,包含1024段平方-乘操作,其中密钥为0时,平方-乘中的乘为伪乘;密钥为1时,平方-乘中的乘为真乘。恢复密钥的关键环节是为每次平方-乘操作对应的波形段贴上0或1的标签。
针对RSA签名的现有简单能量分析方法,其预备步骤是将一次RSA签名的波形分割为有序的1024段,随后采用聚类算法对波形段进行分类和验证,其一般步骤为:
步骤1:将待区分为两类的1024个波形段进行聚类,得到两个集合,记作集合A和B,每个集合中的元素即为波形段;
步骤2:将集合A中的波形段贴标签0,将集合B中的波形段贴标签1,将所有波形段的标签进行有序拼接后,验证其是否是正确密钥,若是则步骤结束;
步骤3:将集合A中的波形段贴标签1,将集合B中的波形段贴标签0,将所有波形段的标签进行有序拼接后,验证其是否是正确密钥,若是则步骤结束;
步骤4:返回失败,步骤结束。
现有聚类侧信道分析方法的缺点在于缺少容错能力,也就是说,如果聚类过程中有部分标签贴错,即使仅有1个标签贴错,也必然导致密钥恢复失败。当且仅当所有标签都贴正确时,才能恢复出正确密钥。因而,现有简单能量分析的成功率有待提高。
发明内容
有鉴于此,为解决上述问题,本发明提供一种公钥密码算法侧信道分析方法、装置及相关设备,技术方案如下:
一种公钥密码算法侧信道分析方法,所述方法包括:
对待处理的多个波形段聚类至第一集合和第二集合内,并确定所述第一集合和所述第二集合各自的聚类中心;
针对所述第一集合与所述第二集合中的任意一个集合,确定该集合内各波形段距离另一集合的聚类中心的距离,并将该集合内的、距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;
针对所述第一集合与所述第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合的第二子集内的各波形段、以及另一集合的第二子集内的各波形段贴标签0或1;
按照贴标签后的各波形段在所述待处理的多个波形段中的次序进行标签拼接得到相应的密钥,并对所述密钥进行验证以确定正确密钥。
优选的,所述对待处理的多个波形段聚类至第一集合和第二集合内,包括:
基于主成分分析算法对所述待处理的多个波形段中的每个波形段进行线性降维,以获得每个波形段的数据特征;
采用预设的聚类算法对每个波形段的数据特征进行聚类,以将所述待处理的多个波形段划分至所述第一集合和所述第二集合内。
优选的,所述预设的聚类算法包括:K-Means聚类算法、DBSCAN聚类算法、Mean-Shift聚类算法和层次聚类算法中的一个。
优选的,所述基于主成分分析算法对所述待处理的多个波形段中的每个波形段进行线性降维之前,所述方法还包括:
对所述待处理的多个波形段进行预处理。
优选的,所述确定该集合内各波形段距离另一集合的聚类中心的距离,包括:
确定该集合内各波形段距离另一集合的聚类中心的欧几里得距离。
优选的,所述对所述密钥进行验证以确定正确密钥,包括:
使用待分析设备对目标消息进行签名得到第一签名值;
使用RSA签名算法和所述密钥对所述目标消息进行签名,得到第二签名值;
在所述第一签名值和所述第二签名值相同的情况下,确定所述密钥为正确密钥;
在所述第一签名值和所述第二签名值不同的情况下,确定所述密钥不为正确密钥。
一种公钥密码算法侧信道分析装置,所述装置包括:
聚类模块,用于对待处理的多个波形段聚类至第一集合和第二集合内,并确定所述第一集合和所述第二集合各自的聚类中心;
处理模块,用于针对所述第一集合与所述第二集合中的任意一个集合,确定该集合内各波形段距离另一集合的聚类中心的距离,并将该集合内的、距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;针对所述第一集合与所述第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合的第二子集内的各波形段、以及另一集合的第二子集内的各波形段贴标签0或1;
验证模块,用于按照贴标签后的各波形段在所述待处理的多个波形段中的次序进行标签拼接得到相应的密钥,并对所述密钥进行验证以确定正确密钥。
优选的,用于对待处理的多个波形段聚类至第一集合和第二集合内的所述聚类模块,具体用于:
基于主成分分析算法对所述待处理的多个波形段中的每个波形段进行线性降维,以获得每个波形段的数据特征;采用预设的聚类算法对每个波形段的数据特征进行聚类,以将所述待处理的多个波形段划分至所述第一集合和所述第二集合内。
一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现所述的公钥密码算法侧信道分析方法。
一种存储介质,所述存储介质存储有计算机程序代码,所述计算机程序代码执行时实现所述的公钥密码算法侧信道分析方法。
相较于现有技术,本发明实现的有益效果为:
本发明提供一种公钥密码算法侧信道分析方法、装置及相关设备,对于待处理的多个波形段可以聚类至第一集合和第二集合内、且第一集合和第二集合具有各自的聚类中心;进而,针对第一集合与第二集合中的任意一个集合,确定该集合内各波形段与另一集合的聚类中心的距离,并选择距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;进一步,针对第一集合与第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合与另一集合的第二子集内的各波形段贴标签0或1;更进一步,按照贴标签后的各波形段在待处理的多个波形段中的次序进行标签拼接得到相应的密钥,验证该密钥以确定正确密钥。本发明借助枚举的思想,为聚类赋予了一种容错能力,给出一种聚类与枚举相结合的公钥密码算法侧信道分析实现方案,可显著提升简单能量分析的成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的RSA密码算法的仿真能量波形图;
图2为本发明实施例提供的RSA密码算法仿真能量波形图的局部放大图;
图3为本发明实施例提供的公钥密码算法侧信道分析方法的方法流程图;
图4为本发明实施例提供的使用主成分分析和K-means聚类算法对仿真能量波形进行聚类的结果示意图;
图5为本发明实施例提供的子集划分的示意图;
图6本发明实施例提供的经过枚举后得到的正确分类结果示例图;
图7为本发明实施例提供的使用传统方法得到的聚类错误结果示意图;
图8为本发明实施例提供的公钥密码算法侧信道分析装置的结构示意。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为展示本发明的效果,我们给出一次仿真实验。首先,随机生成一个1024比特的私钥d,根据d生成一次RSA签名的仿真能量波形,它包含2048段波形段,分别对应交错相间的1024个平方和1024个乘操作。参见图1,图1为本发明实施例提供的RSA密码算法的仿真能量波形图,其是仿真波形的整体预览图;参见图2,图2为本发明实施例提供的RSA密码算法仿真能量波形图的局部放大图,其中,虚线框1为密钥0对应的平方-伪乘的波形,虚线框2为密钥1对应的平方-真乘的波形,并且,每个波形段的长度均为48个采样点。虚线框内的两个能量波峰分别是平方和乘操作,并且平方操作的波峰要大于乘操作的波峰。真乘和伪乘的波峰均值大小有差别。整体能量波形加上了高斯噪声以确保实验的鲁棒性。本实施例中将整体的RSA签名的仿真能量波形切割成1024段,每段均为平方-伪乘操作或者平方-真乘操作。
参见图3,图3为本发明实施例提供的公钥密码算法侧信道分析方法的方法流程图,该方法包括如下步骤:
S10,对待处理的多个波形段聚类至第一集合和第二集合内,并确定第一集合和第二集合各自的聚类中心。
本发明实施例中,将待区分为两类的若干波形段进行聚类,得到两个集合,其中第一集合记为集合A、第二集合记为集合B,每个集合中的元素即为波形段。聚类算法可以采用K-Means聚类算法、DBSCAN(Density-Based Spatial Clustering of Applications withNoise,基于密度的含噪应用空间聚类)聚类算法、Mean-Shift聚类算法和层次聚类算法中的一个。
具体实现过程中,本发明实施例中采用主成分分析与聚类算法相结合的方法,优选采用主成分分析与K-means聚类算法相结合的方法。步骤S10“对待处理的多个波形段聚类至第一集合和第二集合内”可以采用如下步骤:
基于主成分分析算法对待处理的多个波形段中的每个波形段进行线性降维,以获得每个波形段的数据特征;采用预设的聚类算法对每个波形段的数据特征进行聚类,以将待处理的多个波形段划分至第一集合和第二集合内。
主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性。本发明实施例中,使用主成分分析算法将待处理的多个波形段中的每个波形段降至2维,既提取了波形段的主要数据特征,同时也方便直观判断。进而,以K-means聚类算法为例进行说明,采用K-means聚类算法进行聚类,K-means聚类算法是应用广泛的无监督聚类算法之一,它通过计算样本之间的距离大小,将样本集划分为多个簇,让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大,在本发明实施例中,因为波形段操作只有两种,因此使用K-means聚类算法对每个波形段的数据特征进行聚类,以将降维后的多个波形段划分为两个簇,即第一集合和第二集合内。参见图4,图4为本发明实施例提供的使用主成分分析和K-means聚类算法对仿真能量波形进行聚类的结果示意图。
在一些实施例中,对于待处理的多个波形段可以先进行预处理再进行聚类,对此,本发明实施例还包括如下步骤:
对待处理的多个波形段进行预处理。
本发明实施例中,预处理的操作包括静态对齐、弹性对齐、等长截取、滤波等。其中,
静态对齐和弹性对齐能够使得波形段对齐,等长截取则能够使得波形段长度相同,当采用欧几里得距离定义波形段差异时,有效对齐且长度相同的波形段能够正确地反应波形段之间的特征差异。滤波则是通过信号处理的手段消除波形段上的噪声,提高信噪比,使得波形段之间的特征差异更明显。
S20,针对第一集合与第二集合中的任意一个集合,确定该集合内各波形段距离另一集合的聚类中心的距离,并将该集合内的、距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集。
本发明实施例中,一方面对于集合A中的每个波形段,根据其距离集合B的聚类中心(即集合B中所有波形段的平均值)的距离,可以将集合A划分为两个子集,距离远的为集合A的第一子集、记为子集A1,距离近的为集合A的第二子集、记为子集A2。设定子集A1的大小为N,则选择距离集合B的聚类中心最远的N个波形段划分到子集A1内,集合A内剩余的所有波形段划分至子集A2内。
另一方面对于集合B中的每个波形段,根据其距离集合A的聚类中心(即集合A中所有波形段的平均值)的距离,可以将集合B划分为两个子集,距离远的为集合B的第一子集、记为子集B1,距离近的为集合B的第二子集、记为子集B2。设定子集B1的大小为N,则选择距离集合A的聚类中心最远的N个波形段划分到子集B1内,集合B内剩余的所有波形段划分至子集B2内。
本发明实施例中,使用K-means聚类算法可以分别得到集合A和集合B的聚类中心PA和PB,计算集合A中各波形段到PB的距离记作D,得到集合LA={DA1,...,DA512},同理,计算集合B中各波形段到PA的距离得到集合LB={DB1,...,DB512}。选择LA和LB中最小的前40个波形段,将属于集合A的波形段划分至子集A2内,将属于集合B的波形段划分至子集B2内。参见图5,图5为本发明实施例提供的子集划分的示意图,其中指向I的点为子集A1内的波形段,指向II的点为子集A2内的波形段(是集合A中最靠近集合B的波形段),指向III的点为子集B2内的波形段(是集合B中最靠近集合A的波形段),指向IV的点为子集B1内的波形段;其中,指向II的点为虚线左侧的黑色点,指向III的点为虚线右侧的黑色点,并且,由于波形段均化为圆点,实际上应当用圆点所在圆心位置来表示,因此虚线经过的第一个和第二个点均属于指向II的点、虚线经过的第三个点属于指向III的点。
因为K-means聚类是根据波形段之间的距离特征进行划分的,但是因为噪音的存在,会导致某些原本是平方-真乘的波形段被划分到平方-伪乘的集合中,相反的情况也存在。因此本发明认为处于K-means算法划分结果两个簇交界位置的波形段需要遍历操作,确保消除噪声产生的干扰。
在实际应用中,可以采用欧几里得距离定义某一集合中波形段与另一集合的聚类中心之间的距离。具体的,步骤S20中“确定该集合内各波形段距离另一集合的聚类中心的距离”可以采用如下步骤:
确定该集合内各波形段距离另一集合的聚类中心的欧几里得距离。
具体的,欧几里得距离是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。欧几里得距离能够有效地反应波形段之间的差异。假设波形段T1={x1,x2,x3,...,xn},波形段T2={y1,y2,y3,...,yn}其中T1和T2中的值是波形段的能量大小,n为波形段的采样点个数,则波形段T1和T2的欧几里得距离为:
S30,针对第一集合与第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合的第二子集内的各波形段、以及另一集合的第二子集内的各波形段贴标签0或1。
本发明实施例中,一方面对于集合A中的每个波形段,将子集A1中的各波形段分别贴标签0、子集B1中的各波形段分别贴标签1。并且,对子集A2和子集B2中的各波形段进行遍历,随机贴标签0或1。当所有波形段都贴上标签后,将各波形段的标签按照原始次序进行拼接得到相应的密钥,并验证该密钥是否为正确密钥,若发现正确密钥,则结束。
另一方面,对于集合B中的每个波形段,将子集B1中的各波形段分别贴标签0、子集A1中的各波形段分别贴标签1。并且,对子集A2和子集B2中的各波形段进行遍历,随机贴标签0或1。当所有波形段都贴上标签后,将各波形段的标签按照原始次序进行拼接得到相应的密钥,并验证该密钥是否为正确密钥,若发现正确密钥,则结束。
继续以图1所示的仿真能量波形为例进行说明。将子集A1中的各波形段分别贴标签0、子集B1中的各波形段分别贴标签1。并且,对子集A2和子集B2中的各波形段进行遍历,随机贴标签0或1。当所有波形段都贴上标签后,将各波形段的标签按照原始次序进行拼接得到相应的密钥,并验证该密钥是否为正确密钥,结果为未发现正确密钥。其原因是聚类结果并不能直接得到正确的标签,此步骤中,子集A1与B1中波形段的标签恰好贴反,导致未发现正确密钥。
将子集B1中的各波形段分别贴标签0、子集A1中的各波形段分别贴标签1。并且,对子集A2和子集B2中的各波形段进行遍历,随机贴标签0或1。当所有波形段都贴上标签后,将各波形段的标签按照原始次序进行拼接得到相应的密钥,并验证该密钥是否为正确密钥,最多通过240次验证,发现正确密钥,步骤结束。
S40,按照贴标签后的各波形段在待处理的多个波形段中的次序进行标签拼接得到相应的密钥,并对密钥进行验证以确定正确密钥。
具体实现过程中,步骤S40中“对密钥进行验证以确定正确密钥”可以采用如下步骤:
使用待分析设备对目标消息进行签名得到第一签名值;使用RSA签名算法和密钥对目标消息进行签名,得到第二签名值;在第一签名值和第二签名值相同的情况下,确定密钥为正确密钥;在第一签名值和第二签名值不同的情况下,确定密钥不为正确密钥。
本发明实施例中,首先使用待分析设备对目标消息m进行签名得到第一签名值s;进而,使用本地设备上的RSA签名算法和密钥d’对同一消息m进行签名得到第二签名值s’;判断s=s’是否成立,若成立则验证密钥d’为正确密钥,否则验证密钥d’为错误密钥。
发明人发现,理论上选择n个点进行枚举,时间复杂度为O(2n)。但是本发明可以根据步骤S20中的距离对集合LA和LB进行有序遍历,即越靠近另一集合的聚类中心,在LA和LB中值越小的点,优先进行枚举遍历操作,能够一定程度提高效率。相比于直接猜测1024比特密钥的搜索空间要大大减少,同时比传统聚类方法增加了纠错步骤,效率提升。参见图6,图6是本发明实施例提供的经过枚举后得到的正确分类结果示意图。
上述实验表明本发明给出的新方法正确有效。随后,我们考虑用传统聚类方法对同一组仿真波形进行简单能量分析,传统聚类方法的第一步与本发明相同,因而其效果与图4相同,我们发现在图4的聚类结果中,有6比特密钥未正确恢复,这说明本发明的效率显著优于传统聚类方法。参见图7,图7为本发明实施例提供的使用传统方法得到的聚类错误结果示意图,使用传统聚类方法得到聚类结果时,指向V的点为被聚类划分为平方-真乘操作但实际上是平方-伪乘操作的波形段(表示在聚类方法中被划分到集合A的波形段,但通过枚举验证为属于集合B),指向VI的点为被聚类划分为平方-伪乘操作但实际上是平方-真乘操作的波形段(表示在聚类方法中被划分到集合B的波形段,但通过枚举验证为属于集合A),高斯噪声导致了这种错误的产生,使得波形段在降维后的特征混淆,因此分类错误;其中,指向V的点为虚线左侧的黑色点、且虚线经过的第一个和第二个点均属于指向V的点,指向VI的点为虚线右侧的黑色点。
本发明提供一种聚类与枚举相结合的公钥密码算法侧信道分析方法,采用聚类算法将待处理的波形段划分为两类,进而判定两类中哪些波形段距离另一类相对较近,再对这些波形段的标签进行枚举以判定是否存在正确密钥,如果存在正确密钥则步骤结束,如果枚举结束后不存在正确密钥则宣告失败。本发明针对聚类本身存在少量误差的情况,能够通过有序遍历的枚举思路,搜索出正确密钥,从而进一步提升分析成功率。
基于上述实施例提供的公钥密码算法侧信道分析方法,本发明实施例则对应提供一种执行该公钥密码算法侧信道分析方法的装置,该装置的结构示意图如图8所示,包括:
聚类模块10,用于对待处理的多个波形段聚类至第一集合和第二集合内,并确定第一集合和第二集合各自的聚类中心;
处理模块20,用于针对第一集合与第二集合中的任意一个集合,确定该集合内各波形段距离另一集合的聚类中心的距离,并将该集合内的、距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;针对第一集合与第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合的第二子集内的各波形段、以及另一集合的第二子集内的各波形段贴标签0或1;
验证模块30,用于按照贴标签后的各波形段在待处理的多个波形段中的次序进行标签拼接得到相应的密钥,并对密钥进行验证以确定正确密钥。
可选的,用于对待处理的多个波形段聚类至第一集合和第二集合内的聚类模块10,具体用于:
基于主成分分析算法对待处理的多个波形段中的每个波形段进行线性降维,以获得每个波形段的数据特征;采用预设的聚类算法对每个波形段的数据特征进行聚类,以将待处理的多个波形段划分至第一集合和第二集合内。
可选的,预设的聚类算法包括:K-Means聚类算法、DBSCAN聚类算法、Mean-Shift聚类算法和层次聚类算法中的一个。
可选的,聚类模块10,还用于:
对待处理的多个波形段进行预处理。
可选的,用于确定该集合内各波形段距离另一集合的聚类中心的距离的处理模块20,具体用于:
确定该集合内各波形段距离另一集合的聚类中心的欧几里得距离。
可选的,用于对密钥进行验证以确定正确密钥的验证模块30,具体用于:
使用待分析设备对目标消息进行签名得到第一签名值;使用RSA签名算法和密钥对目标消息进行签名,得到第二签名值;在第一签名值和第二签名值相同的情况下,确定密钥为正确密钥;在第一签名值和第二签名值不同的情况下,确定密钥不为正确密钥。
需要说明的是,本发明实施例中各模块的细化功能可以参见上述公钥密码算法侧信道分析方法实施例对应公开部分,在此不再赘述。
基于上述实施例提供的公钥密码算法侧信道分析方法,本发明实施例则提供一种电子设备,电子设备包括:至少一个存储器和至少一个处理器;存储器存储有应用程序,处理器调用存储器存储的应用程序,应用程序用于实现公钥密码算法侧信道分析方法。
基于上述实施例提供的公钥密码算法侧信道分析方法,本发明实施例则提供一种存储介质,存储介质存储有计算机程序代码,计算机程序代码执行时实现公钥密码算法侧信道分析方法。
以上对本发明所提供的一种公钥密码算法侧信道分析方法、装置及相关设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种公钥密码算法侧信道分析方法,其特征在于,所述方法包括:
对待处理的多个波形段聚类至第一集合和第二集合内,并确定所述第一集合和所述第二集合各自的聚类中心;
针对所述第一集合与所述第二集合中的任意一个集合,确定该集合内各波形段距离另一集合的聚类中心的距离,并将该集合内的、距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;
针对所述第一集合与所述第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合的第二子集内的各波形段、以及另一集合的第二子集内的各波形段贴标签0或1;
按照贴标签后的各波形段在所述待处理的多个波形段中的次序进行标签拼接得到相应的密钥,并对所述密钥进行验证以确定正确密钥。
2.根据权利要求1所述的方法,其特征在于,所述对待处理的多个波形段聚类至第一集合和第二集合内,包括:
基于主成分分析算法对所述待处理的多个波形段中的每个波形段进行线性降维,以获得每个波形段的数据特征;
采用预设的聚类算法对每个波形段的数据特征进行聚类,以将所述待处理的多个波形段划分至所述第一集合和所述第二集合内。
3.根据权利要求2所述的方法,其特征在于,所述预设的聚类算法包括:K-Means聚类算法、DBSCAN聚类算法、Mean-Shift聚类算法和层次聚类算法中的一个。
4.根据权利要求2所述的方法,其特征在于,所述基于主成分分析算法对所述待处理的多个波形段中的每个波形段进行线性降维之前,所述方法还包括:
对所述待处理的多个波形段进行预处理。
5.根据权利要求1所述的方法,其特征在于,所述确定该集合内各波形段距离另一集合的聚类中心的距离,包括:
确定该集合内各波形段距离另一集合的聚类中心的欧几里得距离。
6.根据权利要求1所述的方法,其特征在于,所述对所述密钥进行验证以确定正确密钥,包括:
使用待分析设备对目标消息进行签名得到第一签名值;
使用RSA签名算法和所述密钥对所述目标消息进行签名,得到第二签名值;
在所述第一签名值和所述第二签名值相同的情况下,确定所述密钥为正确密钥;
在所述第一签名值和所述第二签名值不同的情况下,确定所述密钥不为正确密钥。
7.一种公钥密码算法侧信道分析装置,其特征在于,所述装置包括:
聚类模块,用于对待处理的多个波形段聚类至第一集合和第二集合内,并确定所述第一集合和所述第二集合各自的聚类中心;
处理模块,用于针对所述第一集合与所述第二集合中的任意一个集合,确定该集合内各波形段距离另一集合的聚类中心的距离,并将该集合内的、距离最远的多个波形段作为该集合的第一子集、剩余的多个波形段作为该集合的第二子集;针对所述第一集合与所述第二集合中的任意一个集合,将该集合的第一子集内的多个波形段贴标签0、另一集合的第一子集内的多个波形段贴标签1,并遍历该集合的第二子集内的各波形段、以及另一集合的第二子集内的各波形段贴标签0或1;
验证模块,用于按照贴标签后的各波形段在所述待处理的多个波形段中的次序进行标签拼接得到相应的密钥,并对所述密钥进行验证以确定正确密钥。
8.根据权利要求7所述的装置,其特征在于,用于对待处理的多个波形段聚类至第一集合和第二集合内的所述聚类模块,具体用于:
基于主成分分析算法对所述待处理的多个波形段中的每个波形段进行线性降维,以获得每个波形段的数据特征;采用预设的聚类算法对每个波形段的数据特征进行聚类,以将所述待处理的多个波形段划分至所述第一集合和所述第二集合内。
9.一种电子设备,其特征在于,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现权利要求1-6任意一项所述的公钥密码算法侧信道分析方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序代码,所述计算机程序代码执行时实现权利要求1-6任意一项所述的公钥密码算法侧信道分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210684837.7A CN115065481B (zh) | 2022-06-17 | 2022-06-17 | 公钥密码算法侧信道分析方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210684837.7A CN115065481B (zh) | 2022-06-17 | 2022-06-17 | 公钥密码算法侧信道分析方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115065481A true CN115065481A (zh) | 2022-09-16 |
CN115065481B CN115065481B (zh) | 2024-08-09 |
Family
ID=83201951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210684837.7A Active CN115065481B (zh) | 2022-06-17 | 2022-06-17 | 公钥密码算法侧信道分析方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115065481B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664641A (zh) * | 2022-12-26 | 2023-01-31 | 飞腾信息技术有限公司 | 对加密算法中轮密钥的校验方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002207427A (ja) * | 2001-01-10 | 2002-07-26 | Sony Corp | 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体 |
US20140095883A1 (en) * | 2012-09-28 | 2014-04-03 | Sergey Kirillov | Hardening of direct anonymous attestation from side-channel attack |
KR102312379B1 (ko) * | 2020-10-14 | 2021-10-12 | 국민대학교 산학협력단 | Lac에 대한 부채널 분석 장치 및 방법 |
CN114598449A (zh) * | 2022-03-24 | 2022-06-07 | 国网浙江省电力有限公司信息通信分公司 | 一种针对公钥密码体系的组合侧信道的分析方法及装置 |
-
2022
- 2022-06-17 CN CN202210684837.7A patent/CN115065481B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002207427A (ja) * | 2001-01-10 | 2002-07-26 | Sony Corp | 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体 |
US20140095883A1 (en) * | 2012-09-28 | 2014-04-03 | Sergey Kirillov | Hardening of direct anonymous attestation from side-channel attack |
KR102312379B1 (ko) * | 2020-10-14 | 2021-10-12 | 국민대학교 산학협력단 | Lac에 대한 부채널 분석 장치 및 방법 |
CN114598449A (zh) * | 2022-03-24 | 2022-06-07 | 国网浙江省电力有限公司信息通信分公司 | 一种针对公钥密码体系的组合侧信道的分析方法及装置 |
Non-Patent Citations (1)
Title |
---|
凌杭;吴震;杜之波;王敏;饶金涛;: "基于汉明重的EPCBC代数侧信道攻击", 计算机工程, no. 08, 15 August 2017 (2017-08-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664641A (zh) * | 2022-12-26 | 2023-01-31 | 飞腾信息技术有限公司 | 对加密算法中轮密钥的校验方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115065481B (zh) | 2024-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abdelnabi et al. | Visualphishnet: Zero-day phishing website detection by visual similarity | |
Hurley et al. | Statistical attack detection | |
US8417960B2 (en) | Method for generating an encryption key using biometrics authentication and restoring the encryption key and personal authentication system | |
CN111652290B (zh) | 一种对抗样本的检测方法及装置 | |
JP4616677B2 (ja) | 生体情報による暗号鍵生成および生体情報による個人認証システム | |
US11501108B2 (en) | Adding a fingerprint to a machine learning model | |
WO2019200810A1 (zh) | 用户数据真实性分析方法及装置、存储介质、电子设备 | |
CN110457916B (zh) | 一种电子合同加密方法、装置及终端设备 | |
Goh et al. | A hybrid evolutionary algorithm for feature and ensemble selection in image tampering detection | |
CN109417466A (zh) | 机密密钥估算方法与装置 | |
CN115065481B (zh) | 公钥密码算法侧信道分析方法、装置及相关设备 | |
CN112152806A (zh) | 一种云辅助且支持隐私保护的图像识别方法、装置及设备 | |
Lao et al. | Deepauth: A dnn authentication framework by model-unique and fragile signature embedding | |
Wang et al. | A Hadamard transform-based method for the design of cancellable fingerprint templates | |
CN103797490A (zh) | 在使用秘密共享方案的计算环境中生成用于资产集合的标识符的容忍变化方法 | |
CN110855635B (zh) | Url识别方法、装置及数据处理设备 | |
CN110363534B (zh) | 用于识别异常交易的方法及装置 | |
Xu et al. | A deep learning framework supporting model ownership protection and traitor tracing | |
CN111932270A (zh) | 银行客户身份验证的方法及装置 | |
Lahmidi et al. | Fingerprint template protection using irreversible minutiae tetrahedrons | |
Xue et al. | SSL: A novel image hashing technique using SIFT keypoints with saliency detection and LBP feature extraction against combinatorial manipulations | |
Simoens et al. | Reversing protected minutiae vicinities | |
CN115567224A (zh) | 一种用于检测区块链交易异常的方法及相关产品 | |
CN113672439A (zh) | 一种外接储存设备防丢失预备份处理式数据存储方法 | |
CN116756718B (zh) | 一种基于U-Sketch的生物特征数据纠错方法、系统、工具 |
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 |