專利名稱:一種適用于二元域的歸約快速求模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種適用于二元域的歸約快速求模方法,特別地,涉及一種在點乘運算求解模乘和模方中快速求模運算的方法。
背景技術(shù):
橢圓曲線公鑰密碼體制(ECC),其安全性是基于橢圓曲線上的加法群的離散對數(shù)問題(ECDLP)求解的困難性。它作為一種新興的公開密鑰密碼體制,同其它諸如RSA等常用公鑰密碼體系相比,具有密鑰短、實現(xiàn)速度快、安全性高等優(yōu)點,在網(wǎng)絡通信迅猛發(fā)展的今天,有著良好的應用前景。ECC的點乘運算可以分解為點加和倍點,并有多種方法,如binary method, binary NAF method, Window NAF, Fixed-base window 及 Fixed-base comb 等。在點力卩和倍點運算當中存在著求解模逆的步驟,由于求解模逆較慢,采用射影坐標(projective coordinate)可以將求模逆的次數(shù)減少至一次,從而加快速度。有研究表明,射影 Montgomery點乘方法是一種不需要進行預計算的點乘方法,而且它速度快,安全性高。分析方法可知,點乘運算最后可以分解為模乘和模方的運算。如何快速地求解模乘和模方,特別是模乘和模方當中的求模運算成為進一步加快運算的關(guān)鍵。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種適用于二元域的歸約快速求模方法。本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的一種適用于二元域的歸約快速求模方法,包含用于輸入原始數(shù)據(jù)C (X)的步驟和用于輸出最后結(jié)果的步驟;此外,還包括用于將輸入的原始數(shù)據(jù)C (χ)變形的步驟;用于將輸入的原始數(shù)據(jù)C (χ)求模的步驟;用于判斷C (X)的次數(shù),逐次對C (χ)求模,使C (χ)的次數(shù)滿足要求的步驟。所述用于將輸入的原始數(shù)據(jù)C (χ)變形步驟對于一個次數(shù)大于或等于 《的多項式C(X),可表達成如下的形式CO) = q⑴嚴-s+《ζ)變形C⑴= ⑶[α-Β+Γ⑴-Γ⑶],…。其中,r為
運算單元的寬度,m為運算數(shù)據(jù)的段數(shù),令特征為2的有限域GF (2n),則運算數(shù)據(jù)分解為m 段,其中 r (m-1) <n 彡 64m 于將輸入的原始數(shù)據(jù)C (χ)求模的步驟 C(x)raodf(x) = [c:s+ ex(x)]mod/(x),
今 C(X) : C“觀χ)Χ一s、+Ci(x);
用于逐次對C (χ)求模,使C (χ)的次數(shù)滿足要求的步驟
判斷C (χ)的最高次數(shù)是否大于rm,如果大于rm,則繼續(xù)對C (X)進行變形、求模,如果小于rm,則運算結(jié)束,輸出最后結(jié)果。
本發(fā)明的有益效果是,運算速度快,特別是能明顯加快在二元域上的運算速度。同時該方法的安全性高,可靠性強。綜合后仿真結(jié)果表明運用該方法的IP能快速完成ECC 點乘運算,選取m=193,key為192位,在150MHz下的點乘速度約為2300次/秒。
圖1是適用于二元域的歸約快速求模方法的軟件流程圖; 圖2是適用于二元域的歸約快速求模方法的應用實例示意圖。
具體實施例方式本發(fā)明的總體思想是點乘運算最后可以分解為模乘和模方的運算。如何快速地求解模乘和模方,特別是模乘和模方當中的求模運算成為進一步加快運算的關(guān)鍵。由此,針對不可約多項式/(Z) = Z+T(X)中T(X)的次數(shù)通常較小的特點,提出了歸約快速求模方法。
點乘運算最后可以分解為模乘和模方的運算。如何快速地求解模乘和模方,特別是模乘和模方當中的求模運算成為進一步加快運算的關(guān)鍵。由此,針對不可約多項式 f(x) = Xx+T(X)中T (χ)的次數(shù)通常較小的特點,提出了歸約快速求模方法。對于一個次數(shù)大于或等于《的多項式C (χ),可表達成如下的形式 C(X) = Cli(X)Xs +C1(X),等式C(X)三Ci ⑶+ ⑴(mod/⑶)成立。多次運用此式即可得最
后的結(jié)果,使得C (χ)的次數(shù)小于η。由于T (χ)的次數(shù)較小,通常情況不下,迭代次數(shù)不會超過兩次,運算效率很高。在設(shè)計當中,為了實現(xiàn)域可擴展設(shè)計,采用了以64位為運算單元長度,分段進行計算的方案。比如,在m=193的域?qū)捛闆r下,可將運算數(shù)據(jù)分為4段,高段超出域?qū)挷糠盅a 0 ;在最后一次運算之前的每一次模乘或模方運算后,由于所得并非最終結(jié)果,故在運算后只要將其結(jié)果限制在4段以內(nèi),即可達到運算“收斂”(指不管經(jīng)過多少次模運算,其結(jié)果都保持在4段以內(nèi))的目的。這樣的設(shè)計,不但便于硬件實現(xiàn)多域?qū)挼腅CC運算,且由于運算采用了具有收斂特性的中間值,在一定程度上加速了運算。而由于此設(shè)計特點,對于上述的歸約快速求模方法,尚需作一定的變形。令域?qū)挒閚,此域?qū)捪碌倪\算數(shù)據(jù)段數(shù)為m,數(shù)據(jù)寬度為r,由上述可知,各運算數(shù)據(jù)長度為rm,且滿足條件r (m-lXn彡rm。經(jīng)過模乘或模方運算后,其結(jié)果數(shù)據(jù)C (χ)長度為 2rm。^C(.t) = CiCz),^+(χ) , W C(x) ^+T(x) - Τ(ζ)] + α, (x)(mod /(ζ))
可得:C(x) (x)xm_xT㈤+/(χ))??紤]到各中間結(jié)果只需保證其段數(shù)在m段
以內(nèi),故只要保證⑴項結(jié)果在m段以內(nèi),即可達到運算要求。由于T (χ)的次
數(shù)較小,同樣地,變形后的歸約快速求模方法的迭代次數(shù)通常不會超過兩次。如圖1所示1)先輸入原始數(shù)據(jù)C (X),將輸入的原始數(shù)據(jù)C (χ)變形,對于一個次數(shù)大于或等于《的多項式C (X),可表達成如下的形式C (X)=Ch (χ) [Xn+T (X)-T (χ)] X(rm-n)+Cl (χ);
2)對 C (X)求模,得到 C (x)modf (x)=[Ch (χ) T (χ) X (rm_n)+Cl (x)]modf (χ)。重新令 C (X)=Ch (χ)Τ (χ) Xm+Cl (χ);3)判斷C (X)的最高次數(shù)是否小于rm,如果不小于,回到第2)步,再次進行變形、求模運算,如果小于,則輸出最后結(jié)果。如圖2所示,控制器中保存系統(tǒng)的信息,控制系統(tǒng)的啟動和停止,通過ECC運算單元模塊完成ECC運算,其中的模乘部分由快速歸約求模單元完成。外部模塊通過總線接口可以直接訪問存儲器,讀取完成運算的數(shù)據(jù)和設(shè)置需要運算的數(shù)據(jù)。上述實施例用來解釋說明本發(fā)明,而不是對本發(fā)明進行限制,在本發(fā)明的精神和權(quán)利要求的保護范圍內(nèi),對本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護范圍。
權(quán)利要求
1.一種適用于二元域的歸約快速求模方法,它包含 用于輸入原始數(shù)據(jù)c (χ)的步驟;用于輸出最后結(jié)果的步驟;其特征在于,所述適用于二元域的歸約快速求模方法還包括 用于將輸入的原始數(shù)據(jù)C (χ)變形的步驟; 用于將輸入的原始數(shù)據(jù)C (χ)求模的步驟;用于判斷C (X)的次數(shù),逐次對C (X)求模,使C (X)的次數(shù)滿足要求的步驟。
2.根據(jù)權(quán)利要求1所述的適用于二元域的歸約快速求模方法,其特征在于,所述用于將輸入的原始數(shù)據(jù)C (χ)變形步驟具體為對于一個次數(shù)大于或等于《的多項式C(X),可表達成如下的形式
3.根據(jù)權(quán)利要求1所述的適用于二元域的歸約快速求模方法, 其特征在于,所述用于將輸入的原始數(shù)據(jù)C (χ)求模的步驟具體為
4.根據(jù)權(quán)利要求1所述的適用于二元域的歸約快速求模方法,其特征在于,所述用于逐次對C (χ)求模,使C (χ)的次數(shù)滿足要求的步驟具體為判斷C (χ)的最高次數(shù)是否大于rm,如果大于rm,則繼續(xù)對C (X)進行變形、求模,如果小于rm,則運算結(jié)束,輸出最后結(jié)果。
全文摘要
本發(fā)明公開了一種適用于二元域的歸約快速求模方法。包含用于輸入原始數(shù)據(jù)C(x)的步驟;用于輸出最后結(jié)果的步驟;所述適用于二元域的歸約快速求模方法還包括用于將輸入的原始數(shù)據(jù)C(x)變形的步驟;用于將輸入的原始數(shù)據(jù)C(x)求模的步驟;用于判斷C(X)的次數(shù),逐次對C(x)求模,使C(x)的次數(shù)滿足要求的步驟。本發(fā)明的運算速度快,特別是能明顯加快在二元域上的運算速度。同時該方法的安全性高,可靠性強。綜合后仿真結(jié)果表明運用該方法的IP能快速完成ECC點乘運算,選取m=193,key為192位,在150MHz下的點乘速度約為2300次/秒。
文檔編號G06F7/72GK102169426SQ20111010364
公開日2011年8月31日 申請日期2011年4月25日 優(yōu)先權(quán)日2011年4月25日
發(fā)明者李碧琛, 沈海斌 申請人:浙江大學