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

安全解密方法

文檔序號(hào):6454432閱讀:227來(lái)源:國(guó)知局
專利名稱:安全解密方法
技術(shù)領(lǐng)域
本發(fā)明涉及基于密碼來(lái)確定明文的方法。
背景技術(shù)
例如,這樣的方法以RSA方法而為人所知。在RSA方法中,通 過(guò)公共密鑰加密明文,其中,可以通過(guò)相關(guān)聯(lián)的秘密密鑰再次解密該 密碼。由于加密數(shù)據(jù)通常是高度機(jī)密而不能公共訪問(wèn),因此數(shù)據(jù)越來(lái) 越頻繁地暴露在攻擊之下,以偵察出秘密密鑰,解密加密數(shù)據(jù),并從 而非所希望地確定加密數(shù)據(jù),導(dǎo)致濫用該解密的數(shù)據(jù)。
這樣的攻擊已經(jīng)以定時(shí)攻擊(timing attack)或差分錯(cuò)誤分析 (DFA)攻擊而為人所知,在這些攻擊中,觀察操作過(guò)程中的計(jì)算時(shí) 間或計(jì)算的運(yùn)行時(shí)間或錯(cuò)誤行為,以確定在這樣的過(guò)程中使用的秘密 密鑰。
因此,己經(jīng)提出了方法,這些方法通過(guò)反RSA函數(shù)或二次RSA 計(jì)算,需要大量計(jì)算消耗,從而試圖探知上述操作并使其無(wú)效。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于密碼來(lái)確定明文的方法,所述方法 不易受定時(shí)攻擊或差分錯(cuò)誤分析攻擊,而具有相對(duì)低的附加消耗量。
根據(jù)本發(fā)明,這是由基于密碼C來(lái)確定明文M并使用秘密密鑰d 的方法來(lái)實(shí)現(xiàn)的,其中,以二進(jìn)制形式使用秘密密鑰d,其中,在每 個(gè)迭代步驟i對(duì)于對(duì)應(yīng)的密碼密鑰的比特di確定明文M,并與之并行 地確定安全變量Mn,接著通過(guò)秘密密鑰d的比特兼容(bit-compatible) 的冪來(lái)確定驗(yàn)證變量x。
在從屬權(quán)利要求中描述優(yōu)選的進(jìn)一步方案。


