CN1735858A - 构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备 - Google Patents
构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备 Download PDFInfo
- Publication number
- CN1735858A CN1735858A CN200380108592.9A CN200380108592A CN1735858A CN 1735858 A CN1735858 A CN 1735858A CN 200380108592 A CN200380108592 A CN 200380108592A CN 1735858 A CN1735858 A CN 1735858A
- Authority
- CN
- China
- Prior art keywords
- class
- complex multiplication
- aforementioned
- curve
- group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000014509 gene expression Effects 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 15
- 230000007812 deficiency Effects 0.000 claims description 10
- 230000009467 reduction Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000021615 conjugation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
为了提供迅速确定安全的超椭圆曲线的方法,建议使用复数乘法方法构造合适的超椭圆曲线。本发明的方法在具有大的特性曲线的有限域上产生适合于加密应用的亏格2的超椭圆曲线。本发明进一步还提供利用前述的方法的一种密码设备,它能有益地用于加密和解密报文,可以在发送器和接收器之间的公共网络上安全地交换信息。利用这样一种密码设备,可以在发送器和接收器的鉴别验证过程中迅速而容易地加密应该交换的报文和文件。
Description
技术领域
在许多情况下,在公共网络上在发送器和接收器之间的信息安全交换需要加密交换所需的报文和文件,因此需要对于发送器和接收器的验证过程。
背景技术
面对特定频率的加密或密码方法就是所谓的“非对称的”加密,还称之为“公共密钥”方法。这种方法允许报文的接收器在公共网络上向发送器发送一个密钥,通过这样的方式,使密钥在原理上可以访问任何第三方。这种密钥是“公共密钥”。然后,发送器使用这个密钥加密所说报文。公共密钥方法的魅力在于如下的事实:以此方法加密的报文只利用公共密钥的知识不可能再被解密。只有公共密钥的产生器,即接收器,才能解密利用它的公共密钥加密的报文。对于这种类型的非对称加密,还有一系列变型。非对称加密的最为人们熟知的例子无疑是RSA方法。
公共密钥方法的一个子组包括如下步骤:对于一个极大的自然数或者另一个大的自然数的整数模求幂,即得到公共密钥。这组方法的安全性基于在实践中计算离散的对数以便以这种方法获得保密指数(exponent)的不可能性。基于离散的对数问题的加密和验证方法的例子是所谓的Diffie-Hellman加密方法、El-Gamal加密方法、DSS-签字、Schnorr方法。
在各种方法中,可以选择有限阿贝尔群,它是离散的对数的基础。一个可能的选择是,在有限域(field)Fq上定义的一个超椭圆曲线的0度的除子类群的Fq个有理元素组成的群。这个群还称之为超椭圆曲线的雅可比变化量的Fq有理点群,对于这个群,存在群的元素的紧凑表示和有效的附加算法。例如在N.Koblitz的“加密的代数方面”(Springer Verlag,1998)讨论了这个群的表示和使用的深层细节。
然而,这种选择的一个问题是合适的超椭圆曲线的确定的问题。为了保证离散的对数问题在实践中不被破解,这个曲线的除子类群应该包括一个极大的素因子,因为破解对数问题的算法的运行时间取决于这个素因子的平方根。如果以今天的计算机系统的性能作为基础,这个素因子的长度至少应该是2160比特。然而,为了保证这个系统的有效性,系统的如密钥的参数不应太长。
满足这些条件的超椭圆曲线是这样一些曲线,它们的0度除子类群是一个素数的或几乎是素数的群阶。为了确定这种类型的曲线,在原理上,可以从有限域Fp随机选择曲线的系数。如果最终的曲线是一个非奇异的曲线,就可以确定这个除子类群的元素的数目。然而,对于在具有大的特性曲线(对于亏格(genus)2的曲线,p>280)的域上随机选择的超椭圆曲线而言,找到能够确定这个数的算法,即确定除子类群的阶的算法,至今还是不可能的。此外,只有一部分超椭圆曲线具有素数阶或几乎素数阶的除子类群,并且正因为如此,即使当真有这种算法,仍旧还存在必须测试大量曲线以后才能确定可以确定以上定义的安全曲线的问题。这些测试不利于选择过程的速度。
发明内容
因此,本发明的一个目的是确定一种方法,用于快速确定安全的超椭圆曲线。本发明的另一个目的是提供一种密码设备,用于实现安全的超椭圆曲线的这样一种快速确定。
为了本发明的这些目的,通过使用复数乘法的方法构造合适的超椭圆曲线来实现这个目的。本发明的方法对于加密的应用在具有大的特性曲线的有限域上产生合适的亏格2的超椭圆曲线。
在具有不等于2的特性曲线的一个域Fq(或Fp)上可定义一个亏格为g的超椭圆曲线,使其成为如下形式的非奇异曲线:
y2=f(x),
这里的f(x)是2g+1度的归一化多项式。
复数乘法方法在下面将称之为CM方法,这是一种本身已知的方法,并且例如已被Atkin使用来构造椭圆曲线。对于复数乘法理论的已知应用的细节,可以参照:A.O.Atkin,F.Morain的“椭圆曲线和本原性证明”(Math.Comp.61:29-68,1993)。已知的复数乘法方法对于一个指定的假想二次阶(order)O和一个素数p可以在Fp上确定一个椭圆曲线E,椭圆曲线E的自同态环对于二次阶O来说是同构的。在这种情况下通过类数h(O)和阶O的判别式来确定复数乘法方法的复杂度,并因此确定与其相关的计算操作的复杂度。在A.-M.Spallek[IEM,1994,预印本第18号]和本发明人A.Weng[IEM,2002,预印本第11号]的学术论文中,将复数乘法方法的应用扩展到亏格2和类号1的超椭圆曲线的结构(Spallek),扩展到亏格2和类号达到10的超椭圆曲线并且扩展到亏格3及其以上的超椭圆曲线的特殊类(Weng)。
具体来说,在按照本发明的方法中,确定简单的主极化阿贝尔变化量的所有同构类的表示系统。在此类中,简化了同构类的计数,因为根本没有任何需要来检查在复数乘法域K中的基本单位是否是一个单位的范数。
还有,可以将周期矩阵转换成等价的Siegel约化矩阵和以这种方式获得的θ零位(theta nulls)的较快的收敛性。
在另一个优选实施例中,从所计算的10个中的6个θ零位中确定复数域C上的超椭圆曲线。
还有,在按照本发明的方法的一个优选变型中,确定多个可能的复数乘法域,具体来说大于100个或者甚至于大于1000个复数乘法域,计算属于复数乘法域的类多项式,将其中的两个作为一个数据组进行存储,而后再使用用于确定安全的超椭圆曲线的方法。
在按照本发明的方法的一个变型中,通过测试来减小复数乘法域的可能的范围。以此方式可以保证,对于群阶可以获得一个准确的素数。
在按照本发明的方法中,对于基于有限域Fp的素数p进行选择,以使在Fp上的复数乘法域K的最小多项式可以分解为4个不同的线性因子。
在另一个变型中,基于曲线的有限域Fp不是素数。
使用以上所述方法的密码设备可有益地用于报文的加密和解密,以便在发送器和接收器之间的公共网络上安全地交换信息。利用这样的密码设备,就可以在发送器和接收器的验证过程中快速并容易地加密应该交换的报文和文件。
参照以下描述的实施例来说明本发明的这些和其它的方面,本发明的这些和其它的方面都将变得显而易见。
附图说明
图1表示按照本发明的用于确定复数乘法域和相关的类多项式的第一子步骤;
图2表示按照本发明的用于确定适合于加密目的的曲线的第二子步骤。
具体实施方式
下面详细描述按照本发明的方法的步骤。所说的方法包括两个子步骤。第一子步骤涉及确定复数乘法域K、适合于定义域Fp的素数p、以及合适的群阶n。
首先通过对于具有类号为hk0=1的完全实数域K0进行完全的虚二次展开,来确定一个合适的复数乘法域K。这种类型的复数乘法域例如可以通过数据组K=Q(i(a+bd)1/2)1/2)给出,这里的a、b、d是整数。
对于素数p进行选择,以满足以下的3个条件:
1.在Qk中存在一个数w,使w
w=p,这里的Qk是K的最大的阶,w是w的共轭复数元素(在这里以及在下面,下划线代表下划线上这一项的共轭复数元素)。
2.或者n1=II(1-Wi),或者N2=II(1+wi)基本上是素数,在这里乘积II覆盖K中w的所有共轭的wi。
3.阶ni(i=1,2)之一是kq的形式,这里的k是个小的数,q是满足在Fq中p的阶很高的条件的一个素数。
在这种情况下,通过从Qk中选择一个随机数η并且检查乘积η
η的共轭复数元素是否是一个素数,可以简化p的选择。如果是素数,可检查n1、n2是否符合条件2。在这种情况下,应该选择数η,以便能够保证它的相关的范数是整数数据组Z的一个数。
按照另一种方式,可以从Z中选择一个随机数p,并且对于绝对范数方程N/K/Q(w)=p2的所有的解,可以确定Z[x]中的最小多项式。从这些多项式中选择不可公约的和具有绝对值p1/2的零点的那些多项式。然后,在点x=1分析这些最小多项式。这给出可能的群阶ni的一个组S。这个组最多具有4个不同的数。然后,对于这些值ni进行测试,使之与上述的条件1和2符合。
对于随后的第二子步骤,可以假定:已经确定了满足第一子步骤中条件1-3的复数乘法域K、素数p、和群阶n。在第二子步骤中,构造具有阶n的除子类群的在FP上的超椭圆曲线。
在这样进行的过程中,利用了如下的事实:在亏格2的超椭圆曲线的情况下,这些曲线的雅可比变化量严格地是第二维的主极化的雅可比变化量。还有,如果使用已知的方法,可以找到一个表示系统,用于与0k进行复数乘法的复数域C的简单的主极化的雅可比变化量的所有同构类。从组H2确定这些变化量的周期矩阵Ω,这在原理上也是公知的,这里的H2={来自Gl2(C)的M,Mt=M,Im M是在正的方向确定的},H2是第2维的Siegel的上半平面。于是,这个矩阵是对称的,具有一个正方向定义的虚部。
下面给出一个例子:
K0=Q(61/2)在这里OK0=Z+ωZ,ω=61/2
K=Q(i(3+61/2)1/2)
p=13970339430705346738100941,和
n=195170383809059575030928920714011851354971964238376.
η取为等于i(3+)1/2)。Q(61/2)的基本单位ε0在这种情况下具有正的范数。相对于实二次子域Qk0来说相对完整的理想类群的表示系统可以用下式表示:
IK={A1=OK=OK0+ηOK0,A2=(1-61/2)OK0+(-1+η)OK0}.
从A1和A2的通用表示:
Ai=αOK0+βOK0,
则有:
τi=α/β,是计算值,取上例中的值,
T1=0.4283729905961322011i
T2=0.2247448713915890490+0.5246476232752903178i.
由下式给出复数域C中K的一个实施例σ;
σ(i(3+21/2)1/2)=-i(3-21/2)1/2和
并且ρ是它的共轭复数元素。然后,乘以Qk的简单的主极化的雅可比变化量的同构类的表示系统可通过下式表示的多元组给出:
{(T1,T1 σ),(∈0T1,(∈0T1)σ),(T1,T1 ρσ),(∈0T1,(∈0T1)ρσ)}
多元组(s1,s2)的相关周期矩阵是:
通过下面的过程,可以获得同构类的一个计数,其条件是:域K=Q(i(a+bd1/2)1/2)是一个复数乘法域、ε0是一个基本单位、σ是共轭
σ(i(a+bd1/2)1/2)=-i(a-bd1/2)1/2,ρ是复共轭。对于表示式Ai=αiQk0+βiQk0,获得τi=αi/βi,这里的Im(τi)>0。对于{τ1…,τk…,τhk}和k≤h形成的类群,正是在这种情况下,对于i≤k,Imτj σ>0;对于i>k,Imτj σ≤0。下面的规则允许获得可与Ok复数相乘的简单的主极化的雅可比变化量的一个合适的组S:
如果K是伽罗瓦的,则S:={(τi,τj σ),1≤i≤h}。
如果K为非正常的,并且如果N(ε0)=1,则k:=h/2,
S:={(Ti,Ti σ),(∈0Ti,(∈0Ti)σ),1≤i≤k}U{(Ti,Ti ρσ),(∈0Ti,(∈0Ti)ρσ),k+1≤i≤2k},
并且,如果K为非正常的,但N(ε0)=-1,则获得如下的定义:
S:={(Ti,Ti σ),(∈0Ti,(∈0Ti)ρσ),1≤i≤h}。
对于以上确定的周期矩阵Ωi的每个矩阵,这里的i=1,…,4,然后,对k=1,2,3来计算这个绝对不变量jk (i)。为此目的,首先对于每个矩阵Ωi并且借助于θ零位来计算偶θ零位,确定在C上的其雅可比变化量对应于周期矩阵Ω的曲线。从所说的绝对不变量计算这个曲线的类多项式。
周期矩阵Ωi的偶θ零位由下式给出 :
其中的δ、ε来自于组{0,1}g,δtε=0模2。
对于亏格2的曲线,这个函数准确地给出了10个θ零位。应该选择近似方法的质量,以使随后计算的类多项式的近似足以使平滑数n在Z[1/n][X]内。在所述的例子中,70个小数位是足够的。
如果在这个函数中插入Siegel约化矩阵Ω`而不是来自H2的矩阵Ωi,则具有θ零位的方程的收敛性可以得到改善。来自H2的矩阵Ω`=X+iY,在这里,其中具有脚标k,1={1,2}的X=(xk1)是Siegel约化的,其条件是以下所述是真:
1. 1/2≤xk1≤-1/2
2. Y是Minkowski约化的
3.对于所有的
借助于θ零位,可以确定在C上正在寻找的曲线的模型。Rosenhain模型就是这种类型的模型:
y2=x(x-1)II(x-λi),
在这里,下脚标i从1延伸到2g-1,即,对于亏格2到3的曲线。Rosenhain模型允许从θ零位中计算λi值。以下所述的就是这种情况的一个例子:
λ1=3.7761476679542305243215+1.0919141042403378864850i
λ2=
λ1
λ3=-0.5826628324044744213034.
从10个偶数θ零位还可以获得所谓Igusa绝对不变量j1、j2、j3,以此作为已知的函数。
然而,还可以从以下的6个θ零位以简单的方式确定Rosenhain模型的λi′s和Igusa不变量:
模型f(x)=x(x-1)(x-λ3)(x-λ3)(x-λ5)的λi`s由下式给出:
λ3=α1 2α2 2(α3 2α4 2)-1
λ3=α5 2α2 2(α3 2α6 2)-1
λ3=α5 2α1 2(α4 2α6 2)-1
(非绝对的)Igusa不变量由下式确定:
I2=-120A′,I4=-720(A′)2+6750B′,
I6=8640(A′)3-108000A′B′+202500C′..
在这里:
A′=(f,f)6,B′=(i,i)4.,C′=(i,Δ)6和
i=(f,f)4,Δ=(i,if)2
在这里,(gh)k这一项代表如下形式的阶数n和m的两个二进制形式g和h的叠加:
然后,从Igusa不变量可以获得绝对不变量:
j1=I2I4 2/Δ,j2=I2 3I4/Δ,j3=I4I6/Δ.
通过将理想的类群Ik分类为成对的理想类及其反向类(inverses),可以进一步加速Igusa不变量的计算。因为对于反向(inverse)的理想类等于共轭复数理想类的第一类的域K0就是这种情况,所以对于求解的每一对共轭复数理想类,只需计算一个简单的主极化的雅可比变化量:
如果(T1,T1 ψ)是属于理想Ai和复数乘法类型(K,ψ)的主极化的雅可比变化量,则(-
T 1,-
T 1 ψ)就是属于
A i的相同复数乘法类型的主极化的雅可比变化量。此外,如果ji是(Ti,Ti ψ)的Igusa不变量,则(-
T i,-
T i ψ)的对应的Igusa不变量就等于j
i。于是,对于每一对共轭复数理想类的反向类(inverses),只需确定一个Igusa不变量。因此,使这一步骤所需的计算工作量几乎减半。
可以将类多项式Hk表示为Igusa不变量jk(k=1,...,3)的函数:
Hk(X):=II(X-jk(i)),在这里,i=1,...,4。
这些多项式是有理多项式Q[x]总体中的一些成员。通过应用乘法遵循的无限连续分数的方法,可以把Kk(X)转换成一个整数多项式Hk(X)#。在这个例子中对于H1(X)=II(X-j1 (1))所获得的是:
-46989351758.431801106481797X3
-45970146813147129.294447100607881X2
+10924459381549069304009.28898299296496140X
+62662202899453662501195273.54688887371081210299.
如果将精确度选择地足够高,则利用连续分数算法可找到这些系数的分母的最小公倍数。在当前的这个例子中,最小公倍数是114。这将产生一个整数多项式:
Hk(X)#=14641 X4-687971099095200 X3-673048919491287120000 X2
-159945009805259923680000000 X
+917437312650901072680000000000.
在Q[X]上的形式为Hk(X)的类多项式、以及在整数多项式Z[X]的域上的形式为Hk(X)#的类多项式只取决于所选择的复数乘法域K。然而,即使在已经选择了复数乘法域K以后,用于超椭圆曲线的基本素数域Fp仍旧可以变化。因此有益的作法是,预先计算合适的复数乘法域的一个大的数(在实际中几百或几千)以及相关的类多项式并且按照适当的方式将其存储起来。如果在这个步骤之后必须为加密的应用产生一个超椭圆曲线,资源可能就必须是来自保存在存储器中的文件中的一个随机选择的复数乘法域,或者,换句话说,随机选择的类多项式,并且,可以通过在第一子步骤中列举的标准来确定合适的素数p和群阶n。在此之后,可立即执行随后的步骤以便在Fp上确定超椭圆曲线,而不必重新确定类多项式。
为了实施加密协议,将操作限制在严格为素数的群阶也可能是有益的。
为此目的,建议对于复数乘法域的选择进行限制,并且只有所用的复数乘法域K才是其中模2的最小多项式K/Q具有两个不同的因子或不可约化的那些域。
所以,对用于计算在Fp上的超椭圆曲线的下列步骤,假定已经选择了复数乘法域,并且类多项式Hk(X)#或者是通过执行以上所述的步骤已经计算出来的,或者是从预先计算出来的一个文件中得出来的。
下一个步骤是计算这个曲线。为此目的,对于来自(Fp)3的每个三元组(a1,a2,a3)执行下面的步骤,其中的Hk(X)#(ak)=0模p(0 modp):
设置j1:=a1,j2:=a2,j3:=a3。然后,从ji计算Mestre不变量Aij和Hijk。在已知用于有限域的Mestre过程中,例如在J.-F.Mestre的“ Constructions des courbes de genre 2 a partir de leurmodules”(Prog.Math.Birkhauser,94:313-314,1991)中所描述的,Mestre不变量是如下形式的二次项的系数:
∑Aijxixj,以及如下形式的三次项的系数:
∑Hijkxixjxk,在这里,这个求和过程是从1到3对下脚标i、j、k进行展开。
通过取多项式f1(t)、f2(t)、f3(t)并且将它们插入如下的三次项:
∑Hijk fi(t),fj(t),fk(t),从而可为所说的二次项设置参数,进而可以获得在Fp上的超椭圆曲线的模型
y2=f(t)。如果f(t)在Fp内有一个零点,通过投影变换可以将多项式f(t)的阶数(通常为6阶)减小1到5阶。然后,通过选择一个随机因子D并且形成乘积nD,检查曲线的除子类群是否为n阶。
对于例子中给出的情况,最终的曲线是:
y2=x5+4464505615838997835224600 x4+11942994115339229240469614 x3+
1108584063993749350888007 x2+11457344736666435422023499 x+
2901066642986978406675671.
并且,在域Fp中确定了所说的最终的曲线,在这里,
p=13970339430705346738100941和
n=195170383809059575030928920714011851354971964238376等于上述的值。n的值是一个素数的152倍。
选择一个合适的素数p,可能加速Mestre算法。其先决条件是复数乘法域K是一个非正常的域,并且p是属于整数组Z的一个素数,它在K中完全可以分解,或者与此等效地,在Fp中K的最小多项式可以分解成4个不同的线性因子。在这些条件下,每个类多项式的模P的线性因子数减半,其条件是,除了符号和共轭复数元素以外,上述的方程w
w=p只有来自组0k的一个解w。线性因子数的这种减半,使Mestre算法的应用加快了8倍。
为了利用这个优点,要进行检查,观察在上述的第一子步骤中确定的素数p是否将Fp中的K的最小多项式分解为4个不同的线性因子。这可通过直接计算实现。然而,如以上所述,如果通过分析将p选择在Z(x)中的不可约化的并且在绝对值p(1/2)上具有零点的最小多项式的点x=1,则所找到的素数是已经预先存储的。在此之后,可以将这些素数限制为只允许两个不同的群阶的那些素数。
如果复数乘法域是循环的,并且理想类群的指数大于2,则在这种情况下有益的素数具有正的密度。具体来说,存在无限数目的这种素数。
可以扩展为了产生适合于密码目的的超椭圆曲线所描述的方法,使其可以覆盖非素数的有限域Fq。在这种情况下,将数q:=pf定义为素数p的乘方。指数f是一个自然数,称之为展开式的阶。还可以假定,这个曲线不可能在Fq的子域上定义。
一旦复数乘法域K是一个伽罗瓦域,则p应该选择成:
在K/K0中,p=A
A。
如果在Af=(w)是主要的理想数的条件下(其中w是来自0k的一个元素)将f选择为最小,则在Fq上存在类多项式的一个平方根。根据这些平方根并且借助于Mestre算法就可以如以上详述那样构造在Fq上的超椭圆曲线。这些曲线的阶数由下式给出:
n=II(1-wi)或者II(1+wi),
这里,下脚标i=1,...,4,并且wi是w的共轭复数元素。
一旦复数乘法域是一个非伽罗瓦域并且是一个非正常域,则应该选择素数p,以使素数理想数(p)分解成3个理想数:
(p)=p1 p 2p2。
因此,存在一个理想A,这就意味着,
A=p1p2 2,
并且,再一次地将f选择成最小值,其中:
Af=(w),其中的w是来自0k的一个元素。
在这些条件下,借助于Mestre算法如以上详述可以在非素数有限域Fq(其中q=p2f)上构造超椭圆曲线。像在伽罗瓦域K的情况一样地,可以计算群阶。
作为一个例子,在一个域上构造一个曲线,从具有类号hk=5的复数乘法域K开始,它的展开式的阶数为f=2hk=10。作为一个素数所使用的是p=911,它在域K上的理想数(p)分解成3个素数理想数。对于理想数A=p1p2 2,f=5是最小的指数。因此,主理想数是Af。
通过9阶的多项式可表述在具有q=91110的Fq中的元素。模p的不可约化的类多项式是:
H1(X)=701X10+401X9+322X8+712X7+125X6+774X5+513X4+869X3+474X2+49X+680模p
H2(X)=186X10+895X9+453X8+86X7+180X6+47X5+811X4+339X3+887X2+296X+371模p
H3(X)=75X10+280X9+616X8+737X7+511X6+179X5+623X4+533X3+616X2+697X+700模p
所获得的两个可能的群阶是:
n1=155012792308846128138632814006095268154658315370266774539376
n2=155012792308846046374979954330693046736810307187589966188400
相关的曲线y2=f(x)是:
f(x)=x5+[9 703 722 261 507 119 322 684 741]x4
+[715 508 396 153 661 164 513 167 892 156]x3
+[548 810 311 54 483 636 130 899 845 101]x2
+[550 294 663 157 288 697 710 60 475 608]x
+[301 385 355 533 347 763 659 163 720 665],
已经产生了简化的记法:
a0+a1z+a2z2+a3z3+...+a8z8+a9z9=[a0 a1 a2 a3...a8 a9].
群阶是n2=400r,这里的r是具有57个小数位的一个素数。
Claims (20)
1.一种确定适合于加密目的的超椭圆曲线的方法,包括步骤:
选择一个复数乘法域K;
确定一个与K中的最大阶进行复数乘的简单的主极化的雅可比变化量的所有同构类的表示系统;
确定与表示系统相关的周期矩阵;
确定θ零位;
确定在有限域Fq上的复数乘法域的类多项式;
确定在有限域Fq上的超椭圆曲线;和
规定超椭圆曲线的除子类群的群阶n。
2.根据权利要求1所述的方法,其中:超椭圆曲线是亏格2的曲线。
3.根据权利要求1所述的方法,其中:从θ零位确定Igusa不变量。
4.根据权利要求3所述的方法,其中:使用Igusa不变量来确定类多项式。
5.根据权利要求1所述的方法,其中:从θ零位确定Mestre不变量。
6.根据权利要求5所述的方法,其中:使用Mestre方法在Fq上产生超椭圆曲线。
7.根据前述权利要求中任何一个所述的方法,其中:以可访问的形式存储多个合适的复数乘法域K和相关的类多项式,并且从保持在存储器中的所述多个中选择一个复数乘法域以确定超椭圆曲线。
8.根据前述权利要求中任何一个所述的方法,其中:按照Siegel约化形式使用周期矩阵。
9.根据前述权利要求中任何一个所述的方法,其中:只确定6个θ零位。
10.根据前述权利要求中任何一个所述的方法,其中:为了确定表示系统,不进行测试,以便可以观察复数乘法域K的实数子域的基本单位是否是复数乘法域的一个单位的范数。
11.根据前述权利要求中任何一个所述的方法,其中:为了确定表示系统,确定一组理想类。
12.根据权利要求11所述的方法,其中:识别成对的相互反向的理想类,对于每一对理想类只从θ零位确定Igusa不变量一次。
13.根据前述权利要求中任何一个所述的方法,其中:q是一个素数p。
14.根据权利要求13所述的方法,其中:对于素数p进行选择,以使每个类多项式具有不多于hk个的线性因子,在这里,hk是复数乘法域K的类的数目。
15.根据前述权利要求中任何一个所述的方法,其中:对于复数乘法域进行选择,以使超椭圆曲线的除子类群的群阶n是严格的素数。
16.根据前述权利要求中任何一个所述的方法,其中:q是素数p的幂。
17.一种加密方法,其中用于加密数据的密钥是从超椭圆曲线的Fq-有理数的群确定的,所说的超椭圆曲线是由根据前述权利要求中任何一个所述的方法产生的。
18.一种密码设备,所说密码设备使用根据前述权利要求之一所述的方法。
19.用于发送报文的发送器,包括根据权利要求18所述的用于加密报文的密码设备。
20.用于接收报文的接收器,包括根据权利要求18所述的用于解密报文的密码设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03100032.6 | 2003-01-10 | ||
EP03100032 | 2003-01-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1735858A true CN1735858A (zh) | 2006-02-15 |
Family
ID=32695630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200380108592.9A Pending CN1735858A (zh) | 2003-01-10 | 2003-12-19 | 构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060120528A1 (zh) |
EP (1) | EP1586028A2 (zh) |
JP (1) | JP2006513444A (zh) |
CN (1) | CN1735858A (zh) |
AU (1) | AU2003288651A1 (zh) |
WO (1) | WO2004064011A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630244B (zh) * | 2009-07-28 | 2012-05-23 | 哈尔滨工业大学深圳研究生院 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
CN112887096A (zh) * | 2021-02-20 | 2021-06-01 | 山东区块链研究院 | 用于签名和密钥交换的素数阶椭圆曲线生成方法及系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7885406B2 (en) * | 2006-10-10 | 2011-02-08 | Microsoft Corporation | Computing endomorphism rings of Abelian surfaces over finite fields |
DE102007023222B4 (de) * | 2007-05-18 | 2011-08-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 80686 | Vorrichtung zum Überprüfen einer Güte und zum Erzeugen einer Gruppe von rationalen Punkten einer Schlüsselerzeugungsvarietät |
US8520841B2 (en) * | 2008-05-22 | 2013-08-27 | Microsoft Corporation | Algorithms for generating parameters for genus 2 hyperelliptic curve cryptography |
US8300807B2 (en) * | 2009-01-07 | 2012-10-30 | Microsoft Corp. | Computing isogenies between genus-2 curves for cryptography |
US8457305B2 (en) * | 2009-11-13 | 2013-06-04 | Microsoft Corporation | Generating genus 2 curves from invariants |
US8750499B2 (en) * | 2010-06-16 | 2014-06-10 | Compagnie Industrielle et Financiere D'Ingenierie “Ingenico” | Cryptographic method using a non-supersingular elliptic curve E in characteristic 3 |
US8731187B2 (en) | 2010-12-21 | 2014-05-20 | Microsoft Corporation | Computing genus-2 curves using general isogenies |
US11146397B2 (en) * | 2017-10-31 | 2021-10-12 | Micro Focus Llc | Encoding abelian variety-based ciphertext with metadata |
-
2003
- 2003-12-19 WO PCT/IB2003/006267 patent/WO2004064011A2/en active Application Filing
- 2003-12-19 JP JP2004566202A patent/JP2006513444A/ja not_active Withdrawn
- 2003-12-19 CN CN200380108592.9A patent/CN1735858A/zh active Pending
- 2003-12-19 EP EP03780494A patent/EP1586028A2/en not_active Withdrawn
- 2003-12-19 US US10/541,893 patent/US20060120528A1/en not_active Abandoned
- 2003-12-19 AU AU2003288651A patent/AU2003288651A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630244B (zh) * | 2009-07-28 | 2012-05-23 | 哈尔滨工业大学深圳研究生院 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
CN112887096A (zh) * | 2021-02-20 | 2021-06-01 | 山东区块链研究院 | 用于签名和密钥交换的素数阶椭圆曲线生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2004064011A2 (en) | 2004-07-29 |
EP1586028A2 (en) | 2005-10-19 |
AU2003288651A1 (en) | 2004-08-10 |
WO2004064011A3 (en) | 2004-12-29 |
US20060120528A1 (en) | 2006-06-08 |
JP2006513444A (ja) | 2006-04-20 |
AU2003288651A8 (en) | 2004-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1614922A (zh) | 使用同源来设计密码系统 | |
CN1870499A (zh) | 产生新的多变量公钥密码系统的方法 | |
CN1282325C (zh) | 能快速解密的密码系统与方法 | |
CN1875569A (zh) | 用于有效多方乘积的方法和设备 | |
CN1185821C (zh) | 密码通信方法 | |
CN1251715A (zh) | 有限域离散对数密码系统的割圆多项式结构 | |
CN1314040A (zh) | 公共密钥签字的方法和系统 | |
CN1177245A (zh) | 加密方法,解密方法和确认方法 | |
CN1471665A (zh) | 增速密码法与装置 | |
EP2485428A2 (en) | Efficient, remote, private tree-based classification using cryptographic techniques | |
CN101079701A (zh) | 高安全性的椭圆曲线加解密方法和装置 | |
CN1338166A (zh) | 公用与专用密钥加密方法 | |
CN1864171A (zh) | 处理数据的系统及其方法 | |
CN1121754A (zh) | 数据加密的装置和方法 | |
CN1411202A (zh) | 一种安全的数字签名系统及其数字签名方法 | |
CN1735858A (zh) | 构造适合于加密目的的超椭圆曲线的方法以及使用这种方法的密码设备 | |
CN1242321C (zh) | 应用蒙哥马利算法的幂剩余运算器 | |
CN1280336A (zh) | 信息处理设备和方法以及发行媒体 | |
CN1402920A (zh) | 使用单向函数的数学约束型密钥的生成 | |
CN1178619A (zh) | 非对称密码通信过程与相关的便携装置 | |
CN101060400A (zh) | 数据生成装置、数据分析装置、控制方法和数据处理系统 | |
CN1238988C (zh) | 密钥信息生成的方法和装置、内容信息加密与解密的方法和装置 | |
CN1806224A (zh) | 用于防御微分功率分析攻击的方法 | |
CN1905438A (zh) | 一种基于标识的组合密钥管理方法和系统 | |
CN1806410A (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 | ||
ASS | Succession or assignment of patent right |
Owner name: NXP CO., LTD. Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V. Effective date: 20070810 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20070810 Address after: Holland Ian Deho Finn Applicant after: Koninkl Philips Electronics NV Address before: Holland Ian Deho Finn Applicant before: Koninklijke Philips Electronics N.V. |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20060215 |