用于蒙哥马利域的计算方法和计算装置制造方法及图纸

技术编号:14535063 阅读:36 留言:0更新日期:2017-02-02 20:17
本发明专利技术提供一种用于蒙哥马利域的计算方法和计算装置。在椭圆曲线密码学中,一种执行大量的模乘。这些通常是通过蒙哥马利乘法算法,其需要操作数来执行预处理(即,转化为蒙哥马利域),其通常是由一个长除法的等效来完成。本发明专利技术的计算方法通过单一的蒙哥马利乘法对原始数据执行这种转换。此方法被制订用于在雅可比行列式坐标表示椭圆曲线的点,但可扩展到其他表示法。本发明专利技术的计算方法和计算装置适用于简化并提高蒙哥马利域中的运算效率。

The calculation method and device for the Montgomery domain.

The present invention provides a method for calculating method and device of the Montgomery domain. In elliptic curve cryptography, a large number of modular multiplication. These are usually by Montgomerie multiplication algorithm, the number of operation need pre process (i.e., into Montgomery domain), which is usually equivalent to complete a long division. The calculation method of the invention performs the conversion to the original data by a single Montgomerie multiplication. This method is formulated for the representation of the elliptic curve points in Jacobi determinant coordinates, but can be extended to other representations. The computing method and the computing device of the invention are suitable for simplifying and improving the operational efficiency in the Montgomerie domain.

【技术实现步骤摘要】

