亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

保護數(shù)據(jù)處理裝置免受密碼攻擊或分析的設備和方法

文檔序號:6568013閱讀:225來源:國知局
專利名稱:保護數(shù)據(jù)處理裝置免受密碼攻擊或分析的設備和方法
保護數(shù)據(jù)處理裝置免受密碼攻擊或分析的設備和方法本發(fā)明總體上涉及阻止密碼分析的技術領域,特別是涉及保護至少一種數(shù)據(jù)處理裝置免受至少一種攻擊(例如免受至少一種EM[電磁]輻射 攻擊)或者免受至少一種分析(例如免受至少一種DPA[差分功率分析]) 的技術領域。更具體而言,本發(fā)明涉及保護至少一種數(shù)據(jù)處理裝置,特別是至少 一種嵌入式系統(tǒng)(例如至少一種芯片卡或智能卡)免受至少一種攻擊, 特別是免受至少一種側通道(side-channel )攻擊(例如免受至少一種 電流軌跡(current trace)分析)的設備和方法,該數(shù)據(jù)處理裝置,特別 是該數(shù)據(jù)處理裝置的至少一種集成電路,執(zhí)行計算特別是密碼運算。數(shù)據(jù)處理裝置,特別是諸如芯片卡或智能卡的嵌入式系統(tǒng),使用用 于交換密鑰的公共密鑰基礎設施[PKI]系統(tǒng)并且必須被保護以免受若干形 式的旨在找出私有密鑰的攻擊。 一種這樣的攻擊通過以下方式來影響計 算,特別是密碼運算-將一個或更多光源引導到芯片上,特別是棵露(并因此光敏)的 芯片上,或者-將某種類型的EM [電磁]輻射源引導到芯片上。對于基于RSA[Rivest Shamir Adleman]算法和/或ECC[橢圓曲線密 碼術]算法的計算,需要大量的乘法運算。通常,這些計算在不受保護以 免受側通道攻擊(例如電流軌跡分析)的情況下被執(zhí)行。由于每次執(zhí)行同 一乘法運算時攻擊者可能獲得大量的電流軌跡,因 此這樣可能易于受到DPA[差分功率分析]攻擊。在增加這些軌跡之后, 絕大多數(shù)的噪聲被消除。當攻擊者對于不同的輸入執(zhí)行相同的操作時, 攻擊者能夠比較所述電流軌跡并且逐比特(即一個比特對一個比特)獲 悉密鑰。現(xiàn)有技術文獻WO01/97009A1公開了一種用于包括模數(shù)取冪例程 (modular exponentiation routine)的密石馬i十算的方法。該已》口的方法 利用兩個隨機變量隱蔽(blind)中間結果進行工作;在該上下文中,現(xiàn)有 技術文獻W001/97009A1還通過增加隨機變量工作,但是僅乘法運算被隱蔽。然而,在所述結果被用于下一個計算之前,該結果首先不被隱蔽, 這使得結果再次易于受到攻擊;不僅乘法對于DPA[差分功率分析]敏感, 而且未隱蔽結果的RAM[隨機存取存儲器]訪問也是如此?,F(xiàn)有技術文章Jean-S6bastien Coron和Louis Goubin的"0n Boolean and Arithmetic Masking against Differential Power Analysis" 討 論了 DPA[差分功率分析]攻擊并且在第2頁的第四和第五段落中建議掩 蓋所有輸入和輸出。第五段落討論了通過乘法的RSA[Rivest Shamir Adleman]的掩蓋,其中參考Thomas S. Messerges的文章 "Securing the AES Finalists Against Power Analysis Attacks", FSE 2000, Springer - Verlag?,F(xiàn)有技術論文Radu Muresan的 "Modeling and applications of current dynamics in a complex processor core"在第 33到37頁中 論及在應用ECC [橢圓曲線密碼術]之前隱蔽橢圓曲線上的點。有關本發(fā)明的技術背景,還可以參考-現(xiàn)有技術文章Luca Ben in i 、 Angel o Galati 、 Alberto Maci i 、 Enrico Macii以及Massimo Poncino的 "Energy-Efficient Data Scrambling on Memory—Processor Interfaces";-現(xiàn)有技術文章Tom Lash的 "A Study of Power Analysis and the Advanced Encryption Standard - Recommendations for Designing Power Analysis Resistant Devices";-現(xiàn)有技術文獻£ 1014617人2;-現(xiàn)有技術文獻EP1267514A9;-現(xiàn)有技術文獻GB2345229A;-現(xiàn)有技術文獻US2QG3/Q194Q86A1;-現(xiàn)有沖支術文獻WO00/42511Al;-現(xiàn)有技術文獻¥001/08012入1;-現(xiàn)有技術文獻W0Q1/31436A1;-現(xiàn)有技術文獻¥002/50658人1;-現(xiàn)有技術文獻W0G3/1Q1Q39A1;和一現(xiàn)有技術論文Larry T. McDaniel III的"An Investigation of Differential Power Analysis Attacks on FPGA-based Encryption Systems,'。本發(fā)明的目的是進一步開發(fā)在技術領域中描述的S備以及在技術領域中 所描述類型的方法,以便能夠安全地避開攻擊(例如EM[電磁]輻射攻擊) 或者分析(例如DPA[差分功率分析]),這種攻擊或這種分析尤其是旨在 找出私有密鑰。本發(fā)明的目的通過包括權利要求1所述特征的設備以及通過包括權 利要求8所述特征的方法來實現(xiàn)。本發(fā)明的有利實施例和有利改進在相 應的從屬權利要求中/>開。本發(fā)明主要基于這樣一種思想使用隱蔽中間結果以用來提供耐攻 擊性,特別是耐DPA[差分功率分析]攻擊性的設備以及方法;尤其是, 通過采用至少一個隨機變量,這種隱蔽例如通過加法被應用在乘法中, 被計算特別是被密碼運算所包括,其中不需要任何操作數(shù)的求逆 (invers ion)計算。更具體而言,消息M能夠利用變量V來隱蔽。該變量V能夠從隨機 選擇的變量v中導出。通過這種方式,所有中間結果也被隱蔽;這些中 間結果保持隱蔽直到計算結束為止,特別是直到密碼運算結束為止。根據(jù)本發(fā)明的有利實施例,所有中間結果都通過隨機變量隱蔽,該 隨機變量在整個RSA[Rivest Shamir Adleman]計算或整個ECC[橢圓曲線 密碼術]計算期間保持恒定但是當開始新的計算時被改變。通過這樣,由于隨機變量不相同,即使當所有輸入都相同時,所有的電流軌跡也被改變。在本發(fā)明的優(yōu)選實施例中,使用了 Montgomery約簡(reduction)的 原理。Montgomery約簡是一種用于Peter L. Montgomery在1985年提出 的模算術中的乘法的有效算法。更具體而言,Montgomery約簡是一種用 于計算c-abm。d(n)的方法,其中a、 b和n是k比特二進制數(shù)。Montgomery約簡現(xiàn)在被特別地應用于密碼術中。令m為正整數(shù),令 R和T是整數(shù),以^更R〉m, gcd[最大/^約數(shù)](m, R)=l,以及0《T〈mR。 計算TR_1mod( m )而不使用經典方法,這被稱為關于R的T模m的Montgomery 約簡。利用適當選I奪的R,能夠有效地計算Montgomery約簡。
有利地,本發(fā)明并不局限于Montgomery約簡,而是本發(fā)明還能夠適 于其他約簡原理。本發(fā)明不需要計算操作數(shù)的逆的能力,這對于RSA[Rivest Shamir Ad 1 eman]應用可能是合適的。本發(fā)明還涉及一種數(shù)據(jù)處理裝置,特別是涉及一種嵌入式系統(tǒng),例 如涉及一種芯片卡或智能卡,它包括至少一個執(zhí)行計算,特別是密碼運 算的集成電路,其中通過由至少一個隨機變量隱蔽計算的所有中間結果 而不對計算的任何操作數(shù)求逆來保護該集成電路以-免受至少一種攻擊,特別是免受至少一種EM[電磁]輻射攻擊,或者-免受至少一種密碼分析,特別是免受至少一種DPA[差分功率分析]。本發(fā)明最后涉及至少一種如上所述的設備和/或如上所述的方法在至 少一種如上所述的被保護以免受DPA[差分功率分析]的數(shù)據(jù)處理裝置中 的使用。如上已經討論的,存在若千以有利的方式實施和改進本發(fā)明的教導 的選項。為此,參考分別從屬于權利要求1和權利要求8的權利要求;明的其他i進、特:和優(yōu)點,、^中'鄉(xiāng) " '

