欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

橢圓曲線密碼系統(tǒng)和方法

文檔序號:2431034閱讀:297來源:國知局
專利名稱:橢圓曲線密碼系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)加解密,特別是利用橢圓曲線參數(shù)的特征提高公鑰密碼計算效率的方法和系統(tǒng)。
背景技術(shù)
密碼系統(tǒng)分對稱密碼系統(tǒng)和非對稱密碼系統(tǒng)。
對稱密碼也稱傳統(tǒng)密碼算法,對稱密碼的加密密鑰能夠從解密密鑰中推算出來,反之亦然。在大多數(shù)算法中,加密和解密使用的密鑰是相同的。這類密碼算法有時也稱秘密密鑰算法或單密鑰算法,它要求發(fā)送者和接收者在安全通信之前,協(xié)商一個密鑰。對稱密碼的安全性依賴于密鑰的秘密性,泄漏密鑰就意味著任何掌握密鑰的人都可以對消息進(jìn)行加密和解密。一般對稱密碼的運(yùn)算速度很快,但如何把密鑰安全地分發(fā)給合法使用者卻是一個問題。
在專利“密碼設(shè)備和方法”(“CRYPTOGRAPHIC APPARATUSAND METHOD”,專利號US4200770)中給出了一個可以在公開信道中交換密鑰的方法,稱為Diffie-Hellman密鑰交換方法。該專利使得通信雙方使用一個模冪函數(shù)協(xié)商和傳遞他們的秘密信息,攻擊者要想獲得傳遞的秘密信息,必須解決離散對數(shù)問題,而如果通信雙方使用的參數(shù)足夠大,則離散對數(shù)問題在計算上是不可解的。該專利奠定了公鑰密碼學(xué)的基本原理。
公鑰密碼,又稱非對稱密碼,與只使用一個密鑰的對稱密碼不同,它使用兩個獨(dú)立但又存在著某種數(shù)學(xué)聯(lián)系的密鑰公鑰和私鑰。通信的各方保密各自的私鑰,公開其公鑰,發(fā)送者使用接收者的公鑰加密,接收者使用只有自己知道的私鑰解密。公鑰密碼還可以解決數(shù)字簽名的問題,簽名者使用只有自己知道的私鑰對消息簽名,驗(yàn)證者使用簽名者的公鑰可以驗(yàn)證簽名的合法性。
專利“密碼通信系統(tǒng)和方法”(“CRYPTOGRAPHICCOMMNICATION SYSTEM AND METHOD”,專利號US4405829)提出了Rivest、Shamir和Adleman發(fā)明的一種公鑰密碼方法-RSA。RSA公鑰密碼方法的安全性基于大整數(shù)因子分解問題的難解性,伴隨著應(yīng)用對安全性要求的不斷提高,RSA密鑰的長度在不斷增加。
橢圓曲線密碼系統(tǒng)(Elliptic Curve Cryptosystems,簡稱ECC)自1985年由Neal Koblitz和Victor Miller提出以來,由于其相對于RSA的全方面的優(yōu)勢(更強(qiáng)的安全性、更高的實(shí)現(xiàn)效率、更省的實(shí)現(xiàn)代價),吸引了大批密碼學(xué)工作者就其安全性和實(shí)現(xiàn)方法作了大量的研究,并已逐漸被國際各大標(biāo)準(zhǔn)組織采納做為公鑰密碼標(biāo)準(zhǔn)(IEEE P1363、ANSIX9、ISO/IEC、和IETF等),成為主流應(yīng)用的公鑰密碼之一。
ECC的實(shí)現(xiàn)性能,在很大程度上依賴于橢圓曲線參數(shù)的選取,包括基域的選取和基域上橢圓曲線方程的選取。
在ECC應(yīng)用中,一般基域選擇為二元擴(kuò)域F2m或素域Fp(p為大于3的素數(shù))當(dāng)選擇基域?yàn)镕2m時,通過選擇F2m中的模多項(xiàng)式為三項(xiàng)式或五項(xiàng)式以及用高斯正規(guī)基表示F2m中的元素等技術(shù)手段,可以很大程度上提高F2m上各種算術(shù)運(yùn)算的性能,從而提高ECC的性能;當(dāng)選擇基域?yàn)镕p時,通過選擇p為特殊的素數(shù)(如NIST推薦的素數(shù))也可以很大程度上提高Fp上各種算術(shù)運(yùn)算的性能,但對于不同的特殊素數(shù)p,F(xiàn)p上不存在通用的高效率算法,這使得設(shè)計通用的ECC軟件和硬件時,很難采用基于這些特殊素數(shù)的高效算法。
橢圓曲線方程的選取決定了橢圓曲線的階(即橢圓曲線上點(diǎn)的個數(shù),記為n),在ECC應(yīng)用中,出于安全性的考慮一般要求n含有大素數(shù)因子,最佳選擇是當(dāng)基域?yàn)镕2m時,n/2或n/4為大素數(shù);當(dāng)基域?yàn)镕p時,n本身就是大素數(shù)。由于ECC簽名和驗(yàn)證過程中存在模n的算術(shù)運(yùn)算,n在一定程度上影響ECC的實(shí)現(xiàn)性能。

