System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于安全密码应用,具体涉及一种可抵御计时攻击的椭圆曲线通用点加方法和装置。
技术介绍
1、当素数p>3时,有限域上的椭圆曲线方程在仿射坐标系下表示为y2=x3+ax+b,其中且4a3+27b2mod p≠0。椭圆曲线上的点集记为其中o为无穷远点。该群中的所有点按以下的加法运算规则构成一个交换群:
2、1.o+o=o;
3、2.对任意p=(x,y)≠o,p+o=o+p=p;
4、3.对任意p=(x,y)≠o,p的逆元-p=(x,-y),p+(-p)=o;
5、4.p1=(x1,y1),p2=(x2,y2),且p1+p2=p3=(x3,y3)≠o,则:
6、
7、x3=λ2-x1-x2
8、y3=λ(x1-x3)-y1
9、特别地,最后一种情况在p1=p2时称为“倍点运算”,p1≠p2时则称为“一般加法运算”。以下将以情况1、2、3、4分别指代上述加法运算规则中p1,p2的相对关系。
10、椭圆曲线方程在标准射影坐标系下表示为y2z=x3+axz2+bz3,其他条件同上。若存在非零使得x1=ux2,y1=uy2,z1=uz2,则(x1,y1,z1)和(x2,y2,z2)表示同一个点。当z≠0时,标准射影坐标系下的点(x,y,z)对应于仿射坐标系下的点(x/z,y/z);z=0时点(0,1,0)对应于仿射坐标系下的无穷远点o。
11、椭圆曲线方程在雅可比射影坐标系下表示为y2=x3+axz4+bz6,
12、计时攻击属于侧信道攻击的一种,攻击者通过尝试分析执行密码算法所需的时间进行攻击。由于算法中各个步骤的时间可能会根据输入而有所不同,因此攻击者可以通过精确测量每个步骤的时间对输入进行推算。计时攻击可应用于任何具有数据相关时序变化的算法,如果一个算法使用了大量执行时间易于波动的计算,那么将很难抵抗此类攻击。
13、椭圆曲线上点的乘法定义为多次重复加法,即正整数k与点p相乘的结果为[k]p=p+p+…+p(共相加k次),因此可以完全基于倍点和一般加法运算进行计算。但由于大部分点乘算法涉及的倍点运算和一般加法运算次数随k的取值而变化,且倍点运算和一般加法运算的执行时间由于公式不同而存在差异,因此存在通过统计分析进行计时攻击而获取k或其他中间值的可能性。如果k恰好是私钥或其他关键参数,那么整套密码方案的安全性都会受到影响(kocher p c.timing attacks on implementations of diffie-hellman,rsa,dss,and other systems[c]//advances in cryptology—crypto’96:16th annualinternational cryptology conference santa barbara,california,usa august 18–22,1996proceedings 16.springer berlin heidelberg,1996:104-113.)。
技术实现思路
1、本专利技术针对上述问题,提供一种可抵御计时攻击的椭圆曲线通用点加方法和装置。
2、本专利技术采用的技术方案如下:
3、一种可抵御计时攻击的椭圆曲线通用点加方法,包括以下步骤:
4、在椭圆曲线点乘算法的加法运算规则的情况1至情况4中,将情况4的一般加法运算与倍点运算的计算公式进行合并,得到椭圆曲线通用点加公式。
5、进一步地,在仿射坐标系下,所述椭圆曲线通用点加公式为:
6、
7、x3=λ2-x1-x2
8、y3=λ(x1-x3)-y1
9、其中,x1,y1为椭圆曲线上的点p1的坐标,x2,y2为椭圆曲线上的点p2的坐标,x3,y3为椭圆曲线上的点p3的坐标,p3=p1+p2。
10、进一步地,在仿射坐标系下的所述椭圆曲线通用点加公式不能扩展到情况1至3。
11、进一步地,在标准射影坐标系下,所述椭圆曲线通用点加公式为:
12、
13、b=z1z2
14、c=x1z2+x2z1
15、d=y1z2+y2z1
16、x3=bd(a2-bcd2)
17、y3=a[bd2(x1z2+d)-a2]-y1z2b2d3
18、z3=b3d3
19、其中,x1、y1、z1为椭圆曲线上的点p1的标准射影坐标,x2、y2、z2为椭圆曲线上的点p2的标准射影坐标,x3、y3、z3为椭圆曲线上的点p3的标准射影坐标,p3=p1+p2。
20、进一步地,在标准射影坐标系下的所述椭圆曲线通用点加公式能够直接应用于情况3和4,但不能扩展到情况1至2。
21、进一步地,在雅可比射影坐标系下,所述椭圆曲线通用点加公式为:
22、
23、b=z1z2
24、
25、
26、x3=a2-cd2
27、
28、z3=bd
29、其中,x1、y1、z1为椭圆曲线上的点p1的雅可比射影坐标,x2、y2、z2为椭圆曲线上的点p2的雅可比射影坐标,x3、y3、z3为椭圆曲线上的点p3的雅可比射影坐标,p3=p1+p2。
30、进一步地,在雅可比射影坐标系下的所述椭圆曲线通用点加公式能够直接应用于情况3和4,但不能扩展到情况1至2。
31、一种可抵御计时攻击的方法,包括以下步骤:
32、在椭圆曲线点乘算法的加法运算规则的情况1至情况4中,将情况4的一般加法运算与倍点运算的计算公式进行合并,得到椭圆曲线通用点加公式;
33、通过所述椭圆曲线通用点加公式使得情况4具有唯一的计算流程,从而抵抗计时攻击。
34、一种可抵御计时攻击的椭圆曲线通用点加装置,其是一种计算机设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本专利技术的上述方法的指令。
35、一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本专利技术的上述方法。
36、本专利技术的有益效果如下:
37、本专利技术提供了一种可抵御计时攻击的椭圆曲线通用点加方案,其核心为合并情况4中一般加法运算与倍点运算的计算公式,使得情况4具有唯一的计算流程,从而达到抵抗计时攻击的目的。
本文档来自技高网...【技术保护点】
1.一种可抵御计时攻击的椭圆曲线通用点加方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,在仿射坐标系下,所述椭圆曲线通用点加公式为:
3.根据权利要求2所述的方法,其特征在于,在仿射坐标系下的所述椭圆曲线通用点加公式不能扩展到情况1至3。
4.根据权利要求1所述的方法,其特征在于,在标准射影坐标系下,所述椭圆曲线通用点加公式为:
5.根据权利要求4所述的方法,其特征在于,在标准射影坐标系下的所述椭圆曲线通用点加公式能够直接应用于情况3和4,但不能扩展到情况1至2。
6.根据权利要求1所述的方法,其特征在于,在雅可比射影坐标系下,所述椭圆曲线通用点加公式为:
7.根据权利要求5所述的方法,其特征在于,在雅可比射影坐标系下的所述椭圆曲线通用点加公式能够直接应用于情况3和4,但不能扩展到情况1至2。
8.一种可抵御计时攻击的方法,其特征在于,包括以下步骤:
9.一种可抵御计时攻击的椭圆曲线通用点加装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。
...【技术特征摘要】
1.一种可抵御计时攻击的椭圆曲线通用点加方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,在仿射坐标系下,所述椭圆曲线通用点加公式为:
3.根据权利要求2所述的方法,其特征在于,在仿射坐标系下的所述椭圆曲线通用点加公式不能扩展到情况1至3。
4.根据权利要求1所述的方法,其特征在于,在标准射影坐标系下,所述椭圆曲线通用点加公式为:
5.根据权利要求4所述的方法,其特征在于,在标准射影坐标系下的所述椭圆曲线通用点加公式能够直接应用于情况3和4,但不能扩展到情况1至2。
6.根据权利要求1所述的方法,其特征在于,在雅可比射影坐标系下,所述椭...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。