專利名稱:隨機(jī)模數(shù)化多項(xiàng)式約簡(jiǎn)方法及其硬件的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及尤其用于密碼術(shù)應(yīng)用中的算術(shù)處理和計(jì)算系統(tǒng)以及計(jì)算機(jī)實(shí)施的方法。明確地說,本發(fā)明涉及殘數(shù)算術(shù),其涉及有限域GF(2n)中多項(xiàng)式的模數(shù)化約簡(jiǎn),尤其是從Barrett約簡(jiǎn)方法導(dǎo)出的計(jì)算。
背景技術(shù):
大量密碼算法利用大整數(shù)乘法(或取冪)并將乘積約簡(jiǎn)為殘數(shù)值,所述殘數(shù)值對(duì)于與密鑰有關(guān)的指定模數(shù)是全等的。一些密碼算法,包含AES/Rijndael塊密碼程序以及基于離散對(duì)數(shù)和橢圓曲線的密碼算法,對(duì)有限域(例如,二進(jìn)制域GF(2n))中的多項(xiàng)式執(zhí)行算術(shù)運(yùn)算,包含對(duì)此類多項(xiàng)式執(zhí)行乘法(或取冪)和模數(shù)化約簡(jiǎn)運(yùn)算。密碼系統(tǒng)執(zhí)行的數(shù)學(xué)計(jì)算可能容易受到冪分析和時(shí)序攻擊。因此,重要的是,保護(hù)計(jì)算使得無法獲得關(guān)于密鑰的信息。
同時(shí),重要的是,這些計(jì)算快速而準(zhǔn)確。乘法和約簡(jiǎn),無論是對(duì)大整數(shù)還是對(duì)有限域中的多項(xiàng)式執(zhí)行,通常是密碼算法的計(jì)算量最大的部分。已開發(fā)出若干種獨(dú)特的計(jì)算技術(shù)來進(jìn)行有效的模數(shù)化約簡(jiǎn),包含稱為Quisquater方法、Barrett方法和Montgomery方法的計(jì)算技術(shù),以及涉及預(yù)先計(jì)算和查表的修改?,F(xiàn)有技術(shù)中描述并比較了這些眾所周知的技術(shù)。例如參見(1)A.Bosselaers等人,“Comparison of three modular reductionfunctions”,Advances in Cryptology/Crypto′93,LNCS 773,Springer-Verlag,1994,pp.175-186。(2)Jean Francois Dhem,“Design of an efficient public-key cryptographic libraryfor RISC-based smart cards”,博士論文,Universite catholique de Louvain,Louvain-la-Neuve,Belgium,1998年5月。(3)C.H.Lim等人,“Fast Modular ReductionWith Precomputation”,預(yù)印本,1999(可從CiteSeer Scientific Literature Digital Library獲得,citeseer.nj.nec.com/109504.html)。(4)Hollmann等人,“Method and Device forExecuting a Decrypting Mechanism through Calculating a Standardized ModularExponentiation for Thwarting Timing Attacks”,2002年4月2日,第6,366,673 B1號(hào)美國(guó)專利(基于1998年9月15日申請(qǐng)的申請(qǐng)案)。
本發(fā)明的一目的是提供尤其應(yīng)用于多項(xiàng)式的對(duì)Barrett模數(shù)化約簡(jiǎn)方法的改進(jìn)和相應(yīng)的計(jì)算設(shè)備,其較安全地抵抗密碼分析攻擊,同時(shí)仍提供快速而準(zhǔn)確的結(jié)果。
本發(fā)明的另一目的是提供加速用于多項(xiàng)式模數(shù)化約簡(jiǎn)的商估計(jì)的上文提及的改進(jìn)的方法和設(shè)備。
發(fā)明內(nèi)容
通過計(jì)算機(jī)實(shí)施的二進(jìn)制有限域GF(2n)中多項(xiàng)式的模數(shù)化約簡(jiǎn)方法來實(shí)現(xiàn)這些目的,其中使用多項(xiàng)式模數(shù)的預(yù)先計(jì)算的定標(biāo)反數(shù)作為乘數(shù)來估計(jì)(至少達(dá)到正確的多項(xiàng)式次數(shù))用于約簡(jiǎn)計(jì)算的多項(xiàng)式商。通過約簡(jiǎn)得到的多項(xiàng)式余數(shù)始終與相對(duì)于指定的n次不可約多項(xiàng)式模數(shù)的相應(yīng)的中間乘積同余,但通常大于(就多項(xiàng)式次數(shù)來說)最小殘數(shù)值并以隨機(jī)方式對(duì)于每次執(zhí)行不同。因?yàn)槭构烙?jì)誤差有意隨機(jī)化,所以所述方法較安全地抵抗密碼分析。而且,中間結(jié)果數(shù)學(xué)上相等(與真實(shí)值同余),且可通過非隨機(jī)地處理最終嚴(yán)格約簡(jiǎn)來獲得最終結(jié)果,因此實(shí)現(xiàn)密碼運(yùn)算的可逆性所需的準(zhǔn)確性。
用于執(zhí)行本發(fā)明的方法步驟的硬件包含隨機(jī)數(shù)字產(chǎn)生器,其將隨機(jī)誤差內(nèi)射到商估計(jì)中。具有存儲(chǔ)器存取權(quán)的計(jì)算單元在運(yùn)算定序器的控制下操作,執(zhí)行固件以實(shí)行多字多項(xiàng)式乘法的字范圍相乘-累加步驟和模數(shù)化約簡(jiǎn)。計(jì)算單元可包含專用于有限域多項(xiàng)式運(yùn)算的相乘-累加硬件,或可經(jīng)選擇以執(zhí)行自然數(shù)或多項(xiàng)式算術(shù)。
圖1是根據(jù)本發(fā)明的計(jì)算硬件的示意平面圖(包含隨機(jī)數(shù)字產(chǎn)生器單元),所述計(jì)算硬件用于執(zhí)行本發(fā)明的模數(shù)化約簡(jiǎn)方法。
圖2是說明本發(fā)明模數(shù)化約簡(jiǎn)方法的一般步驟的流程圖。
具體實(shí)施例方式 參看圖1,計(jì)算硬件包含計(jì)算單元10,其能夠?qū)拇鎯?chǔ)器(RAM)12和工作寄存器14檢索到的多項(xiàng)式運(yùn)算數(shù)執(zhí)行字范圍有限域相乘和相乘-累加步驟。寄存器14可以是將負(fù)責(zé)正常整數(shù)運(yùn)算中的進(jìn)位內(nèi)射的相同硬件寄存器。運(yùn)算定序器16包括邏輯電路,其用于根據(jù)固件或軟件指令控制計(jì)算單元10,以使該組運(yùn)算使用不可約多項(xiàng)式為基礎(chǔ)實(shí)行多字有限域多項(xiàng)式乘法(或取冪)和模數(shù)化約簡(jiǎn)。存儲(chǔ)在可由運(yùn)算定序器16存取的寄存器18中的運(yùn)算參數(shù)是,使運(yùn)算定序器能夠定位RAM 12內(nèi)的運(yùn)算數(shù)的指針,以及關(guān)于運(yùn)算數(shù)的長(zhǎng)度(字的數(shù)目)和中間結(jié)果的目的地地址的信息。
如到目前為止所描述,所述設(shè)備大體上類似于適于多字多項(xiàng)式算術(shù)運(yùn)算的其它可用硬件。在二進(jìn)制有限域GF(2n)中實(shí)行的多項(xiàng)式算術(shù)與自然數(shù)算術(shù)不同之處在于,忽略進(jìn)位和加法與減法的等價(jià)。計(jì)算單元可包含專用于有限域多項(xiàng)式運(yùn)算的相乘-累加硬件,或者可以是可經(jīng)選擇以執(zhí)行自然數(shù)或多項(xiàng)式算術(shù)的雙重用途自然數(shù)/多項(xiàng)式算術(shù)硬件。除了下文將描述的約簡(jiǎn)步驟的細(xì)節(jié)外,所述固件或軟件指令還類似于用于執(zhí)行字范圍程序段中的有效的多字多項(xiàng)式乘法或取冪的現(xiàn)有技術(shù)程序。
與這種類型的現(xiàn)有技術(shù)硬件不同,圖1中的硬件還包含隨機(jī)數(shù)字產(chǎn)生器20,其(例如)可以是任何已知的偽隨機(jī)數(shù)字產(chǎn)生器電路。隨機(jī)數(shù)字產(chǎn)生器執(zhí)行計(jì)算并輸出隨機(jī)數(shù)字,所述隨機(jī)數(shù)字的位被解譯為待用于本發(fā)明方法中的隨機(jī)多項(xiàng)式的二進(jìn)制系數(shù)。此處,隨機(jī)數(shù)字產(chǎn)生器20由計(jì)算單元10在運(yùn)算定序器16根據(jù)實(shí)施本發(fā)明方法的程序指令引導(dǎo)下存取,以便將隨機(jī)化誤差量?jī)?nèi)射到商估計(jì)中,如下文所描述。
參看圖2,本發(fā)明方法是Barrett模數(shù)化約簡(jiǎn)技術(shù)的改進(jìn),其提供較快的商估計(jì)并抵抗密碼分析攻擊,且將模數(shù)化約簡(jiǎn)技術(shù)應(yīng)用于二進(jìn)制有限域GF(2n)中的多項(xiàng)式。所述方法由圖1中的硬件執(zhí)行。
多項(xiàng)式的模數(shù)化算術(shù)在某些方面類似于整數(shù)的模數(shù)化算術(shù),但將此延伸到二進(jìn)制有限域GF(2n)內(nèi)的多項(xiàng)式需要對(duì)基本運(yùn)算進(jìn)行某些修改。讓我們首先引入某一域內(nèi)的多項(xiàng)式。對(duì)于域F的任意多個(gè)項(xiàng)(am-1,...a1,a0),我們可關(guān)聯(lián)x的(m-1)次的多項(xiàng)式am-1xm-1+...a1x1+a0x0。在任何二進(jìn)制有限域的情況下,域的項(xiàng)均為{0,1},且因此多項(xiàng)式系數(shù)ai同樣為0或1。這一概念尤其適用于本質(zhì)上為二進(jìn)制的計(jì)算機(jī)硬件,因?yàn)槊恳晃豢杀唤庾g為有限域元素。舉例來說,我們可將每個(gè)二進(jìn)制字節(jié)值[a7 a6 a5 a4 a3 a2 a1 a0]與7次(或更小)的GF(2n)內(nèi)的相應(yīng)多項(xiàng)式a7x7+a6x6+asx5+a4x4+a3x3+a2x2+a1x+a0相關(guān)聯(lián)。因此,例如,字節(jié)值
被解譯為二進(jìn)制多項(xiàng)式x6+x5+x+1。較長(zhǎng)的多字節(jié)序列可同樣被解譯為較高次的多項(xiàng)式,條件是在二進(jìn)制有限域GF(2n)內(nèi)多項(xiàng)式次數(shù)(m-1)小于n,以便使多項(xiàng)式屬于所述域。(注意當(dāng)比較多項(xiàng)式的相對(duì)大小時(shí),所述比較是按次數(shù)執(zhí)行的,以x的最大次數(shù)的多項(xiàng)式系數(shù)開始。)域中多項(xiàng)式的加法和減法以單獨(dú)地加上或減去每一次的系數(shù)的通常方式實(shí)行, 然而,對(duì)于任何二進(jìn)制域,項(xiàng)均為{0,1},因此域元素的加法和減法以2為模來執(zhí)行(0±0=0,0±1=1±0=1,1±1=0)。注意,在此情況下,減法與加法相同。在計(jì)算機(jī)硬件中,通過對(duì)位陣列執(zhí)行邏輯XOR運(yùn)算來執(zhí)行以2為模的加法/減法。舉例來說,(x6+x4+x2+x 1)+(x7+x+1)=(x7+x6+x4+x2);或者按照二進(jìn)制記數(shù)法,
[10000011]=[11010100]。多項(xiàng)式乘法通常由下式定義(對(duì)于無限域) 其中系數(shù)ck通過以下卷積給出 (再次,在二進(jìn)制域中,以2為模執(zhí)行求和。) 然而,在有限域中,這一定義必須經(jīng)修改以便確保乘積也屬于所述域。明確地說,通常的多項(xiàng)式乘法之后是以n次的模數(shù)m(x)進(jìn)行模數(shù)化約簡(jiǎn)(其中,如GF(2n)中一樣,n是有限域的維數(shù))。模數(shù)m(x)優(yōu)選地選擇為不可約多項(xiàng)式(素?cái)?shù)的多項(xiàng)式模擬量,即不能被因子分解為同一域內(nèi)的非平凡多項(xiàng)式的多項(xiàng)式)。舉例來說,在AES/Riindael對(duì)稱塊密碼程序中,使用特定的不可約多項(xiàng)式m(x)=x8+x4+x3+x+1作為執(zhí)行多項(xiàng)式乘法時(shí)的模數(shù)化約簡(jiǎn)的所選基礎(chǔ),對(duì)二進(jìn)制有限域GF(28)中的字節(jié)(7次或更小次數(shù)的多項(xiàng)式)執(zhí)行運(yùn)算。作為二進(jìn)制有限域中的多項(xiàng)式乘法的實(shí)例,使用為AES指定的特定m(x)(x6+x4+x2+x+1)·(x7+x+1)=(x13+x11+x9+x8+x6+x5+x4+x3+1),在約簡(jiǎn)之后給出(x7+x6+1)。
設(shè)F[x]是系數(shù)全部為域F的項(xiàng)的多項(xiàng)式組。如果模數(shù)m(x)是F[x]中d次的多項(xiàng)式,那么對(duì)于多項(xiàng)式p(x),r(x)∈F[x]的情況,我們認(rèn)為當(dāng)且僅當(dāng)m(x)除多項(xiàng)式p(x)-r(x),換句話說p(x)-r(x)是m(x)的多項(xiàng)式倍數(shù),即p(x)-r(x)=q(x)·m(x)(其中某多項(xiàng)式q(x)∈F[x])時(shí),p(x)與r(x)模m(x)同余,寫成p(x)≡r(x)(mod m(x))。
等效地,p(x)和r(x)當(dāng)被m(x)除時(shí)得到相同的余數(shù)。多項(xiàng)式p(x)(其可為F[x]中多項(xiàng)式a(x)和b(x)的一般乘積,即p(x)=a(x)·b(x))的模數(shù)化約簡(jiǎn)涉及查找多項(xiàng)式商q(x)使得余數(shù)或殘數(shù)r(x)是小于m(x)的次數(shù)的多項(xiàng)式,即deg(r(x))<d。多項(xiàng)式殘數(shù)r(x)(其與p(x)同余)是我們最終想要的多項(xiàng)式值。在二進(jìn)制有限域GF(2n)中,m(x)將是n次的不可約多項(xiàng)式,且所尋求的殘數(shù)多項(xiàng)式r(x)的次數(shù)將小于n;但p(x)以及因此(同樣)q(x)可以是任何次數(shù),且至少待約簡(jiǎn)的多項(xiàng)式p(x)的次數(shù)通常大于m,例如當(dāng)p(x)為乘積時(shí)。在任何情況下,任何模數(shù)化約簡(jiǎn)方法中的基本問題是有效地獲得商,尤其對(duì)于較大次數(shù)的多項(xiàng)式p(x)和m(x)。在密碼應(yīng)用的情境下,額外的問題是以防止冪分析攻擊的方式在計(jì)算硬件中執(zhí)行約簡(jiǎn)運(yùn)算。
最初針對(duì)整數(shù)約簡(jiǎn)運(yùn)算設(shè)計(jì)的Barrett方法涉及預(yù)先計(jì)算和存儲(chǔ)模數(shù)的倒數(shù)的定標(biāo)估計(jì)值U,并通過乘法和字或位移位(被x除)來替代長(zhǎng)除法以便估計(jì)商。通過適當(dāng)?shù)剡x擇參數(shù),商估計(jì)值的誤差至多為2。本發(fā)明修改Barrett方法使其適合二進(jìn)制有限域中多項(xiàng)式的模數(shù)化約簡(jiǎn),并且還通過較快地估計(jì)商且在計(jì)算余數(shù)之前有意將隨機(jī)誤差內(nèi)射到商中而對(duì)Barrett方法作出改進(jìn)。所得的隨機(jī)化余數(shù)將略大于(就多項(xiàng)式次數(shù)來說)但與殘數(shù)值同余。
設(shè)k是多項(xiàng)式模數(shù)m(x)的次數(shù)大小,其中 其中 mk=1,mi∈{0,1}其中k-1≥i≥0 且設(shè)p(x)是待約簡(jiǎn)的多項(xiàng)式(次數(shù)至多為l),其中 其中 pj∈{0,1}其中l(wèi)≥j≥0 deg(p(x))≤2·k+1 我們一開始預(yù)先計(jì)算和存儲(chǔ)(圖2中步驟30)常數(shù)多項(xiàng)式u(x),其表示模數(shù)m(x)的定標(biāo)倒數(shù) u(x)=x2k+1/m(x) 接著,隨后將存儲(chǔ)的這一值用于針對(duì)此特定模數(shù)m(x)的所有多項(xiàng)式約簡(jiǎn)運(yùn)算中。u(x)對(duì)于并非x的簡(jiǎn)單冪的每個(gè)模數(shù)m(x)始終為k次。
為了執(zhí)行p(x)的模數(shù)化約簡(jiǎn),我們使用所存儲(chǔ)的值u(x)來估計(jì)多項(xiàng)式商q(x)(步驟32) q(x)=((p(x)/xk-1)·u(x)/xk+2 對(duì)于高次(多字)的模數(shù)m(x),可通過字移位而不是位移位來執(zhí)行所述運(yùn)算。對(duì)于字大小w,我們可定義u(x)=x2k+w/m(x)并估計(jì)商q(x)=((p(x)/xk-w)·u(x))/xk+2w。在此情況下,多項(xiàng)式p(x)可具有稍許較大的次數(shù)deg(p(x))≤2·k+w。這簡(jiǎn)化了計(jì)算硬件中對(duì)多項(xiàng)式量的處理。此計(jì)算僅需要二進(jìn)制有限域多項(xiàng)式乘法(不進(jìn)行約簡(jiǎn))和多項(xiàng)式次數(shù)的移位。
在此階段(步驟36),將隨機(jī)多項(xiàng)式誤差E(x)內(nèi)射到計(jì)算出的多項(xiàng)式商中以獲得隨機(jī)化商,q′(x)=q(x)+E(x)。可通過任何已知的隨機(jī)或偽隨機(jī)數(shù)字產(chǎn)生器(硬件或軟件)來產(chǎn)生(步驟34)隨機(jī)多項(xiàng)式誤差E(x),其中所產(chǎn)生的二進(jìn)制值以上文已描述的方式被解譯為多項(xiàng)式。唯一的限制是,誤差的多項(xiàng)式次數(shù)落在指定范圍(例如,0≤deg(E(x))<w/2)內(nèi)。
對(duì)于高次(多字)的模數(shù)m(x),誤差應(yīng)限于幾個(gè)位,例如小于二分之一字,即deg(E(x))<w/2。除了由商估計(jì)本身引起的任何誤差以外,這將隨機(jī)產(chǎn)生器引起的潛在誤差限于指定數(shù)目的位,例如二分之一字。
接下來,我們計(jì)算(步驟38)余數(shù)r′(x),其將與(模數(shù)m(x))殘數(shù)值r(x)同余 r′(x)=p(x)+q′(x)·m(x) 因?yàn)殡S機(jī)多項(xiàng)式誤差E被引入到多項(xiàng)式商q(x)中,所以計(jì)算出的余數(shù)r′(x)的次數(shù)將略大于模數(shù)m(x)。
余數(shù)r′(x)可用于進(jìn)一步的計(jì)算中,其結(jié)果視需要可再次被約簡(jiǎn)。(誤差保持有界。) 或者,視特定應(yīng)用的需要而定,可通過以模數(shù)m(x)應(yīng)用一般GF(2n)多項(xiàng)式約簡(jiǎn)以獲得小于m(x)的多項(xiàng)式值,而依據(jù)余數(shù)r′(x)計(jì)算出殘數(shù)r(x)。
使模數(shù)化約簡(jiǎn)隨機(jī)化防止了依賴于冪使用的一致性來確定模數(shù)的各種密碼分析攻擊。此處,p(x)模m(x)的二進(jìn)制域多項(xiàng)式約簡(jiǎn)依據(jù)執(zhí)行的不同而隨機(jī)地不同,同時(shí)仍產(chǎn)生全等的中間余數(shù)r′(x)。最后用于產(chǎn)生最終殘數(shù)值r(x)的二進(jìn)制域多項(xiàng)式約簡(jiǎn)的序列也依據(jù)執(zhí)行的不同而隨機(jī)地不同,因?yàn)槠鋵?duì)不同的余數(shù)r′(x)執(zhí)行運(yùn)算。將以此方式約簡(jiǎn)的多項(xiàng)式p(x)可通過多種不同的算術(shù)運(yùn)算來獲得,所述算術(shù)運(yùn)算包含乘法、乘方、求冪、加法等。同樣,將使用的模數(shù)m(x)可以多種方式導(dǎo)出,最通常在密碼系統(tǒng)中從密鑰中導(dǎo)出。本發(fā)明的隨機(jī)化模數(shù)化約簡(jiǎn)方法可用于依賴于此類二進(jìn)制域GF(2n)多項(xiàng)式約簡(jiǎn)的許多密碼算術(shù)中,包含Rijndael/AES對(duì)稱塊密碼程序以及基于離散對(duì)數(shù)的公開密鑰密碼系統(tǒng)。
權(quán)利要求
1.一種在二進(jìn)制有限域GF(2n)中的密碼安全且計(jì)算機(jī)硬件實(shí)施的模數(shù)化多項(xiàng)式約簡(jiǎn)方法,其包括
預(yù)先計(jì)算表示多項(xiàng)式模數(shù)m(x)的位定標(biāo)倒數(shù)的多項(xiàng)式常數(shù)u(x)并將其存儲(chǔ)在存儲(chǔ)器中;
估計(jì)將以模數(shù)m(x)約簡(jiǎn)的多項(xiàng)式p(x)的近似多項(xiàng)式商q,其中在計(jì)算單元中通過在GF(2n)內(nèi)借助所述常數(shù)u(x)并借助位移位進(jìn)行多項(xiàng)式乘法來對(duì)p(x)執(zhí)行所述估計(jì);
在隨機(jī)數(shù)字產(chǎn)生器中產(chǎn)生隨機(jī)多項(xiàng)式誤差值E(x)并將所述多項(xiàng)式誤差值應(yīng)用于所述近似多項(xiàng)式商以獲得隨機(jī)化多項(xiàng)式商q′(x)=q(x)+E(x);以及
在所述計(jì)算單元中計(jì)算多項(xiàng)式余數(shù)r′(x)=p(x)+q′(x)·m(x),所述余數(shù)r′(x)的次數(shù)高于所述模數(shù)m(x)但與p(x)模m(x)同余,且其中p(x)的次數(shù)小于或等于2k+1。
2.根據(jù)權(quán)利要求1所述的方法,其中根據(jù)等式u(x)=x2k+w/m(x)來執(zhí)行預(yù)先計(jì)算所述多項(xiàng)式常數(shù)u(x)。
3.根據(jù)權(quán)利要求2所述的方法,其中所述計(jì)算單元根據(jù)等式q(x)=((p(x)/xk-1)·u(x))/xk+2來執(zhí)行估計(jì)所述商q(x)。
4.根據(jù)權(quán)利要求1所述的方法,其中所述位移位是字尺度移位,將所述多項(xiàng)式常數(shù)預(yù)先計(jì)算為u(x)=x2k+w/m(x),且將所述商估計(jì)為q(x)=((p(x)/xk-w)·u(x))/xk+2w,其中w是以位計(jì)的字尺度,且其中p(x)的次數(shù)小于或等于2k+w。
5.根據(jù)權(quán)利要求4所述的方法,其中所述隨機(jī)數(shù)字產(chǎn)生器具有二分之一字的指定誤差極限,借此0≤deg(E(x))<w/2。
6.根據(jù)權(quán)利要求1所述的方法,其中所述p(x)的模數(shù)化約簡(jiǎn)是計(jì)算機(jī)硬件實(shí)施的密碼程序的一部分。
7.一種用于在二進(jìn)制有限域GF(2n)內(nèi)執(zhí)行密碼安全的多項(xiàng)式模數(shù)化約簡(jiǎn)方法的計(jì)算硬件,所述硬件包括
計(jì)算單元,其適于對(duì)從存儲(chǔ)器檢索到的多項(xiàng)式運(yùn)算數(shù)和來自一組工作寄存器的多項(xiàng)式系數(shù)中間結(jié)果執(zhí)行字范圍有限域相乘和累加步驟;
隨機(jī)數(shù)字產(chǎn)生器,其用于產(chǎn)生隨機(jī)多項(xiàng)式誤差值E(x);
運(yùn)算定序器,其包括邏輯電路,所述邏輯電路用于根據(jù)程序指令控制所述計(jì)算單元和隨機(jī)數(shù)字產(chǎn)生器,以便在二進(jìn)制有限域GF(2n)內(nèi)相對(duì)于模數(shù)m(x)實(shí)行數(shù)p(x)的多項(xiàng)式模數(shù)化約簡(jiǎn),所述多項(xiàng)式模數(shù)化約簡(jiǎn)至少涉及依據(jù)表示所述模數(shù)的位定標(biāo)倒數(shù)的預(yù)先存儲(chǔ)的多項(xiàng)式常數(shù)u(x)估計(jì)多項(xiàng)式商q(x),用所述隨機(jī)多項(xiàng)式誤差值E(x)使所述近似多項(xiàng)式商隨機(jī)化以獲得隨機(jī)化多項(xiàng)式商q′(x)=q(x)+E(x),和計(jì)算多項(xiàng)式余數(shù)值r′(x)=p(x)+q′(x)·m(x)。
8.根據(jù)權(quán)利要求7所述的計(jì)算硬件,其進(jìn)一步包括可由所述運(yùn)算定序器存取的運(yùn)算參數(shù)寄存器,所述寄存器含有以下中的任一者或一者以上(a)用于定位所述存儲(chǔ)器或工作寄存器內(nèi)的多項(xiàng)式運(yùn)算數(shù)的字大小系數(shù)的指針,(b)關(guān)于多項(xiàng)式運(yùn)算數(shù)的字長(zhǎng)度的信息,和(c)關(guān)于運(yùn)算步驟的中間結(jié)果的目的地地址信息。
9.根據(jù)權(quán)利要求7所述的計(jì)算硬件,其中通過根據(jù)等式u(x)=x2k+w/m(x)預(yù)先計(jì)算來獲得所述存儲(chǔ)器中的所述預(yù)先存儲(chǔ)的多項(xiàng)式常數(shù)u(x),其中w是所述計(jì)算單元的以位計(jì)的字大小。
10.根據(jù)權(quán)利要求9所述的計(jì)算硬件,其中由所述計(jì)算單元在所述實(shí)行程序指令的運(yùn)算定序器的控制下執(zhí)行的對(duì)所述近似多項(xiàng)式商q的所述估計(jì)是根據(jù)等式q′(x)=((p(x)·xk-w)·u(x))/xk+2w完成的。
11.根據(jù)權(quán)利要求10所述的計(jì)算硬件,其中所述隨機(jī)數(shù)字產(chǎn)生器具有二分之一字的指定誤差極限,借此0≤deg(E(x))<w/2。
全文摘要
一種密碼安全且計(jì)算機(jī)硬件實(shí)施的二進(jìn)制有限域多項(xiàng)式模數(shù)化約簡(jiǎn)方法估計(jì)(32)和隨機(jī)化(36)用于計(jì)算多項(xiàng)式余數(shù)的多項(xiàng)式商q′(x)。內(nèi)射到近似多項(xiàng)式商q(x)中的隨機(jī)化誤差E(x)限于幾個(gè)位,例如小于二分之一字。計(jì)算(38)出的多項(xiàng)式余數(shù)r′(x)僅僅與殘數(shù)r(x)同余的較小隨機(jī)倍數(shù),其可通過以模數(shù)M(x)進(jìn)行最終嚴(yán)格二進(jìn)制域約簡(jiǎn)找到。除了計(jì)算單元(10)和運(yùn)算定序器(16)外,計(jì)算硬件還包含用于產(chǎn)生隨機(jī)多項(xiàng)式誤差的隨機(jī)或偽隨機(jī)數(shù)字產(chǎn)生器(20)。因此,所述模數(shù)化約簡(jiǎn)方法抵抗住硬件密碼分析攻擊,例如時(shí)序和冪分析攻擊。
文檔編號(hào)H04L9/00GK101194457SQ200680020941
公開日2008年6月4日 申請(qǐng)日期2006年4月12日 優(yōu)先權(quán)日2005年5月12日
發(fā)明者文森特·杜帕丘斯, 米歇爾·杜蓋 申請(qǐng)人:愛特梅爾公司