圖1示意性地示出了用于四個字的模乘法的實施例;圖2示意性地示出了用于四個字的常規(guī)RSA[Rivest Shamir Adleman〗平方以及Mon tgomery約簡的實施例;圖3示意性地示出了圖4設備所包括的乘法器單元的實施例;以及 圖4示意性地示出了按照本發(fā)明方法工作的根據(jù)本發(fā)明的設備的實施例。相同的附圖標記用于圖1到圖4的相應部分。包括執(zhí)行密碼運算的IC[集成電路]的芯片卡或智能卡形式的數(shù)據(jù)處 理裝置,即嵌入式系統(tǒng)的實施例指的是PKIP^共密鑰基礎設施]系統(tǒng)并 且根據(jù)本發(fā)明的方法工作,即受到保護設備IOO (參考圖4)的保護以免
受濫用和/或免受操縱。本發(fā)明不需要計算操作數(shù)的逆的能力。集成電路的密碼計算能夠基于計算加密C=Memod (N)的RSA[Rivest Shamir Adleman]算法(參考現(xiàn)有技術文獻US4405829或現(xiàn)有技術文章, Ron Rivest, Adi Shamir和Len Adleman的 "A Method for Obtaining Digital Signatures and Public—Key Cryptosystems,,, Communications of the ACM, 21 ( 2 ), 120到126頁,1978年2月),其中-M是將被加密的消息,-N = pq,-e與(p_l) U-l)互質, -(1滿足乂" mod[ (p-1) U-1) ] =1; 解密計算M-Cdmod (N)。 其中一種計算W (或cd)的方法如下第一步驟從11=1開始; 第二步驟從左到右掃描指數(shù)e; 第三步驟總是計算R-R2 mod(N);第四步驟當e的被掃描比特-l時,而且計算R-R.M mod (N)。 因此,該計算包括大量的平方和乘法。 假設模數(shù)N包括大量n比特的字m,即 N-n",Bm" + rw2Bm-2+…+mB + n。,其中B=2n。在模約簡之后,所述變量還包括n比特的m個字,盡管MSW[最高有 效字]可能具有更多一些的比特。在模約簡之前,結果將具有更多的字, 通常是一。正如在下文將更詳細地i兌明的,本發(fā)明初始時利用 一 個字的隨機選 擇變量v隱蔽M。從M mod (N)的每個字中減去該隨機選4奪的變量v。 利用V= (Bm —、B"1 —2 + ... +B + 1) v,匯能夠被計算為M=M-V mod(N); 在本上下文中,加下劃線指示變量被隱蔽。然后修改所述乘法和平方從 而也以相同的方式利用V隱蔽結果R;因此所有中間結果也被隱蔽。然 后在最后結束時,當準備好取冪時,所述結果被去隱蔽。更詳細地,在初始隱蔽的第一階段令v為n比特的隨機選擇變量。 附加條件能夠是v〈n^以方便約簡,但是當nm—i具有大量的前導零時,這 可能危及隱蔽,因為v將會總是接收至少相同數(shù)量的前導零。然后,從M的每個字中減去隨機選擇變量v。如果結果為負,那么
加上N或2N;但是,有利的是提前知道是否結果是負的。 為此,首先計算M^廣v-l + nm_1: -當結果溢出時,計算M-V; -當結果為正但是未溢出時,計算M-V+N; -當結果為負時,計算M-V+2N。 通過使用它的2進制補碼完成v的相減,即,-V=-Bm+ (81-1)8" + ...+ (B—v—1)B+ (B-v-l) +1。因 此相加除Bm之外的所有正數(shù)。-8"貞并不被使用,但是當(B-v-1 )B"1—1 + ... + (B-v-l)B+ (B-v-l ) +1與另一個變量相加給出了進位時,-Bra項被消除。上述計算的數(shù)學實現(xiàn)如下c= 1if Mn"-v-l+iwi蘭Bfor j = 0 to m-1: B'c+R) = Mj+(B-v-l)+c else if Mm-i-v-l+nm.i ^0for j = 0 to m-1: B'c+Rj = Mj+(B-v-l)+c+rij else or for j = 0 to m-1: B'c+Rj = Mj+(B -v-1 )+c+2rij在未受保護的RSA [Rives t Shamir Adleman]計算的第四步驟中,即乘法步驟中,執(zhí)行以下計算 R = X*Y mod(N)X = x^B"1-1 + xm-2Bm-2 +…+ x,B + x0 Y = ym—,1 + ym-2Bm-2 + ... + y,B + y0 B = 2n,其中m是字的數(shù)量,例如m-16,以及n是一個字的比特數(shù)量,例 如n = 64。圖1給出了用于四個字(即m = 4)的這種模乘法X*Y的實例,每次 將Y的一個字乘以完整的X,并且加上前一結果R。然后,在圖l的實例 中通過Montgomery約簡(=圖1中的附圖標記Mr)對結果進^f亍約簡。 然后,利用Y的下一個字重復該過程,直到已經使用完Y的所有字。在乘法的子步驟中,計算XYj + R,然后執(zhí)行Montgomery約簡Mr。 這種約簡如下完成C = 0;for i - 0 to m-l. { (B'C+Ri) = X;Yj+Ri+C }在保護的情況下,假設所有操作數(shù)都利用v被隱蔽,即,V= (B" + ... + B + 1 ) v然后,計算^X-V mod (N), X=Y-V mod ( N ),以及g-R-V mod ( N )。 首先,不隱蔽L.:v被相加到每個字Yj;當它給出進位時,將它相加到下一個更高的 Be + Yj = Xj + v +c.現(xiàn)在計算E' =2£'Y」+E + V.Y」-Bm.v = (X-V)Yj+R-V + V.Yj—Bm.v = X. Yj+ R —v —Bm.v = R,_V。 -BmV項將用于隱蔽乘積X . Yj的MSW[最高有效字](索引m)。因此新結果且,也通過V隱蔽。所以,必須相加v . Yj-Bm ' v到乘法2.Yj+g;它可被寫作v Yj = BWH + WL。這產生了以下的算法 C = 0;B.c + Yj = X) + v + c; BWH + WL = v.Yj;for i = 0 to m-l: { (BC+EO = + BWH + WL + Ei + C } Em = C-v.對于j-0,必須計算R=X . Y而不用加上執(zhí)行隱蔽一部分的R;在這 ,卩主、.口 "T~ 4* 乂t i丄貧v . v _u.C = 0;Be + Yo =+ v + c; B.Wh + WL = v'Y0;for i = 0 to m-l: {(BC+EO = 2£i'Yo + B'WH + WL - v + C }關于附加約簡的子步驟,Montgomery約簡Mr約簡了一個字,這可 能并不夠。在相乘期間,計算E、2^.Yj+E + V.Yj-Bm.v。在本上下文中, 應該注意到,對于Yj = B-l,它是V.Y)-Bm.v = -v 。對于0《X〈B"1, 0《Yj<B, 0^E<Bm, 0《v<B,遵循一B針1 <^<Bm+1。中間結果可能為負。相乘和約簡的總結果是E^(N.Q + 2^Yj+K + V.Yj -Bm.v)/B。當假設Yj 具有它的最大值B-l時,那么(V.Y廣Bm.v)/B = -v/B>-1,因此能夠忽略 這些項。在這種情況下,能夠證明當B^N + ^時,那么也有K〈N+^。因此R 并因此R,,是至多大一個比特但是在大量的計算期間它并不累積。只有在 最后結束時,即當使用Y^時,那么才可能必須執(zhí)行通過至多兩次減去N 的附加約簡。另一方面,當Q=0和Yj-,O時,能夠證明當R〉-v.B""-'時,那么也 有R'、-v.B"1-1;因此R"可能變成負值,但是在大量的附加約簡期間它將 不會累積;因此結果仍是負。只有在最終結束時,即當使用Yra—!時,那 么才可能必須執(zhí)行通過至多兩次相加N的附加約簡。上述計算另外意味著-每次當加載下一個Yj時,必須首先相加v,然后必須提前計算 v.Yj=B.Wh+Wl,并且必須存^f諸Wh以及這是附加的乘法,通過該乘法可能增大計算時間;-在相乘期間必須相加B.WH+WL,意味著到乘法器IO (參見圖3和 4)的附加加法器輸入;和-在約簡的最后相乘期間,必須從結果的上部減去v,這還需要乘 法器IO (參見圖3和4)的適配。在未受保護的RSA[Rivest Shamir Adleman]計算(即平方)的第三 步驟中,圖2描繪了用于四個字(即m-4)的正常RSA平方和Montgomery 約簡(=圖2中的附圖標記Mr)的第一子步驟。它是XH」=Bm-'Xm—, +... + BJ+1Xj+1 ,即X的所有項從Xj +!開始;RHj=Bm-'R^+…+ BJ"Rj+,即R的所有項從 + 1開始;但是,RH0=0。通常,計算X;+Rj和2X巧.Xj+RHj+C;然后,執(zhí)行Montgomery約簡 (=圖2中的附圖標記Mr )。在未受保護的RSA[Rivest Shamir Adleman]計算(即平方)的第三 步驟中,假設利用V隱蔽所有操作數(shù),即V = (B1"-1 +... + B + l)v 。在計算2^X-Vmod (N)和B^R-Vmod (N)之后,首先2£」被去隱蔽; v 一皮相加到每個字&;當它給出進位時,則;故相加到下一個較高的字 &+B.c + Xj +v + c ?,F(xiàn)在,對于平方,計算下式B.C + Si' = 2!i.Xj + Ej + v.Xj = (Xj-v).Xj + & + v'Xj - Xj2 + & 凈皮隱蔽Ej的相加再次隱蔽了項K;。 對于二重積,<formula>formula see original document page 12</formula>其中<formula>formula see original document page 12</formula>項^利用范圍從j + 1到m-l的索引隱蔽所有項; 項-B".v隱蔽結果(Rra)的MSW[最高有效字]; 具有范圍從O到j-l的索引的所有項R不被改變,所以被隱蔽。 因此,V也隱蔽新結果B:。所以,v.Xj必須被相加到所述平方,以及2Vhj.Xj-Bm.v必須被相加到二重積。對于j-O,必須計算R-X纟而不加R,這執(zhí)行隱蔽的一部分;在這種 情況下,替代地計算X.X。-V。這給出了以下的算法 <formula>formula see original document page 12</formula>
在附加約簡的子步驟中,Montgomery約筒(=圖2中的附圖標記Mr)約簡了一個字,這樣可能是不夠的。 在相乘期間,計算<formula>formula see original document page 12</formula>
只于于Xj〈B, XHH<Bm—BJ; YHH<Bm—BJ; v<B,遵循R'〈3B1^1。除V 之外的所有變量都等于零,那么R、-Bm+'。中間結果可能是負值或者當 為正值時溢出兩個比特。相乘和約筒的總結果是< (N'Q + + E臥i + 2V臥!'Xj - Bm.v)/B.能夠證明,當E〈N + 2Xhj-+2V,-Bit,那么也有區(qū)"< N + 22£Hj—+ 2VHH - Bm < 3Bm + N < 4Bm 。因此R并且所以R"至多大兩個比特但是在大量的計算期間它不累 積。因此,對于除最后的約簡之外的所有約簡,它能夠被保留。但是,所述最后的約簡僅利用平方和無二重積結束。這給出了與相 乘相同的結果(參見上述在未受保護的相乘期間附加約簡的子步驟)。上述計算另外意味著,除B.Wh + W^之外,在相乘期間還必須相加2 (B . WH + WJ;這意味著用于B . WH + Wl的附加加法器在輸入端具有用于 移位輸入的多路復用器。對于ECC[橢圓曲線密碼術](參見現(xiàn)有技術文章,M.Ernst, M.Jung, F. Madlener等人的 "A Reconf igurable System on Chip Implementation for Elliptic Curve Crytography over GF (2n)", 381到399頁),選 擇橢圓曲線和該曲線上的點P。在第一實例A,選擇隨機數(shù)a;計算a . P并且它作為公共密鑰被發(fā) 送到第二實例B。在這第二實例B,也選擇一個隨機數(shù)b;計算b . P并 且它作為公共密鑰被發(fā)送到第一實例A。然后第一實例A計算K = a . (b P)以及第二實例B計算K,- b . (a ' P)?,F(xiàn)在K=K,,這是兩個實 例A和B的共同秘、密?;具\算是點P與標量a的相乘。這是重復的點相加X=aP = P+P+... +P ( a次)。它從點P開始,從左到右掃描標量a:-從R-P開始;-從左到右掃描標量a;-總是計算R=2R mod ( N )(所謂的點加倍);-當a的掃描比特=1時,而且計算R-R+Pmod(N)(所謂的點相加)。 用于所謂點加倍的算法和用于所謂點相加的算法使用X ' Y mod (N) 和X2 mod (N)(類似RSA[Rivest Shamir Adleman]算法)之類的運算, 但是還借助R=X+Y mod (N)和R=X-Y mod (N)之類的運算。
點加倍算法和點相加算法還需要利用X . X—1 mod ( N ) =1計算X-1的逆運算。所述隱蔽并不適于逆運算,因此操作數(shù)必須首先被去隱蔽,然后求 逆,然后再次被隱蔽;這并不是問題,因為絕大多數(shù)算法利用只具有一 次求逆的射影坐標工作,并且這被延期到結束。還存在隱蔽求逆運算的 其^也已知的方式。用于ECC[橢圓曲線加密]的字數(shù)比用于RSA[Rivest Shamir Adleman] 的字數(shù)小得多。所以,首先在約簡之前執(zhí)行利用加法/減法的完整相乘。 類似于RSA,還有可能交替進行所述相乘和約簡。這里,使用了 Montgomery約簡但是隱蔽還能夠被設計用于其他類型 的約簡。在初始隱蔽的第一階段中,以與上面針對RSA[Rivest Shamir Adleman]算法所描述的相同的方式執(zhí)行這種初始隱蔽,但是現(xiàn)在點P的 兩個坐標都必須被隱蔽。所有運算都給出以相同的方式隱蔽的結果。在相乘(X . Y mod (N))和平方(X2 mod (N))的第二階段中,以 與上面針對RSA[Rivest Shamir Adleman]算法所描述的相同的方式執(zhí)行 這些運算的隱蔽。在附加約簡(R=X±Y mod (N))的最后步驟中,一在相力口的情況下,計算E二X + X + V二(X —V) + (Y —V)+V = R —V,以及-在相減的情況下,計算^ = 2£-X-V = (X-V)-(Y-V)-V = R-V。本發(fā)明的實現(xiàn)可以至少部分地基于軟件;在本上下文中,適于 RSA[Rivest Shamir Adleman]編程和/或適于ECC [橢圓曲線密碼術]編程 的處理器也能夠實現(xiàn)如上所述的附加約簡算法。在圖3和4中示出了根據(jù)本發(fā)明的保護設備100的示范性硬件實現(xiàn); 對于最大速度,如在圖3中示例的乘法器單元10能夠計算以下^^式Bc + r = x.y+ Bu-kBx + z + c , k=—2,…,3;例如對于n2.q + B.r5-B.k.n2+c2+c或者用于X.Y土Z相乘的 x.y士B.z + r + c, r是結果的LSW [最低有效字]以及c是MSW [最高有效字]。 乘法器10(i )計算乘積x . y;(ii )如果希望,相加z到該乘積x . y的下部分;(iii )如果希望,相加c-寄存器14c的內容到該乘積x y的下部(iv)如果希望,相加u到該乘積x . y的上部分;(v )如果希望,相加或相減x的倍數(shù)到該乘積x . y的上部分;(vi) 在r-寄存器14r中存儲結果的下部分;和(vii) 在c-寄存器14c中存儲結果的上部分以在下一計算中使用。 還能夠從圖3得出,乘法器10包括-用于結果r的全加器16r;-當完成相乘時,用于進位的全加器16c;和-判決結果位于(關于2P的)哪個范圍的測距器(ranger) 18。構造具有查詢表的乘法器10是有利的,例如兩個比特,這是因為這 樣一來x的倍數(shù)(特別是3x )已是可獲得的。獨立地或者相結合地,利用進位存儲加法器執(zhí)行累加以及僅僅針對 r-寄存器14r使用全加器16r也是有利的。在這種情況下,那么c包括 兩個字,即進位存儲加法器的進位以及總和。然后c-寄存器14c被加倍, 輸入c也包括兩個字。測距器18必須判定是否結果B . c + r小于f.2P/B"1-i,其中f具有以 下值0, 3/4或1 (對于RJ和-7/8, -3/4, -1/2, 0, 3/4, 7/8, 1, 3/2, 7/4和2。通過查詢符號位能夠發(fā)現(xiàn)結果B c + r是正還是負。例如對于 值7/8,那么從位置p-2"及以下的四個比特是0111。如果p-B"1,那么 這四個比特是c的四個MSB[最高有效位]。乘法器10被連接(=圖4中的附圖標記12a, 12b)到存儲所有操 作數(shù)的存儲器20。所述結果也存儲在該存儲器20中。進一步,存在一種狀態(tài)機30-控制乘法器10以執(zhí)行所需類型的計算,-選擇ke的值以及k值,-從存儲器2 0讀取輸入操作數(shù),和-寫入結果到存儲器20。
附圖標記列表 100 設備10 設備100的乘法器單元12a 乘法器單元10和存儲器單元20之間的第 一連接, 特別是從乘法器單元10到存儲器單元20的連接12b 乘法器單元10和存儲器單元2 0之間的第二連接, 特別是從存儲器單元20到乘法器單元10的連接14c乘法器單元10的c-寄存器模塊14r乘法器單元10的r-寄存器模塊16c乘法器單元IO的第一全加器模塊16r 乘法器單元10的第二全加器模塊18 乘法器單元10的測距器模塊20設備10G的存儲器單元30 i殳備100的狀態(tài)機MrMontgomery約簡
權利要求
1.一種設備(100),用于保護至少一種數(shù)據(jù)處理裝置,特別是至少一種嵌入式系統(tǒng),例如至少一種芯片卡或智能卡,以免受至少一種攻擊,特別是免受至少一種側通道攻擊,例如免受至少一種電流軌跡分析,該數(shù)據(jù)處理裝置,特別是該數(shù)據(jù)處理裝置的至少一種集成電路,執(zhí)行計算特別是密碼運算,其特征在于,通過至少一個隨機變量隱蔽計算的所有中間結果,而不對該計算的任何操作數(shù)求逆。
2. 根據(jù)權利要求1所述的設備,其特征在于,該隨機變量 -在完整的計算期間被保持恒定,和-當開始新的計算時被改變。
3. 根據(jù)權利要求1或2所述的設備,其特征在于,所述計算基于 RSA[Rivest Shamir Adleman]算法和/或基于ECC [橢圓曲線密碼術]算法。
4. 根據(jù)權利要求1到3的其中至少之一所述的設備,其特征在于, 4吏用Montgomery約簡(Mr)或其他類型的約簡。
5. 根據(jù)權利要求1到4的其中至少之一所述的設備,其特征在于,-至少一個存儲器單元(20 ),用于存儲所述計算的操作數(shù)特別是所 有操作數(shù),以及所述計算的結果特別是所有結果,-被連接(12a, 12b)到存儲器單元(20)的至少一個乘法器單元 (10),-至少一個狀態(tài)機(30)- -用于控制乘法器單元(10)以執(zhí)行所需類型的計算, --用于從存儲器單元(20)讀取輸入操作數(shù),和/或- -用于寫入所述計算的結果特別是所有結果到存儲器單元(20)。
6. 根據(jù)權利要求5所述的設備,其特征在于,所述乘法器單元(IO)包括-至少一個c-寄存器模塊(14c ), -至少一個r-寄存器模塊(14r ),-至少一個連接到c-寄存器模塊(14c)的第一全加器模塊(16c), -至少一個連接到r-寄存器模塊(16c)的第二全加器模塊(16r),和-至少一個確定結果范圍的測距器模塊(18)。
7. —種數(shù)據(jù)處理裝置,特別是一種嵌入式系統(tǒng),例如一種芯片卡或 智能卡,包括至少一個執(zhí)行計算特別是密碼運算的集成電路,其特征在 于根據(jù)權利要求1到6其中至少之一所述的至少一種設備(100)。
8. —種保護至少一種數(shù)據(jù)處理裝置,特別是至少一種嵌入式系統(tǒng),例如至少一種芯片卡或智能卡,免受至少一種攻擊,特別是免受至少一 種側通道攻擊,例如免受至少一種電流軌跡分析的方法,該數(shù)據(jù)處理裝 置,特別是該數(shù)據(jù)處理裝置的至少一種集成電路,執(zhí)行計算特別是密碼 運算,其特征在于,通過至少一個隨機變量隱蔽計算的所有中間結果,而不對該計算的任何操作數(shù)求逆。
9. 根據(jù)權利要求8所述的方法,其特征在于,該隨機變量 -在完整的計算期間被保持恒定,和-當開始新的計算時被改變。
10. 根據(jù)權利要求8或9所述的方法,其特征在于,所述計算基于 RSA[Rivest Shamir Adleman]算法和/或基于ECC [橢圓曲線密碼術]算法。
11. 根據(jù)權利要求8到10的其中至少之一所述的方法,其特征在于, 使用Montgomery約簡(Mr)或其他類型的約簡。
12. 至少一種根據(jù)權利要求1到6的其中至少之一所述的設備和/或 根據(jù)權利要求8到11的其中至少之一所述的方法在至少一種根據(jù)權利要 求7所述的被保護以免受DPA [差分功率分析]的數(shù)據(jù)處理裝置中的使用。
全文摘要
為了進一步開發(fā)一種用于保護至少一種數(shù)據(jù)處理裝置,特別是至少一種嵌入式系統(tǒng),例如至少一種芯片卡或智能卡,免受至少一種攻擊,特別是免受至少一種側通道攻擊,例如免受至少一種電流軌跡分析的設備和方法,該數(shù)據(jù)處理裝置,特別是該數(shù)據(jù)處理裝置的至少一種集成電路,執(zhí)行計算特別是密碼運算,其中攻擊例如是一種EM[電磁]輻射攻擊,或者分析例如是DPA[差分功率分析],尤其旨在找出私有密鑰的這種攻擊或分析將被安全地避免,提出通過至少一個隨機變量隱蔽計算的所有中間結果,而不對計算的任何操作數(shù)求逆。
文檔編號G06F7/72GK101213513SQ200680023842
公開日2008年7月2日 申請日期2006年6月23日 優(yōu)先權日2005年6月29日
發(fā)明者G·T·M·休伯特 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1