CN103441846A - 一种对p域的ecc算法选择明文侧信道能量分析方法 - Google Patents

一种对p域的ecc算法选择明文侧信道能量分析方法 Download PDF

Info

Publication number
CN103441846A
CN103441846A CN2013103481117A CN201310348111A CN103441846A CN 103441846 A CN103441846 A CN 103441846A CN 2013103481117 A CN2013103481117 A CN 2013103481117A CN 201310348111 A CN201310348111 A CN 201310348111A CN 103441846 A CN103441846 A CN 103441846A
Authority
CN
China
Prior art keywords
coordinate
point
energy
territory
side channel
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
CN2013103481117A
Other languages
English (en)
Other versions
CN103441846B (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.)
State Cryptography Administration Commercial Code Testing Center
Original Assignee
State Cryptography Administration Commercial Code Testing Center
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 State Cryptography Administration Commercial Code Testing Center filed Critical State Cryptography Administration Commercial Code Testing Center
Priority to CN201310348111.7A priority Critical patent/CN103441846B/zh
Publication of CN103441846A publication Critical patent/CN103441846A/zh
Application granted granted Critical
Publication of CN103441846B publication Critical patent/CN103441846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

一种对P域的ECC算法选择明文侧信道能量分析方法,涉及到密码算法实现、侧信道能量分析等领域。本发明为了对ECC算法未加防御方法的实现和某些加入防御方法的实现进行侧信道能量分析,提出了一种新型的对素数域上的椭圆曲线基于选择明文的侧信道能量分析方法,使得ECC算法中标量乘的运算产生能量消耗差异,以获取密钥信息。技术方案要点是:所述方法包括以下步骤:(1)采集两组kP运算时的能量迹;(2)基于上步得到的能量迹进行侧信道能量分析,识别出隐藏的点加操作;(3)映射到能量迹上,实施侧信道能量分析,推断出k的密钥序列。本发明为对P域的ECC算法选择明文侧信道能量分析实施提供了理论依据。

Description

