System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种可抵御无效曲线攻击的椭圆曲线点乘方法和装置制造方法及图纸_技高网
当前位置: 首页 > 专利查询>北京大学专利>正文

一种可抵御无效曲线攻击的椭圆曲线点乘方法和装置制造方法及图纸

技术编号:41205342 阅读:7 留言:0更新日期:2024-05-07 22:31
本发明专利技术涉及一种可抵御无效曲线攻击的椭圆曲线点乘方法和装置。该方法在椭圆曲线点乘算法的倍点运算中引入椭圆曲线系数中的b,得到改进的倍点运算,通过改进的倍点运算使得椭圆曲线点乘算法能够抵御无效曲线攻击。本发明专利技术的核心为向部分计算式中加入参数b,使用这种方法计算点乘Q=[d]P,即使程序在计算前未做有效性检查或检查被攻击者以特定方式绕过,且攻击者找到ECDLP易解的无效曲线,也无法利用输出结果计算d。

【技术实现步骤摘要】

本专利技术属于安全密码应用,具体涉及一种可抵御无效曲线攻击的椭圆曲线点乘方法和装置


技术介绍

1、当素数p>3时,有限域上的椭圆曲线方程在仿射坐标系下表示为y2=x3+ax+b,其中且4a3+27b2 mod p≠0。椭圆曲线上的点集记为y2=x3+ax+b}∪{o},其中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,其他条件同上。若存在非零使得x1=u2x2,y1=u3y2,z1=uz2,则(x1,y1,z1)和(x2,y2,z2)表示同一个点。当z≠0时,雅可比射影坐标系下的点(x,y,z)对应于仿射坐标系下的点(x/z2,y/z3);z=0时,点(1,1,0)对应于仿射坐标系下的无穷远点o。

12、椭圆曲线上点的乘法定义为多次重复加法,即正整数k与点p相乘的结果为[k]p=p+p+…+p(共相加k次),因此可以完全基于倍点和一般加法运算进行计算。一种通用的点乘算法为二进制展开法:

13、1.记为k的二进制表示;

14、2.q←o;

15、3.对i:n-1→0执行:

16、1.q←q+q(倍点运算);

17、2.若ki=1,则q=q+p(一般加法运算);

18、4.输出即为q=[k]p。

19、椭圆曲线上的离散对数问题(ecdlp)是指:给定椭圆曲线e上的点p和点q=[d]p,求解出整数d。在椭圆曲线点群的阶为素数的情况下,该问题被认为是难解的(即不存在求解该问题的多项式时间算法),这一难解性也是所有基于椭圆曲线的密码方案的安全性基础。但在椭圆曲线点群可以被分解为多个较小规模的子群,或具有其他特殊性质的情况下,对应的ecdlp将会是易解的(d.hankerson,a.menezes,and scott vanstone,“guide toelliptic curve cryptography,”springer-verlag,new york,2004.),因此具有这些性质的曲线不应被用于任何密码方案。

20、上述加法公式具有一个特点,即椭圆曲线系数中的b并未参与计算。这意味着对于只有b值不同的两条曲线y2=x3+ax+b1和y2=x3+ax+b2,其上点的加法计算流程是完全相同的,满足这种性质的曲线e2通常被称为e1的无效曲线(invalid-curve)。

21、在ecdh等基于椭圆曲线的密码方案中,常常需要alice通过bob发送给自己的点p和自己的秘密值d计算点乘q=[d]p并发回给bob。由于ecdlp的难解性,bob无法计算秘密值d。但如果密码方案使用的曲线e1具有一条ecdlp易解的无效曲线e2,则bob可以通过以下方式获取d:bob以e2上的点p2作为输入,如果alice不检查输入的点是否确实在曲线e1上就执行计算,那么由于e1,e2上点的加法公式相同,alice返回的结果必定为e2上的点q2=[d]p2。于是bob可以通过p2,q2求解e2上的(易解的)ecdlp而得到d的值。这种攻击方式被称为无效曲线攻击(invalid-curve attack)。

22、防止无效曲线攻击的常用方法为点的有效性检查,即执行加法计算前首先检查输入的所有点是否均位于预设的椭圆曲线上。


技术实现思路

