專利名稱:構(gòu)造適合于加密目的的超橢圓曲線的方法以及使用這種方法的密碼設(shè)備的制作方法
技術(shù)領(lǐng)域:
在許多情況下,在公共網(wǎng)絡(luò)上在發(fā)送器和接收器之間的信息安全交換需要加密交換所需的報文和文件,因此需要對于發(fā)送器和接收器的驗證過程。
背景技術(shù):
面對特定頻率的加密或密碼方法就是所謂的“非對稱的”加密,還稱之為“公共密鑰”方法。這種方法允許報文的接收器在公共網(wǎng)絡(luò)上向發(fā)送器發(fā)送一個密鑰,通過這樣的方式,使密鑰在原理上可以訪問任何第三方。這種密鑰是“公共密鑰”。然后,發(fā)送器使用這個密鑰加密所說報文。公共密鑰方法的魅力在于如下的事實以此方法加密的報文只利用公共密鑰的知識不可能再被解密。只有公共密鑰的產(chǎn)生器,即接收器,才能解密利用它的公共密鑰加密的報文。對于這種類型的非對稱加密,還有一系列變型。非對稱加密的最為人們熟知的例子無疑是RSA方法。
公共密鑰方法的一個子組包括如下步驟對于一個極大的自然數(shù)或者另一個大的自然數(shù)的整數(shù)模求冪,即得到公共密鑰。這組方法的安全性基于在實踐中計算離散的對數(shù)以便以這種方法獲得保密指數(shù)(exponent)的不可能性。基于離散的對數(shù)問題的加密和驗證方法的例子是所謂的Diffie-Hellman加密方法、El-Gamal加密方法、DSS-簽字、Schnorr方法。
在各種方法中,可以選擇有限阿貝爾群,它是離散的對數(shù)的基礎(chǔ)。一個可能的選擇是,在有限域(field)Fq上定義的一個超橢圓曲線的0度的除子類群的Fq個有理元素組成的群。這個群還稱之為超橢圓曲線的雅可比變化量的Fq有理點群,對于這個群,存在群的元素的緊湊表示和有效的附加算法。例如在N.Koblitz的“加密的代數(shù)方面”(Springer Verlag,1998)討論了這個群的表示和使用的深層細(xì)節(jié)。
然而,這種選擇的一個問題是合適的超橢圓曲線的確定的問題。為了保證離散的對數(shù)問題在實踐中不被破解,這個曲線的除子類群應(yīng)該包括一個極大的素因子,因為破解對數(shù)問題的算法的運行時間取決于這個素因子的平方根。如果以今天的計算機系統(tǒng)的性能作為基礎(chǔ),這個素因子的長度至少應(yīng)該是2160比特。然而,為了保證這個系統(tǒng)的有效性,系統(tǒng)的如密鑰的參數(shù)不應(yīng)太長。
滿足這些條件的超橢圓曲線是這樣一些曲線,它們的0度除子類群是一個素數(shù)的或幾乎是素數(shù)的群階。為了確定這種類型的曲線,在原理上,可以從有限域Fp隨機選擇曲線的系數(shù)。如果最終的曲線是一個非奇異的曲線,就可以確定這個除子類群的元素的數(shù)目。然而,對于在具有大的特性曲線(對于虧格(genus)2的曲線,p>280)的域上隨機選擇的超橢圓曲線而言,找到能夠確定這個數(shù)的算法,即確定除子類群的階的算法,至今還是不可能的。此外,只有一部分超橢圓曲線具有素數(shù)階或幾乎素數(shù)階的除子類群,并且正因為如此,即使當(dāng)真有這種算法,仍舊還存在必須測試大量曲線以后才能確定可以確定以上定義的安全曲線的問題。這些測試不利于選擇過程的速度。
發(fā)明內(nèi)容
因此,本發(fā)明的一個目的是確定一種方法,用于快速確定安全的超橢圓曲線。本發(fā)明的另一個目的是提供一種密碼設(shè)備,用于實現(xiàn)安全的超橢圓曲線的這樣一種快速確定。
為了本發(fā)明的這些目的,通過使用復(fù)數(shù)乘法的方法構(gòu)造合適的超橢圓曲線來實現(xiàn)這個目的。本發(fā)明的方法對于加密的應(yīng)用在具有大的特性曲線的有限域上產(chǎn)生合適的虧格2的超橢圓曲線。
在具有不等于2的特性曲線的一個域Fq(或Fp)上可定義一個虧格為g的超橢圓曲線,使其成為如下形式的非奇異曲線y2=f(x),這里的f(x)是2g+1度的歸一化多項式。
復(fù)數(shù)乘法方法在下面將稱之為CM方法,這是一種本身已知的方法,并且例如已被Atkin使用來構(gòu)造橢圓曲線。對于復(fù)數(shù)乘法理論的已知應(yīng)用的細(xì)節(jié),可以參照A.O.Atkin,F(xiàn).Morain的“橢圓曲線和本原性證明”(Math.Comp.6129-68,1993)。已知的復(fù)數(shù)乘法方法對于一個指定的假想二次階(order)O和一個素數(shù)p可以在Fp上確定一個橢圓曲線E,橢圓曲線E的自同態(tài)環(huán)對于二次階O來說是同構(gòu)的。在這種情況下通過類數(shù)h(O)和階O的判別式來確定復(fù)數(shù)乘法方法的復(fù)雜度,并因此確定與其相關(guān)的計算操作的復(fù)雜度。在A.-M.Spallek[IEM,1994,預(yù)印本第18號]和本發(fā)明人A.Weng[IEM,2002,預(yù)印本第11號]的學(xué)術(shù)論文中,將復(fù)數(shù)乘法方法的應(yīng)用擴展到虧格2和類號1的超橢圓曲線的結(jié)構(gòu)(Spallek),擴展到虧格2和類號達(dá)到10的超橢圓曲線并且擴展到虧格3及其以上的超橢圓曲線的特殊類(Weng)。
具體來說,在按照本發(fā)明的方法中,確定簡單的主極化阿貝爾變化量的所有同構(gòu)類的表示系統(tǒng)。在此類中,簡化了同構(gòu)類的計數(shù),因為根本沒有任何需要來檢查在復(fù)數(shù)乘法域K中的基本單位是否是一個單位的范數(shù)。
還有,可以將周期矩陣轉(zhuǎn)換成等價的Siegel約化矩陣和以這種方式獲得的θ零位(theta nulls)的較快的收斂性。
在另一個優(yōu)選實施例中,從所計算的10個中的6個θ零位中確定復(fù)數(shù)域C上的超橢圓曲線。
還有,在按照本發(fā)明的方法的一個優(yōu)選變型中,確定多個可能的復(fù)數(shù)乘法域,具體來說大于100個或者甚至于大于1000個復(fù)數(shù)乘法域,計算屬于復(fù)數(shù)乘法域的類多項式,將其中的兩個作為一個數(shù)據(jù)組進(jìn)行存儲,而后再使用用于確定安全的超橢圓曲線的方法。
在按照本發(fā)明的方法的一個變型中,通過測試來減小復(fù)數(shù)乘法域的可能的范圍。以此方式可以保證,對于群階可以獲得一個準(zhǔn)確的素數(shù)。
在按照本發(fā)明的方法中,對于基于有限域Fp的素數(shù)p進(jìn)行選擇,以使在Fp上的復(fù)數(shù)乘法域K的最小多項式可以分解為4個不同的線性因子。
在另一個變型中,基于曲線的有限域Fp不是素數(shù)。
使用以上所述方法的密碼設(shè)備可有益地用于報文的加密和解密,以便在發(fā)送器和接收器之間的公共網(wǎng)絡(luò)上安全地交換信息。利用這樣的密碼設(shè)備,就可以在發(fā)送器和接收器的驗證過程中快速并容易地加密應(yīng)該交換的報文和文件。
參照以下描述的實施例來說明本發(fā)明的這些和其它的方面,本發(fā)明的這些和其它的方面都將變得顯而易見。
圖1表示按照本發(fā)明的用于確定復(fù)數(shù)乘法域和相關(guān)的類多項式的第一子步驟;圖2表示按照本發(fā)明的用于確定適合于加密目的的曲線的第二子步驟。
具體實施例方式
下面詳細(xì)描述按照本發(fā)明的方法的步驟。所說的方法包括兩個子步驟。第一子步驟涉及確定復(fù)數(shù)乘法域K、適合于定義域Fp的素數(shù)p、以及合適的群階n。
首先通過對于具有類號為hk0=1的完全實數(shù)域K0進(jìn)行完全的虛二次展開,來確定一個合適的復(fù)數(shù)乘法域K。這種類型的復(fù)數(shù)乘法域例如可以通過數(shù)據(jù)組K=Q(i(a+bd)1/2)1/2)給出,這里的a、b、d是整數(shù)。
對于素數(shù)p進(jìn)行選擇,以滿足以下的3個條件1.在Qk中存在一個數(shù)w,使ww=p,這里的Qk是K的最大的階,w是w的共軛復(fù)數(shù)元素(在這里以及在下面,下劃線代表下劃線上這一項的共軛復(fù)數(shù)元素)。
2.或者n1=II(1-Wi),或者N2=II(1+wi)基本上是素數(shù),在這里乘積II覆蓋K中w的所有共軛的wi。
3.階ni(i=1,2)之一是kq的形式,這里的k是個小的數(shù),q是滿足在Fq中p的階很高的條件的一個素數(shù)。
在這種情況下,通過從Qk中選擇一個隨機數(shù)η并且檢查乘積ηη的共軛復(fù)數(shù)元素是否是一個素數(shù),可以簡化p的選擇。如果是素數(shù),可檢查n1、n2是否符合條件2。在這種情況下,應(yīng)該選擇數(shù)η,以便能夠保證它的相關(guān)的范數(shù)是整數(shù)數(shù)據(jù)組Z的一個數(shù)。
按照另一種方式,可以從Z中選擇一個隨機數(shù)p,并且對于絕對范數(shù)方程N/K/Q(w)=p2的所有的解,可以確定Z[x]中的最小多項式。從這些多項式中選擇不可公約的和具有絕對值p1/2的零點的那些多項式。然后,在點x=1分析這些最小多項式。這給出可能的群階ni的一個組S。這個組最多具有4個不同的數(shù)。然后,對于這些值ni進(jìn)行測試,使之與上述的條件1和2符合。
對于隨后的第二子步驟,可以假定已經(jīng)確定了滿足第一子步驟中條件1-3的復(fù)數(shù)乘法域K、素數(shù)p、和群階n。在第二子步驟中,構(gòu)造具有階n的除子類群的在FP上的超橢圓曲線。
在這樣進(jìn)行的過程中,利用了如下的事實在虧格2的超橢圓曲線的情況下,這些曲線的雅可比變化量嚴(yán)格地是第二維的主極化的雅可比變化量。還有,如果使用已知的方法,可以找到一個表示系統(tǒng),用于與0k進(jìn)行復(fù)數(shù)乘法的復(fù)數(shù)域C的簡單的主極化的雅可比變化量的所有同構(gòu)類。從組H2確定這些變化量的周期矩陣Ω,這在原理上也是公知的,這里的H2={來自Gl2(C)的M,Mt=M,Im M是在正的方向確定的},H2是第2維的Siegel的上半平面。于是,這個矩陣是對稱的,具有一個正方向定義的虛部。
下面給出一個例子K0=Q(61/2)在這里OK0=Z+ωZ,ω=61/2K=Q(i(3+61/2)1/2)p=13970339430705346738100941,和n=195170383809059575030928920714011851354971964238376.
η取為等于i(3+)1/2)。Q(61/2)的基本單位ε0在這種情況下具有正的范數(shù)。相對于實二次子域Qk0來說相對完整的理想類群的表示系統(tǒng)可以用下式表示IK={A1=OK=OK0+ηOK0,A2=(1-61/2)OK0+(-1+η)OK0}.
從A1和A2的通用表示Ai=αOK0+βOK0,則有τi=α/β,是計算值,取上例中的值,T1=0.4283729905961322011iT2=0.2247448713915890490+0.5246476232752903178i.
由下式給出復(fù)數(shù)域C中K的一個實施例σ;σ(i(3+21/2)1/2)=-i(3-21/2)1/2和并且ρ是它的共軛復(fù)數(shù)元素。然后,乘以Qk的簡單的主極化的雅可比變化量的同構(gòu)類的表示系統(tǒng)可通過下式表示的多元組給出{(T1,T1σ),(∈0T1,(∈0T1)σ),(T1,T1ρσ),(∈0T1,(∈0T1)ρσ)}多元組(s1,s2)的相關(guān)周期矩陣是
Ωs1,s2=1ω-ωσω2s1-ωσ2s2ωs1-ωσs2ωs1-ωσs2s1-s2.]]>通過下面的過程,可以獲得同構(gòu)類的一個計數(shù),其條件是域K=Q(i(a+bd1/2)1/2)是一個復(fù)數(shù)乘法域、ε0是一個基本單位、σ是共軛σ(i(a+bd1/2)1/2)=-i(a-bd1/2)1/2,ρ是復(fù)共軛。對于表示式Ai=αiQk0+βiQk0,獲得τi=αi/βi,這里的Im(τi)>0。對于{τ1…,τk…,τhk}和k≤h形成的類群,正是在這種情況下,對于i≤k,Imτjσ>0;對于i>k,Imτjσ≤0。下面的規(guī)則允許獲得可與Ok復(fù)數(shù)相乘的簡單的主極化的雅可比變化量的一個合適的組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上的其雅可比變化量對應(yīng)于周期矩陣Ω的曲線。從所說的絕對不變量計算這個曲線的類多項式。
周期矩陣Ωi的偶θ零位由下式給出 θδϵ(Ωi)=Σexpn fromZg(πi((n+1/2δ)tΩi(n+1/2δ)+2(n+1/2δ)(z+1/2ϵ)t)),]]>,其中的δ、ε來自于組{0,1}g,δtε=0模2。
對于虧格2的曲線,這個函數(shù)準(zhǔn)確地給出了10個θ零位。應(yīng)該選擇近似方法的質(zhì)量,以使隨后計算的類多項式的近似足以使平滑數(shù)n在Z[1/n][X]內(nèi)。在所述的例子中,70個小數(shù)位是足夠的。
如果在這個函數(shù)中插入Siegel約化矩陣Ω`而不是來自H2的矩陣Ωi,則具有θ零位的方程的收斂性可以得到改善。來自H2的矩陣Ω`=X+iY,在這里,其中具有腳標(biāo)k,1={1,2}的X=(xk1)是Siegel約化的,其條件是以下所述是真1. 1/2≤xk1≤-1/22. Y是Minkowski約化的3.對于所有的ABCD∈Sp(4,Z),|det(CZ+D)|.]]>借助于θ零位,可以確定在C上正在尋找的曲線的模型。Rosenhain模型就是這種類型的模型y2=x(x-1)II(x-λi),在這里,下腳標(biāo)i從1延伸到2g-1,即,對于虧格2到3的曲線。Rosenhain模型允許從θ零位中計算λi值。以下所述的就是這種情況的一個例子λ1=3.7761476679542305243215+1.0919141042403378864850iλ2=λ1λ3=-0.5826628324044744213034.
從10個偶數(shù)θ零位還可以獲得所謂Igusa絕對不變量j1、j2、j3,以此作為已知的函數(shù)。
然而,還可以從以下的6個θ零位以簡單的方式確定Rosenhain模型的λi′s和Igusa不變量α1=θ(00)(10)α2=θ(01)(10)α3=θ(11)(10)]]>α4=θ(00)(10)α5=θ(01)(10)α6=θ(11)(10)]]>模型f(x)=x(x-1)(x-λ3)(x-λ3)(x-λ5)的λi`s由下式給出λ3=α12α22(α32α42)-1λ3=α52α22(α32α62)-1λ3=α52α12(α42α62)-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這一項代表如下形式的階數(shù)n和m的兩個二進(jìn)制形式g和h的疊加(gh)k=(m-k)!(n-k)!m!n!(δgδxδhδz-δgδzδhδx).]]>然后,從Igusa不變量可以獲得絕對不變量j1=I2I42/Δ,j2=I23I4/Δ,j3=I4I6/Δ.
通過將理想的類群Ik分類為成對的理想類及其反向類(inverses),可以進(jìn)一步加速Igusa不變量的計算。因為對于反向(inverse)的理想類等于共軛復(fù)數(shù)理想類的第一類的域K0就是這種情況,所以對于求解的每一對共軛復(fù)數(shù)理想類,只需計算一個簡單的主極化的雅可比變化量如果(T1,T1ψ)是屬于理想Ai和復(fù)數(shù)乘法類型(K,ψ)的主極化的雅可比變化量,則(-T1,-T1ψ)就是屬于Ai的相同復(fù)數(shù)乘法類型的主極化的雅可比變化量。此外,如果ji是(Ti,Tiψ)的Igusa不變量,則(-Ti,-Tiψ)的對應(yīng)的Igusa不變量就等于ji。于是,對于每一對共軛復(fù)數(shù)理想類的反向類(inverses),只需確定一個Igusa不變量。因此,使這一步驟所需的計算工作量幾乎減半。
可以將類多項式Hk表示為Igusa不變量jk(k=1,...,3)的函數(shù)Hk(X)=II(X-jk(i)),在這里,i=1,...,4。
這些多項式是有理多項式Q[x]總體中的一些成員。通過應(yīng)用乘法遵循的無限連續(xù)分?jǐn)?shù)的方法,可以把Kk(X)轉(zhuǎn)換成一個整數(shù)多項式Hk(X)#。在這個例子中對于H1(X)=II(X-j1(1))所獲得的是-46989351758.431801106481797X3-45970146813147129.294447100607881X2+10924459381549069304009.28898299296496140X+62662202899453662501195273.54688887371081210299.
如果將精確度選擇地足夠高,則利用連續(xù)分?jǐn)?shù)算法可找到這些系數(shù)的分母的最小公倍數(shù)。在當(dāng)前的這個例子中,最小公倍數(shù)是114。這將產(chǎn)生一個整數(shù)多項式
Hk(X)#=14641 X4-687971099095200 X3-673048919491287120000 X2-159945009805259923680000000 X+917437312650901072680000000000.
在Q[X]上的形式為Hk(X)的類多項式、以及在整數(shù)多項式Z[X]的域上的形式為Hk(X)#的類多項式只取決于所選擇的復(fù)數(shù)乘法域K。然而,即使在已經(jīng)選擇了復(fù)數(shù)乘法域K以后,用于超橢圓曲線的基本素數(shù)域Fp仍舊可以變化。因此有益的作法是,預(yù)先計算合適的復(fù)數(shù)乘法域的一個大的數(shù)(在實際中幾百或幾千)以及相關(guān)的類多項式并且按照適當(dāng)?shù)姆绞綄⑵浯鎯ζ饋?。如果在這個步驟之后必須為加密的應(yīng)用產(chǎn)生一個超橢圓曲線,資源可能就必須是來自保存在存儲器中的文件中的一個隨機選擇的復(fù)數(shù)乘法域,或者,換句話說,隨機選擇的類多項式,并且,可以通過在第一子步驟中列舉的標(biāo)準(zhǔn)來確定合適的素數(shù)p和群階n。在此之后,可立即執(zhí)行隨后的步驟以便在Fp上確定超橢圓曲線,而不必重新確定類多項式。
為了實施加密協(xié)議,將操作限制在嚴(yán)格為素數(shù)的群階也可能是有益的。
為此目的,建議對于復(fù)數(shù)乘法域的選擇進(jìn)行限制,并且只有所用的復(fù)數(shù)乘法域K才是其中模2的最小多項式K/Q具有兩個不同的因子或不可約化的那些域。
所以,對用于計算在Fp上的超橢圓曲線的下列步驟,假定已經(jīng)選擇了復(fù)數(shù)乘法域,并且類多項式Hk(X)#或者是通過執(zhí)行以上所述的步驟已經(jīng)計算出來的,或者是從預(yù)先計算出來的一個文件中得出來的。
下一個步驟是計算這個曲線。為此目的,對于來自(Fp)3的每個三元組(a1,a2,a3)執(zhí)行下面的步驟,其中的Hk(X)#(ak)=0模p(0 modp)設(shè)置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,94313-314,1991)中所描述的,Mestre不變量是如下形式的二次項的系數(shù)∑Aijxixj,以及如下形式的三次項的系數(shù)
∑Hijkxixjxk,在這里,這個求和過程是從1到3對下腳標(biāo)i、j、k進(jìn)行展開。
通過取多項式f1(t)、f2(t)、f3(t)并且將它們插入如下的三次項∑Hijkfi(t),fj(t),fk(t),從而可為所說的二次項設(shè)置參數(shù),進(jìn)而可以獲得在Fp上的超橢圓曲線的模型y2=f(t)。如果f(t)在Fp內(nèi)有一個零點,通過投影變換可以將多項式f(t)的階數(shù)(通常為6階)減小1到5階。然后,通過選擇一個隨機因子D并且形成乘積nD,檢查曲線的除子類群是否為n階。
對于例子中給出的情況,最終的曲線是y2=x5+4464505615838997835224600 x4+11942994115339229240469614 x3+1108584063993749350888007 x2+11457344736666435422023499 x+2901066642986978406675671.
并且,在域Fp中確定了所說的最終的曲線,在這里,p=13970339430705346738100941和n=195170383809059575030928920714011851354971964238376等于上述的值。n的值是一個素數(shù)的152倍。
選擇一個合適的素數(shù)p,可能加速Mestre算法。其先決條件是復(fù)數(shù)乘法域K是一個非正常的域,并且p是屬于整數(shù)組Z的一個素數(shù),它在K中完全可以分解,或者與此等效地,在Fp中K的最小多項式可以分解成4個不同的線性因子。在這些條件下,每個類多項式的模P的線性因子數(shù)減半,其條件是,除了符號和共軛復(fù)數(shù)元素以外,上述的方程ww=p只有來自組0k的一個解w。線性因子數(shù)的這種減半,使Mestre算法的應(yīng)用加快了8倍。
為了利用這個優(yōu)點,要進(jìn)行檢查,觀察在上述的第一子步驟中確定的素數(shù)p是否將Fp中的K的最小多項式分解為4個不同的線性因子。這可通過直接計算實現(xiàn)。然而,如以上所述,如果通過分析將p選擇在Z(x)中的不可約化的并且在絕對值p(1/2)上具有零點的最小多項式的點x=1,則所找到的素數(shù)是已經(jīng)預(yù)先存儲的。在此之后,可以將這些素數(shù)限制為只允許兩個不同的群階的那些素數(shù)。
如果復(fù)數(shù)乘法域是循環(huán)的,并且理想類群的指數(shù)大于2,則在這種情況下有益的素數(shù)具有正的密度。具體來說,存在無限數(shù)目的這種素數(shù)。
可以擴展為了產(chǎn)生適合于密碼目的的超橢圓曲線所描述的方法,使其可以覆蓋非素數(shù)的有限域Fq。在這種情況下,將數(shù)q=pf定義為素數(shù)p的乘方。指數(shù)f是一個自然數(shù),稱之為展開式的階。還可以假定,這個曲線不可能在Fq的子域上定義。
一旦復(fù)數(shù)乘法域K是一個伽羅瓦域,則p應(yīng)該選擇成在K/K0中,p=AA。
如果在Af=(w)是主要的理想數(shù)的條件下(其中w是來自0k的一個元素)將f選擇為最小,則在Fq上存在類多項式的一個平方根。根據(jù)這些平方根并且借助于Mestre算法就可以如以上詳述那樣構(gòu)造在Fq上的超橢圓曲線。這些曲線的階數(shù)由下式給出n=II(1-wi)或者II(1+wi),這里,下腳標(biāo)i=1,...,4,并且wi是w的共軛復(fù)數(shù)元素。
一旦復(fù)數(shù)乘法域是一個非伽羅瓦域并且是一個非正常域,則應(yīng)該選擇素數(shù)p,以使素數(shù)理想數(shù)(p)分解成3個理想數(shù)(p)=p1p2p2。
因此,存在一個理想A,這就意味著,A=p1p22,并且,再一次地將f選擇成最小值,其中Af=(w),其中的w是來自0k的一個元素。
在這些條件下,借助于Mestre算法如以上詳述可以在非素數(shù)有限域Fq(其中q=p2f)上構(gòu)造超橢圓曲線。像在伽羅瓦域K的情況一樣地,可以計算群階。
作為一個例子,在一個域上構(gòu)造一個曲線,從具有類號hk=5的復(fù)數(shù)乘法域K開始,它的展開式的階數(shù)為f=2hk=10。作為一個素數(shù)所使用的是p=911,它在域K上的理想數(shù)(p)分解成3個素數(shù)理想數(shù)。對于理想數(shù)A=p1p22,f=5是最小的指數(shù)。因此,主理想數(shù)是Af。
通過9階的多項式可表述在具有q=91110的Fq中的元素。模p的不可約化的類多項式是
H1(X)=701X10+401X9+322X8+712X7+125X6+774X5+513X4+869X3+474X2+49X+680模pH2(X)=186X10+895X9+453X8+86X7+180X6+47X5+811X4+339X3+887X2+296X+371模pH3(X)=75X10+280X9+616X8+737X7+511X6+179X5+623X4+533X3+616X2+697X+700模p所獲得的兩個可能的群階是n1=155012792308846128138632814006095268154658315370266774539376n2=155012792308846046374979954330693046736810307187589966188400相關(guān)的曲線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],已經(jīng)產(chǎn)生了簡化的記法a0+a1z+a2z2+a3z3+...+a8z8+a9z9=[a0a1a2a3...a8a9].
群階是n2=400r,這里的r是具有57個小數(shù)位的一個素數(shù)。
權(quán)利要求
1.一種確定適合于加密目的的超橢圓曲線的方法,包括步驟選擇一個復(fù)數(shù)乘法域K;確定一個與K中的最大階進(jìn)行復(fù)數(shù)乘的簡單的主極化的雅可比變化量的所有同構(gòu)類的表示系統(tǒng);確定與表示系統(tǒng)相關(guān)的周期矩陣;確定θ零位;確定在有限域Fq上的復(fù)數(shù)乘法域的類多項式;確定在有限域Fq上的超橢圓曲線;和規(guī)定超橢圓曲線的除子類群的群階n。
2.根據(jù)權(quán)利要求1所述的方法,其中超橢圓曲線是虧格2的曲線。
3.根據(jù)權(quán)利要求1所述的方法,其中從θ零位確定Igusa不變量。
4.根據(jù)權(quán)利要求3所述的方法,其中使用Igusa不變量來確定類多項式。
5.根據(jù)權(quán)利要求1所述的方法,其中從θ零位確定Mestre不變量。
6.根據(jù)權(quán)利要求5所述的方法,其中使用Mestre方法在Fq上產(chǎn)生超橢圓曲線。
7.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中以可訪問的形式存儲多個合適的復(fù)數(shù)乘法域K和相關(guān)的類多項式,并且從保持在存儲器中的所述多個中選擇一個復(fù)數(shù)乘法域以確定超橢圓曲線。
8.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中按照Siegel約化形式使用周期矩陣。
9.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中只確定6個θ零位。
10.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中為了確定表示系統(tǒng),不進(jìn)行測試,以便可以觀察復(fù)數(shù)乘法域K的實數(shù)子域的基本單位是否是復(fù)數(shù)乘法域的一個單位的范數(shù)。
11.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中為了確定表示系統(tǒng),確定一組理想類。
12.根據(jù)權(quán)利要求11所述的方法,其中識別成對的相互反向的理想類,對于每一對理想類只從θ零位確定Igusa不變量一次。
13.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中q是一個素數(shù)p。
14.根據(jù)權(quán)利要求13所述的方法,其中對于素數(shù)p進(jìn)行選擇,以使每個類多項式具有不多于hk個的線性因子,在這里,hk是復(fù)數(shù)乘法域K的類的數(shù)目。
15.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中對于復(fù)數(shù)乘法域進(jìn)行選擇,以使超橢圓曲線的除子類群的群階n是嚴(yán)格的素數(shù)。
16.根據(jù)前述權(quán)利要求中任何一個所述的方法,其中q是素數(shù)p的冪。
17.一種加密方法,其中用于加密數(shù)據(jù)的密鑰是從超橢圓曲線的Fq-有理數(shù)的群確定的,所說的超橢圓曲線是由根據(jù)前述權(quán)利要求中任何一個所述的方法產(chǎn)生的。
18.一種密碼設(shè)備,所說密碼設(shè)備使用根據(jù)前述權(quán)利要求之一所述的方法。
19.用于發(fā)送報文的發(fā)送器,包括根據(jù)權(quán)利要求18所述的用于加密報文的密碼設(shè)備。
20.用于接收報文的接收器,包括根據(jù)權(quán)利要求18所述的用于解密報文的密碼設(shè)備。
全文摘要
為了提供迅速確定安全的超橢圓曲線的方法,建議使用復(fù)數(shù)乘法方法構(gòu)造合適的超橢圓曲線。本發(fā)明的方法在具有大的特性曲線的有限域上產(chǎn)生適合于加密應(yīng)用的虧格2的超橢圓曲線。本發(fā)明進(jìn)一步還提供利用前述的方法的一種密碼設(shè)備,它能有益地用于加密和解密報文,可以在發(fā)送器和接收器之間的公共網(wǎng)絡(luò)上安全地交換信息。利用這樣一種密碼設(shè)備,可以在發(fā)送器和接收器的鑒別驗證過程中迅速而容易地加密應(yīng)該交換的報文和文件。
文檔編號G06F7/72GK1735858SQ200380108592
公開日2006年2月15日 申請日期2003年12月19日 優(yōu)先權(quán)日2003年1月10日
發(fā)明者A·翁 申請人:皇家飛利浦電子股份有限公司