本专利技术涉及一种计算电路和方法,尤其涉及一种用于蒙哥马利域的计算方法和计算装置
技术介绍
在椭圆曲线密码学(EllipticCurveCryptography,ECC)中,对所选择的椭圆曲线上的点执行算术运算。这些点可以标准的、正规的形式表示为满足指定方程式的一对数字(x,y)。在大多数情况下,此方程式可以简短的威尔斯特拉斯方程(Weierstrass)形式编写为y2=x3+A*x+B,其中A和B是定义椭圆曲线的常数。数字A、B、x和y从固定有限域(例如具有模数M的整数域)获得,其中M为大质数,并且在此域上执行对数字的运算。一般来说,ECC算法包括在所选择的椭圆曲线的点上执行的两个运算:点相加:(x1,y1)+(x2,y2)=(x3,y3)点加倍:2(x1,y1)=(x3,y3)这些运算的简单明了的定义包括模除(ModularDivision),其为繁重的、耗时的运算。因此,常见的做法是以替代的坐标表示椭圆曲线上的点,所述坐标允许点相加和点加倍运算执行为一连串模加(modularaddition)和模乘(modularmultiplication)。雅可比行列式(Jacobian)坐标广泛用于此目的,其中椭圆曲线上的每个点(x,y)表示为三个数字(X,Y,Z),其经选择使得原始椭圆坐标x和y可以表达为的替代坐标X、Y和Z的幂(powers)的商(quotients):x=XZ2,y=YZ3]]>可以类似方式使用以提高在椭圆曲线上的计算效率的其它表示包含投影坐标(其中x=X/Z且y=Y/Z);W12坐标(x=X/Z,y=Y/Z2);XYZZ坐标(x=X/ZZ,y=Y/ZZZ且ZZ3=ZZZ2);以及XZ坐标(x=X/Z)。此种表示在本专利技术描述中以及在权利要求书中被称为“基于商的表示(quotient-basedrepresentations)”,因为椭圆坐标x和y中的每一者表示为替代坐标的某些幂的商。在hyperelliptic.org网站上可获得关于此类表示以及其在椭圆曲线计算中的使用的其它信息。然而,即使在雅可比行列式坐标中,椭圆曲线计算也是耗时的。计算模数的产品的经典方法涉及首先倍增操作数为非模数的整数并且随后获取结果的模数,被称作“模约简(modularreduction)”。模约简本身是计算上昂贵的,相当于长除法(longdivision)。点加倍和点相加包括许多此类运算。由于这个原因,加密计算通常使用已知为蒙哥马利模乘(或简单地,蒙哥马利乘法)的更高效的方法。为了执行蒙哥马利乘法,使用已知为蒙哥马利约简的算法将操作数转换成专门的蒙哥马利形式。蒙哥马利形式中的操作数的倍增避免了对在常规算术中所需的模约简的需要。蒙哥马利约简和乘法算法例如由梅内塞斯(Menezes)等人描述于“应用密码学手册(HandbookofAppliedCryptography)”(1996)的章节14.3.2,第600到603页中,其以引用的方式并入本文中。简要概述,给定两个大整数A和B,蒙哥马利乘法产生A⊙B=A*B*R-1%M,而不是计算A*B,其中R是取决于模数M的长度的常数。(符号“%”在本专利技术描述和图式中用以表示“模数”。)为此目的,输入操作数首先经过预处理(被称为将操作数转换成蒙哥马利域或转换成蒙哥马利形式),使得每个输入X被转换成X'=X*R%M。随后将蒙哥马利形式操作数相乘如下:A'⊙B'=A*R*B*R*R-1%M=(A*B)'%M。可以此方式在蒙哥马利域中执行一连串的计算。随后使用蒙哥马利乘法乘以1将最终结果Res'转换回为整数形式:Res'⊙1=Res*R*R-1%M=Res。
技术实现思路
本专利技术的实施例提供一种用于蒙哥马利域的计算方法和计算装置。因此,根据本专利技术的实施例提供一种用于计算的方法,所述方法包含在蒙哥马利乘法器电路中接收指定椭圆曲线上呈正规形式的点的一对输入坐标(x,y)。通过以选定转换因子执行输入坐标的第一蒙哥马利乘法,将所述对输入坐标转换成包含呈蒙哥马利形式的三个替代坐标(X',Y',Z')的基于商的表示。通过对呈蒙哥马利形式的替代坐标应用第二蒙哥马利乘法来实施一个或多个椭圆曲线运算。在所公开的实施例中,替代坐标包含雅可比行列式坐标。通常,执行第一蒙哥马利乘法包含在计算替代坐标中的至少一个替代坐标时乘以1来应用蒙哥马利乘法。在所公开的实施例中,执行第一蒙哥马利乘法包含选择转换因子ω、α和β,其中α和β是ω的幂,并且将替代坐标计算为α和β与输入坐标的蒙哥马利乘积,使得X'=α⊙x,Y'=(β⊙y)⊙1且Z'=ω,其中符号“⊙”表示蒙哥马利乘法。在一个实施例中,ω是随机整数,α=ω2且β=ω3。在所公开的实施例中,实施一个或多个椭圆曲线运算包含:计算在基于商的表示中表达的呈蒙哥马利形式的结果;并且应用第二蒙哥马利乘法中的至少一个以将所述结果恢复到正规形式。根据本专利技术的实施例还提供一种计算装置,所述装置包含输入,所述输入经配置以接收指定椭圆曲线上呈正规形式的点的一对输入坐标(x,y)。蒙哥马利乘法器电路经配置以:通过以选定转换因子执行输入坐标的第一蒙哥马利乘法,将所述对输入坐标转换成包含呈蒙哥马利形式的三个替代坐标(X',Y',Z')的基于商的表示;并且通过对呈蒙哥马利形式的替代坐标应用第二蒙哥马利乘法来实施一个或多个椭圆曲线运算。根据本专利技术的实施例另外提供一种计算机软件产品,其包含其中存储程序指令的非暂时性计算机可读媒体,所述指令当通过可编程处理器读取时致使所述处理器接收指定椭圆曲线上呈正规形式的点的一对输入坐标(x,y)。所述指令致使所述处理器:通过以选定转换因子执行输入坐标的第一蒙哥马利乘法,将所述对输入坐标转换成包含呈蒙哥马利形式的三个替代坐标(X',Y',Z')的基于商的表示;并且通过对呈蒙哥马利形式的替代坐标应用第二蒙哥马利乘法来实施一个或多个椭圆曲线运算。附图说明图1是根据本专利技术的实施例示意性地说明加密装置中的电路元件的框图;图2是根据本专利技术的实施例示意性地说明用于执行椭圆曲线计算的方法的流程图。附图标记:20:装置/加密装置22:单元/椭圆计算单元24:输入/操作数输入26:输入/操作数输入28:输出30:乘法器/蒙哥马利乘法器32:加法器电路34:乘法器电路36:输入/内部输入38:输入/内部输入40:输入/模数输入42:随机数生成器50、52、54、56、58:步骤具体实施方式尽管可以通过将坐标转换成蒙哥马利域中的雅可比行列式表示(或其它基于商的表示)来减少椭圆曲线运算的计算复杂度,但是此转换本身涉及多个耗时的计算步骤。此外,出于安全性原因,期望例如通过将坐标乘以常数因子,加上又一计算步骤来使坐标随机化。本文中描述的本专利技术的实施例又进一步通过简化坐标转换的步骤减少了椭圆曲线计算的计算复杂度。在所公开的实施例中,通过以选定转换因子执行输入坐标的蒙哥马利乘法,将指定椭圆曲线上呈正规形式的点的一对输入坐标(x,y)转换成替代的呈蒙哥马利形式的基于商的表示(X',Y',Z')。输入坐标中的每一个的一个或两个蒙哥马利乘法一般足以生成X'和Y'中的每一个,而Z'由简单的算术计算生成。执行坐标转换的同一蒙哥马本文档来自技高网
...

【技术保护点】
一种用于计算的方法,其特征在于,包括:在蒙哥马利乘法器电路中接收指定椭圆曲线上呈正规形式的点的一对输入坐标(x,y);通过以选定转换因子执行所述输入坐标的第一蒙哥马利乘法,将所述对输入坐标转换成包括呈蒙哥马利形式的三个替代坐标(X',Y',Z')的基于商的表示;以及通过对呈所述蒙哥马利形式的所述替代坐标应用第二蒙哥马利乘法来实施一个或多个椭圆曲线运算。

【技术特征摘要】
2015.07.22 IL 2401001.一种用于计算的方法,其特征在于,包括:在蒙哥马利乘法器电路中接收指定椭圆曲线上呈正规形式的点的一对输入坐标(x,y);通过以选定转换因子执行所述输入坐标的第一蒙哥马利乘法,将所述对输入坐标转换成包括呈蒙哥马利形式的三个替代坐标(X',Y',Z')的基于商的表示;以及通过对呈所述蒙哥马利形式的所述替代坐标应用第二蒙哥马利乘法来实施一个或多个椭圆曲线运算。2.根据权利要求1所述的用于计算的方法,其特征在于,所述替代坐标包括雅可比行列式坐标。3.根据权利要求1所述的用于计算的方法,其特征在于,执行所述第一蒙哥马利乘法包括在计算所述替代坐标中的至少一个替代坐标时乘以1来应用蒙哥马利乘法。4.根据权利要求3所述的用于计算的方法,其特征在于,执行所述第一蒙哥马利乘法包括:选择转换因子ω、α和β,其中α和β是ω的幂;以及将替代坐标计算为α和β与输入坐标的蒙哥马利乘积,使得X'=α⊙x,Y'=(β⊙y)⊙1且Z'=ω。5.根据权利要求1所述的用于计算的方法,其特征在于,执行所述一个或多个椭圆曲线运算包括:计算在所述基于商的表示中表达的呈所述蒙哥马利形式的结果;并且应用所述第二蒙哥马利乘法中的...

【专利技术属性】
技术研发人员:厄瑞·卡路茲尼
申请(专利权)人:华邦电子股份有限公司
类型:发明
国别省市:中国台湾;71

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

1