參照附圖中所示的實(shí)施例示例,進(jìn)一步描述本發(fā)明,但是,本發(fā) 明不限于這些實(shí)施例示例。
圖1示出了 RSA方法的示意說(shuō)明圖。
圖2示出了RSA方法的框圖。
圖3示出了定時(shí)攻擊的說(shuō)明圖。
圖4示出了 "總是乘法和平方"方法的框圖。
圖5示出了根據(jù)本發(fā)明的驗(yàn)證方法的框圖。
圖6示出了根據(jù)本發(fā)明的驗(yàn)證方法的框圖。
圖7示出了根據(jù)本發(fā)明的驗(yàn)證方法的框圖。
具體實(shí)施例方式
由于非常頻繁地使用機(jī)密信息并以公共可訪問(wèn)的方式傳送機(jī)密 信息,現(xiàn)今加密和解密方法非常普遍。以下參照根據(jù)Rivest、 Shamir 和Adleman的所謂RSA方法,描述根據(jù)現(xiàn)有技術(shù)的加密和相關(guān)聯(lián)的解 密的實(shí)現(xiàn)。在RSA方法中,首先,使用公共密鑰g來(lái)加密明文M以形成 密碼C,即秘文。接著,由于沒(méi)有秘密密鑰d就不能解密密碼C,因此 也可以公開(kāi)或傳送已加密的密碼C。明文M的計(jì)算是通過(guò)使用秘密密 鑰d對(duì)密碼C進(jìn)行模求冪運(yùn)算(mod N) (modular exponentiation (mod N))來(lái)實(shí)施的。圖l示出了示意圖l,以便說(shuō)明根據(jù)M-CdmodN的RSA 方法的解密。為此,圖1示出了表示RSA解密的框2。所使用的輸入變 量是密碼C和秘密密鑰d,以獲得明文M作為結(jié)果。
一般地,通過(guò)所謂的"乘法和平方"算法來(lái)實(shí)現(xiàn)這個(gè)等式。此處, 以長(zhǎng)度為L(zhǎng)的二進(jìn)制形式使用密鑰d:
"《+ 2《+ 4《+…2"d =》'' 《
,'=0
《e{0,l}
如果使用這種形式,則結(jié)果是如下乘積鏈-M = C"。
C"' C44 . CM'... C2"rf"' modiV£-1
/.=0
如果x,;C2、則在以下等式中
i一l
M-JJxf'modiV其中xf'=
i=0
X" =1
1,《=0
變量Xi可以迭代計(jì)算得到-
= C = (C ) = x,
因此,如下偽代碼來(lái)獲得該"乘法和平方"算法
M=l;x=C; for i=0 to L-l
ifd= = l
M=M*x mod N
end if
x=square(x) mod N sndfor
圖2將模求冪運(yùn)算的相關(guān)聯(lián)過(guò)程10示為框圖。
該方法開(kāi)始于框ll,在框12,使用值M-1、 x-C和i-O來(lái)初始化該 方法。在框13,執(zhí)行秘密密鑰d的比特dj是否等于l的詢問(wèn)。如果是, 則該方法繼續(xù)至框14;如果否,則該方法繼續(xù)至框15。在框14中,計(jì) 算M-xfMmodN。接著,該方法也繼續(xù)至框15,其中,確定x-x2mod N。此后,在框16,執(zhí)行是否i-L-l的詢問(wèn)。如果是,則該方法在框18 終止;如果否,則在框17設(shè)置i^+l,該方法再次繼續(xù)至框13。執(zhí)行L 次循環(huán),其中每種情況下處理秘密密鑰d的一個(gè)比特di。
RSA方法的定時(shí)攻擊是在1998年提出的。在這種攻擊中,從各個(gè) 循環(huán)中的不同運(yùn)行時(shí)間或計(jì)算時(shí)間獲得秘密密鑰d。如果d產(chǎn)l,則執(zhí)行 框14中的乘法,即運(yùn)行時(shí)間較長(zhǎng)。如果d產(chǎn)0,則不執(zhí)行框14中的乘法, 因此結(jié)果是較短的運(yùn)行時(shí)間。例如,通過(guò)評(píng)估電流消耗、通過(guò)記錄PC 應(yīng)用中的高速緩存活動(dòng)或通過(guò)測(cè)量組件的電磁輻射,針對(duì)每個(gè)循環(huán)進(jìn) 行運(yùn)行時(shí)間或計(jì)算時(shí)間的檢測(cè)。
圖3中通過(guò)示例示出了芯片卡微控制器的電流消耗作為時(shí)間的函數(shù),并以簡(jiǎn)單方式說(shuō)明了定時(shí)攻擊的操作模式。圖3示出了不同的電流 消耗的區(qū)域作為時(shí)間的函數(shù),其中,低電流消耗區(qū)域具有兩種典型寬 度,即持續(xù)時(shí)間。第一區(qū)域20表示平方區(qū)域,其中確定x-VmodN, 而區(qū)域21表示乘法區(qū)域,其中計(jì)算VNWmodN。由于根據(jù)圖2方法的 最后的計(jì)算僅在比特d^l時(shí)才執(zhí)行,因此對(duì)于目前的情況,di必定等于 1。接著是區(qū)域22、 23和24,在這些區(qū)域中,沒(méi)有執(zhí)行乘法,因此di 必定等于O。因此,可以以相對(duì)簡(jiǎn)單的方式檢測(cè)出d^O或d產(chǎn)l。因此, 可以通過(guò)"乘法"和"平方"的不同的運(yùn)行時(shí)間,基于電流曲線來(lái)檢 測(cè)各個(gè)密鑰比特dj。為了防止這種攻擊,使用所謂的"總是乘法和平 方(always multiplication and squaring)"方法,該方法在d產(chǎn)O的情況下, 總是執(zhí)行相同但無(wú)效的乘法,這樣導(dǎo)致了對(duì)于d產(chǎn)l或d產(chǎn)O而言恒定的循
環(huán)時(shí)間。相應(yīng)地,相關(guān)聯(lián)的偽代碼是 M=l;x=C; for i=0 to L-l ifd= = l
M=M*x mod N else
M*x mod N end if
x=square(x) mod N endfor
圖4示出了用于說(shuō)明該改進(jìn)的RSA方法的框圖30。該方法開(kāi)始于 框31,在框32,使用對(duì)應(yīng)的開(kāi)始值來(lái)初始化該方法。在框33,執(zhí)行是 否di-l的詢問(wèn)。如果是,則該方法繼續(xù)至框34;如果否,則該方法繼 續(xù)至框35。在框34中,計(jì)算M=x*MmodN。在框35中,執(zhí)行乂*1^1 mod N作為所謂的無(wú)效乘法。接著,該方法繼續(xù)至框36,其中確定j^x21110(1 N。此后,在框37,執(zhí)行是否i-L-l的詢問(wèn)。如果是,則該方法在框39 終止;如果否,則在框38設(shè)置i-i+l,該方法再次繼續(xù)至框33。執(zhí)行L 次循環(huán),其中每種情況下處理秘密密鑰d的一個(gè)比特di。
在該改進(jìn)的RSA方法實(shí)現(xiàn)之后,對(duì)這種算法的另一種攻擊方法,所謂的差分錯(cuò)誤分析(DFA)攻擊變得為人所知,根據(jù)該攻擊,通過(guò) 例如光、電磁脈沖、供電脈沖之類來(lái)破壞各個(gè)循環(huán)中的乘法。如果乘 法的破壞對(duì)最終結(jié)果沒(méi)有任何影響,則相關(guān)聯(lián)的循環(huán)執(zhí)行了如上所述 的無(wú)效乘法。對(duì)應(yīng)的密鑰比特dj則是d產(chǎn)O。然而,如果該破壞改變了最 終結(jié)果,該密鑰比特則是d產(chǎn)l。如果逐個(gè)循環(huán)地按照這種方式來(lái)攻擊 該方法,則可以確定整個(gè)秘密密鑰d。
為了防止這樣的攻擊,通常通過(guò)反RSA函數(shù)(inverse RSA function),或通過(guò)二次RSA函數(shù)(second RSA function)來(lái)驗(yàn)證密碼的 計(jì)算,所述反RSA函數(shù)通過(guò)C-Me來(lái)使用公共密鑰e。在第一種情況下, 公共密鑰e必須是系統(tǒng)中己知的。在第二中情況下,將計(jì)算所耗費(fèi)的時(shí) 間加倍。
根據(jù)本發(fā)明的用于對(duì)抗上述DFA攻擊的方法,通過(guò)校驗(yàn)和來(lái)提供 對(duì)冪等式M-Cd的計(jì)算的驗(yàn)證。在這種情況下,執(zhí)行一種方法,該方法 使用圖4的方法中所示的無(wú)效乘法。為此,在無(wú)效乘法過(guò)程中計(jì)算d的 二進(jìn)制互補(bǔ)冪(binary complementary exponent)的密碼Mn,見(jiàn)圖5。 如圖5所示,根據(jù)本發(fā)明的方法通過(guò)計(jì)算M。,提供對(duì)"總是乘法和平 方"方法的驗(yàn)證。
圖5示出了用于說(shuō)明相對(duì)于DFA攻擊而改進(jìn)的該方法的框圖40。 該方法開(kāi)始于框41,在框42,使用開(kāi)始值來(lái)初始化該方法。在框43, 執(zhí)行是否d產(chǎn)l的詢問(wèn)。如果是,則該方法繼續(xù)至框44;如果否,則該 方法繼續(xù)至框45。在框44中,計(jì)算M-x^MmodN。在框45中,計(jì)算 Mn=x*M modN。接著,該方法也繼續(xù)至框46,其中,確定x-x2 mod N。 此后,在框47,執(zhí)行是否i-L-l的詢問(wèn)。如果是,則該方法在框49終止; 如果否,則在框48設(shè)置i-i+l,該方法再次繼續(xù)至框43。在框49,詢問(wèn) 計(jì)算C^^Mn mod N=x,作為驗(yàn)證框53的一部分。如果滿足該等式, 則在框51識(shí)別出未被破壞的計(jì)算,并返回對(duì)應(yīng)的信號(hào)。然而,如果不 滿足該等式,則在框50識(shí)別出被破壞的計(jì)算,返回對(duì)應(yīng)的錯(cuò)誤信號(hào)。 該方法在框52終止。執(zhí)行L次循環(huán),其中每種情況下處理秘密密鑰d的 一個(gè)比特dj。
根據(jù)圖5,如果在無(wú)效乘法過(guò)程中執(zhí)行了計(jì)算M^x+MnmodN,則在最后的循環(huán)結(jié)束時(shí)獲得以下結(jié)果
其中,密鑰d的互補(bǔ)數(shù)^必須由以下等式來(lái)替代
7 = 2L-l-d
這給出了
如果計(jì)算乘積
j/ = CC2i-wmodiV _y = C2i mod _/V
則結(jié)果y可以直接與輔助變量x進(jìn)行比較,在L次循環(huán)之后,輔助變量x 取相同的值A(chǔ)-fmodW。因此,由所謂的DFA攻擊導(dǎo)致的任何破壞
都意味著x不等于乘積y。 -
由于對(duì)于典型的1024比特RSA而言僅有兩次乘法和一次比較 (1024次乘法+1024次平方計(jì)算),該驗(yàn)證的消耗較低。
如果使用C來(lái)初始化Mn,這樣的計(jì)算甚至更有優(yōu)勢(shì)。因此,不需 要在最后的循環(huán)之后乘以C。此外,由于在初始化之后不需要存儲(chǔ)C, 減少了存儲(chǔ)器需求。圖6示出了這樣的方法,在該方法中,在求冪運(yùn)算 之前通過(guò)初始化M。-C來(lái)執(zhí)行優(yōu)化。
圖6示出了用于說(shuō)明相對(duì)于DFA攻擊而改進(jìn)并優(yōu)化的該方法的框 圖60。該方法開(kāi)始于框61,在框62,使用包括M^C在內(nèi)的開(kāi)始值來(lái)初 始化該方法。在框63,執(zhí)行是否d尸l的詢問(wèn)。如果是,則該方法繼續(xù) 至框64;如果否,則該方法繼續(xù)至框65。在框64中,計(jì)算M=x*Mmod N。在框65中,計(jì)算M^x+MnmodN。接著,該方法也繼續(xù)至框66, 其中,確定x-xZmodN。此后,在框67,執(zhí)行是否i-L-l的詢問(wèn)。如果 是,則該方法在框69終止;如果否,則在框68設(shè)置i^+l,該方法再次 繼續(xù)至框63。在框69,詢問(wèn)計(jì)算N^Mn mod N=x,作為驗(yàn)證框73的一 部分。如果滿足該等式,則在框71識(shí)別出未被破壞的計(jì)算,并返回對(duì) 應(yīng)的信號(hào)。然而,如果不滿足該等式,則在框70識(shí)別出被破壞的計(jì)算, 返回對(duì)應(yīng)的錯(cuò)誤信號(hào)。該方法在框72終止。然而,根據(jù)本發(fā)明,上述方法也適用于其他方法或一般數(shù)學(xué)結(jié)構(gòu),
如適用于"總是加法和加倍"方法。圖7示出了框圖80,用于說(shuō)明相對(duì) 于DFA攻擊而改進(jìn)并優(yōu)化的對(duì)應(yīng)"總是加法和加倍"方法,如ECC或 HECC方法,其中ECC方法是橢圓曲線密碼方法,HECC是超橢圓曲線 密碼方法。該方法開(kāi)始于框81,在框82,使用開(kāi)始值來(lái)初始化該方法。 在框83,執(zhí)行是否di-l的詢問(wèn)。如果是,則該方法繼續(xù)至框84;如果 否,則該方法繼續(xù)至框85。在框84中,計(jì)算M- x+M。在框85中,計(jì) 算Mn-x+M^接著,該方法也繼續(xù)至框86,其中,確定x-2t。此后, 在框87,執(zhí)行是否i:L-l的詢問(wèn)。如果是,則該方法在框89終止;如果 否,則在框88設(shè)置i-i+l,該方法再次繼續(xù)至框83。在框89,詢問(wèn)計(jì)算 M+Mn=x,作為驗(yàn)證框93的一部分。如果滿足該等式,則在框91識(shí)別 出未被破壞的計(jì)算,并返回對(duì)應(yīng)的信號(hào)。然而,如果不滿足該等式, 則在框90識(shí)別出被破壞的計(jì)算,返回對(duì)應(yīng)的錯(cuò)誤信號(hào)。該方法在框92 終止。
該驗(yàn)證方法也可以用于一般的數(shù)學(xué)群(mathematical group)。設(shè) (G, +, 0)是包含元素G、中立元素O和群鏈接符"+ "的群。群元 素P的n次(n-fold)求和被標(biāo)記為一P,特別地,0*P=O, (-n)*P=n*(-P), 其中"-P"是P的反元素。為了使用可選的具有比特長(zhǎng)度L的秘密標(biāo)量 因子d》0來(lái)保護(hù)該運(yùn)算fP的實(shí)現(xiàn)不受定時(shí)攻擊,也可以以與"總是
乘法和平方"算法相同的方式來(lái)實(shí)現(xiàn)"總是加法和加倍"算法。也可 以以類似的方式來(lái)轉(zhuǎn)變上述對(duì)抗DFA攻擊的保護(hù);最后,輔助變量y
計(jì)算為
<formula>formula see original document page 9</formula> 對(duì)于輔助變量x,當(dāng)且僅當(dāng)x-;;時(shí),才發(fā)生DFA攻擊。附圖標(biāo)記列表 1圖
2圖l中的框
10示出了模求冪運(yùn)算的過(guò)程的框圖 11框圖10中的框
12框圖10中的框 13框圖10中的框 14框圖10中的框 15框圖10中的框 16框圖10中的框 17框圖10中的框 18框圖10中的框 20區(qū)域 21區(qū)域 22區(qū)域 23區(qū)域 24區(qū)域 30框圖
31框圖30中的框 32框圖30中的框 33框圖30中的框 34框圖30中的框 35框圖30中的框 36框圖30中的框 37框圖30中的框 38框圖30中的框 40框圖
41框圖40中的框 42框圖40中的框44框圖40中的框 45框圖40中的框 46框圖40中的框 47框圖40中的框 48框圖40中的框 49框圖40中的框 50框圖40中的框 51框圖40中的框 52框圖40中的框 53框圖40中的驗(yàn)證框 60框圖
61框圖60中的框 62框圖60中的框 63框圖60中的框 64框圖60中的框 65框圖60中的框 66框圖60中的框 67框圖60中的框 68框圖60中的框 69框圖60中的框 70框圖60中的框 71框圖60中的框 72框圖60中的框 73框圖60中的驗(yàn)證框 80框圖
81框圖80中的框 82框圖80中的框 83框圖80中的框 84框圖80中的框85框圖80中的框
86框圖80中的框 87框圖80中的框 88框圖80中的框 89框圖80中的框 90框圖80中的框 91框圖80中的框 92框圖80中的框 93框圖80中的驗(yàn)證框
權(quán)利要求
1. 一種基于密碼C來(lái)確定明文M并使用秘密密鑰d的方法,其中,以二進(jìn)制形式使用秘密密鑰d,在每個(gè)迭代步驟i針對(duì)對(duì)應(yīng)比特di確定明文M,并與之并行地確定安全變量Mn,接著通過(guò)秘密密鑰d的比特兼容的冪來(lái)確定驗(yàn)證變量x。
2. 如權(quán)利要求l所述的方法,其特征在于,通過(guò)求冪運(yùn)算(modN) 來(lái)確定所述明文。
3. 如之前任一權(quán)利要求所述的方法,其特征在于,使用乘法/平 方算法來(lái)確定所述明文。
4. 如之前任一權(quán)利要求所述的方法,其特征在于,使用加法/加 倍算法來(lái)確定所述明文。
5. 如權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,對(duì)于d產(chǎn)l, 計(jì)算M-xtMmodN,以確定所述明文。
6. 如權(quán)利要求5所述的方法,其特征在于,對(duì)于d產(chǎn)0,計(jì)算M^ Mn*xmodN,作為無(wú)效乘法。
7. 如權(quán)利要求l、 2或4所述的方法,其特征在于,對(duì)于drl,計(jì) 算M-x+M,以確定所述明文。
8. 如權(quán)利要求5所述的方法,其特征在于,對(duì)于d產(chǎn)0,計(jì)算 Mn=x+Mn,作為無(wú)效加法。
9. 如之前任一權(quán)利要求所述的方法,其特征在于,計(jì)算!V^Mn mod N=x,以用于驗(yàn)證目的。
10. 如之前任一權(quán)利要求所述的方法,其特征在于,計(jì)算 M+Mn=x,以用于驗(yàn)證目的。
全文摘要
本發(fā)明涉及一種基于密碼C來(lái)確定明文M并使用秘密密鑰d的方法,其中,以二進(jìn)制形式使用秘密密鑰d,其中,在每個(gè)迭代步驟i對(duì)于對(duì)應(yīng)比特d<sub>i</sub>確定明文M并與之并行地確定安全變量M<sub>n</sub>,接著通過(guò)秘密密鑰d的比特兼容的冪來(lái)確定驗(yàn)證變量x。
文檔編號(hào)G06F7/72GK101416154SQ200780011977
公開(kāi)日2009年4月22日 申請(qǐng)日期2007年2月15日 優(yōu)先權(quán)日2006年4月6日
發(fā)明者沃爾夫?qū)ね胸悹柛裉?申請(qǐng)人:Nxp股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
甘南县| 南乐县| 溆浦县| 唐山市| 巴马| 东辽县| 抚顺县| 济源市| 罗城| 乌拉特前旗| 乌审旗| 田东县| 申扎县| 隆德县| 茂名市| 荣成市| 齐齐哈尔市| 仙游县| 西青区| 瑞丽市| 连江县| 阿克陶县| 安多县| 甘肃省| 安福县| 玛多县| 诏安县| 宁蒗| 昆明市| 石家庄市| 安福县| 宁津县| 章丘市| 开平市| 冷水江市| 新邵县| 东宁县| 湾仔区| 治县。| 体育| 鄂尔多斯市|