發(fā)明內(nèi)容
本發(fā)明提出一類Fp上ECC參數(shù)的選擇方法及基于這類ECC參數(shù)的高效算術(shù)運(yùn)算計算方法,目的在于克服針對如NIST推薦的特殊素數(shù)p的高效算法在通用性上的不足,使得實(shí)現(xiàn)通用的高效率的ECC軟件和硬件更為可行。
根據(jù)本發(fā)明的一個方面,提供一種橢圓曲線加解密方法,其中加解密參數(shù)為在素域Fp上的橢圓曲線具有Weierstrass方程y2=x3+ax+b,p為大于3的素數(shù),p型如2m-R(m為p的二進(jìn)制位長,若運(yùn)算處理器的字長為w,則需保證0<R<2w),橢圓曲線的階為n,選擇的參數(shù)a和b使得橢圓曲線的階n為2m-S的素數(shù),其中m為p的二進(jìn)制位長,0<S<2m/2。
根據(jù)本發(fā)明的另一個方面,提供一種橢圓曲線密碼(ECC)系統(tǒng),包含ECC協(xié)處理器,用于根據(jù)加解密參數(shù)執(zhí)行ECC運(yùn)算,其中加解密參數(shù)為在素域Fp上的橢圓曲線具有Weierstrass方程y2=x3+ax+b,p為大于3的素數(shù),橢圓曲線的階為n,選擇的參數(shù)a和b使得橢圓曲線的階n為2m-S的素數(shù),其中m為p的二進(jìn)制位長,0<S<2m/2;ECC機(jī)制模塊,用于執(zhí)行密鑰生成、加解密、簽名、密鑰協(xié)商中的一個或幾個;對外接口模塊,為訪問橢圓曲線密碼系統(tǒng)提供接口。


