專利名稱:用于對橢圓弧上的點(diǎn)進(jìn)行標(biāo)量乘法的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及 一 種用于對橢圓弧上的點(diǎn)進(jìn)行標(biāo)量乘法(Skalarmultiplikation )的方法,尤其是質(zhì)數(shù)體(Primk6rper) Fp 的最終擴(kuò)展體K上的橢圓弧,其中特征數(shù)p〉3。
背景技術(shù):
在密碼技術(shù)中,對稱方法和非對稱方法是不同的。對稱方法僅使 用一個(gè)秘密密鑰,既用于加密又用于解密。該密鑰必須通過安全信道 發(fā)布給兩個(gè)通信用戶。在非對稱方法中使用兩個(gè)密鑰, 一個(gè)公共密鑰, 一個(gè)私有密鑰。公共密鑰可以發(fā)布給所有用戶而不會(huì)危及數(shù)據(jù)交換的 安全性。因此密鑰交換在非對稱方法中不像在對稱方法中會(huì)出現(xiàn)問題。 非對稱方法的缺點(diǎn)是它比相應(yīng)的對稱方法慢成百上千倍。橢圓弧從1985年以來一直用于非對稱加密方法?;跈E圓弧的加 密方法的主要優(yōu)點(diǎn)是,與其他方法如RSA相比可以使用更小的密鑰, 但仍能達(dá)到相同的安全水平。160位的密鑰長度抵抗攻擊的安全性與 RSA方法中1024位密鑰的安全性相同。對密鑰的每一位,橢圓弧加密 方法都提供目前所有公知方法中最高的安全性。橢圓孤加密方法因此 尤其適合于具有極度有限帶寬的信道。缺點(diǎn)是,加密和解密的計(jì)算比 其他方法費(fèi)事。因此為了在密碼方法中使用,重要的是最佳地選擇密 碼系統(tǒng)的常數(shù)。假定K是特征數(shù)P〉3的最終體,而且a,beK。體K上的橢圓弧是 等式/= +^ + 6和4"3+2762#0的零值集合。橢圓弧在引入非最終遠(yuǎn)程 點(diǎn)作為中性元素的情況下是加性組。假定GcE是具有第一階的子組。 然后每個(gè)非平凡點(diǎn)PeG都是P的發(fā)生器。因此每個(gè)點(diǎn)QeG是標(biāo)量乘法 的結(jié)果Q-sP,其中se{0,...,ord(P)-l}。如果標(biāo)量s是正整數(shù),則該 標(biāo)量乘法是一個(gè)點(diǎn)P自身的s次重復(fù)相加。標(biāo)量乘法目前對于具有特定特性的弧來說是數(shù)學(xué)上的單向函數(shù)。 它可以用多項(xiàng)式時(shí)間計(jì)算,但是按照目前的現(xiàn)有技術(shù)只能顛倒為指數(shù)時(shí)間。將標(biāo)量乘法顛倒到橢圓弧也稱為離散的對數(shù)問題(ECDLP),并 且是基于橢圓弧的密碼系統(tǒng)的數(shù)學(xué)基礎(chǔ)。目前公知的用于在適用于加 密的橢圓弧上計(jì)算離散對數(shù)的方法具有復(fù)雜度0(2"n),其中n是GcE 的級數(shù)的二進(jìn)制長度。為了滿足當(dāng)前的安全要求,建議選擇至少一個(gè) 位長n〉160。
一個(gè)點(diǎn)P的標(biāo)量乘法通常通過橢圓弧的點(diǎn)的相加和加倍來執(zhí)行。 相加和加倍的計(jì)算規(guī)則由對體K的元素的元素運(yùn)算組成。為了高效率 地執(zhí)行該標(biāo)量乘法,需要體K中的優(yōu)化算術(shù)運(yùn)算。
在選擇基礎(chǔ)體K時(shí)的最重要因素是所提供的硬件平臺(tái)的體系結(jié)構(gòu)。 如果在硬件平臺(tái)上提供長數(shù)算術(shù)運(yùn)算并且集成了協(xié)處理器以加快體K 中的算術(shù)運(yùn)算,則可以為體K采用質(zhì)數(shù)體(Primkoerper)。具有協(xié)處 理器和長數(shù)算術(shù)運(yùn)算的芯片卡例如可以非常高效率地處理具有位長從 160位到600位的質(zhì)數(shù)的橢圓弧。
相反,在不具有專用計(jì)算裝置的硬件環(huán)境中,如總線寬度僅為8 位或16位而且沒有協(xié)處理器的嵌入式系統(tǒng),長數(shù)算術(shù)運(yùn)算必須通過相 應(yīng)的軟件指令才能執(zhí)行。因此密碼方法必須完全用軟件來實(shí)現(xiàn),而且 很難或需要很多經(jīng)驗(yàn)才能優(yōu)化。
這種用于標(biāo)量乘法的軟件解決方案的效率可以在由硬件提供的優(yōu) 化可能得到利用時(shí)顯著提高,所述由硬件提供的優(yōu)化可能例如是 Pentium 4處理器的SSE2單元或者信號(hào)處理器的同時(shí)相加和相乘。
選擇質(zhì)數(shù)體的替換方案是,可以為體K選擇質(zhì)數(shù)體Fp的擴(kuò)展體。 借助二進(jìn)制長度僅為20至30位并具有不可約分的級數(shù)為d的多項(xiàng)式 的較小質(zhì)數(shù)p,可以構(gòu)造出更小的體Fp。擴(kuò)展體的體元素在此是系數(shù)也 是來自體Fp、即多項(xiàng)式的多項(xiàng)式。通過這種方式,雖然質(zhì)數(shù)p較小但 是可以達(dá)到較大的有效位數(shù),這樣該位數(shù)能實(shí)現(xiàn)足夠高的安全性。因 此本發(fā)明的多項(xiàng)式算術(shù)運(yùn)算可以與各處理器的總線寬度相匹配,從而 在各處理器中提供的算術(shù)運(yùn)算可以最佳地使用并且不需要長數(shù)算術(shù)運(yùn) 算。在該多項(xiàng)式算術(shù)運(yùn)算中,如在乘以兩個(gè)n位數(shù)時(shí)需要進(jìn)行112次乘 法。有利的是在該多項(xiàng)式算術(shù)運(yùn)算中,通過采用專用算法來極大地減 少運(yùn)算的總次數(shù)。
為了在兩個(gè)多項(xiàng)式相乘時(shí)又返回到體中,其中該乘法的結(jié)果是級 數(shù)最大為2d-2的多項(xiàng)式,必須簡化該多項(xiàng)式。 一方面在最終體Fp中簡化以P為模的多項(xiàng)式的系數(shù),另一方面簡化以不可約分多項(xiàng)式為模的 該多項(xiàng)式本身。
通過精心選擇擴(kuò)展體Fp,可以將兩種簡化的代價(jià)降至最小。在此, 通過兩個(gè)主要的特性來表征關(guān)于特征數(shù)p>3和多項(xiàng)式展開的最大級數(shù) 為d-l的質(zhì)數(shù)體Fp的優(yōu)選擴(kuò)展體(0EF):
1. 質(zhì)數(shù)p是以p-2Uc,其中l(wèi)og (c)〈n/2形式存在的偽Mersenne 質(zhì)數(shù)。這種特征使得可以快速簡化體Fp。
2. 存在不可約分的多項(xiàng)式F(x)=Xd-weFp[X]。該特性使得可以快 速簡化多項(xiàng)式環(huán)Fp [X],因?yàn)榇喕南禂?shù)可以通過Fp中的乘法和加法 筒化。
最佳的擴(kuò)展體還可以是類型1或類型2: 類型1:對于質(zhì)數(shù)p, p-2n±l,即0=1。
類型2:對于不可約分的多項(xiàng)式F(X), F(x)=Xd-2,即w==2。 從數(shù)學(xué)上可以證明,最佳的擴(kuò)展體是類型l或類型2,但是不能同 時(shí)擁有兩個(gè)特性。類型1的最佳擴(kuò)展體使得可以高效率在質(zhì)數(shù)體Fp中 進(jìn)行算術(shù)運(yùn)算,而類型2的最佳擴(kuò)展體則可以高效地簡化多項(xiàng)式環(huán) FJX]。在兩種情況下都不能推斷出,在簡化Fp或簡化多項(xiàng)式環(huán)FP[X] 的過程中必須要用質(zhì)數(shù)體Fp的元素進(jìn)行乘法。
如果體K是質(zhì)數(shù)體Fp,則可以通過選擇專門的質(zhì)數(shù)p來加快簡化 質(zhì)數(shù)體Fp的元素的乘積。乘法所需要的運(yùn)算次數(shù)不僅僅取決于兩個(gè)因 子的位數(shù),還取決于因子的表達(dá)式的漢明(Hamming)加權(quán)。數(shù)Z的漢 明加權(quán)意思是Z的被置位的個(gè)數(shù)。11101的漢明加權(quán)例如是4。通過精 心選擇數(shù)的表達(dá)式,可以在兩個(gè)數(shù)相乘時(shí)節(jié)省計(jì)算運(yùn)算次數(shù)數(shù)63的 二進(jìn)制形式是表達(dá)式111111,其中漢明加權(quán)是6。冪為2的乘法通過 向左移位來實(shí)現(xiàn),從而在這種情況下總共需要5次移位運(yùn)算和5次相 加。但是數(shù)63也可以表示為26-1。在這種表達(dá)式中該數(shù)的漢明加權(quán)僅 為2,從而可以用6個(gè)比特位的向左移位和一次減法來進(jìn)行與63的乘 法。與此相反,在與數(shù)10相乘時(shí),雖然位數(shù)較少但是也需要兩次移位 運(yùn)算和一次加法。 一次乘法的開銷因此強(qiáng)烈取決于其漢明加權(quán)。在 National Institute of Standards and Technology (NIST, USA)推薦 的質(zhì)數(shù)體上的的橢圓孤列表中,注意到質(zhì)數(shù)具有漢明加權(quán)為3的表達(dá) 式p-2D士2"士l,由此實(shí)現(xiàn)了高效的筒化。不可約分的多項(xiàng)式Xd-2就簡化來說具有最佳的形式。該多項(xiàng)式只 包含兩項(xiàng),Xd和一個(gè)恒定的加法因子。該因子2也是最佳選擇的,因 為要簡化的系數(shù)只需要移動(dòng)一位就可以與2相乘。表達(dá)式p-2"土l中的 質(zhì)數(shù)就筒化來說同樣是最佳的,因?yàn)橹淮嬖谂c2"的一個(gè)加法項(xiàng)。不幸 的是這兩種類型無法彼此組合,從而在選擇擴(kuò)展體時(shí)總是需要平衡開 銷。
通過擴(kuò)展體定義的橢圓弧的系數(shù)a和b —般是多項(xiàng)式。對于 Koblitz弧,a和b位于基本體中并且是級數(shù)為0的多項(xiàng)式。向位于該 弧上的點(diǎn)賦予為p的冪,會(huì)將該點(diǎn)基于Frobenius的同形態(tài)在最終體 中又映射為相同的弧。如果a和b是多項(xiàng)式,則該點(diǎn)被映射到另一個(gè) 弧。在橢圓弧上的Frobenius自同態(tài)在自同態(tài)環(huán)中,即對于Koblitz 弧可以表達(dá)出涉及Frobenius自同態(tài)的全部標(biāo)量,由此獲得非常快速 的標(biāo)量乘法算法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,在沒有附加的協(xié)處理器的標(biāo)準(zhǔn)處 理器上用軟件高效地通過特征數(shù)p>3的最終擴(kuò)展體實(shí)現(xiàn)橢圓弧的點(diǎn)的 標(biāo)量乘法。
該技術(shù)問題通過一種用于通過特征數(shù)p>3的質(zhì)數(shù)體Fp的最終擴(kuò)展 體K對橢圓弧上的點(diǎn)進(jìn)行標(biāo)量乘法的方法來解決,其中該標(biāo)量乘法在 用于對消息加密、對消息解密、由消息產(chǎn)生簽名或者對消息進(jìn)行簽名 驗(yàn)證計(jì)算的密碼算法內(nèi)執(zhí)行,而且特征數(shù)p具有漢明加權(quán)《4,擴(kuò)展體K 在多項(xiàng)式的表達(dá)式中具有級數(shù)為d的不可約分多項(xiàng)式F(x)-r-2。由此 該最佳的擴(kuò)展體是類型2的擴(kuò)展體,并就多項(xiàng)式環(huán)Fp[X]的筒化來說具 有最佳的簡化特性。由于最佳的類型1擴(kuò)展體和類型2擴(kuò)展體是彼此 排斥的,因此不能以p=2n±l的形式表達(dá)該質(zhì)數(shù)。但是為了實(shí)現(xiàn)質(zhì)數(shù)體 Fp中的高效算術(shù)運(yùn)算,要求質(zhì)數(shù)p具有很小的漢明加權(quán)。通過二進(jìn)制 表達(dá)式中的很小的漢明加權(quán),強(qiáng)烈減少了運(yùn)算的次數(shù),加快了標(biāo)量乘 法的計(jì)算。
根據(jù)優(yōu)選的實(shí)施方式,所述特征數(shù)p具有為3的漢明加權(quán)。對于 小于3的漢明加權(quán)獲得類型1的最佳擴(kuò)展體。但由于已經(jīng)選擇類型2 的最佳擴(kuò)展體,因此漢明加權(quán)不可能小于3。如果漢明加權(quán)為4或者更大,則另外獲得對標(biāo)量乘法的算法的效率產(chǎn)生影響的和項(xiàng)。
根據(jù)優(yōu)選的實(shí)施方式,這樣選擇特征數(shù),使得p-2U2"土l,其中n 和m是自然數(shù)。如果以這種形式選擇特征數(shù),則特征數(shù)的漢明加權(quán)為3。
所有運(yùn)算可以通過比特位置的移位以及加法或減法來高效地實(shí)現(xiàn)。
根據(jù)優(yōu)選的實(shí)施方式,所述不可約分的多項(xiàng)式的級數(shù)d是質(zhì)數(shù)。 如果d是偶數(shù),則存在可以簡化該不可約分多項(xiàng)式的二項(xiàng)式。如果級 數(shù)d是質(zhì)數(shù),則可以防止已知的攻擊,這種攻擊可能在級數(shù)為非質(zhì)數(shù) 時(shí)出現(xiàn)。
才艮據(jù)優(yōu)選的實(shí)施方式,通過/= +欲+ 6和4^+2762*0給出橢圓弧。 這不會(huì)限制本方法用于其它弧。系數(shù)a和b的條件必須得到滿足,由 此橢圓弧沒有單數(shù)點(diǎn),否則就不適用于密碼應(yīng)用。
根據(jù)優(yōu)選的實(shí)施方式,橢圓弧是Koblitz弧。Koblitz弧允許借助 體Fp上的Frobenius自同態(tài)來實(shí)現(xiàn)快速的標(biāo)量乘法。
根據(jù)優(yōu)選的實(shí)施方式,所述標(biāo)量乘法借助Frobenius自同態(tài)在標(biāo) 量的冪級數(shù)表達(dá)中執(zhí)行。由此標(biāo)量乘法可以作為較短的標(biāo)量乘法的和 來實(shí)現(xiàn)。
根據(jù)優(yōu)選的實(shí)施方式,事先計(jì)算和存儲(chǔ)冪級數(shù)的冪。標(biāo)量乘法算 法的效率由此可以進(jìn)一步提高。
根據(jù)優(yōu)選的實(shí)施方式,將特征數(shù)p的位長和級數(shù)d與執(zhí)行標(biāo)量乘 法的處理器相匹配。在字寬為8位的處理器中,質(zhì)數(shù)p可以包括5到6 位,這可以表示直到31的質(zhì)數(shù)。為了實(shí)現(xiàn)足夠的安全性,不可約分多 項(xiàng)式的級數(shù)d在此必須選擇為高于具有更大位長的質(zhì)數(shù)的級數(shù)。為了 實(shí)現(xiàn)具有至少160位的體,需要級數(shù)d-23或29。在字寬為16位的處 理器中,特征數(shù)p可以具有12到13位的位長,不可約分多項(xiàng)式的級 數(shù)由此可以更小,例如d-ll。
根據(jù)優(yōu)選的實(shí)施方式,這樣選擇特征數(shù)p和級數(shù)d,使得為處理器 的總線寬度提供的算術(shù)運(yùn)算可直接用于標(biāo)量乘法。通過這種方式可以 在進(jìn)行乘法運(yùn)算時(shí)存儲(chǔ)中間結(jié)果,而不需要簡化特征數(shù)p。此外不需要 實(shí)施長數(shù)算術(shù)運(yùn)算。
根據(jù)優(yōu)選的實(shí)施方式,借助單指令多數(shù)據(jù)流(Streaming Single Instruction Mul"ple Data, SIMD)擴(kuò)展指令集(SSE )并行執(zhí)行標(biāo) 量乘法的各運(yùn)算部分。通過并行處理和利用其他在硬件平臺(tái)上提供的優(yōu)化可能,可以不采用協(xié)處理器就劇烈減少所需要的計(jì)算時(shí)間。
根據(jù)本發(fā)明,上述方法在非對稱密碼應(yīng)用中使用。這種應(yīng)用可以 實(shí)現(xiàn)密鑰交換、數(shù)字簽名等,其中計(jì)算時(shí)間和對硬件的要求都處于用 戶可接受的水平。
具體實(shí)施例方式
下面借助實(shí)施例詳細(xì)解釋本發(fā)明。
為了加快標(biāo)量乘法的計(jì)算,必須對應(yīng)于現(xiàn)有的硬件平臺(tái)優(yōu)化最佳 擴(kuò)展場上的橢圓弧以及場算術(shù)運(yùn)算。這是通過對計(jì)算開銷的優(yōu)化來實(shí)
現(xiàn)的,該計(jì)算開銷是在最佳的擴(kuò)展體不滿足類型1或類型2的條件時(shí) 所必要的。如果選擇了類型2的最佳擴(kuò)展體,由此產(chǎn)生的涉及類型1 的非最佳形式就可以通過精心選擇質(zhì)數(shù)p得到足夠的補(bǔ)償。相反,如 果不可約分的多項(xiàng)式F(X)不是最佳的,則意味著更多的計(jì)算開銷,因 為該多項(xiàng)式在計(jì)算時(shí)更頻繁地受到影響,并根據(jù)不同的級數(shù)d而相應(yīng) 地具有很多系數(shù)。
因此,為了補(bǔ)償涉及類型1的質(zhì)數(shù)的非最佳形式,作為質(zhì)數(shù)P選 擇二進(jìn)制表達(dá)式具有非常小的漢明加權(quán)的數(shù)。形式為p=2n±2B±l的質(zhì)數(shù) 具有最小可能的漢明加權(quán)、即3。附加的和項(xiàng)2"不像非最佳簡化多項(xiàng) 式那樣容易影響計(jì)算時(shí)間。
質(zhì)數(shù)p還可以這樣選擇,使得可以在寄存器中保持盡可能多的中 間結(jié)果,而不必簡化質(zhì)數(shù)p。由此可以允許相加性的常數(shù)存在而不會(huì)對 計(jì)算時(shí)間上造成大的負(fù)面影響,因?yàn)橹恍枰喕淮尉徒Y(jié)束。
在實(shí)施例中,作為目標(biāo)平臺(tái)使用具有SSE2單元的32位Pentium 4 處理器。為了不用長數(shù)算術(shù)運(yùn)算或協(xié)處理器也能實(shí)施,將質(zhì)數(shù)P的位 長選擇在20到30位之間。這與推薦的160位的位長相比,減小了 5 到8倍。
簡化多項(xiàng)式選擇為F(x)-Xd-w,其中d-ll, w-2。質(zhì)數(shù)選擇為 p-229-29+l,其中n-29, m-9, c = 511。質(zhì)數(shù)p由此只具有29位的位 長。
在定義最佳擴(kuò)展體時(shí)筒化所需要的與c = 51的乘法由于漢明加權(quán) 為3而可以非常高效地用快速運(yùn)算實(shí)現(xiàn)逐位的移位、加法和減法。
通過本發(fā)明可以找到最佳的擴(kuò)展體,該最佳擴(kuò)展體統(tǒng)一了類型1和類型2的最佳擴(kuò)展體的優(yōu)點(diǎn)。質(zhì)數(shù)體Fp的元素的乘積的簡化以及Fp 上的多項(xiàng)式環(huán)的乘積的簡化可以不采用處理器的乘法指令來進(jìn)行。與 相加性的常數(shù)c-±2m±l的乘法由于漢明加權(quán)較小而可以通過一次移位 運(yùn)算和一次減法或加法來實(shí)現(xiàn)。模數(shù)p的簡化可以只通過4次移位運(yùn) 算、兩次減法和兩次加法實(shí)現(xiàn)。此外,運(yùn)算數(shù)的系數(shù)的部分乘積的所 有中間和在64位寄存器中沒有溢出地存儲(chǔ)起來。模數(shù)p的簡化在計(jì)算 該乘積的系數(shù)結(jié)束時(shí)只進(jìn)行一次。
借助Intel的SSE2(流SIMD擴(kuò)展2 )匯編指令集,可以在Pentium 4處理器中并行地通過體Fp計(jì)算體算術(shù)運(yùn)算的各個(gè)部分。單指令多數(shù) 據(jù)(SIMD)概念和128位寄存器允許同時(shí)計(jì)算兩個(gè)分乘積,如在下面 的程序段中展示的。
下面的程序段利用具有很小漢明加權(quán)的表達(dá)式p-2"-29+l,以同時(shí) 簡化兩個(gè)中間結(jié)果
iuovdqa xn\m6, xmml 重復(fù)簡化步驟
pand xn\ml, [mask]
psrlq xram6, 29
psubq x鵬l, xram6
psllq x鵬6, 9
paddq xmml, xmrn6
mask dd Oxlfffffff, 0x00000000, Oxlfffffff, 0x00000000
借助用于4個(gè)雙字的SSE2指令,甚至可以在Fp中的加法和減法時(shí) 同時(shí)計(jì)算和簡化4個(gè)系數(shù)。
作為橢圓弧,選擇具有以p為模的Koblitz弧/二?+ox",其中
movd xmmO, [edi] punpcklqdq xmmO, xmmO
movdqu xmm6f 〖esi] pmuludq xmm6, x讓O paddq x讓l, xmm6 /
加載操作數(shù)a 使操作數(shù)a加倍 加載操作數(shù)b和c 計(jì)算a x b和a x c b和a x c與前面的結(jié)果相加
movdqa xnim7, xrnml ; 掩敝兩個(gè)車交〗氐的29位 pand xmml, [mask]
psrlq xram7, 29 ; 將較高的29位向右移位 psubq xmml, x鵬7 ; 相減 psllq xmm7, 9 ; 將較高的9位向左移位
paddq xmml, xmm7 ,' 相力口參數(shù)a-468383287, b=63579974。系數(shù)a和b是隨機(jī)獲得的,而且級數(shù) 為0,從而為一個(gè)點(diǎn)賦予為p的冪會(huì)將該點(diǎn)又映射為同一弧。通過這種 方式可以為非??焖俚臉?biāo)量乘法算法采用Frobenius自同態(tài)。為了進(jìn) 一步加快運(yùn)算,為此所需要的數(shù)2的冪要提前計(jì)算并存儲(chǔ)在表格中。最佳的擴(kuò)展體可以類似地選擇用于具有其它總線寬度的硬件平 臺(tái)。質(zhì)數(shù)p這樣選擇,使得一方面獲得類型2的最佳簡化多項(xiàng)式,即 Xd-2,另一方面質(zhì)數(shù)p具有最小的漢明加權(quán),從而在二進(jìn)制表達(dá)式中具 有盡可能少的和項(xiàng)。對于16位的處理器,質(zhì)數(shù)p例如具有l(wèi)l或13位 的位長。通過采用上述的最佳擴(kuò)展體和精心地選擇質(zhì)數(shù)p,減少了對橢圓弧 上的點(diǎn)計(jì)算標(biāo)量乘法的計(jì)算時(shí)間,從而可以更快地執(zhí)行使用最佳擴(kuò)展 體上的橢圓弧的密碼方法。另外,由于用于標(biāo)量乘法的方法可以通過 相應(yīng)選擇質(zhì)數(shù)的位長而可伸縮,并由此可以與不同的處理器總線寬度 匹配,因此該方法可用于不同的硬件平臺(tái)。尤其是在沒有長數(shù)算數(shù)或 協(xié)處理器的硬件平臺(tái)中,可以用很少的計(jì)算時(shí)間采用基于橢圓弧的非 對稱方法。
權(quán)利要求
1.一種用于通過特征數(shù)p>3的質(zhì)數(shù)體Fp的最終擴(kuò)展體K對橢圓弧上的點(diǎn)進(jìn)行標(biāo)量乘法的方法,其中該標(biāo)量乘法在用于對消息加密、對消息解密、由消息產(chǎn)生簽名或者對消息進(jìn)行簽名驗(yàn)證計(jì)算的密碼算法內(nèi)執(zhí)行,其特征在于,特征數(shù)p具有漢明加權(quán)≤4,擴(kuò)展體K在多項(xiàng)式的表達(dá)式中具有級數(shù)為d的不可約分多項(xiàng)式F(x)=Xd-2。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述特征數(shù)p具有 為3的漢明加權(quán)。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,選擇特征數(shù) p=2n±2m±l,其中n和m是自然數(shù)。
4. 根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述 不可約分的多項(xiàng)式的級數(shù)d是質(zhì)數(shù)。
5. 根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述棉圓弧通過少2 = JC3 +
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述橢圓弧是 Koblitz弧。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述標(biāo)量乘法借助 Frobenius自同態(tài)在標(biāo)量的冪級數(shù)表達(dá)中執(zhí)行。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于,事先計(jì)算和存儲(chǔ)冪 級數(shù)的冪。
9. 根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的方法,其特征在于,將特 征數(shù)p的位長和級數(shù)d與執(zhí)行標(biāo)量乘法的處理器相匹配。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,這樣選擇特征數(shù)p 和級數(shù)d,使得為處理器的總線寬度提供的算術(shù)運(yùn)算可直接用于標(biāo)量乘 法。
11. 根據(jù)權(quán)利要求9或IO所述的方法,其特征在于,這樣選擇特 征數(shù)p和級數(shù)d,使得通過擴(kuò)展體的模塊化乘法的中間乘積的所有系數(shù) 都不溢出地存儲(chǔ)在處理器的寄存器中。
12. 根據(jù)上述權(quán)利要求之一所述的方法,其特征在于,借助單指令多數(shù)據(jù)流擴(kuò)展指令集并行執(zhí)行標(biāo)量乘法的各運(yùn)算部分。
13.根據(jù)上述權(quán)利要求之一所述的方法在非對稱密碼應(yīng)用中的采用。
全文摘要
一種用于通過特征數(shù)p>3的質(zhì)數(shù)體F<sub>p</sub>的最終擴(kuò)展體K對橢圓弧上的點(diǎn)進(jìn)行標(biāo)量乘法的方法,其中特征數(shù)p具有很小的漢明加權(quán),擴(kuò)展體K的多項(xiàng)式的表達(dá)式具有級數(shù)為d的不可約分多項(xiàng)式F(x)=X<sup>d</sup>-2。
文檔編號(hào)G06F7/72GK101253473SQ200680031833
公開日2008年8月27日 申請日期2006年7月11日 優(yōu)先權(quán)日2005年8月30日
發(fā)明者A·卡格爾, B·邁耶 申請人:西門子公司