一种对P域的ECC算法选择明文侧信道能量分析方法
技术领域
本发明提供了一种对P域的ECC算法选择明文侧信道能量分析方法,涉及到密码算法实现、侧信道能量分析等领域。为了对椭圆曲线密码算法(ECC)进行侧信道能量分析,分析和获取受保护的密钥k,本发明提供了一种基于素数有限域Fp,针对椭圆曲线密码算法中kP标量运算的选择明文侧信道能量分析方法,即k保持不变,输入特殊点P进行能量分析,一种对P域的ECC算法选择明文侧信道能量分析方法。 
背景技术
自从20世纪80年代,Miller和Koblitz将椭圆曲线引入密码学,椭圆曲线在密码学中的作用越来越大。ECC算法基于椭圆曲线离散对数问题(ECDLP):在一个循环群G中,g为生成元,且g的阶为n,对于给定的元素y=gx∈G,求x的值。令p为素数,Fp(包含p个元素)为模p的有限域,E(Fp)为域Fp上椭圆曲线E上所有点的集合。若点G∈E(Fp),且G的阶n为素数,nG=O(O为椭圆曲线E上的无穷远点),则由G生成的循环群<G>={O,G,2G,…,(n-1)G}为E(Fp)的循环子群。在ECC算法中,素数p、域Fp上的椭圆曲线方程、基点G及阶n均为公开参数。 
有限域Fp的椭圆曲线为平面曲线,由满足Weierstrass方程:y2+a1xy+a3y=x3+a2x2+a4x+a6的点组成,其中ai∈Fp,i∈{1,2,3,4,6}。本发明中有限域特征(char)Fp≠2,3,则Weierstrass方程可简化成y2=x3+a4x+a6,此时有限域Fp上椭圆曲线E的点的集合为: 
E(Fp)={(x,y)|y2=x3+a4x+a6,a4,a6∈Fp}∪{O}   (1) 
椭圆曲线上定义的加法运算使用弦切线法则,则E(Fp)为加法交换群,无穷远点O为单位元,P(x,y)+P(x,-y)=O。对E(Fp)上两点P、Q之和P+Q,若P≠Q,连接P、Q的直线交E于点R′,则R′关于x轴的对称点R即为P+Q之和,称为点加运算(A)。若P=Q,做P点的切线交E于点R′,则R′关于x轴的对称点R即为则2P,称为点倍运算(D)。由椭圆曲线上的点加和点倍的几何意义,可以推断出E(Fp)在仿射坐标下运算法则,具体如下: 
点加:令P=(x1,y1)∈E(Fp),Q=(x2,y2)∈E(Fp),且P≠Q,则R(x3,y3)=P+Q, 
x 3 = ( y 2 - y 1 x 2 - x 1 ) 2 - x 2 - x 1 - - - ( 2 )
y 3 = ( y 2 - y 1 x 2 - x 1 ) ( x 1 - x 3 ) - y 1 - - - ( 3 )
点倍:令P=(x1,y1)∈E(Fp),P≠-P,则R(x3,y3)=2P, 
x 3 = ( 3 x 1 2 + a 4 2 y 1 ) 2 - 2 x 1 - - - ( 4 )
y 3 = ( 3 x 1 2 + a 4 2 y 1 ) ( x 1 - x 3 ) - y 1 - - - ( 5 )
由于仿射坐标系统中引入了无穷远点,才使椭圆曲线点集构成了加法群。仿射坐标下的椭圆曲线包含无穷远点,实现较为不便,另外在点加和点倍运算需要进行求逆运算,而一般情况下求逆运算要比乘法运算耗时得多,因此,ECC算法实际实现时,通常将仿射坐标映射成标准射影坐标、雅克比坐标及混合坐标等方式。 
设仿射坐标(x,y)映射为标准射影坐标(X,Y,Z),则Fp上椭圆曲线方程在标准射影坐标系下可以简化为Y2Z=X3+a4XZ2+a6Z3。若(x,y)∈E(Fp), 且(x,y)≠O,Z∈Fp,且Z≠0,则X=xZ,Y=yZ。如(x,y)→(x,y,1)即为标准射影坐标值。若(x,y)=O,则Z=0,对应的标准射影坐标为(0,1,0)。将映射关系代入式(2)-(5)可得标准射影坐标的运算法则。 
点加:令P=(X1,Y1,Z1),Q=(X2,Y2,Z2),且P≠Q,A=X2Z1-X1Z2,B=Y2Z1-Y1Z2,C=B2Z1Z2-A2(X2Z1+X1Z2),则R(X3,Y3,Z3)=P+Q, 
X3=AC   (6) 
Y3=B(A2X1Z2-C)-A3Y1Z2   (7) 
Z3=A3Z1Z2   (8) 
点倍:令P=(X1,Y1,Z1),且P≠-P,A=a4Z1 2+3X1 2,B=Y1Z1,C=X1Y1B,D=A2-8C,则R(X3,Y3,Z3)=2P, 
X3=2BD   (9) 
Y3=A(4C-D)-8Y1 2B2   (10) 
Z3=8B3   (11) 
设仿射坐标(x,y)映射为雅克比坐标(X,Y,Z),则Fp上椭圆曲线方程在标准射影坐标系下可以简化为Y2=X3+a4XZ4+a6Z6。若(x,y)∈E(Fp),且(x,y)≠0,Z∈Fp,且Z≠0,则X=xZ2,Y=yZ3。如(x,y)→(x,y,1)即为雅克比坐标值。若(x,y)=O,则Z=0,标准射影坐标为(1,1,0)。将映射关系代入式(2)-(5)可得雅克比坐标的运算法则。 
点加:今P=(X1,Y1,Z1),Q=(X2,Y2,Z2),且P≠Q,A=X2Z1 2-X1Z2 2,B=Y2Z1 3-Y1Z2 3,则R(X3,Y3,Z3)=P+Q, 
X3=B2-A2(X2Z1 2+X1Z2 2)   (12) 
Y 3 = B ( A 2 ( X 1 Z 2 2 + X 2 Z 1 2 ) - 2 X 3 ) - A 3 ( Y 1 Z 2 3 + Y 2 Z 1 3 ) 2 - - - ( 13 )
Z3=AZ1Z2   (14) 
点倍:令P=(X1,Y1,Z1),且P≠-P,A=3X1 2+a4Z1 4,B=X1Y1 2,则R(X3,Y3,Z3)=2P, 
X3=A2-8B   (15) 
Y3=A(4B-X3)-8Y1 4   (16) 
Z3=2Y1Z1   (17) 
雅克比-仿射坐标用于简化雅克比坐标中运算,对于运算中的两点P、Q,令其中一点Q的坐标为雅克比坐标Q(X,Y,Z),另外P点坐标为仿射坐标P(x,y),映射到雅克比坐标值为P(x,y)→P(x,y,1),代入到雅克比坐标的运算法则,可简化整个运算过程。具体运算如下: 
点加:令Q=(X1,Y1,Z1),P=(x2,y2,1),且P≠Q,A=x2Z1 2-X1,B=y2Z1 3-Y1,,则R(X3,Y3,Z3)=P+Q, 
X3=B2-2A2X1-A3   (18) 
Y3=B(A2X1-X3)-A3Y1   (19) 
Z3=AZ1   (20) 
点倍:令P=(x1,y1,1),且P≠-P,A=3x1 2+a4,B=x1y1 2,则R(X3,Y3,Z3)=2P, 
X3=A2-8B   (21) 
Y3=A(4B-x3)-8y1 4   (22) 
Z3=2y1   (23) 
在ECC算法中,标量乘kP定义为k个相同点P之和,kP是ECC中与密钥相关的基本运算,侧信道能量分析通常针对kP进行。kP具有多种实现算法,其中最基本的是二进制算法。下表为kP的二进制算法,密钥比特的处理顺序从左到右: 
输入:k=(kn-1,…,k1,k0)2(kn-1=1),P∈E(Fp
输出:kP 
1.Q=P 
2.i=n-2到0,重复执行 
2.1Q=2Q//点倍 
2.2若ki=1,则Q=Q+P//点加 
3.返回(Q) 
本文中所介绍的方法以从左到右二进制算法为例进行说明,其他类似实现算法可参照推导得到。 
相比较RSA算法,ECC算法密钥长度短、计算数据量小、运算速度快、灵活性好,在没有协处理器的情况下,易于在芯片中实现。另外,目前还没有找到求解ECDLP问题的有效算法,因此在算法安全性上要远高于RSA算法。ECC密码算法基于其自身特点,在许多应用中取代了传统的RSA算法,因此研究其在算法实现上的安全性问题显得格外重要。 
近年来,多种对密码算法实现的侧信道攻击方法已广为人知,通常这些攻击的目标都是获取密码运算中的密钥。侧信道攻击通常可分为侵入式攻击、半侵入式攻击和非侵入式攻击。非侵入式攻击中的侧信道能量分析由于实施便捷、实施代价低而被广泛使用。侧信道能量分析基于密码算法实现的能量消耗与运算数据和执行的操作之间的相关性,通过分析采集到的能量迹,经统计分析而获取密码设备内部执行密码运算操作的相关信息。侧信道能量分析方法一般包括:简单能量分析(SPA)、差分能量分析(DPA)、相关能量分析(CPA)和高阶差分能量分析(HODPA)等。 
对于普通的标量乘二进制算法,由于点倍和点加运算的执行时间及能量消耗不一样,无法抵抗侧信道能量分析。攻击者可采集标量乘运算的能量迹进行侧信道能量分析,识别出点倍和点加运算,即可判断出实际运算的密钥比特序列。如:若能量迹中点倍后进行点加,则当前密钥比特值为1,若点倍后再进行点倍,则当前密钥比特为0。为了防御侧信道能量分析,密码算法实现通常会加入各种手段来隐藏点加和点倍运算的能量特征,比如标量乘运算过程使用相同的指令序列进行点加和点倍运算,此时使用通常的侧信道能量分析方法很难区分出点加和点倍运算,攻击者也无法获取密钥比特序列的相关信息。 
发明内容
为了对ECC算法未加防御方法的实现和某些加入防御方法的实现进行侧信道能量分析,本发明提出了一种新型的对素数域上的椭圆曲线基于选择明文的侧信道能量分析方法,使得ECC算法中标量乘的点加和点倍运算产生明显的能量消耗差异,以获取密钥信息。 
所述方法包括以下步骤:(1)采集两组kP运算时的能量迹,第一组获得能量迹矩阵为 W ( N &times; T ) = E 1,1 . . . E 1 , T . . . E n , t . . . E N , 1 . . . E N , T , 第二组获得能量迹矩阵为  W &prime; ( N &times; T ) = E 1,1 &prime; . . . E 1 , T &prime; . . . E n , t &prime; . . . E N , 1 &prime; . . . E N , T &prime; ; (2)基于上步得到的能量迹进行侧信道能量分析,识别出隐藏的点加操作;(3)由上步中点加运算中存在差异部分,映射到能量迹上,对能量迹进行处理分析,分别对上述采集的两组能量迹矩阵W和W′求均值,得到平均能量迹AVE=(a1,…,at,…,aT)和  AVE &prime; = ( a 1 &prime; , . . . , a t &prime; , . . . , a T &prime; ) 其中 a t = &Sigma; n = 1 N E n , t / N , a t &prime; = &Sigma; n = 1 N E n , t &prime; / N , 对两条平均能量迹AVE和AVE′进行比较,ΔAVE=|AVE-AVE′|=(Δa1,…,Δat,,…,ΔaT),若出现某些Δam~Δan段相比其他时间点的平均差值都大,即可判断该部分为构造坐标y1直接参与影响的运算,继而区分出能量迹上的点加运算,根据二进制点乘算法,就可以推断出k的密钥序列。 
所述的步骤(1)中仿射坐标下具体过程是采集两组能量迹集,每组各为N条,每条能量迹的输入点P各不相同,P点坐标随机选择,第1组中选择的输入点P满足P(x1,y1)∈{(x,y)|(x,y)∈E(Fp),0<y<p/2},第2组中选择的输入点P满足P(x1,y1)∈{(x,y)|(x,y)∈E(Fp),p/2<y<p}。 
所述的步骤(2)中仿射坐标下ECC的能量分析的具体过程是:在二进制算法点加运算Q=Q+P中,P(x1,y1)为选择明文输入,Q(x2,y2)由P(x1,y1)经过多次点加和点倍得到,由式 
x 3 = ( y 2 - y 1 x 2 - x 1 ) 2 - x 2 - x 1 - - - ( 2 )
y 3 = ( y 2 - y 1 x 2 - x 1 ) ( x 1 - x 3 ) - y 1 - - - ( 3 )
点加公式可得P+Q=(x3,y3)的分步计算式: 
A1=y2-y1;A2=x2-x1
Figure BSA0000093743600000076
M1=A1×I;
Figure BSA0000093743600000077
A3=M2-x1; 
x3=A3-x2;A5=x1-x3;M3=M1×A5;y3=M3-y1    (24) 
式(24)共需要进行1次模逆,3次域乘法,6次域加法,其中,y1直接参与运算为第1步A1,并且A1的运算结果参与到第4步M1中, 
构造相同数量的两组具有不同y1坐标的P点输入,其中一组的 
Figure BSA0000093743600000078
另外一组的
Figure BSA0000093743600000079
y1分别在区间(0,p/2)、(p/2,p)内随机分 布,由于y2经过多次域上运算得到,可视为在(0,p)范围内随机分布,对A1运算步骤的实现通常会对A1的输出结果进行正负检查,然后将负值通过加上p调整为正值,在这种情况下如果A1运算结果为负,则运算过程中会增加一个加法操作,从而造成能量消耗的差异,分析如下: 
0 < y 1 < 1 2 p 时: 
P ( - p / 2 < A 1 < 0 ) = 1 4 P ( 0 < A 1 < p / 2 ) = 1 2 P ( p / 2 < A 1 < p ) = 1 4 &DoubleRightArrow; P ( A 1 < 0 ) = 1 4 , P ( A 1 > 0 ) = 3 4
1 2 p < y 1 < p 时: 
P ( - p < A 1 < - p / 2 ) = 1 4 P ( - p / 2 < A 1 < 0 ) = 1 2 P ( 0 < A 1 < p / 2 ) = 1 4 &DoubleRightArrow; P ( A 1 < 0 ) = 3 4 , P ( A 1 > 0 ) = 1 4
即当
Figure BSA0000093743600000085
时,A1运算步骤的平均能量消耗将大于
Figure BSA0000093743600000086
时的平均能量消耗,通过对能量迹上不同能量消耗的判断,即可以识别出隐藏的点加操作,从而判断密钥比特。 
所述的步骤(1)中标准射影坐标下具体过程是采集两组能量迹集,每组各为N条,每条能量迹的输入点P各不相同,P点坐标随机选择,第1组中选择的输入点P满足P(X1,Y1,Z1)Y1∈{(X,Y,Z)∈E(Fp),0<Y<p/2},第2组中选择的输入点P满足P(X1,Y1,Z1)Y1∈{(X,Y,Z)∈E(Fp),p/2<Y<p}。 
所述的步骤(2)中标准射影坐标下ECC的能量分析的具体过程是: 在标准射影坐标下,由仿射坐标(x,y)与标准射影坐标(X,Y,Z)的映射关系(x,y)→(X=xZ,Y=yZ,Z),X,Y,ZFp,可知P(x1,y1)→P(X1,Y1,Z1)、Q(x2,y2)→Q(X2,Y2,Z2),根据式 
X3=AC    (6) 
Y3=B(A2X1Z2-C)-A3Y1Z2    (7) 
Z3=A3Z1Z2    (8) 
可得标准射影坐标点加P+Q=R(X3,Y3,Z3)的分布运算式: 
λ1=X2Z1;λ2=X1Z2;λ3=λ12;λ4=Y2Z1;λ5=Y1Z2; 
λ6=λ45;λ7=λ12;λ8=Z1Z2
Figure BSA0000093743600000091
Figure BSA0000093743600000092
    (28) 
Figure BSA0000093743600000093
X3=λ3λ11;Y3=λ69λ211)-λ10λ5; 
Z3=λ10λ8
式(28)共使用了15次域乘法和6次域加法。Y1=y1Z1modp,Z1为固定值c1,通常设置为1,y1间接参与λ5=Y1Z2modp乘法运算,由此,可构造相同数量的两组具有不同Y1=y1Z1modp坐标的P点输入,其中一组的 
Figure BSA0000093743600000094
另外一组的
Figure BSA0000093743600000095
由于Z2经过多次域上运算得到,可视为在(0,p)范围内随机分布,对大量不同的kP运算,由于Z1固定,有: 
E ( Y 1 ) = E ( y 1 Z 1 mod p | y 1 Z 1 mod p < 1 2 p ) = 1 4 p
E ( Y 1 ) = E ( y 1 Z 1 mod p | 1 2 p < y 1 Z 1 mod p ) = 3 4 p
Figure BSA0000093743600000098
时,多次λ5=Y1Z2的平均运算复杂度为: 
Figure BSA0000093743600000099
Figure BSA00000937436000000910
时,多次λ5=Y1Z2的平均运算复杂度为: 
Figure BSA00000937436000000911
其中,
Figure BSA0000093743600000101
的四舍五入整数值,lbx=log2x,r为p的比特长度。 
λ5=Y1Z2的运算复杂度的差异为
Figure BSA0000093743600000103
与消耗的能量差异直接相关,分别通过对Y1坐标处于区间(0,p/2)和(p/2,p)的P点的λ5=Y1Z2运算的能量消耗进行观察,并对大量能量迹分别求均值后进行比较,即可推断出隐藏的点加操作,同时,由于点倍运算的中间点Q始终变化,点倍运算中涉及到Q点Y2坐标的操作消耗的能量不会出现统计特性。 
所述的步骤(1)中雅克比坐标下具体过程是采集两组能量迹集,每组各为N条,每条能量迹的输入点P各不相同,P点坐标随机选择,第1组中选择的输入点P满足P(X1,Y1,Z1)Y1∈{(X,Y,Z)∈E(Fp),0<Y<p/2},第2组中选择的输入点P满足P(X1,Y1,Z1)Y1∈{(X,Y,Z)∈E(Fp),p/2<Y<p}。 
所述的步骤(2)中雅克比坐标下ECC的能量分析的具体过程是:在雅克比坐标下,由仿射坐标(x,y)与雅克比坐标(X,Y,Z)的映射关系(x,y)→(X=xZ2,Y=yZ3,Z),X,Y,Z∈Fp,可知P(x1,y1)→P(X1,Y1,Z1)、Q(x2,y2)→Q(X2,Y2,Z2),根据式 
X3=B2-A2(X2Z1 2+X1Z2 2)    (12) 
Y 3 = B ( A 2 ( X 1 Z 2 2 + X 2 Z 1 2 ) - 2 X 3 ) - A 3 ( Y 1 Z 2 3 + Y 2 Z 1 3 ) 2 - - - ( 13 )
可得雅克比坐标点加P+Q=R(X3,Y3,Z3)运算步骤: 
λ3=X2Z1 2,λ2=X1Z2 2,λ3=λ12,λ4=Y2Z1 3,λ5=Y1Z2 3, 
λ6=λ45,λ7=λ12,λ8=λ45,X3=λ6 27λ3 2,   (29) 
λ9=λ7λ3 2-2X3
Figure BSA0000093743600000105
Z3=λ3Z1Z2
式(29)共使用了16次域乘法和7次域加法。Y1=Y1Z1 3modp,Z1为固定 值c1,y1间接参与λ5=Y1Z2 3modp乘法运算,由此,可构造相同数量的两组具有不同Y1=y1Z1 3modp坐标的P点输入,其中一组的另外一组的
Figure BSA0000093743600000112
由于Z2 3经过多次域上运算得到,可视为在(0,p)范围内随机分布。 
时,多次λ5=Y1Z2 3的平均运算复杂度为: 
Figure BSA0000093743600000114
Figure BSA0000093743600000115
时,多次λ5=Y1Z2 3的平均运算复杂度为: 
λ5=Y1Z2 3的运算复杂度的差异为
Figure BSA0000093743600000117
与消耗的能量差异直接相关,分别通过对Y1坐标处于区间(0,p/2)和(p/2,p)的P点的λ5=Y1Z2 3运算的能量消耗进行观察,并对大量能量迹分别求均值后进行比较,即可推断出隐藏的点加操作,同时,由于点倍运算的中间点Q始终变化,点倍运算中涉及到Q点Y2坐标的操作消耗的能量不会出现统计特性。 
所述的步骤(1)中雅克比-仿射坐标下具体过程是采集两组能量迹集,每组各为N条,每条能量迹的输入点P各不相同,P点坐标随机选择,第1组中选择的输入点P满足P(x1,y1)∈{(x,y)|(x,y)∈E(Fp),0<y<p/2},第2组中选择的输入点P满足P(x1,y1)∈{(x,y)|(x,y)∈E(Fp),p/2<y<p}。 
所述的步骤(2)中雅克比-仿射坐标下ECC的能量分析的具体过程是:雅克比-仿射坐标点加中的Q(x2,y2)→Q(X2,Y2,Z2)为雅克比坐标,P(x1,y1)为仿 射坐标,映射为雅克比坐标P(X,Y,Z)=P(x1,y1,1),根据式 
X3=B2-2A2X1-A3    (18) 
Y3=B(A2X1-X3)-A3Y1    (19) 
可得雅克比-仿射坐标点加P+Q=R(X3,Y3,Z3)运算迭代式: 
λ1=x1Z2 2;λ2=X21;λ3=y1Z2 3;λ4=Y23;Z3=λ2Z2; 
λ5=λ2 2;λ6=λ2λ5;λ7=X2λ5;X3=λ4 2-2λ76;    (30) 
λ8=λ7-X3;Y3=λ8λ46Y2
式(30)共使用了11次域乘法和6次域加法,y1直接参与第3步λ3=y1Z2 3modp乘法运算,由此,可构造相同数量的两组具有不同y1坐标的P点输入,其中一组的
Figure BSA0000093743600000121
另外一组的
Figure BSA0000093743600000122
由于
Figure BSA0000093743600000123
经过多次域上运算得到,可视为在(0,p)范围内随机分布。 
Figure BSA0000093743600000124
时,多次λ3=y1Z2 3的平均运算复杂度为: 
Figure BSA0000093743600000125
Figure BSA0000093743600000126
时,多次λ3=y1Z2 3的平均运算复杂度为: 
λ3=y1Z2 3的运算复杂度的差异为
Figure BSA0000093743600000128
与消耗的能量差异直接相关,分别通过对y1坐标处于区间(0,p/2)和(p/2,p)的P点的λ3=y1Z2 3运算的能量消耗进行观察,并对大量能量迹分别求均值后进行比较,即可推断出隐藏的点加操作,同时,由于点倍运算的中间点Q始终变化,点倍运算中涉及到Q点Y2坐标的操作消耗的能量不会出现统计特性。 
所述的二进制算法运算如下,其中密钥比特的处理顺序从左到右: 
输入:k=(kn-1,…,k1,k0)2(kn-1=1),P∈E(Fp
输出:kP 
(1)Q=P 
(2)i=n-2到0,重复执行 
(2.1)Q=2Q//点倍 
(2.2)若ki=1,则Q=Q+P//点加 
(3)返回(Q) 
所述的式(24)的具体迭代步骤如下: 
(1)T1=y2-y1(2)T2=x2-x1(3)T2=T2 -1(4)T2=T1T2 -1(5)x3=T2 2
(6)x3=x3-x1(7)x3=x3-x2(8)T1=x1-x3(9)y3=T1T2(10)y3=y3-y1
所述的式(28)的具体迭代步骤如下: 
(1)T1=X2Z1(2)T2=X1Z2(3)T3=T1-T2(4)T4=Y2Z1(5)T5=Y1Z2(6)T4=T4-T5(7)T6=T3 2(8)T1=T1+T2(9)T1=T6T1(10)T7=Z1Z2(11)C=T4 2(12)C=CT7(13)C=C-T1(14)X3=T3C(15)T2=T2T6(16)T6=T6T3(17)T5=T6T5(18)Y3=T2-C(19)Y3=Y3T4(20)T3=Y3-T5(21)Z3=T6T7
所述的式(29)的具体迭代步骤如下: 
(1)T1=Z1 2(2)T2=T1X2(3)T3=Z2 2(4)T4=T3X1(5)T5=T2-T4(6)T1=T1Z1(7)T1=T1Y2(8)T3=T3Z2(9)T3=T3Y1(10)T6=T1-T3(11)T2=T2+T4(12)T4=T5 2(13)T2=T2T4(14)X3=T6 2(15)X3=X3-T2(16)T4=T4T5(17)T1=T1+T3(18)T4=T4T1(19)Y3=T2-2X3(20)Y3=Y3T6(21)
Figure BSA0000093743600000131
(22)Z3=Z1Z2(23)Z3=Z3T5
所述的式(30)的具体迭代步骤如下: 
(1)T1=Z2 2(2)T2=T1Z2(3)T1=x1T1(4)T2=y1T2(5)T1=X2-T1(6)T2=Y2-T2(7)Z3=T1Z2(8)T3=T1 2(9)T4=T1T3(10)T3=T3X2(11)T1=2T3(12)X3=T2 2(13)X3=X3-T1(14)X3=X3+T4(15)T3=T3-X3(16)T3=T3T2(17)T4=T4Y2(18)Y3=T3-T4
对于使用相同的指令序列进行点加和点倍运算的密码模块,仅通过常用的侧信道能量分析方法很难区分出点加和点倍运算,本发明创新性地提出选择明文侧信道分析方法,简单可行。 
本发明有如下优点: 
(1)本发明针对隐藏功耗特征的ECC算法实现,创新地提出了选择明文的侧信道能量分析方法,使用本发明提出的新方法能够更有效、全面地对ECC密码算法实现进行侧信道能量分析; 
(2)本发明通过分析算法运算中的功耗泄漏点,采集大量的能量迹求均值进行比较,即可分析出正确密钥,方法简单、易行,攻击成功率高。 
(3)本发明在4种常用坐标的点加运算都可以实现选择明文侧信道分析,方法全面,可行性强。 
附图说明
图1为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的椭圆曲线上点加运算几何表示图; 
图2为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的椭圆曲线上点倍运算几何表示图; 
图3为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法 的选择明文侧信道能量分析流程; 
图4为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的仿射坐标下,k=7时软件实现的kP运算采集到的功耗整体轮廓。 
图5为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的仿射坐标下,k=7时软件实现的kP运算点加运算的功耗特征。 
图6为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的仿射坐标下,k=7时软件实现的kP平均向量重叠后的波形及部分放大图。 
图7为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的雅克比-仿射坐标下,k=7时kP运算功耗的整体轮廓。 
图8为本发明的一种对P域的ECC算法选择明文侧信道能量分析方法的雅克比-仿射坐标下,k=7时kP运算中点加运算的功耗波形。 
具体实施方式
下面结合实施例对本发明做进一步地说明: 
本发明以仿射坐标、雅克比-仿射坐标下的能量分析为例,其他坐标下的能量分析与其一致。 
仿射坐标系下ECC软件实现的选择明文能量分析 
令kP运算中的k=7,整个运算的顺序为点倍-点加-点倍-点加。任意选取P(x,y)∈{(x,y)|(x,y)∈E(Fp),0<y<p/2},采集1200条整个运算的功耗能量迹集(即W);任意选取P(x,y)∈{(x,y)|(x,y)∈E(Fp),p>y>p/2},采集1200条整个运算的功耗能量迹集(即W′)。 
对能量迹进行信号处理后,分别对两组能量迹集求平均值,获得两条 能量迹向量AVE和AVE′。图4为平均向量的整体轮廓,无法区分出点加和点倍运算。由密钥可知点加为第2次和第4次,放大波形如图5所示。 
将AVE和AVE′进行重叠分析对比,图6中具有较高值的波形是y>p/2的平均能量迹。由此可证明通过对P坐标的构造,可以使ECC算法中的点加部分显示出较大的能量迹区分度,从而识别ECC密钥运算中的点加步骤,恢复密钥。 
雅克比-仿射坐标下ECC硬件实现的选择明文能量分析 
同理,令kP运算中的k=7,整个运算的顺序为点倍-点加-点倍-点加。任意选取P(x,y)∈{(x,y)|(x,y)∈E(FP),0<y<p/2},采集2500条整个运算的功耗能量迹集(即W);任意选取P(x,y)∈{(x,y)|(x,y)∈E(FP),p>y>p/2},,采集2500条整个运算的功耗能量迹集(即W′),整体功耗轮廓如图7所示,包括两次点加点倍,图8为点加部分的放大图,共包括11个峰值,主要体现了11个乘法运算的功耗特征。 
对能量迹进行信号处理后,分别对两组能量迹集求平均值,获得两条能量迹向量AVE和AVE′。 
将AVE和AVE′进行重叠分析对比,由于硬件实现的ECC算法对不同y值P点的点加运算能量消耗特征不明显,无法靠肉眼直接判断,在此统计对第二次点加运算中涉及的11次模乘运算分别的能量消耗值的差异。统计值如下表所示,在雅克比-仿射坐标ECC硬件实现的点加运算步骤中,由于选择明文P点的y坐标直接参与第4次模乘,通过对不同y坐标的构造,在模乘运算消耗的能量中体现了与其它模乘较大的能量消耗差异,由此可以识别出kP运算中的点加运算,进而推断出密钥比特。 
模乘编号 <p/2点的能量消耗 >p/2点的能量消耗 能量消耗的差异
M1 34.210846 34.193375 -0.0005
M2 31.65519 31.637566 -0.0006
M3 27.302038 27.287497 -0.0005
M4 28069105 28.11611 0.00117
M5 27.62477 27.602726 -0.0008
M6 29.530966 29.529814 0.0000
M7 29.179401 29.16139 -0.0006
M8 29.386608 29.377132 -0.0003
M9 24.827814 24.828201 0.0000
M10 28.08244 28.05752 -0.0009
M11 30.13278 30.14534 0.0004
点加运算采用不同输入点的能耗差异 。

Claims (7)

1.一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,所述方法包括以下步骤:(1)采集两组kP运算时的能量迹,第一组获得能量迹矩阵为
Figure FSA0000093743590000011
第二组获得能量迹矩阵为 (2)基于上步得到的能量迹进行侧信道能量分析,识别出隐藏的点加操作;(3)由上步中点加运算中存在差异部分,映射到能量迹上,对能量迹进行处理分析,分别对上述采集的两组能量迹矩阵W和W′求均值,得到平均能量迹AVE=(a1,…,at,…,aT)和AVE′=(a′1,…,a′t,…,a′T)其中
Figure FSA0000093743590000013
对两条平均能量迹AVE和AVE′进行比较,ΔAVE=|AVE-AVE′|=(Δa1,…,Δat,,…,ΔaT),若出现某些Δam~Δan段相比其他时间点的平均差值都大,即判断该部分为构造坐标y1直接参与影响的运算,继而区分出能量迹上的点加运算,根据二进制点乘算法,就可以推断出k的密钥序列。 
2.根据权利要求1所述的一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,步骤(1)具体过程是采集两组能量迹集,每组各为N条,每条能量迹的输入点P各不相同,P点x坐标随机选择,一个x坐标对应两个不同的y坐标,且这两个y相加等于P,利用这一特性可构造选择明文,在仿射坐标下和雅克比-仿射混合坐标下,第1组中选择的输入点P满足P(x1,y1)∈{(x,y)|(x,y)∈E(Fp),0<y<p/2},第2组中选择的输入点P满足P(x1,y1)∈{(x,y)|(x,y)∈E(Fp),p/2<y<p};在标准射影坐标和雅克比坐标下,第1组中选择的输入点P满足P(X1,Y1,Z1)Y1∈{(X,Y,Z)∈E(Fp),0<Y<p/2},第2组中选择的输入点P满足P(X1,Y1,Z1)Y1∈{(X,Y,Z)∈E(Fp),p/2<Y<p}。 
3.根据权利要求1所述的一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,步骤(2)中仿射坐标下ECC的能量分析的具体过程是:在二进制算法点加运算Q=Q+P中,P(x1,y1)为选择明文输入,Q(x2,y2)由P(x1,y1)经过多次点加和点倍得到,由式 
Figure FSA0000093743590000021
Figure FSA0000093743590000022
点加公式可得P+Q=(x3,y3)的分步计算式: 
A1=y2-y1;A2=x2-x1
Figure FSA0000093743590000023
M1=A1×I;
Figure FSA0000093743590000024
A3=M2-x1;  (3) 
x3=A3-x2;A5=x1-x3;M3=M1×A5;y3=M3-y1
式(3)共需要进行1次模逆,3次域乘法,6次域加法,其中,y1直接参与运算为第1步A1,并且A1的运算结果参与到第4步M1中, 
构造相同数量的两组具有不同y1坐标的P点输入,其中一组的 
Figure FSA0000093743590000025
另外一组的
Figure FSA0000093743590000026
y1分别在区间(0,p/2)、(p/2,p)内随机分布,由于y2经过多次域上运算得到,视为在(0,p)范围内随机分布,对A1运算步骤的实现通常会对A1的输出结果进行正负检查,然后将负值通过加上p调整为正值,在这种情况下如果A1运算结果为负,则运算过程中会增加一个加法操作,从而造成能量消耗的差异,分析如下: 
Figure FSA0000093743590000027
时: 
时: 
Figure FSA0000093743590000031
即当
Figure FSA0000093743590000032
时,A1运算步骤的平均能量消耗将大于
Figure FSA0000093743590000033
时的平均能量消耗,通过对能量迹上不同能量消耗的判断,能够识别出隐藏的点加操作,从而判断密钥比特。 
4.根据权利要求1所述的一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,步骤(2)中标准射影坐标下ECC的能量分析的具体过程是:在标准射影坐标下,由仿射坐标(x,y)与标准射影坐标(X,Y,Z)的映射关系(x,y)→(X=xZ,Y=yZ,Z),X,Y,Z∈Fp,得到P(x1,y1)→P(X1,Y1,Z1)、Q(x2,y2)→Q(X2,Y2,Z2),根据式 
X3=AC  (4) 
Y3=B(A2X1Z2-C)-A3Y1Z2  (5) 
Z3=A3Z1Z2  (6) 
得标准射影坐标点加P+Q=R(X3,Y3,Z3)的分布运算式: 
λ1=X2Z1;λ2=X1Z2;λ3=λ12;λ4=Y2Z1;λ5=Y1Z2; 
λ6=λ45;λ7=λ12;λ8=Z1Z2λ10=λ9λ3;(7) 
X3=λ3λ11;Y3=λ69λ211)-λ10λ5; 
Z3=λ10λ8
式(7)共使用了15次域乘法和6次域加法。Y1=y1Z1modp,Z1为固定值c1,通常设置为1,y1间接参与λ5=Y1Z2modp乘法运算,由此构造相同数量的两组具有不同Y1=y1Z1坐标的P点输入,其中一组的
Figure FSA0000093743590000036
另外一组的由于Z2经过多次域上运算得到,视为在(0,p)范围内随机分布,对大量不同的kP运算,有: 
Figure FSA0000093743590000041
Figure FSA0000093743590000042
Figure FSA0000093743590000043
时,多次λ5=Y1Z2的平均运算复杂度为: 
Figure FSA00000937435900000414
Figure FSA0000093743590000045
时,多次λ5=Y1Z2的平均运算复杂度为: 
Figure FSA0000093743590000046
其中,
Figure FSA0000093743590000047
Figure FSA0000093743590000048
的四舍五入整数值,lbx=log2x,r为p的比特长度,λ5=Y1Z2的运算复杂度的差异为
Figure FSA0000093743590000049
与消耗的能量差异直接相关,分别通过对Y1坐标处于区间(0,p/2)和(p/2,p)的P点的λ5=Y1Z2运算的能量消耗进行观察,并对大量能量迹分别求均值后进行比较,推断出隐藏的点加操作,同时,由于点倍运算的中间点Q始终变化,点倍运算中涉及到Q点Y2坐标的操作消耗的能量不会出现统计特性。 
5.根据权利要求1所述的一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,步骤(2)中雅克比坐标下ECC的能量分析的具体过程是:在雅克比坐标下,由仿射坐标(x,y)与雅克比坐标(X,Y,Z)的映射关系(x,y)→(X=xZ2,Y=yZ3,Z),X,Y,Z∈Fp,可知P(x1,y1)→P(X1,Y1,Z1)、Q(x2,y2)→Q(X2,Y2,Z2),根据式 
X3=B2-A2(X2Z1 2+X1Z2 2)  (8) 
得到雅克比坐标点加P+Q=R(X3,Y3,Z3)运算步骤: 
λ1=X2Z1 2;λ2=X1Z2 2;λ3=λ13;λ4=Y2Z1 3;λ5=Y1Z2 3; 
λ6=λ45;λ7=λ12;λ8=λ45
Figure FSA00000937435900000411
Figure FSA00000937435900000412
Figure FSA00000937435900000413
Z3=λ3Z1Z2
式(10)共使用了16次域乘法和7次域加法,Y1=y1Z1 3modp,Z1为固定值c1,y1间接参与λ5=Y1Z2 3modp乘法运算,由此构造相同数量的两组具有不同
Figure FSA0000093743590000051
坐标的P点输入,其中一组的
Figure FSA0000093743590000052
另外一组的 
Figure FSA0000093743590000053
由于Z2 3经过多次域上运算得到,可视为在(0,p)范围内随机分布, 
Figure FSA0000093743590000054
时,多次λ5=Y1Z2 3的平均运算复杂度为: 
Figure FSA0000093743590000055
Figure FSA0000093743590000056
时,多次λ5=Y1Z2 3的平均运算复杂度为: 
Figure FSA0000093743590000057
λ5=Y1Z2 3的运算复杂度的差异为
Figure FSA0000093743590000058
与消耗的能量差异直接相关,分别通过对Y1坐标处于区间(0,p/2)和(p/2,p)的P点的λ5=Y1Z2 3运算的能量消耗进行观察,并对大量能量迹分别求均值后进行比较,能够推断出隐藏的点加操作,同时,由于点倍运算的中间点Q始终变化,点倍运算中涉及到Q点Y2坐标的操作消耗的能量不会出现统计特性。 
6.根据权利要求1所述的一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,步骤(2)中雅克比-仿射坐标下ECC的能量分析的具体过程是:雅克比-仿射坐标点加中的Q(x2,y2)→Q(X2,Y2,Z2)为雅克比坐标,P(x1,y1)为仿射坐标,映射为雅克比坐标P(X,Y,Z)=P(x1,y1,1),根据式 
X3=B2-2A2X1-A3  (11) 
Y3=B(A2X1-X3)-A3Y1  (12) 
得到雅克比-仿射坐标点加P+Q=R(X3,Y3,Z3)运算迭代式: 
λ1=x1Z2 2;λ2=X21;λ3=y1Z2 3;λ4=Y23;Z3=λ2Z2; 
λ5=λ2 2;λ6=λ2λ5;λ7=X2λ5;X3=λ4 2-2λ76;   (13) 
λ8=λ7-X3;Y3=λ8λ46Y2
式(13)共使用了11次域乘法和6次域加法,y1直接参与第3步λ3=y1Z2 3域乘法运算,由此,可构造相同数量的两组具有不同y1坐标的P点输入,其中一组的另外一组的
Figure FSA0000093743590000062
由于
Figure FSA0000093743590000063
经过多次域上运算得到,可视为在(0,p)范围内随机分布, 
Figure FSA0000093743590000064
时,多次λ3=y1Z2 3的平均运算复杂度为: 
Figure FSA0000093743590000065
Figure FSA0000093743590000066
时,多次λ3=y1Z2 3的平均运算复杂度为: 
Figure FSA0000093743590000067
λ3=y1Z2 3的运算复杂度的差异为
Figure FSA0000093743590000068
与消耗的能量差异直接相关,分别通过对y1坐标处于区间(0,p/2)和(p/2,p)的P点的λ3=y1Z2 3运算的能量消耗进行观察,并对大量能量迹分别求均值后进行比较,能够推断出隐藏的点加操作,同时,由于点倍运算的中间点Q始终变化,点倍运算中涉及到Q点Y2坐标的操作消耗的能量不会出现统计特性。 
7.根据权利要求3、4、5或6所述的一种对P域的ECC算法选择明文侧信道能量分析方法,其特征在于,式(24)的具体迭代步骤如下: 
(1)T1=y2-y1(2)T2=x2-x1(3)T2=T2 -1(4)T2=T1T2 -1(5)x3=T2 2
(6)x3=x3-x1(7)x3=x3-x2(8)T1=x1-x3(9)y3=T1T2(10)y3=y3-y1
式(28)的具体迭代步骤如下: 
(1)T1=X2Z1(2)T2=X1Z2(3)T3=T1-T2(4)T4=Y2Z1(5)T5=Y1Z2(6)T4=T4-T5(7)T6=T3 2(8)T1=T1+T2(9)T1=T6T1(10)T7=Z1Z2(11)C=T4 2(12)C=CT7(13)C=C-T1(14)X3=T3C(15)T2=T2T6(16)T6=T6T3(17)T5=T6T5(18)Y3=T2-C(19)Y3=T3T4(20)T3=Y3-T5(21)Z3=T6T7
式(29)的具体迭代步骤如下: 
(1)T1=Z2 2(2)T2=T1X2(3)T3=Z1 2(4)T4=T3X1(5)T5=T2-T4(6)T1=T1Z2(7)T1=T1Y2(8)T3=T3Z1(9)T3=T3Y1(10)T6=T1-T3(11)T2=T2+T4(12)T4=T5 2(13)T2=T2T4(14)X3=T6 2(15)X3=X3-T2(16)T4=T4T5(17)T1=T1+T3(18)T4=T4T1(19)Y3=T2-2X3(20)Y3=Y3T5
Figure FSA0000093743590000071
(22)Z3=Z1Z2(23)Z3=Z3T5
式(30)的具体迭代步骤如下: 
(1)T1=Z2 2(2)T2=T1Z2(3)T1=x1T1(4)T2=y1T2(5)T1=X2-T1(6)T2=Y2-T2(7)Z3=T1Z2(8)T3=T1 2(9)T4=T1T3(10)T3=T3X2(11)T1=2T3(12)X3=T2 2(13)X3=X3-T1(14)X3=X3+T4(15)T3=T3-X3(16)T3=T3T2(17)T4=T4Y2(18)T3=T3-T4。
CN201310348111.7A 2013-08-12 2013-08-12 一种对p域的ecc算法选择明文侧信道能量分析方法 Active CN103441846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310348111.7A CN103441846B (zh) 2013-08-12 2013-08-12 一种对p域的ecc算法选择明文侧信道能量分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310348111.7A CN103441846B (zh) 2013-08-12 2013-08-12 一种对p域的ecc算法选择明文侧信道能量分析方法