圖1是本發(fā)明的取模運(yùn)算的步驟流程圖;圖2是本發(fā)明的模乘運(yùn)算的步驟流程圖;圖3是本發(fā)明的另一種模乘運(yùn)算的步驟流程圖;圖4是本發(fā)明的橢圓曲線密碼系統(tǒng)的結(jié)構(gòu)方框圖。
具體實(shí)施例方式
以下將對本發(fā)明進(jìn)行詳細(xì)說明1、參數(shù)選擇為了滿足p的選取使得對乘積取模算法具有高效率和通用性的要求,本發(fā)明選取的p為大于3的素數(shù),p型如2m-R(m為p的二進(jìn)制位長,若運(yùn)算處理器的字長為w,則需保證0<R<2w),當(dāng)m較大(如m=192、244或256)而w較小(如w=4、8、16或32)時,我們稱p為擬梅森素數(shù)。Fp上的橢圓曲線具有Weierstrass方程y2=x3+ax+b,本發(fā)明選擇的參數(shù)a和b使得橢圓曲線的階n型如2m-S(其中0<S<2m/2)的素數(shù)。
下面列舉通過本發(fā)明參數(shù)選擇方法選擇的若干橢圓曲線參數(shù)如下(十六進(jìn)制表示)例1p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
b=DFE614C42A08A6AB6831F0565C736CB1F0C776AFn=FFFFFFFFFFFFFFFFFFFFB6239E9D323161103ABD例2p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48Ba=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF488b=4A5403BA1C2D4A792E85F89F08A5CE32F0D25F4Cn=FFFFFFFFFFFFFFFFFFFF9247D93D0E5FB399CDE3例3p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10b=C0E230B9D852345D0A24938ECD082BB226519B068C985B01n=FFFFFFFFFFFFFFFFFFFFFFFF13A4626ACF1CFCCFE14939CB例4p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10b=8625C178D0AA476F214E5E381FA369A18A25736745467A9Fn=FFFFFFFFFFFFFFFFFFFFFFFF732BBCC989D317B84E14AC7F例5p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEb=25A34B1905E25BB789FD73321FEE69F306527E2CCB854021C4578D5En=FFFFFFFFFFFFFFFFFFFFFFFFFFFF8A73F625FBEC2512A7FE240C9E6D例6p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEb=8B9077A9CE6714CD8DBFB3CE90E8044452A00A912415A6C361D85030n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFB3831B124A284F9AEA736005F3F1
例7p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40b=86C84B690C3DC31A4969284182055B390E60B1C8DA77C5F2B377C23F751218FAn=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA319E79A181CE28BB7401811025A8571采用本發(fā)明的ECC參數(shù)時,對于ECC運(yùn)算中的取模和模乘運(yùn)算可以采用以下方式2、對M(M為p或n)取模的計算方法輸入X,M(設(shè)2m-1≤M<2m)輸出X mod M1.計算R←2m-M;2.當(dāng)X≥2m時循環(huán)做2.1將X分為高、低兩部分XH和XL,使得X=XH×2m+XL;2.2計算X←XH×R+XL;3.若X≥M則計算X←X-M;4.輸出X。
3、對M(M為p或n)計算模乘的方法一輸入X,Y,M(設(shè)2m-1≤M<2m,設(shè)0≤X,Y<M)輸出X×Y mod M1.計算Z←X×Y;2.用本發(fā)明第2部分的方法計算Z mod M;3.輸出Z。
4、對M(M為p)計算模乘的方法二輸入X,Y,M(設(shè)2m-1≤M<2m,設(shè)0≤X,Y<M)輸出X×Y mod M1.計算R←2m-M;
2.選取適當(dāng)?shù)淖謱抴,使得R<2w且2w<m,將X按w分為n個字Xn-1,Xn-2,…,X1,X0,即使得X=Σi=0n-12wiXi;]]>3.設(shè)置Z←0,i←n-1;4.當(dāng)i≥0時循環(huán)做如下步驟4.1計算Z←Xi×Y+Z×2w;4.2將Z分為高、低兩部分ZH和ZL,使得Z=ZH×2m+ZL;4.3計算Z←ZH×R+ZL,i←i-1;5.當(dāng)Z≥M時循環(huán)做Z←Z-M;6.輸出Z。
以下結(jié)合附圖對本發(fā)明的取模和模乘的計算過程進(jìn)行詳細(xì)說明圖1是本發(fā)明的取模運(yùn)算的流程圖。
在步驟101,計算R←2m-M;在步驟102,判斷X≥2m是否成立,成立則轉(zhuǎn)入步驟103,否則轉(zhuǎn)入步驟105;在步驟103,將X分為高、低兩部分XH和XL,使得X=XH×2m+XL;在步驟104,計算X←XH×R+XL,轉(zhuǎn)入步驟102;在步驟105,判斷X≥M是否成立,成立則轉(zhuǎn)入步驟106,否則轉(zhuǎn)入步驟107;在步驟106,計算X←X-M;在步驟107,輸出X。
圖2是本發(fā)明的模乘運(yùn)算的流程圖。
在步驟201,計算Z←X×Y;在步驟202,用圖1所示的流程計算Z mod M;在步驟203,輸出Z。
圖3是本發(fā)明的另一種模乘運(yùn)算的流程圖。
在步驟301,計算R←2m-M;在步驟302,選取適當(dāng)?shù)淖謱抴,使得R<2w且2w<m,將X按w分為n個字Xn-1,Xn-2,…,X1,X0,即使得X=Σi=0n-12wiXi;]]>在步驟303,設(shè)置Z←0,i←n-1;
在步驟304,判斷i≥0是否成立,成立則轉(zhuǎn)入步驟305,否則轉(zhuǎn)入步驟308;在步驟305,計算Z←Xi×Y+Z×2w;在步驟306,將Z分為高、低兩部分ZH和ZL,使得Z=ZH×2m+ZL;在步驟307,計算Z←ZH×R+ZL,i←i-1,轉(zhuǎn)入步驟304;在步驟308,判斷Z≥M是否成立,成立則轉(zhuǎn)入步驟309,否則轉(zhuǎn)入步驟310;在步驟309,計算Z←Z-M,轉(zhuǎn)入步驟308;在步驟310,輸出Z。
圖4示出了本發(fā)明的ECC密碼系統(tǒng)的結(jié)構(gòu)示意圖,表明了本發(fā)明的計算方法在ECC密碼系統(tǒng)中的應(yīng)用位置,以及它們和ECC密碼系統(tǒng)的其它算法之間的相互關(guān)系。
一般ECC密碼系統(tǒng)提供密鑰對生成、加密和解密、簽名和驗(yàn)證、密鑰協(xié)商等密碼學(xué)功能。
從實(shí)現(xiàn)的角度來看,ECC密碼系統(tǒng)由算術(shù)運(yùn)算層401、EC點(diǎn)運(yùn)算層402、ECC機(jī)制層403和對外接口層404共四個模塊組成。
算術(shù)運(yùn)算層401位于ECC密碼系統(tǒng)的最底層,實(shí)現(xiàn)的是構(gòu)建ECC密碼系統(tǒng)所需的最基本的計算功能,一般包括模加、模減、取模(采用本發(fā)明的取模過程)、模乘(采用本發(fā)明的模乘運(yùn)算過程)和模逆。算術(shù)運(yùn)算層的功能支持其上各層次模塊的實(shí)現(xiàn)EC點(diǎn)運(yùn)算層需要調(diào)用算術(shù)運(yùn)算層才能完成橢圓曲線上點(diǎn)的運(yùn)算(包括點(diǎn)加、點(diǎn)倍和點(diǎn)乘),ECC機(jī)制層也需要直接調(diào)用算術(shù)運(yùn)算層的功能,算術(shù)運(yùn)算層的功能還可以通過對外接口層提供給用戶調(diào)用。
EC點(diǎn)運(yùn)算層402位于算術(shù)運(yùn)算層和ECC機(jī)制層之間,它通過調(diào)用算術(shù)運(yùn)算層的功能實(shí)現(xiàn)ECC機(jī)制層所需要的較復(fù)雜的運(yùn)算功能-橢圓曲線上點(diǎn)的運(yùn)算,包括點(diǎn)加、點(diǎn)倍和點(diǎn)乘運(yùn)算。EC點(diǎn)運(yùn)算層的功能支持ECC機(jī)制層的實(shí)現(xiàn),還可以通過對外接口層提供給用戶調(diào)用。
一般而言,算術(shù)運(yùn)算層和EC點(diǎn)運(yùn)算層支持但不依賴于ECC機(jī)制層的具體實(shí)現(xiàn),即相對于ECC機(jī)制層的各種具體實(shí)現(xiàn)而言是通用的,因此一般將這兩個層次實(shí)現(xiàn)到一個通用的部件一ECC協(xié)處理器中。ECC協(xié)處理器的實(shí)現(xiàn)方式可以是純硬件的、純軟件的、軟件與硬件結(jié)合的。
ECC機(jī)制層403調(diào)用ECC協(xié)處理器(即算術(shù)運(yùn)算層和EC點(diǎn)運(yùn)算層)的功能,實(shí)現(xiàn)ECC密鑰對生成、ECC加密和解密、ECC簽名和驗(yàn)證、ECC密鑰協(xié)商等密碼學(xué)的功能,這些密碼學(xué)功能通過對外接口層提供給用戶調(diào)用。
對外接口層404為用戶使用ECC密碼系統(tǒng)內(nèi)各層次的計算和密碼學(xué)功能提供一個友好的規(guī)范的接口,用戶無需知道ECC密碼系統(tǒng)內(nèi)各種算法和密碼功能的實(shí)現(xiàn)細(xì)節(jié)亦可獲得其所需的功能和服務(wù)。
本發(fā)明的各種計算方法均位于ECC密碼系統(tǒng)最底層的算術(shù)運(yùn)算層,依據(jù)發(fā)明人的統(tǒng)計和分析數(shù)據(jù)ECC密碼系統(tǒng)運(yùn)行時,超過70%的計算時間花費(fèi)在取模和模乘運(yùn)算上。因此取模和模乘計算方法的效率是影響ECC密碼系統(tǒng)性能的主導(dǎo)性因素,經(jīng)具體實(shí)現(xiàn)評估計算效率與針對如NIST推薦的特殊素數(shù)p的高效算法相當(dāng)。本發(fā)明的計算方法對于滿足本發(fā)明部分1的條件的橢圓曲線參數(shù)是通用,而針對如NIST推薦的特殊素數(shù)p的高效算法是不可通用的,因此本發(fā)明使得實(shí)現(xiàn)通用的高效率的ECC軟件和硬件更為可行。
以上結(jié)合本發(fā)明的最佳實(shí)施例對本發(fā)明進(jìn)行了描述,本領(lǐng)域的普通技術(shù)人員可以在不偏離本發(fā)明的范圍的情況下可對其作各種修改和改變。
權(quán)利要求
1.一種橢圓曲線加解密方法,其中加解密參數(shù)為在素域Fp上的橢圓曲線具有Weierstrass方程y2=x3+ax+b,p為大于3的素數(shù),p型如2m-R,m為p的二進(jìn)制位長,若運(yùn)算處理器的字長為w,則需保證0<R<2w,橢圓曲線的階為n,選擇的參數(shù)a和b使得橢圓曲線的階n為2m-S的素數(shù),其中m為p的二進(jìn)制位長,0<S<2m/2。
2.如權(quán)利要求1的橢圓曲線加解密方法,其中p、a、b和n為以下各組中的一組p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40b=DFE614C42A08A6AB6831F0565C736CB1F0C776AFn=FFFFFFFFFFFFFFFFFFFFB6239E9D323161103ABD;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48Ba=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF488b=4A5403BA1C2D4A792E85F89F08A5CE32F0D25F4Cn=FFFFFFFFFFFFFFFFFFFF9247D93D0E5FB399CDE3;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10b=C0E230B9D852345D0A24938ECD082BB226519B068C985B01n=FFFFFFFFFFFFFFFFFFFFFFFF13A4626ACF1CFCCFE14939CB;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10b=8625C178D0AA476F214E5E381FA369A18A25736745467A9Fn=FFFFFFFFFFFFFFFFFFFFFFFF732BBCC989D317B84E14AC7F;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEb=25A34B1905E25BB789FD73321FEE69F306527E2CCB854021C4578D5En=FFFFFFFFFFFFFFFFFFFFFFFFFFFF8A73F625FBEC2512A7FE240C9E6D;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEb=8B9077A9CE6714CD8DBFB3CE90E8044452A00A912415A6C361D85030n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFB3B31B124A284F9AEA736005F3F1;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40b=86C84B690C3DC31A4969284182055B390E60B1C8DA77C5F2B377C23F751218FAn=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA319E79A181CE28BB7401811025A8571。
3.如權(quán)利要求1的橢圓曲線加解密方法,其中包含對M取模的計算,M為p或n,取模的計算表示為輸入X,M,設(shè)2m-1≤M<2m,輸出Xmod M,計算過程如下a.計算R←2m-M;b.當(dāng)X≥2m時循環(huán)做;b.1將X分為高、低兩部分XH和XL,使得X=XH×2m+XL;b.2計算X←XH×R+XL;c.若X≥M,則計算X←X-M;d.輸出X。
4.如權(quán)利要求1的橢圓曲線加解密方法,其中包含對M模乘的計算,其中M為p或n,模乘的計算表示為輸入X,Y,M,設(shè)2m-1≤M<2m,設(shè)0≤X,Y<M,輸出X×Y mod M;計算過程如下計算Z←X×Y;用權(quán)利要求3的方法計算Z mod M;輸出Z。
5.如權(quán)利要求1的橢圓曲線加解密方法,其中包含對M模乘的計算,其中M為p或n,模乘的計算表示為輸入X,Y,M,設(shè)2m-1≤M<2m,設(shè)0≤X,Y<M,輸出X×Y mod M,計算過程如下a.計算R←2m-M;b.選取適當(dāng)?shù)淖謱抴,使得R<2w且2w<m,將X按w分為n個字Xn-1,Xn-2,…,X1,X0,即使得X=Σi=0n-12wiXi;]]>c.設(shè)置Z←0,i←n-1;d.當(dāng)i≥0時循環(huán)做如下步驟d.1計算Z←Xi×Y+Z×2w;d.2將Z分為高、低兩部分ZH和ZL,使得Z=ZH×2m+ZL;d.3計算Z←ZH×R+ZL,i←i-1;e.當(dāng)Z≥M時循環(huán)做Z←Z-M;f.輸出Z。
6.一種橢圓曲線密碼ECC)系統(tǒng),包含ECC協(xié)處理器,用于根據(jù)加解密參數(shù)執(zhí)行ECC運(yùn)算,其中加解密參數(shù)為在素域Fp上的橢圓曲線具有Weierstrass方程y2=x3+ax+b,p為大于3的素數(shù),p型如2m-R,m為p的二進(jìn)制位長,若運(yùn)算處理器的字長為w,則需保證0<R<2w,橢圓曲線的階為n,選擇的參數(shù)a和b使得橢圓曲線的階n為2m-S的素數(shù),其中m為p的二進(jìn)制位長,0<S<2m/2;ECC機(jī)制模塊,用于執(zhí)行密鑰生成、加解密、簽名、密鑰協(xié)商中的一個或幾個;對外接口模塊,為訪問橢圓曲線密碼系統(tǒng)提供接口。
7.如權(quán)利要求6的橢圓曲線密碼系統(tǒng),其中p、a、b和n為以下各組中的一組p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40b=DFE614C42A08A6AB6831F0565C736CB1F0C776AFn=FFFFFFFFFFFFFFFFFFFFB6239E9D323161103ABD;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48Ba=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF488b=4A5403BA1C2D4A792E85F89F08A5CE32F0D25F4Cn=FFFFFFFFFFFFFFFFFFFF9247D93D0E5FB399CDE3;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10b=C0E230B9D852345D0A24938ECD082BB226519B068C985B01n=FFFFFFFFFFFFFFFFFFFFFFFF13A4626ACF1CFCCFE14939CB;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10b=8625C178D0AA476F214E5E381FA369A18A25736745467A9Fn=FFFFFFFFFFFFFFFFFFFFFFFF732BBCC989D317B84E14AC7F;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEb=25A34B1905E25BB789FD73321FEE69F306527E2CCB854021C4578D5En=FFFFFFFFFFFFFFFFFFFFFFFFFFFF8A73F625FBEC2512A7FE240C9E6D;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBEb=8B9077A9CE6714CD8DBFB3CE90E8044452A00A912415A6C361D85030n=FFFFFFFFFFFFFFFFFFFFFFFFFFFFB3B31B124A284F9AEA736005F3F1;p=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43a=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40b=86C84B690C3DC31A4969284182055B390E60B1C8DA77C5F2B377C23F751218FAn=FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA319E79A181CE28BB7401811025A8571。
8.如權(quán)利要求6的橢圓曲線密碼系統(tǒng),其中ECC協(xié)處理器還用于對M取模的計算,M為p或n,取模的計算表示為輸入X,M,設(shè)2m-1≤M<2m,輸出X mod M,計算過程如下a.計算R←2m-M;b.當(dāng)X≥2m時循環(huán)做;b.1將X分為高、低兩部分XH和XL,使得X=XH×2m+XL;b.2計算X←XH×R+XL;c.若X≥M則計算X←X-M;d.輸出X。
9.如權(quán)利要求6的橢圓曲線密碼系統(tǒng),其中ECC協(xié)處理器還用于對M模乘的計算,其中M為p或n,模乘的計算表示為輸入X,Y,M設(shè)2m-1≤M<2m,設(shè)0≤X,Y<M,輸出X×Y mod M;計算過程如下計算Z←X×Y;用權(quán)利要求8的操作計算Zmod M;輸出Z。
10.如權(quán)利要求6的橢圓曲線密碼系統(tǒng),其中ECC協(xié)處理器還用于對M模乘的計算,其中M為p或n,模乘的計算表示為輸入X,Y,M,設(shè)2m-1≤M<2m,設(shè)0≤X,Y<M,輸出X×Ymod M,計算過程如下a.計算R←2m-M;b.選取適當(dāng)?shù)淖謱抴,使得R<2w且2w<m,將X按w分為n個字Xn-1,Xn-2,…,X1,X0,即使得X=Σi=0n-12wiXi;]]>c.設(shè)置Z←0,i←n-1;d.當(dāng)i≥0時循環(huán)做如下步驟d.1計算Z←Xi×Y+Z×2w;d.2將Z分為高、低兩部分ZH和ZL,使得Z=ZH×2m+ZL;d.3計算Z←ZH×R+ZL,i←i-1;e.當(dāng)Z≥M時循環(huán)做Z←Z-M;f.輸出Z。
全文摘要
本發(fā)明涉及數(shù)據(jù)加解密方法系統(tǒng)。本發(fā)明的橢圓曲線加解密方法中加解密參數(shù)為在素域Fp上的橢圓曲線具有Weierstrass方程y
文檔編號G09C1/00GK101079203SQ2006100824
公開日2007年11月28日 申請日期2006年5月22日 優(yōu)先權(quán)日2006年5月22日
發(fā)明者陳建華, 汪朝暉, 胡進(jìn), 胡志金, 孫金龍, 張家宏, 陽凌怡, 張麗娜 申請人:北京華大信安科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
家居| 拉萨市| 永福县| 金坛市| 郧西县| 商丘市| 梁河县| 岳池县| 扎囊县| 开化县| 昭觉县| 紫金县| 长乐市| 视频| 达孜县| 都江堰市| 葵青区| 博白县| 南城县| 桑日县| 美姑县| 仁布县| 辉南县| 和顺县| 隆昌县| 买车| 惠安县| 黄山市| 金阳县| 如东县| 叙永县| 班玛县| 张家界市| 浮梁县| 澄城县| 泰宁县| 静乐县| 宿州市| 徐汇区| 福鼎市| 濮阳县|