两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于對(duì)消息可靠加密或者解密的方法

文檔序號(hào):7886604閱讀:286來(lái)源:國(guó)知局
專(zhuān)利名稱:用于對(duì)消息可靠加密或者解密的方法
用于對(duì)消息可靠加密或者解密的方法本發(fā)明涉及一種用于對(duì)消息可靠地進(jìn)行加密或者解密或者用于產(chǎn) 生或者校驗(yàn)消息的數(shù)字簽名的方法,其中,以處理器支持的方式將具 有密鑰的數(shù)學(xué)運(yùn)算應(yīng)用于所述消息,所述密鑰可以利用比特序列表示 為二進(jìn)制數(shù)。非對(duì)稱密碼系統(tǒng)通過(guò)設(shè)置由私有或者公開(kāi)密鑰組成的密鑰對(duì)來(lái)確 保提高的安全性程度,使得對(duì)于攻擊者而言幾乎不可能在有限的時(shí)間 內(nèi)對(duì)私有密鑰或者對(duì)以公開(kāi)密鑰加密的消息解密。通常的密碼系統(tǒng)(例 如基于橢圓曲線的這種密碼系統(tǒng))基于一種加密,所述加密可在多項(xiàng) 式時(shí)間內(nèi)被執(zhí)行,但是僅僅在指數(shù)時(shí)間內(nèi)可相對(duì)于密鑰的長(zhǎng)度被轉(zhuǎn)化為比特。在基于橢圓曲線的系統(tǒng)的情況下,當(dāng)今使用n=160至192比 特的密鑰長(zhǎng)度,在基于RSA算法的系統(tǒng)的情況下,對(duì)此對(duì)于大約相同 的安全性水平可以^使用n = 1024至1536比特的長(zhǎng)度。對(duì)以加密轉(zhuǎn)化為基礎(chǔ)的攻擊方法的替代方案是所謂的側(cè)信道攻擊 (Seitenkanalangriffe ),其中所述以加密轉(zhuǎn)化為基礎(chǔ)的攻擊方法自身 也包括算法,以便盡可能有效地破壞加密所基于的算法。所述側(cè)信道 攻擊尤其可用于移動(dòng)輔助裝置、例如智能卡或者加密狗(Dongle), 在所述移動(dòng)輔助裝置上存儲(chǔ)有秘密的密鑰材料,用以能夠以加密的方 式交換消息或者產(chǎn)生或者重新解密數(shù)字簽名。攻擊者充分利用對(duì)相應(yīng)電路的數(shù)據(jù)線比較容易的可接入性,用以 測(cè)量物理量、例如電流、電磁輻射、在所引起的錯(cuò)誤時(shí)的結(jié)果或者某 些計(jì)算的運(yùn)行時(shí)間。在根據(jù)簡(jiǎn)單的電流分析(SPA)對(duì)測(cè)量值的直接評(píng) 估中或者通過(guò)借助于存儲(chǔ)器示波儀記錄測(cè)量值(如電流)和緊接著以 統(tǒng)計(jì)方式進(jìn)行評(píng)估,可以以有效的方式獲得關(guān)于所基于的算法或者簡(jiǎn) 單地還有僅僅當(dāng)前存在的密鑰的信息。對(duì)后者應(yīng)該按照例子進(jìn)一步說(shuō)明用于加密的方法不僅為基于橢 圓曲線的算法而且為基于RSA方法的這種算法預(yù)先規(guī)定對(duì)算術(shù)運(yùn)算的 應(yīng)用。在RSA方法的情況下,可以執(zhí)行模冪運(yùn)算z=ak mod N,其中模數(shù)N是自然數(shù)并且k是密鑰(私有的或者公 開(kāi)的)或者至少是從該密鑰推導(dǎo)的量。在橢圓曲線的情況下,可以作為算術(shù)運(yùn)算執(zhí)行標(biāo)量乘法Q = k*P,其中P是在有限體K上橢圓曲線上的點(diǎn)并且k又是密 鑰或者從該密鑰推導(dǎo)的量。橢圓曲線是在有限體內(nèi)具有系數(shù)ai的二次方程式y(tǒng)2 十a(chǎn)丄xy + a3y = x3 + &2乂2 +a々x + ag的零點(diǎn)集合。所述橢圓曲線不具有奇點(diǎn),并且在將無(wú)限遠(yuǎn)的點(diǎn)再吸收 為中性元素的情況下,構(gòu)成相加的群,其群法則可以在幾何學(xué)上被解釋。每個(gè)直線在三個(gè)不必不同的點(diǎn)與橢圓曲線相交(schndden)并且 對(duì)每?jī)蓚€(gè)點(diǎn)可以計(jì)算第三點(diǎn),使得此三個(gè)點(diǎn)之和是中性元素。通過(guò)施 加穿過(guò)兩個(gè)點(diǎn)P和Q的直線,確定與橢圓曲線相交的第三點(diǎn)S和將所 述點(diǎn)反映到x軸上來(lái)進(jìn)行相加(以幾何方式示出)。點(diǎn)與標(biāo)量k的標(biāo) 量乘法通過(guò)將點(diǎn)對(duì)自身的k次相加來(lái)實(shí)現(xiàn)?;跈E圓曲線的密碼系統(tǒng)自1985年以來(lái)是公知的(通過(guò)Koblitz, N.和Miller, V.引入)。所述的密碼系統(tǒng)和先前的RSA方法(Rivest, R., Shamir, A., Adleman, L.)例如在Menezes、 van Oorschot、 Vanstone 的"Handbookof Applied cryptography" ( CRC Press (1996))中詳細(xì)地 予以描述。與橢圓曲線相反,在RSA系統(tǒng)中,以相乘的半群計(jì)算。根 據(jù)橢圓曲線的加法的類(lèi)推法在此是RSA系統(tǒng)中的乘法。從標(biāo)量乘法這 里得出冪運(yùn)算。返回到待解說(shuō)的例子,可以確定,對(duì)數(shù)學(xué)運(yùn)算在計(jì)算技術(shù)上的轉(zhuǎn) 換可以通過(guò)以下算法進(jìn)行,其中k由二進(jìn)制表示(bi, i-n-l…0)來(lái)預(yù) 先規(guī)定算法la: (RSA: z = ak mod N)(1) z —1(2) i — n-1(3) 只要i>-l(3.1) z — z2 mod N(3.2) 如果bi = l則z —z*amodN(3.3) i — i — 1(4) 提供z算法lb: (EC—橢圓曲線Q = k * P)(l) Q —o(2) i — n-l(3) 只要i>-l(3.1) Q — 2 * Q(3.2) 如果bj = l則Q —Q + P(3.3) i — i — 1(4) 提供(liefere ) Q因此,基本上在每個(gè)循環(huán)過(guò)程中分別執(zhí)行兩個(gè)計(jì)算計(jì)算運(yùn)算、即 在RSA系統(tǒng)時(shí)所謂的平方-乘(Square-and-Mukiply)和在EC系統(tǒng)時(shí) 所謂的雙倍-加(DouWe-and-Add )(接下來(lái)EC將^皮用作橢圓曲線的 簡(jiǎn)稱)。在簡(jiǎn)單的電流分析(SPA)的情況下,對(duì)冪運(yùn)算或者標(biāo)量乘法的電 流消耗的分布圖進(jìn)行分析。標(biāo)量乘法例如主要由加法和加倍組成。此 運(yùn)算顯著地在K的初等運(yùn)算數(shù)目方面不同,使得電流消耗也不同。因 此,通過(guò)相應(yīng)的側(cè)信道攻擊可以推斷出各個(gè)比特和因此推斷出k本身 的二進(jìn)制表示。用于防御這種攻擊的第一步驟在于,對(duì)于兩個(gè)可能的比特狀態(tài)0 和1使取決于相應(yīng)比特值的電流流和計(jì)算運(yùn)行時(shí)間相均衡,正如接下 來(lái)所示算法2a: (RSA: z = a k mod N)(1)zo — 1(2)i — ii-l(3)只要i>-l(3.1)zo <~ z()2 mod N(3.2)zi — zo * a mod N(3.3)zo —zbi ,其中bi = 0或1(3.4)i —i一l(4)提供zo算法2b: (EC —橢圓曲線Q二k六P)(1)(2)(3)只要i>-l(3.1)QO — 2 * Qo(3.2) Qi — Qo + P(3.3) Qo —Qbi ,其中bi = 0或1(3.4) i — i — 1 (4)提供Qo從現(xiàn)在開(kāi)始,在每種情況下不依賴于相應(yīng)比特bi來(lái)執(zhí)行第一計(jì)算 運(yùn)算(步驟3.1)以及從現(xiàn)在開(kāi)始也執(zhí)行第二計(jì)算運(yùn)算(步驟3.2)。 然而,運(yùn)行時(shí)間在這并不是不顯著地增加,因?yàn)橐獔?zhí)行更多的運(yùn)算。比特值本身單獨(dú)地進(jìn)入在步驟(3.3)中的分配。如果b產(chǎn)0,那么在 循環(huán)過(guò)程中,點(diǎn)QQ(情況EC)單獨(dú)地通過(guò)其本身被更新。換句話說(shuō) 于是對(duì)Qi在步驟(3.2)中所計(jì)算的值被忽視,該值在使用其結(jié)果的意義 上來(lái)說(shuō)"徒勞地"被計(jì)算了。如果與此相反,b產(chǎn)l,那么將Qo分配給 值Qi。根據(jù)現(xiàn)在的兩個(gè)輔助量Qn、 Ch,由此在任何情況下都至少在電 流消耗和計(jì)算時(shí)間方面實(shí)現(xiàn)均衡。然而這并不完全的,正如所示。即步驟(3.3)類(lèi)似于如果/否則 (if/sonst)詢問(wèn)("如果")隱含向地址的轉(zhuǎn)移。視地址而定,這里 不同的電流消耗也可能變得可被察覺(jué),使得側(cè)信道攻擊是有可能的。用于防御側(cè)信道攻擊的可替代方法在于所謂的 Montgomery-Leiter (蒙哥馬利梯)。該算法在橢圓曲線的情況下特別 有效,然而從文獻(xiàn)DE 10151129 Al還公知在RSA系統(tǒng)上的應(yīng)用。如果 橢圓曲線上的點(diǎn)與因數(shù)1^并且同時(shí)與因數(shù)1^ + 1的乘積分別被計(jì)算,在 計(jì)算標(biāo)量乘法時(shí)也即可以不需要共同計(jì)算y坐標(biāo)。在橢圓曲線的情況 下,y坐標(biāo)可以從兩個(gè)分結(jié)果來(lái)重構(gòu)。按照該算法,對(duì)乘法的兩個(gè)結(jié)果的同時(shí)計(jì)算有利地集成在公共的 示意圖中,其中為此所定義的輔助量(在這稱為R和S)在每個(gè)循環(huán) 過(guò)程中有效地以相互的輔助的方式更新算法3: (EC-橢圓曲線Q=k*P)Montgomery丄eiter:(1) R — P, S — 0(2) i — n-l(3) 只要i>-l(3.1) 如果bi = l{S — S + R,R — 2*R}(3.2) 否則{R —R + S,S —2*S}(3.3)i — i — 1(4) 提供R, S(5) 從點(diǎn)R, S和P重構(gòu)k * P在所示的例子中,在每個(gè)循環(huán)過(guò)程中,輔助量R或者點(diǎn)R以PP 運(yùn)行在輔助量或者點(diǎn)S之前。P是事先規(guī)定的。對(duì)于k = (1010) = 10 , 例如8 = 10* 和11=11 *P。加法和加倍與比特?zé)o關(guān)地完全相同地進(jìn) 行。從運(yùn)算順序側(cè)不能推斷出比特序列。然而轉(zhuǎn)移指令("如果"或 者"否則")如剛開(kāi)始所提及的那樣形成用于攻擊的弱點(diǎn)。因此,本發(fā)明的任務(wù)是,提供一種在相對(duì)于側(cè)信道攻擊的安全性 方面而言改善了的、用于加密或者解密或用于產(chǎn)生或者或者校驗(yàn)消息 的數(shù)字簽名的方法。本任務(wù)通過(guò)具有根據(jù)獨(dú)立權(quán)利要求1和9的特征的用于對(duì)消息可 靠地加密或者解密或者用于產(chǎn)生或者校驗(yàn)消息的數(shù)字簽名的方法來(lái)解 決。從從屬權(quán)利要求中可以得出有利的擴(kuò)展方案。在獨(dú)立權(quán)利要求中所說(shuō)明的方法針對(duì)于例如在算法2和3中所示 的基本特征,其中連接該方面的思想在于避免在電流分布圖上可測(cè)的 轉(zhuǎn)移指令。建議,確定輔助量的存儲(chǔ)器地址并且利用所述所述輔助量自身來(lái) 實(shí)施運(yùn)算,其中利用輔助量執(zhí)行在冪運(yùn)算或標(biāo)量乘法時(shí)的計(jì)算運(yùn)算。 在此規(guī)定,計(jì)算存儲(chǔ)器地址的差(分別被表示數(shù)字或者被映射到數(shù)字 范圍內(nèi))。假如如果所計(jì)算的差具有較小的值,該所計(jì)算的差根據(jù)當(dāng) 前的密鑰比特被添加到所述存儲(chǔ)器地址,或者如果所計(jì)算的差具有較 大的值,被減去,那么剛好得到相應(yīng)其它輔助量(R或者S或者zo或 者Zl)的存儲(chǔ)器地址。從而可以通過(guò)這種計(jì)算實(shí)現(xiàn)對(duì)兩個(gè)輔助量的值 的交換或者兩個(gè)輔助量之一向相應(yīng)其它輔助量的映射。輔助量的值的交換在Montgomery-Leiter的情況下是有利的也即 對(duì)于兩個(gè)與比特相關(guān)的分支路徑進(jìn)行相同的計(jì)算運(yùn)算,但是以對(duì)稱交 換的輔助量布置的方式。該計(jì)算例如可以在比特值與先前所計(jì)算的存儲(chǔ)器地址值差的乘法 框架內(nèi)進(jìn)行。如果所述比特值為0,那么接下來(lái)在對(duì)存儲(chǔ)器地址相加或 者相減時(shí)也不發(fā)生改變。如果與此相反,所述比特值是l,那么以相同 的方式對(duì)所述差進(jìn)4于減或加。一個(gè)方面規(guī)定,將所述比特值引到計(jì)算機(jī)字的末尾,也就是說(shuō)使其成為最低有效比特(LSB)。接下來(lái)所述計(jì)算機(jī)字與所述差的乘法提 供乘積,該乘積可以首先被添加到存儲(chǔ)器地址。如果現(xiàn)在清除對(duì)值0 的比特(LSB),重新相乘并且再減去所述乘積,那么如果所述比特 LSB起初為0、也即由于清除過(guò)程而沒(méi)有發(fā)生改變,則得到初始地址。 然而,如果所述比特LSB具有值1,那么圍繞恰好地址域中的所述差 進(jìn)一步獲得在數(shù)學(xué)運(yùn)算中所使用的其它輔助量的存儲(chǔ)器地址。本發(fā)明的主要步驟是,形成地址差并且取決于當(dāng)前的比特值從存 儲(chǔ)器地址之一加或者減所述差用以與比特有關(guān)地分別獲得其它的存儲(chǔ) 器地址。因此,取消轉(zhuǎn)移指令,這特別在Montgomery-Leiter的情況下 使人注意到是有利的。根據(jù)比特值要實(shí)施的計(jì)算運(yùn)算迄今位于程序流 程中的不同位置。與此相反,從現(xiàn)在起基于輔助量的對(duì)稱特性,在程 序指令中可以訪問(wèn)相同的計(jì)算運(yùn)算,其中僅僅以對(duì)稱的方式交換內(nèi)容。 正如取消轉(zhuǎn)移指令那樣,根據(jù)比特值對(duì)不同電流消耗的檢測(cè)或者相應(yīng) 不同的計(jì)算時(shí)間幾乎不再是可能的,使得抗側(cè)信道攻擊的安全性得以 提高。現(xiàn)在將根據(jù)實(shí)施例進(jìn)一步解說(shuō)本發(fā)明。以在算法3中所示出的才艮據(jù)現(xiàn)有4支術(shù)的Montgomery-Leiter流程為 出發(fā)點(diǎn),形成SPA安全算法步驟(3.1) 如果bi = l:{S — S + R,R — 2*R}(3.2) 否則{R —R + S,S —2*S} 可以利用F1 = {S — S + R,R — 2*R}和 F2 = {R — R + S,S — 2*S} 以簡(jiǎn)化的方式來(lái)表示如果bi = 1: Fl,否則F2。如果獲得本發(fā)明所基于的認(rèn)識(shí),即轉(zhuǎn)移指令是抗側(cè)信道攻擊的弱 點(diǎn),那么下一步驟在于,如果密鑰比特采用值O,則在循環(huán)過(guò)程的開(kāi)始 和結(jié)束時(shí)交換輔助量。于是僅僅還需要參閱兩個(gè)轉(zhuǎn)移地址之一,例如 Fl:(3.1) 如果bi = 1: Fl(3.2) 否則{交換(R, S), Fl,交換(R,S))。在該點(diǎn),通過(guò)側(cè)信道攻擊的可檢測(cè)性又得到顯著提高,因?yàn)槿Q于比特值,在復(fù)制時(shí),每 計(jì)算機(jī)字兩次存儲(chǔ)器訪問(wèn)是必需的。在較長(zhǎng)的體元素的情況下,多次訪問(wèn)是必需的,其中當(dāng)所述密鑰比特當(dāng)前未被置位、即為o時(shí),這明顯地在電流消耗中反映了出來(lái)??梢匀缭诮酉聛?lái)的算法中所示的那樣進(jìn)行均衡 算法4:(EC-橢圓曲線Q-k六P) Montgomery-Leiter:(1) R — P, S — 0(2) i — n畫(huà)l(3) 只要i>-l(3.1) 如果bi = 1 { r —地址(R), s —地址(S) }(3.2) 否則{r —地址(S),s—地址(R))(3.3) 將內(nèi)容s向S'裝載,將內(nèi)容r向R'裝載(3.4) S' — S' + R'(3.5) R' — 2' * R'(3.6) 將S'向s存儲(chǔ),將R'向r存儲(chǔ)(3.7) i — i - 1(4) 提供R, S(5) 從點(diǎn)R,S和P重構(gòu)k頭P。r和s在此是地址變量并且引起根據(jù)比特值對(duì)輔助量的交換。如果 bi = l,則r指向輔助量的地址或者點(diǎn)R,并且如果b產(chǎn)0,則指向點(diǎn)S。根據(jù)本發(fā)明,在(3.1)中避免轉(zhuǎn)移指令,其方式是,在地址變量 r和s之間形成差并且使所述差與計(jì)算機(jī)字h相乘,其中比特依賴性被 存儲(chǔ)。當(dāng)前假設(shè),地址(S)大于地址(R)。此外,標(biāo)量k存在于計(jì)算機(jī)字的字段內(nèi)。算法5:(EC—橢圓曲線Q-k六P) Montgomery-Leiter:(1) R —P,S —0(2) d —地址(S)-地址(R)(3) i — n-l(4) 只要i>-l(4.1) 基于計(jì)算機(jī)字的LSB循環(huán)地旋轉(zhuǎn)bi(4.2)向h,復(fù)制h,從h'清除LSB(4.3)r—地址(S),s—地址(R)(4.4)m — h * d(4.5)r — i*-m,s — s + m(4.6)m — h, * d(4.7)r — r + m,s — s-m(4.8)向S'裝載內(nèi)容s,向R'裝載內(nèi)容(4.9)S' — S'+ R,(4.10)R' — 2' * R'(4.11)向s存儲(chǔ)S',向r存儲(chǔ)R'(4.12)i — i 一 1(5) 提供R,S(6) 從R,S和重構(gòu)k*P。計(jì)算機(jī)字h和h'在數(shù)值上最大相差值1,因?yàn)樗鼈儍H僅可能在LSB 上不同。如果bi-l,那么在步驟(4.4)至(4.7)中將r從地址(S)降到 地址(R)。這對(duì)應(yīng)于按照算法4的步驟(3.1)的結(jié)果,然而這里轉(zhuǎn) 移指令是不必要的。僅僅進(jìn)行真正的標(biāo)量乘法(步驟4.4 )或者(4.6 ))。正如根據(jù)現(xiàn)有技術(shù)的算法2a中,以下流程示出本發(fā)明在RSA方法 上的應(yīng)用算法6: (RSA: z = ak mod N)(1)zo — 1(2)d —地址(zo)-地址(zi)(3)i — n-1(4)只要i>-l(4.1)zo — z()2 mod N(4.2)zl — zo * a mod N(4.3)基于計(jì)算機(jī)字的LSB循環(huán)地旋轉(zhuǎn)bi(4.4)向h'復(fù)制h,從h'清除LSB(4.5)r —地址(zo)(4.6)m — h * d(4.5)r — r 一 m(4.6)m — h, * d(4.7) r — r + m(4.8) 向zo存儲(chǔ)內(nèi)容r(4.9) i — i — 1 (5) 提供z0與Montgomery-Leiter相反,對(duì)于橢圓曲線必須在此算法中只計(jì)算 一個(gè)地址。僅僅應(yīng)該存儲(chǔ)中間值儲(chǔ)。
權(quán)利要求
1.用于對(duì)消息可靠地加密或者解密或者用于產(chǎn)生或者校驗(yàn)消息的數(shù)字簽名的方法,其中,以處理器支持的方式利用密鑰(k)將數(shù)學(xué)運(yùn)算應(yīng)用于所述消息,所述密鑰可以利用比特(bi)序列表示為二進(jìn)制數(shù),包含以下步驟-初始化第一輔助量(z0)和第二輔助量(z1);-為第一輔助量(z0)和第二輔助量(z1)分別確定存儲(chǔ)器地址并且將第一存儲(chǔ)器地址分配給地址變量(r);-從存儲(chǔ)器地址之間的差別來(lái)計(jì)算差值(d);-從最高有效比特(MSB)開(kāi)始順序地為每個(gè)比特(bi)執(zhí)行以下步驟(a)通過(guò)將第一計(jì)算運(yùn)算應(yīng)用于第一輔助量(z0)來(lái)更新第一輔助量(z0);(b)通過(guò)將第二計(jì)算運(yùn)算應(yīng)用于第一輔助量(z0)來(lái)更新第二輔助量(z1);(c)根據(jù)當(dāng)前比特(bi)的值將所計(jì)算的差值(d)添加到地址變量(r),使得或者將第一輔助量(z0)的存儲(chǔ)器地址或者將第二輔助量(z1)的存儲(chǔ)器地址作為值分配給地址變量(r);(d)通過(guò)傳輸其存儲(chǔ)器地址被分配給地址變量(r)的所述輔助量(z0,z1)的值來(lái)更新第一輔助量(z0);-在結(jié)束所述步驟之后為每個(gè)比特(bi)輸出第一輔助變量(z0)作為數(shù)學(xué)運(yùn)算的結(jié)果。
2. 按照權(quán)利要求1的方法,其中在初始化時(shí)將值1分配給第一輔 助量(z0),并且第一計(jì)算運(yùn)算包含求積分或者第一輔助量(zO)與 自身的乘法。
3. 按照權(quán)利要求2的方法,其中事先規(guī)定定基(a)并且第二計(jì)算 運(yùn)算包含第一輔助量(z0)與基(a)的乘法。
4. 按照權(quán)利要求3的方法,其中事先規(guī)定數(shù)字(N),所述數(shù)字在計(jì)算運(yùn)算時(shí)被用于取模運(yùn)算。
5. 按照權(quán)利要求4的方法,其中所述方法是RSA加密/解密或者 簽名方法,其中數(shù)學(xué)運(yùn)算是模冪運(yùn)算(ak mod N),并且其中事先規(guī) 定的數(shù)字(N)對(duì)于取模運(yùn)算而言是兩個(gè)大質(zhì)數(shù)的乘積(p*q)。
6. 按照權(quán)利要求l的方法,其中-第一輔助量(zO)表示在有限體(K)上橢圓曲線(E)上的點(diǎn)(Qo) 并且在初始化步驟中被分配值0,-在更新第一輔助量(z0)的步驟中,第一計(jì)算運(yùn)算包含點(diǎn)(Qo) 與因數(shù)2的標(biāo)量乘法,畫(huà)所述數(shù)學(xué)運(yùn)算包含標(biāo)量乘法(k六P)。
7. 按照權(quán)利要求6的方法,其中在更新第二輔助量(zl )的步驟中, 第二計(jì)算運(yùn)算包含點(diǎn)(Qo)與橢圓曲線(E)上的固定預(yù)先規(guī)定的點(diǎn)(P)的加法。
8. 按照權(quán)利要求1到7之一的方法,其中在步驟(c)中,根據(jù)當(dāng) 前比特(bi)的值,將差值(d)添加到地址變量(r),其方式是,-構(gòu)成第一計(jì)算機(jī)字(hl),其中當(dāng)前比特(bi)在順序處理中是 最低有效比特(LSB);-使第一計(jì)算機(jī)字(hl)與所述差相乘來(lái)形成第一乘積(m); -從地址變量(r)減去第一乘積(ml);-通過(guò)將最低有效比特(LSB)置為0,由第一計(jì)算機(jī)字(hi)構(gòu) 成第二計(jì)算機(jī)字(h2);-使笫二計(jì)算機(jī)字(h2 )與所述差(d )相乘來(lái)形成第二乘積(m2 ); 一將第二乘積(m2)添加到地址變量(r)。
9. 用于對(duì)消息可靠地加密或者解密或者用于產(chǎn)生或者校驗(yàn)消息的 數(shù)字簽名的方法,其中,以處理器支持的方式利用密鑰(k)將數(shù)學(xué)運(yùn) 算應(yīng)用于所述消息,所述密鑰可以利用比特(bi)序列表示為二進(jìn)制數(shù), 包含以下步驟-初始化第一 (R)和第二輔助量(S);-為第一 (R)和第二輔助量(S)分別確定存儲(chǔ)器地址;-將第一存儲(chǔ)器地址分配給第一地址變量(r )和將第二存儲(chǔ)器地址 分配給第二地址變量(s);-從兩個(gè)存儲(chǔ)器地址之間的差別來(lái)計(jì)算差值(d);-順序地為每個(gè)比特(bi)執(zhí)行以下步驟 (a)根據(jù)比特(bi)的值,將所計(jì)算的差值(d)添加到第一地址 變量(r)并且從第二地址變量(s)減去差值(d),使得 或者作為值將第一輔助量(R)的存儲(chǔ)器地址分配給第一地址變量(r)和將第二輔助量(S)的存儲(chǔ)器地址分配給第二地址變量(s), 或者作為值將第二輔助量(S)的存儲(chǔ)器地址分配給第一地址變 量(r)和將第一輔助量(R)的存儲(chǔ)器地址分配給第二地址變量(s);(b)通過(guò)應(yīng)用第一計(jì)算運(yùn)算來(lái)更新分配給第一地址變量(r)的 所述輔助量(R, S);(c )通過(guò)應(yīng)用第二計(jì)算運(yùn)算來(lái)更新分配給第二地址變量(s )的所 述輔助量(R, S);-在結(jié)束所述步驟之后為每個(gè)比特(bi)輸出第一 (R)和第二輔助 量(S)并且從第一 (R)和第二輔助量(S)計(jì)算數(shù)學(xué)運(yùn)算的結(jié)果。
10. 按照權(quán)利要求9的方法,其中第一輔助量(R)表示在有限體 (K)上橢圓曲線(E)上的點(diǎn)并且在初始化步驟中被分配固定的點(diǎn)(P)。
11. 按照權(quán)利要求9或者IO的方法,其中第二輔助量(S)表示在 有限體(K)上橢圓曲線(E)上的點(diǎn)并且在初始化步驟中被分配值O。
12. 按照權(quán)利要求9到11之一的方法,其中所述數(shù)學(xué)運(yùn)算包含標(biāo) 量乘法(k*P)。
13. 按照權(quán)利要求9到12之一的方法,其中在更新給第一地址變 量所分配的輔助量的步驟中,第一計(jì)算運(yùn)算包含橢圓曲線上的兩個(gè)點(diǎn) 的加法。
14. 按照權(quán)利要求9到13之一的方法,其中在更新給第二地址變 量所分配的輔助量的步驟中,第二計(jì)算運(yùn)算包含橢圓曲線上的點(diǎn)與因 數(shù)2的標(biāo)量乘法或者與自身的加法。
15. 按照權(quán)利要求9的方法,所述方法是RSA加密/解密或者簽名 方法,其中所述數(shù)學(xué)運(yùn)算是利用事先規(guī)定的數(shù)字(N)用于取模運(yùn)算的 模冪運(yùn)算(akmodN),所述數(shù)字(N)是兩個(gè)大質(zhì)數(shù)的乘積(p*q )。
16. 按照權(quán)利要求9到15之一的方法,其中在步驟(a)中,根據(jù) 當(dāng)前比特(bi)的值,將差值(d)添加到第一地址變量(r),其方式 是,-構(gòu)成第一計(jì)算機(jī)字(hl),其中當(dāng)前比特(bi)在順序處理中是 最低有效比特(LSB);-使第一計(jì)算機(jī)字(hl)與所述差相乘來(lái)形成第一乘積(ml); -從地址變量(r)減去第一乘積(ml);陽(yáng)通過(guò)將最低有效比特(LSB)置為0,由第一計(jì)算機(jī)字(hi)構(gòu)成第二計(jì)算機(jī)字(h2);-使第二計(jì)算機(jī)字(h2 )與所述差(d )相乘來(lái)形成第二乘積(m2 ); -將第二乘積(m2)添加到地址變量(r)。
17.按照權(quán)利要求16的方法,其中在步驟(a)中,根據(jù)當(dāng)前比特 (bi)的值,從第二地址變量(s)減去差值(d),其方式是, -將第一乘積(ml)添加到地址變量(r); -從地址變量(s)減去第二乘積(m2)。
全文摘要
用于對(duì)消息可靠地加密或者解密或者用于產(chǎn)生或者校驗(yàn)消息的數(shù)字簽名的方法,其中,以處理器支持的方式利用密鑰(k)將數(shù)學(xué)運(yùn)算應(yīng)用于所述消息,所述密鑰可以利用比特(bi)序列表示為二進(jìn)制數(shù),為每個(gè)比特順序地執(zhí)行對(duì)輔助量(z<sub>0</sub>,z<sub>1</sub>,R,S)的計(jì)算運(yùn)算。通過(guò)從輔助量讀出存儲(chǔ)器地址并且分配給地址變量(r,s),來(lái)考慮計(jì)算結(jié)果對(duì)各個(gè)比特(bi)的值的依賴性。地址的差(d)被計(jì)算并且根據(jù)分別當(dāng)前的比特(bi)針對(duì)計(jì)算機(jī)地址被加或被減。因而可以交換輔助變量(z<sub>0</sub>,z<sub>1</sub>,R,S)對(duì)地址變量(r,s)的分配。由此可以與比特有關(guān)地控制計(jì)算運(yùn)算的順序和選擇,而不必在程序流程中實(shí)現(xiàn)轉(zhuǎn)移指令。
文檔編號(hào)H04L9/30GK101268654SQ200680032749
公開(kāi)日2008年9月17日 申請(qǐng)日期2006年7月26日 優(yōu)先權(quán)日2005年9月6日
發(fā)明者A·卡格爾, B·邁耶, M·布勞恩 申請(qǐng)人:西門(mén)子公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
綦江县| 崇文区| 四川省| 望谟县| 平远县| 普洱| 德化县| 沭阳县| 安康市| 西乡县| 吴江市| 夏邑县| 鄱阳县| 阿图什市| 得荣县| 祁东县| 五大连池市| 嵩明县| 剑川县| 荣成市| 陇南市| 建始县| 滨海县| 饶阳县| 五台县| 郎溪县| 谢通门县| 大洼县| 东莞市| 方山县| 武功县| 山阴县| 和顺县| 阿合奇县| 鹤庆县| 武宁县| 揭阳市| 基隆市| 洞头县| 出国| 周口市|