Publications (2)

Publication Number Publication Date
CN103441846A true CN103441846A (zh) 2013-12-11
CN103441846B CN103441846B (zh) 2016-08-10

Family

ID=49695515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310348111.7A Active CN103441846B (zh) 2013-08-12 2013-08-12 一种对p域的ecc算法选择明文侧信道能量分析方法

Country Status (1)

Country Link
CN (1) CN103441846B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161022A (zh) * 2015-03-31 2016-11-23 上海复旦微电子集团股份有限公司 基于ecc密码模块的防攻击方法及装置
CN106464483A (zh) * 2014-02-12 2017-02-22 智能Ic卡公司 用于电子部件实现椭圆曲线密码算法的应对方法
CN107204856B (zh) * 2017-08-01 2019-10-22 北京智慧云测科技有限公司 一种检测椭圆曲线算法漏洞的方法及装置
CN112968761A (zh) * 2021-03-15 2021-06-15 北京理工大学 一种针对密码算法的人工智能侧信道分析方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034720A1 (en) * 2007-07-11 2009-02-05 Yoo-Jin Baek Method of countering side-channel attacks on elliptic curve cryptosystem
CN101494537A (zh) * 2009-02-27 2009-07-29 深圳先进技术研究院 密码安全芯片侧信道安全程度量化评测方法
CN101562522A (zh) * 2009-05-06 2009-10-21 深圳先进技术研究院 抗侧信道攻击的椭圆曲线密码系统实现方法
CN103166752A (zh) * 2013-01-25 2013-06-19 国家密码管理局商用密码检测中心 选择轮函数为攻击对象进行sm4密码算法侧信道能量分析的应用

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034720A1 (en) * 2007-07-11 2009-02-05 Yoo-Jin Baek Method of countering side-channel attacks on elliptic curve cryptosystem
CN101494537A (zh) * 2009-02-27 2009-07-29 深圳先进技术研究院 密码安全芯片侧信道安全程度量化评测方法
CN101562522A (zh) * 2009-05-06 2009-10-21 深圳先进技术研究院 抗侧信道攻击的椭圆曲线密码系统实现方法
CN103166752A (zh) * 2013-01-25 2013-06-19 国家密码管理局商用密码检测中心 选择轮函数为攻击对象进行sm4密码算法侧信道能量分析的应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姚剑波: "《密码芯片侧信道攻击仿真环境的设计与实现》", 《计算机工程与应用》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464483A (zh) * 2014-02-12 2017-02-22 智能Ic卡公司 用于电子部件实现椭圆曲线密码算法的应对方法
US10374790B2 (en) 2014-02-12 2019-08-06 Secure-Ic Sas Countermeasure method for an electronic component implementing an elliptic curve cryptography algorithm
CN106464483B (zh) * 2014-02-12 2019-12-03 智能Ic卡公司 用于电子部件实现椭圆曲线密码算法的应对方法、电子电路和电子系统
CN106161022A (zh) * 2015-03-31 2016-11-23 上海复旦微电子集团股份有限公司 基于ecc密码模块的防攻击方法及装置
CN107204856B (zh) * 2017-08-01 2019-10-22 北京智慧云测科技有限公司 一种检测椭圆曲线算法漏洞的方法及装置
CN112968761A (zh) * 2021-03-15 2021-06-15 北京理工大学 一种针对密码算法的人工智能侧信道分析方法
CN112968761B (zh) * 2021-03-15 2022-04-19 北京理工大学 一种针对密码算法的人工智能侧信道分析方法