1、基于以上问题,本专利技术提供一种可抵御无效曲线攻击的椭圆曲线点乘方法和装置。

2、本专利技术采用的技术方案如下:

3、一种可抵御无效曲线攻击的椭圆曲线点乘方法,包括以下步骤:

4、在椭圆曲线点乘算法的倍点运算中引入椭圆曲线系数中的b,得到能够抵御无效曲线攻击的改进的倍点运算。

5、进一步地,当所述改进的倍点运算开销大于正常倍点运算的开销时,仅在第一次执行倍点运算时采用所述改进的倍点运算,其后则采用正常倍点运算。

6、进一步地,采用所述改进的倍点运算的椭圆曲线点乘算法包括以下步骤:

7、记为k的二进制表示,其中j表示k在二进制表示下的位数;

8、令q的值为无穷远点o;

9、对i:n-1→0执行以下步骤:若i=n-1,则否则q←q+q;其中表示改进的倍点运算;若ki=1,则q=q+p;

10、输出即为q=[k]p。

11、进一步地,在仿射坐标系下,所述改进的倍点运算中的λ采用下式进行计算:

12、或者

13、进一步地,在标准投影坐标系下,所述改进的倍点运算中p(x,y,z)的倍点q(x,y,z)的计算公式为:

14、a=3x2+a

15、b=x4+ax2+bx

16、c=a2-8b

17、x=2yc

18、y=a(4b-c)-8y4

19、z=(2y)3

20、其中a、b、c是中间变量。

21、进一步地,在雅可比射影坐标系下,所述改进的倍点运算中p(x,y,z)的倍点q(x,y,z)的计算公式为:

22、a=3x2+a

23、b=x4+ax2+bx

24、x=a2-8b

25、y=a(4b-x)-8y4

26、z=2y

27、其中a、b是中间变量。

28、一种可抵御无效曲线攻击的方法,包括以下步骤:

29、在椭圆曲线点乘算法的倍点运算中引入椭圆曲线系数中的b,得到改进的倍点运算;

30、通过所述改进的倍点运算使得椭圆曲线点乘算法能够抵御无效曲线攻击。

31、一种可抵御无效曲线攻击的椭圆曲线点乘装置,其为计算机设备,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述本文档来自技高网...

【技术保护点】

1.一种可抵御无效曲线攻击的椭圆曲线点乘方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,当所述改进的倍点运算开销大于正常倍点运算的开销时,仅在第一次执行倍点运算时采用所述改进的倍点运算,其后则采用正常倍点运算。

3.根据权利要求1所述的方法,其特征在于,采用所述改进的倍点运算的椭圆曲线点乘算法包括以下步骤:

4.根据权利要求1所述的方法,其特征在于,在仿射坐标系下,所述改进的倍点运算中的λ采用下式进行计算:

5.根据权利要求1所述的方法,其特征在于,在标准投影坐标系下,所述改进的倍点运算中P(x,y,z)的倍点Q(X,Y,Z)的计算公式为:

6.根据权利要求1所述的方法,其特征在于,在雅可比射影坐标系下,所述改进的倍点运算中P(x,y,z)的倍点Q(X,Y,Z)的计算公式为:

7.一种可抵御无效曲线攻击的方法,其特征在于,包括以下步骤:

8.一种可抵御无效曲线攻击的椭圆曲线点乘装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~6中任一项所述方法的指令。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~6中任一项所述的方法。

...

【技术特征摘要】

1.一种可抵御无效曲线攻击的椭圆曲线点乘方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,当所述改进的倍点运算开销大于正常倍点运算的开销时,仅在第一次执行倍点运算时采用所述改进的倍点运算,其后则采用正常倍点运算。

3.根据权利要求1所述的方法,其特征在于,采用所述改进的倍点运算的椭圆曲线点乘算法包括以下步骤:

4.根据权利要求1所述的方法,其特征在于,在仿射坐标系下,所述改进的倍点运算中的λ采用下式进行计算:

5.根据权利要求1所述的方法,其特征在于,在标准投影坐标系下,所述改进的倍点运算中p(x,y,z)的倍点q(x,y,z)的计算...

【专利技术属性】
技术研发人员:关志何逸飞陈钟
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1