Also Published As

Publication number Publication date
CN103441846B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
Fouque et al. Fault attack on elliptic curve Montgomery ladder implementation
Joux et al. Cover and Decomposition Index Calculus on Elliptic Curves Made Practical: Application to a Previously Unreachable Curve over
Goundar et al. Scalar multiplication on Weierstraß elliptic curves from Co-Z arithmetic
Feix et al. Side-channel analysis on blinded regular scalar multiplications
CN103825722A (zh) 一种sm4密码算法的二阶侧信道能量分析方法
CN103647637A (zh) 一种对简单掩码的sm4算法进行二阶侧信道能量分析方法
CN103457719A (zh) 一种对sm3密码算法hmac模式的侧信道能量分析方法
CN103441846A (zh) 一种对p域的ecc算法选择明文侧信道能量分析方法
CN104852795A (zh) 一种轮输出为布尔掩码的zuc序列密码算法掩码防护方法
Teske An elliptic curve trapdoor system
Bessalov et al. Computing of odd degree isogenies on supersingular twisted Edwards curves
Reyad et al. On pseudo-random number generators using elliptic curves and chaotic systems
Whelan et al. Side channel analysis of practical pairing implementations: Which path is more secure?
WO2004112306A2 (en) Method for defence against differential power analysis attacks
CN104796250A (zh) 针对RSA密码算法M-ary实现的侧信道攻击方法
Goundar et al. Co-Z addition formulæ and binary ladders on elliptic curves
CN104967509B (zh) 一种轮输出为算术掩码的zuc序列密码算法掩码防护方法
Hedabou et al. Countermeasures for preventing comb method against SCA attacks
CN104811297A (zh) 针对RSA之M-ary实现模乘余数输入侧信道攻击
Choie et al. Implementation of Tate pairing on hyperelliptic curves of genus 2
Hedabou et al. A comb method to render ECC resistant against Side Channel Attacks
CN104811295A (zh) 一种对具备掩码防护的祖冲之密码算法进行侧信道能量分析方法
Dubeuf et al. ECDSA passive attacks, leakage sources, and common design mistakes
KR100731575B1 (ko) 전력분석공격에 대응하는 암호화 방법
CN104717060A (zh) 一种攻击椭圆曲线加密算法的方法和攻击设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant