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

私鑰壓縮的制作方法

文檔序號(hào):7912305閱讀:312來(lái)源:國(guó)知局
專利名稱:私鑰壓縮的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體涉及密碼技術(shù),更具體而言,涉及非對(duì)稱密碼技術(shù)中采用的私鑰的處理。
背景技術(shù)
加密處理將普通的信息(稱為“明文”)轉(zhuǎn)換為除了具有諸如密鑰的專門知識(shí)的人以外任何人甚至有可能連密碼破譯員都無(wú)法了解的“密文”。解密是將密文轉(zhuǎn)換為明文的逆過(guò)程。加密和解密統(tǒng)稱為“加密”。采用各種被稱為“加密程序”的算法實(shí)施加密和逆向的解密處理。加密程序在實(shí)施加密和解密處理時(shí)采用被稱為“密鑰”的秘密參數(shù)。在本專利申請(qǐng)的語(yǔ)境下以及在權(quán)利要求中,可以交換使用詞語(yǔ)“密鑰”和“密碼密鑰”,應(yīng)當(dāng)理解,一般而言既可以將密鑰用于加密和解密,又可以將其用于其他密碼操作,例如但不限于生成并驗(yàn)證數(shù)字簽名。本領(lǐng)域已知各種類型的加密程序,既包括對(duì)稱型的,也包括非對(duì)稱型的。在非對(duì)稱加密程序中,采用可以是每個(gè)人都知道的公鑰對(duì)數(shù)據(jù)加密。可以只采用通常保密的補(bǔ)充私鑰(complementary private key)對(duì)所得到的密文解密。也可以采用公鑰/私鑰對(duì)生成并驗(yàn)證數(shù)字證書(或簽名)。就數(shù)字證書(或簽名)而言,在對(duì)某一數(shù)據(jù)實(shí)施的密碼操作中采用私鑰,以生成數(shù)字證書(簽名),并采用公鑰驗(yàn)證加密方的身份。文中通常采用“密碼操作” 一詞表示加密/解密和數(shù)字簽名生成/驗(yàn)證。最常采用的非對(duì)稱加密程序之一是Rivest Shamir Adleman (RSA)算法,例如,如美國(guó)專利No. 4405829中所述。采用一對(duì)質(zhì)數(shù)ρ和q生成分別具有(n,e)和(n,d)的形式的公鑰和私鑰。這里將η稱為模數(shù),將e稱為指數(shù)。模數(shù)η只不過(guò)是所述質(zhì)數(shù)的乘積η = pq。公用指數(shù)e是處于l<e<cp(pq)的范圍內(nèi)的整數(shù),其中,函數(shù)cp(pq) = (p-l) (q_l)。計(jì)算私用指數(shù)d,使之滿足同余關(guān)系de=l (modcp (pq))。本領(lǐng)域已知各種用于選擇所述質(zhì)數(shù)和指數(shù)的方法和標(biāo)準(zhǔn),但是它們都不在本專利申請(qǐng)的范圍內(nèi)。加密的安全性通常隨著所采用的模數(shù)的長(zhǎng)度增大。因此,現(xiàn)在通常在RSA加密中采用具有IOM位甚至更長(zhǎng)的模數(shù)和指數(shù)的私鑰。正常情況下,將公鑰和私鑰(或者用于計(jì)算其的質(zhì)數(shù))存儲(chǔ)在屬于私鑰持有者的計(jì)算機(jī)存儲(chǔ)器內(nèi)。Krivoruchko 等在 “Storing RSA Private Keys in Your Head,” 12th Pacific Rim International Symposium on Dependable Computing PRDC '06 (2006), pages U9-138中指出了這種方法中存在的某些風(fēng)險(xiǎn)。例如,作者指出未經(jīng)許可的一方可能接觸到存有私鑰的設(shè)備,因而能夠竊取私鑰。響應(yīng)于這一問(wèn)題,作者描述了一種由用戶能夠記得并在需要時(shí)輸入到計(jì)算機(jī)設(shè)備中的短語(yǔ)生成公用/私用RSA密鑰對(duì)的方法。

發(fā)明內(nèi)容
通常將私鑰存儲(chǔ)在非易失性存儲(chǔ)器中,這樣可能產(chǎn)生高成本。在下文中描述的本發(fā)明的實(shí)施例提供了這樣的裝置和方法,其中,將比私鑰短的數(shù)字存儲(chǔ)在非易失性存儲(chǔ)器中,在必要時(shí)處理器將在計(jì)算私鑰的過(guò)程中用到所述數(shù)字。因而,根據(jù)本發(fā)明的實(shí)施例提供了一種用于加密的裝置,所述裝置包括非易失性存儲(chǔ)器,其存儲(chǔ)可由數(shù)字導(dǎo)出具有補(bǔ)充公鑰的私鑰的所述數(shù)字,其中,所述數(shù)字比所述私鑰短,所述裝置還包括處理器,其被配置成接收指示將對(duì)數(shù)據(jù)應(yīng)用私鑰的指令,以及作為對(duì)所述指令的響應(yīng),采用所存儲(chǔ)的數(shù)字計(jì)算私鑰,并采用所述私鑰對(duì)所述數(shù)據(jù)執(zhí)行密碼操作。此外,根據(jù)本發(fā)明的實(shí)施例,至多只將所述私鑰的一部分存儲(chǔ)在非易失性存儲(chǔ)器內(nèi)。此外,根據(jù)本發(fā)明的實(shí)施例,采用公鑰對(duì)數(shù)據(jù)加密,并且其中,所述指令使處理器采用計(jì)算出的私鑰對(duì)經(jīng)加密的數(shù)據(jù)解密。此外,根據(jù)本發(fā)明的實(shí)施例,所述私鑰包括模數(shù)和私用指數(shù),所述指數(shù)包括高位部分和低位部分,其中,存儲(chǔ)在存儲(chǔ)器內(nèi)的數(shù)字指示出了所述指數(shù)的低位部分,并且其中,所述處理器被配置成通過(guò)計(jì)算所述高位部分并將所計(jì)算出的高位部分和低位部分連接起來(lái)而計(jì)算出所述私用指數(shù)。此外,根據(jù)本發(fā)明的實(shí)施例,所述非易失性存儲(chǔ)器還存儲(chǔ)了模數(shù)以及將所述私用指數(shù)和所述公鑰的公用指數(shù)聯(lián)系起來(lái)的乘法因數(shù),其中,所述處理器被配置成采用所述模數(shù)、所述公用指數(shù)和所述乘法因數(shù)計(jì)算所述私用指數(shù)的高位部分。此外,根據(jù)本發(fā)明的實(shí)施例,通過(guò)de=kcp(pq)+l給出了乘法因數(shù)k,d和e分別是私用指數(shù)和公用指數(shù),φ (Pq) = (P-I) (q-1),其中,P和q為質(zhì)數(shù),模數(shù)η = pq, d的高位部分等于kn/e的高位部分。此外,根據(jù)本發(fā)明的實(shí)施例,所述數(shù)字包括至少一個(gè)種子,并且其中,所述處理器被配置成對(duì)所述至少一個(gè)種子進(jìn)行擴(kuò)展,以生成一對(duì)質(zhì)數(shù)中的至少一個(gè)質(zhì)數(shù),并由所述一對(duì)質(zhì)數(shù)計(jì)算私鑰。此外,根據(jù)本發(fā)明的實(shí)施例,所述質(zhì)數(shù)的至少其中之一未存儲(chǔ)在所述非易失性存儲(chǔ)器中。此外,根據(jù)本發(fā)明的實(shí)施例,所述至少一個(gè)種子包括單個(gè)種子,其中,所述非易失性存儲(chǔ)器存儲(chǔ)至少一個(gè)校正因子,并且其中,所述處理器被配置成采用所述單個(gè)種子和所述至少一個(gè)校正因子計(jì)算所述一對(duì)質(zhì)數(shù)中的兩個(gè)質(zhì)數(shù)。此外,根據(jù)本發(fā)明的實(shí)施例,所述處理器被配置成采用所述種子計(jì)算所述一對(duì)質(zhì)數(shù)中的第一個(gè),并計(jì)算作為所述第一個(gè)質(zhì)數(shù)的函數(shù)的所述一對(duì)質(zhì)數(shù)中的第二個(gè)質(zhì)數(shù)。根據(jù)本發(fā)明的另一實(shí)施例還提供了一種加密方法,所述方法包括將可由數(shù)字導(dǎo)出具有補(bǔ)充公鑰的私鑰的所述數(shù)字存儲(chǔ)在非易失性存儲(chǔ)器內(nèi),其中,所述數(shù)字比所述私鑰短; 接收指示對(duì)數(shù)據(jù)應(yīng)用所述私鑰的指令;響應(yīng)于所述指令采用存儲(chǔ)的數(shù)字計(jì)算私鑰;以及采用計(jì)算出的私鑰對(duì)所述數(shù)據(jù)執(zhí)行密碼操作。此外,根據(jù)本發(fā)明的實(shí)施例,至多將所述私鑰的一部分存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi)。此外,根據(jù)本發(fā)明的實(shí)施例,采用公鑰對(duì)所述數(shù)據(jù)加密,其中,所述密碼操作的執(zhí)行包括采用計(jì)算出的私鑰對(duì)經(jīng)加密的數(shù)據(jù)解密。此外,根據(jù)本發(fā)明的實(shí)施例,所述私鑰包括模數(shù)以及包括高位部分和低位部分的私用指數(shù),其中,所述的將數(shù)字存儲(chǔ)在存儲(chǔ)器內(nèi)包括存儲(chǔ)所述指數(shù)的低位部分的指示,并且其中,所述的計(jì)算私鑰包括通過(guò)計(jì)算所述高位部分并將所計(jì)算出的高位部分和低位部分連接起來(lái)而計(jì)算私用指數(shù)。此外,根據(jù)本發(fā)明的實(shí)施例,所述方法包括將模數(shù)以及將私用指數(shù)和公鑰的公用指數(shù)聯(lián)系起來(lái)的乘法因數(shù)存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi),其中,所述的計(jì)算私用指數(shù)包括采用所述模數(shù)、所述公用指數(shù)和所述乘法因數(shù)計(jì)算所述私用指數(shù)的高位部分。此外,根據(jù)本發(fā)明的實(shí)施例,通過(guò)de=kcp (pq) +1給出了乘法因數(shù)k,d和e分別是私用指數(shù)和公用指數(shù),φ (pq) = (P-I) (q-1),其中,P和q為質(zhì)數(shù),模數(shù)η = pq,所述的計(jì)算私用指數(shù)的高位部分包括計(jì)算kn/e的高位部分。此外,根據(jù)本發(fā)明的實(shí)施例,所述的存儲(chǔ)數(shù)字包括存儲(chǔ)至少一個(gè)種子,其中,所述的計(jì)算私鑰包括擴(kuò)展所述至少一個(gè)種子,從而生成一對(duì)質(zhì)數(shù)中的至少一個(gè)質(zhì)數(shù),并由所述一對(duì)質(zhì)數(shù)計(jì)算私鑰。此外,根據(jù)本發(fā)明的實(shí)施例,所述質(zhì)數(shù)的至少其中之一未存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi)。此外,根據(jù)本發(fā)明的實(shí)施例,所述的存儲(chǔ)至少一個(gè)種子包括存儲(chǔ)單個(gè)種子,其中, 所述方法包括將至少一個(gè)校正因子存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi),并且其中,所述的計(jì)算私鑰包括采用所述單個(gè)種子和所述至少一個(gè)校正因子計(jì)算所述一對(duì)質(zhì)數(shù)中的兩個(gè)質(zhì)數(shù)。此外,根據(jù)本發(fā)明的實(shí)施例,擴(kuò)展所述至少一個(gè)種子包括采用所述種子計(jì)算所述一對(duì)質(zhì)數(shù)中的第一個(gè)質(zhì)數(shù),并計(jì)算作為所述第一個(gè)質(zhì)數(shù)的函數(shù)的所述一對(duì)質(zhì)數(shù)中的第二個(gè)質(zhì)數(shù)。根據(jù)本發(fā)明的另一實(shí)施例,提供了一種用于加密的方法,所述方法采用包括模數(shù)和私用指數(shù)的私鑰,所述私鑰具有包括模數(shù)和公用指數(shù)的補(bǔ)充公鑰,所述方法包括將所述模數(shù)、所述公用指數(shù)和所述私用指數(shù)的低位部分存儲(chǔ)在存儲(chǔ)器內(nèi);采用所存儲(chǔ)的模數(shù)和公用指數(shù)計(jì)算所述私用指數(shù)的高位部分;通過(guò)使計(jì)算出的高位部分與所存儲(chǔ)的低位部分連接起來(lái)生成所述私用指數(shù);以及采用所存儲(chǔ)的模數(shù)和所生成的私用指數(shù)對(duì)數(shù)據(jù)執(zhí)行密碼操作。此外,根據(jù)本發(fā)明的實(shí)施例,所述方法包括存儲(chǔ)使所述私用指數(shù)與所述公用指數(shù)聯(lián)系起來(lái)的乘法因數(shù),其中,所述的計(jì)算私用指數(shù)的高位部分包括將所述乘法因數(shù)應(yīng)用于所述模數(shù)和公用指數(shù)。此外,根據(jù)本發(fā)明的實(shí)施例,通過(guò)de=kcp (pq) +1給出了乘法因數(shù)k,d和e分別是私用指數(shù)和公用指數(shù),φ (pq) = (P-I) (q-1),其中,P和q為質(zhì)數(shù),模數(shù)η = pq,所述的計(jì)算私用指數(shù)的高位部分包括計(jì)算kn/e的高位部分。


通過(guò)結(jié)合附圖給出的下述詳細(xì)說(shuō)明,本發(fā)明將得到更為充分的理解和領(lǐng)會(huì),其中圖1是示意性示出了根據(jù)本發(fā)明的實(shí)施例的用于加密通信的系統(tǒng)的方框圖;圖2是示意性示出了根據(jù)本發(fā)明的實(shí)施例的用于對(duì)加密消息解密的方法的流程圖;以及圖3是示意性示出了根據(jù)本發(fā)明的另一實(shí)施例的用于對(duì)加密消息解密的方法的流程圖。
具體實(shí)施例方式在一些應(yīng)用中,非易失性存儲(chǔ)空間有限,并且成本相對(duì)較高,因此希望降低用于存儲(chǔ)私鑰信息的存儲(chǔ)量。例如,經(jīng)編程執(zhí)行RSA解密或加密的嵌入式計(jì)算設(shè)備可能只具有一個(gè)小的可用于含有這一信息的一次性可編程(OTP)存儲(chǔ)器。隨著私鑰尺寸不斷變大以提高對(duì)解密攻擊的抵抗能力,問(wèn)題也更加嚴(yán)重。下文描述的本發(fā)明的實(shí)施例提供了可以用于降低用來(lái)存儲(chǔ)私鑰的存儲(chǔ)量,而不顯著損害密碼安全性的方法和裝置。在所公開的實(shí)施例中,非易失存儲(chǔ)器存儲(chǔ)可由數(shù)字導(dǎo)出私鑰的數(shù)字。所存儲(chǔ)的數(shù)字比私鑰本身短,而且至多只將私鑰本身的一部分實(shí)際存儲(chǔ)在所述非易失存儲(chǔ)器中。(例如,可以存儲(chǔ)所述私鑰的模數(shù),而不是所述指數(shù)。)在接收到采用私鑰對(duì)數(shù)據(jù)執(zhí)行密碼操作的指令時(shí),處理器采用所存儲(chǔ)的數(shù)字計(jì)算私鑰,之后將所計(jì)算出的密鑰應(yīng)用于所述數(shù)據(jù)。在下文中將描述各種用于選擇要存儲(chǔ)在非易失性存儲(chǔ)器內(nèi)的數(shù)字,并由所述數(shù)字計(jì)算私鑰的方法。所述的用于由所存儲(chǔ)的數(shù)字計(jì)算私鑰的方法一般都具有低計(jì)算成本的特征,因?yàn)榇鎯?chǔ)能力有限的設(shè)備往往計(jì)算能力也有限。采用“數(shù)字”一詞表示存儲(chǔ)在存儲(chǔ)器內(nèi)的用于計(jì)算密鑰的數(shù)據(jù),而不管所述數(shù)據(jù)在存儲(chǔ)器內(nèi)實(shí)際上是作為數(shù)字、串還是其他數(shù)據(jù)類型定義的。圖1是示意性示出了根據(jù)本發(fā)明的實(shí)施例的用于加密通信的系統(tǒng)20的方框圖。這一系統(tǒng)是作為一個(gè)可以應(yīng)用本發(fā)明的原理的應(yīng)用實(shí)例給出的。然而,文中描述的私鑰生成方法決不限于所示出的實(shí)施例的背景,基本上可以將其應(yīng)用于任何可以采用私鑰的設(shè)置當(dāng)中,而不管是否與通信相關(guān)。因而,例如,不僅可以如圖示的實(shí)施例一樣將根據(jù)這些方法生成的私鑰用到對(duì)加密數(shù)據(jù)的解密當(dāng)中,也可以將其用到數(shù)字證書的創(chuàng)建以及其他加密功能當(dāng)中。在系統(tǒng)20中,服務(wù)器22將經(jīng)加密的數(shù)據(jù)傳輸至客戶端設(shè)備對(duì)。在這一例子中, 假設(shè)所述數(shù)據(jù)包括經(jīng)加密的廣播介質(zhì),在處于服務(wù)器和客戶端設(shè)備之間的無(wú)線鏈路上傳輸所述經(jīng)加密的廣播介質(zhì)。或者,可以在其他類型的網(wǎng)絡(luò)上傳輸這樣的數(shù)據(jù),包括地面網(wǎng)絡(luò)以及近程鏈路,例如射頻識(shí)別(RFID)應(yīng)用??梢圆捎梅菍?duì)稱算法(例如RSA)對(duì)所述廣播數(shù)據(jù)中的部分或全部進(jìn)行加密,之后由客戶端設(shè)備采用適當(dāng)?shù)乃借€對(duì)所述數(shù)據(jù)解密?;蛘?,由于所述非對(duì)稱解密對(duì)于計(jì)算需求高,因而可以采用對(duì)稱算法對(duì)所述廣播數(shù)據(jù)加密。在這種情況下,可以采用非對(duì)稱算法對(duì)用于對(duì)所述數(shù)據(jù)解密的密鑰加密(所述密鑰可以隨時(shí)間變化),并將其以加密的形式傳輸至客戶端設(shè)備。所述客戶端設(shè)備采用其自身的私鑰對(duì)所述對(duì)稱密鑰解密,之后應(yīng)用所述對(duì)稱密鑰對(duì)廣播數(shù)據(jù)實(shí)時(shí)解密。如圖1中的插圖所示,設(shè)備M包括接收器沈,其從服務(wù)器22接收加密數(shù)據(jù)。解密處理器觀采用該處理器基于非易失性存儲(chǔ)器30內(nèi)存儲(chǔ)的數(shù)字計(jì)算出的私鑰對(duì)所述數(shù)據(jù)解密(所述數(shù)據(jù)要么可以包括實(shí)際廣播數(shù)據(jù),要么可以包括如上所述的加密對(duì)稱密鑰)。在下文中將詳細(xì)描述處理器觀計(jì)算私鑰的方法。處理器觀應(yīng)用解密數(shù)據(jù)驅(qū)動(dòng)顯示器,使之顯示所傳輸?shù)膹V播。為了降低存儲(chǔ)器30的尺寸,并由此降低設(shè)備M的成本,存儲(chǔ)內(nèi)存儲(chǔ)的供處理器觀計(jì)算私鑰的數(shù)字通常比私鑰本身短。存儲(chǔ)器30可以包括(例如)一次性可編程(OTP)存儲(chǔ)器,對(duì)于所生產(chǎn)的每一不同客戶端設(shè)備采用唯一性的數(shù)字在廠家或現(xiàn)場(chǎng)對(duì)所述存儲(chǔ)器編程(以生成唯一性的私鑰)。盡管可以將私鑰的一部分(例如模數(shù))存儲(chǔ)在存儲(chǔ)器30內(nèi), 但是一般不存儲(chǔ)整個(gè)私鑰,而是在需要時(shí)由處理器觀計(jì)算私鑰。典型地,解密處理器觀在接收到指示對(duì)數(shù)據(jù)應(yīng)用密鑰的指令的同時(shí)計(jì)算私鑰。例如,在設(shè)備24的用戶選擇所要接收并在所述設(shè)備上顯示的加密廣播時(shí),用戶輸入可以使處理器調(diào)用所述指令,以生成所需的私鑰。作為另一個(gè)例子,在設(shè)備M通電時(shí)該設(shè)備的啟動(dòng)序列可以包括對(duì)處理器觀發(fā)出的生成準(zhǔn)備使用的私鑰的指令??梢栽谠O(shè)備M運(yùn)行的同時(shí)將所述私鑰保存在諸如隨機(jī)存取存儲(chǔ)器(圖中未示出)的易失存儲(chǔ)器內(nèi),但是通常在設(shè)備關(guān)閉或者不再需要所述密鑰時(shí)將其刪除。圖2是示意性示出了根據(jù)本發(fā)明的實(shí)施例的用于對(duì)加密消息解密的方法的流程圖。如上所述,這里為了清晰起見,在系統(tǒng)20(圖1)的應(yīng)用環(huán)境的背景下對(duì)所述方法加以描述。然而,其所體現(xiàn)的針對(duì)私鑰計(jì)算的技術(shù)同樣適用于其他非對(duì)稱密碼學(xué)應(yīng)用。在圖2 的方法中,存儲(chǔ)一個(gè)或多個(gè)種子,即短數(shù)值,并將其應(yīng)用到模數(shù)η的質(zhì)數(shù)因子ρ和q的計(jì)算當(dāng)中,進(jìn)而采用這些種子計(jì)算私鑰d。在下文中將描述這種方法的若干可能的變型。在存儲(chǔ)步驟40中,將在需要時(shí)用來(lái)計(jì)算質(zhì)數(shù)ρ和q的至少其中之一的一個(gè)或多個(gè)種子存儲(chǔ)在存儲(chǔ)器30內(nèi)。這一步驟通常發(fā)生在制造的時(shí)候,因而與所述方法的其余步驟是分離的,盡管也可以在對(duì)設(shè)備M進(jìn)行現(xiàn)場(chǎng)配置使用之后存儲(chǔ)所述種子。在這一實(shí)施例的一些變型中,也可以存儲(chǔ)一個(gè)或多個(gè)校正因子。然而,所述質(zhì)數(shù)P和q之一未存儲(chǔ)在存儲(chǔ)器30內(nèi),或者二者均未存儲(chǔ)在存儲(chǔ)器30內(nèi)。在接收步驟42中,設(shè)備M從服務(wù)器22接收消息(例如,廣播流)。采用設(shè)備M 的公鑰對(duì)所述消息加密。如果處理器觀沒(méi)有在啟動(dòng)時(shí)或者響應(yīng)于某一后續(xù)指令計(jì)算出其私鑰,那么現(xiàn)在其將計(jì)算私鑰。出于這一目的,在種子擴(kuò)展步驟44中,處理器采用預(yù)定函數(shù)對(duì)所存儲(chǔ)的一個(gè)或多個(gè)種子進(jìn)行擴(kuò)展,以生成質(zhì)數(shù)P和q。一旦其計(jì)算出了所述質(zhì)數(shù),那么處理器將在計(jì)算步驟46中計(jì)算私鑰的模數(shù)η和指數(shù)d。這一計(jì)算是以背景技術(shù)部分給出的定義為基礎(chǔ)的,其可以采用任何本領(lǐng)域已知的適當(dāng)方法實(shí)現(xiàn)這一目的。之后,在解密步驟 48中,處理器應(yīng)用所述私鑰對(duì)接收到的消息解密??梢圆扇『芏喾N可能的方法選擇在步驟40中存儲(chǔ)的種子以及在步驟44中用于對(duì)種子進(jìn)行擴(kuò)展的函數(shù)。例如,在美國(guó)專利No. 7340606中描述了可用于這一目的的函數(shù),通過(guò)引用的方式將該專利的公開文本并入本文。例如,函數(shù)f (s)可以將所述種子應(yīng)用于一組常數(shù)因子,以生成具有適當(dāng)長(zhǎng)度的質(zhì)數(shù)(其通常大約具有所預(yù)期的模數(shù)η的一半的長(zhǎng)度)。 預(yù)先對(duì)不同的種子進(jìn)行測(cè)試,從而找到將生成可接受的質(zhì)數(shù)值的種子,一個(gè)種子用于P,另一個(gè)種子用于q。種子本身應(yīng)當(dāng)足夠長(zhǎng)(例如,1 位),從而抵御對(duì)質(zhì)數(shù)因子的強(qiáng)力解密攻擊ο要想找到足夠的種子為所有存儲(chǔ)了這樣的種子的設(shè)備均生成質(zhì)數(shù)因子對(duì)可能很困難,很麻煩。為了簡(jiǎn)化這一過(guò)程,可以使小的校正因子c(通常為1-2字節(jié))與每一種子相關(guān)。應(yīng)用所述校正因子調(diào)整f (s)的結(jié)果,以給出質(zhì)數(shù),例如p = f (s) XOR c。通過(guò)這種方式,可以采用可能借助兩個(gè)種子擴(kuò)展函數(shù)和兩個(gè)校正因子的單個(gè)種子生成兩個(gè)質(zhì)數(shù)因子,例如p = f(s) XOR C1以及q = g(s) XOR c2。另一種選擇是在種子擴(kuò)展前而不是種子擴(kuò)展后應(yīng)用所述校正因子,即,計(jì)算P = f (s XOR C1)以及q = g(s XOR c2),其中,f和g可以是同一函數(shù)。另一種可能性是采用所存儲(chǔ)的種子計(jì)算所述一對(duì)質(zhì)數(shù)中的一個(gè),并計(jì)算作為所述第一個(gè)質(zhì)數(shù)的函數(shù)的另一個(gè)質(zhì)數(shù)。這一函數(shù)可以是確定性的(deterministic),在這種情況下,存儲(chǔ)單個(gè)種子(也可能存儲(chǔ)校正因子)就足夠了?;蛘?,質(zhì)數(shù)因子之間的函數(shù)相關(guān)性可以包括其他約束條件,可以采用所述約束條件由一個(gè)因子計(jì)算出另一個(gè)因子。例如,在上文提及的美國(guó)專利No. 7340606中描述的生成質(zhì)數(shù)因子的方法能夠確保模數(shù)η = pq的j個(gè)最高有效位(MSB)將具有某一已知值,并且/或者η的k個(gè)最低有效位(LSB)具有某一已知值(并非相同的值)。在這種情況下,一旦由所存儲(chǔ)的其種子擴(kuò)展出了 P,那么可以如下計(jì)算q:-如果η的j個(gè)MSB為已知數(shù)字X,并且計(jì)算出ρ的j個(gè)MSB為數(shù)字Y,那么q的j 個(gè)MSB與X*2VY的j個(gè)MSB的差別不超過(guò)2。因此,無(wú)需存儲(chǔ)q的j個(gè)MSB,將這一 2位的差異存儲(chǔ)在存儲(chǔ)器30中就足夠了,之后將這一差異加到X*2VY上,以恢復(fù)q的j個(gè)MSB。-如果η的k個(gè)LSB為已知數(shù)字Ζ,ρ的k個(gè)LSB為已知數(shù)字T,那么q的k個(gè)LSB 等于Z/T mod 2k,根本不需要對(duì)其存儲(chǔ)。圖3是示意性示出了根據(jù)本發(fā)明的另一實(shí)施例的用于對(duì)加密消息解密的方法的流程圖。還將在系統(tǒng)20(圖1)的背景下描述這一方法,盡管與圖2的方法一樣,這一方法也具有更寬的適用性。在圖3的方法中,存儲(chǔ)所述私鑰的指數(shù)d的部分,并基于公鑰的已知指數(shù)e和模數(shù)η計(jì)算d的剩余部分。在往往發(fā)生的私用指數(shù)e的長(zhǎng)度小(例如,十七位), P和q 二者具有基本相同的位長(zhǎng)(模數(shù)η的長(zhǎng)度的一半),并且無(wú)論如何都將η存儲(chǔ)在存儲(chǔ)器內(nèi)的情況下,這種方法尤其有用。在存儲(chǔ)步驟50(類似于圖2的步驟40)中,將用于生成私鑰的數(shù)字存儲(chǔ)在存儲(chǔ)器 30內(nèi)。這些存儲(chǔ)的數(shù)字包括模數(shù)η的指示、私用指數(shù)d的低位部分和整數(shù)乘法因子k,所述乘法因子是由de=kcp(pq)+l給出的。(換言之,k是比商de/φ (pq)大的最小整數(shù)。)所述 “指示”可以包括所述數(shù)字本身或者由處理器28在需要時(shí)進(jìn)行轉(zhuǎn)換從而得到所述數(shù)字的編碼形式。“低位部分”是指d的最低有效位,在滿足了上述有關(guān)e、p和q的條件時(shí),所述低位部分通常大約是d的長(zhǎng)度的一半。假設(shè)d的長(zhǎng)度為IOM位,那么這一技術(shù)通常有可能使所需的存儲(chǔ)量減少接近500位。在消息接收步驟52中(就像圖2的步驟42中一樣),設(shè)備M從服務(wù)器22接收加密消息。在密鑰計(jì)算步驟M中,處理器觀計(jì)算私用指數(shù)的缺失的高位部分。這一計(jì)算采用了模數(shù)、公用指數(shù)和乘法因數(shù)計(jì)算乘積kn/e,d的高位部分等于所述乘積的高位部分。 (這一計(jì)算成為可能的原因在于,當(dāng)P和q具有相同的長(zhǎng)度時(shí),那么φ (pq) = (P-I) (q_l)的高位部分將等于η = PQ的高位部分;因此(1=0^)。9)+1]/6的高位部分將等于kn/e的高位部分。)處理器觀將所計(jì)算出的d的高位部分與所存儲(chǔ)的低位部分連接起來(lái),以恢復(fù)整個(gè)私用指數(shù)。之后,在解密步驟56中,處理器將這一私用指數(shù)與所述模數(shù)一起應(yīng)用到消息的解密當(dāng)中。盡管上述實(shí)施例具體地給出了私鑰在數(shù)據(jù)解密中的使用,但是在這些實(shí)施例中給出了舉例說(shuō)明的所述的私鑰存儲(chǔ)和計(jì)算原理也可以類似地應(yīng)用到其他類別的密碼操作當(dāng)中,例如,數(shù)字簽名生成。因而,應(yīng)當(dāng)理解只是通過(guò)舉例的方式援引了上述實(shí)施例,本發(fā)明不限于上文具體示出和描述的內(nèi)容。相反,本發(fā)明的范圍既包括上文所述各種特征的組合和子組合,又包括本領(lǐng)域技術(shù)人員在閱讀以上描述后能想到的現(xiàn)有技術(shù)中未公開的變化和修改。
權(quán)利要求
1.一種用于加密的裝置,所述裝置包括非易失性存儲(chǔ)器,其存儲(chǔ)可由數(shù)字導(dǎo)出具有補(bǔ)充公鑰的私鑰的所述數(shù)字,其中,所述數(shù)字比所述私鑰短;以及處理器,其被配置成接收指示要對(duì)數(shù)據(jù)應(yīng)用所述私鑰的指令,以及響應(yīng)于所述指令,采用所存儲(chǔ)的數(shù)字計(jì)算所述私鑰,并采用所述私鑰對(duì)所述數(shù)據(jù)執(zhí)行密碼操作。
2.根據(jù)權(quán)利要求1所述的裝置,其中,至多將所述私鑰的一部分存儲(chǔ)在所述非易失性存儲(chǔ)器中。
3.根據(jù)權(quán)利要求1或權(quán)利要求2所述的裝置,其中,采用所述公鑰對(duì)所述數(shù)據(jù)加密,并且其中,所述指令使所述處理器采用所計(jì)算出的私鑰對(duì)所述經(jīng)加密的數(shù)據(jù)解密。
4.根據(jù)權(quán)利要求1-3中的任何一項(xiàng)所述的裝置,其中,所述私鑰包括模數(shù)以及具有高位部分和低位部分的私用指數(shù),其中,存儲(chǔ)在所述存儲(chǔ)器中的所述數(shù)字指示所述指數(shù)的低位部分,并且其中,所述處理器被配置成通過(guò)計(jì)算所述高位部分并將所計(jì)算出的高位部分與所述低位部分連接起來(lái)而計(jì)算出所述私用指數(shù)。
5.根據(jù)權(quán)利要求4所述的裝置,其中,所述非易失性存儲(chǔ)器還存儲(chǔ)了所述模數(shù)以及將所述私用指數(shù)和所述公鑰的公用指數(shù)聯(lián)系起來(lái)的乘法因數(shù),并且其中,所述處理器被配置成采用所述模數(shù)、所述公用指數(shù)和所述乘法因數(shù)計(jì)算所述私用指數(shù)的高位部分。
6.根據(jù)權(quán)利要求5所述的裝置,其中 通過(guò)de=kcp (pq) +1給出了所述乘法因數(shù)k ; d和e分別是所述私用指數(shù)和所述公用指數(shù);Cp(pq) = (p_l) (q-Ι); P和q為質(zhì)數(shù),并且所述模數(shù)η = pq ;并且 d的高位部分等于kn/e的高位部分。
7.根據(jù)權(quán)利要求1-6中的任何一項(xiàng)所述的裝置,其中,所述數(shù)字包括至少一個(gè)種子,并且其中,所述處理器被配置成對(duì)所述至少一個(gè)種子進(jìn)行擴(kuò)展,以生成一對(duì)質(zhì)數(shù)中的至少一個(gè)質(zhì)數(shù),并由所述一對(duì)質(zhì)數(shù)計(jì)算所述私鑰。
8.根據(jù)權(quán)利要求7所述的裝置,其中,所述質(zhì)數(shù)的至少其中之一未存儲(chǔ)在所述非易失性存儲(chǔ)器中。
9.根據(jù)權(quán)利要求7或權(quán)利要求8所述的裝置,其中,所述至少一個(gè)種子包括單個(gè)種子, 并且其中,所述非易失性存儲(chǔ)器存儲(chǔ)了至少一個(gè)校正因子,并且其中,所述處理器被配置成采用所述單個(gè)種子和所述至少一個(gè)校正因子計(jì)算所述一對(duì)質(zhì)數(shù)中的兩個(gè)質(zhì)數(shù)。
10.根據(jù)權(quán)利要求7或權(quán)利要求8所述的裝置,其中,所述處理器被配置成采用所述種子計(jì)算所述一對(duì)質(zhì)數(shù)中的第一個(gè),以及計(jì)算作為所述第一個(gè)質(zhì)數(shù)的函數(shù)的所述一對(duì)質(zhì)數(shù)中的第二個(gè)質(zhì)數(shù)。
11.一種用于加密的方法,包括將可由數(shù)字導(dǎo)出具有補(bǔ)充公鑰的私鑰的所述數(shù)字存儲(chǔ)在非易失性存儲(chǔ)器中,其中,所述數(shù)字比所述私鑰短;接收指示向數(shù)據(jù)應(yīng)用所述私鑰的指令; 響應(yīng)于所述指令,采用所存儲(chǔ)的數(shù)字計(jì)算所述私鑰;以及采用所計(jì)算出的私鑰對(duì)所述數(shù)據(jù)執(zhí)行密碼操作。
12.根據(jù)權(quán)利要求11所述的方法,其中,至多將所述私鑰的一部分存儲(chǔ)在所述非易失性存儲(chǔ)器中。
13.根據(jù)權(quán)利要求11或權(quán)利要求12所述的方法,其中,采用所述公鑰對(duì)所述數(shù)據(jù)加密, 并且其中,所述的執(zhí)行密碼操作包括采用所計(jì)算出的私鑰對(duì)所述經(jīng)加密的數(shù)據(jù)解密。
14.根據(jù)權(quán)利要求11-13中的任何一項(xiàng)所述的方法,其中,所述私鑰包括模數(shù)以及包括高位和低位部分的私用指數(shù),其中,所述的將數(shù)字存儲(chǔ)在存儲(chǔ)器中包括存儲(chǔ)所述指數(shù)的低位部分的指示,并且其中,所述的計(jì)算私鑰包括通過(guò)計(jì)算所述高位部分并將所計(jì)算出的高位部分與所述低位部分連接起來(lái)而計(jì)算出所述私用指數(shù)。
15.根據(jù)權(quán)利要求14所述的方法,還包括將所述模數(shù)以及將所述私用指數(shù)和所述公鑰的公用指數(shù)聯(lián)系起來(lái)的乘法因數(shù)存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi),并且其中,所述的計(jì)算私用指數(shù)包括采用所述模數(shù)、所述公用指數(shù)和所述乘法因數(shù)計(jì)算所述私用指數(shù)的高位部分。
16.根據(jù)權(quán)利要求15所述的方法,其中 通過(guò)de=kcp (pq) +1給出了所述乘法因數(shù)k ; d和e分別是所述私用指數(shù)和所述公用指數(shù);Cp(pq) = (p_l) (q-Ι); P和q為質(zhì)數(shù),并且所述模數(shù)η = pq ;并且所述的計(jì)算私用指數(shù)的高位部分包括計(jì)算kn/e的高位部分。
17.根據(jù)權(quán)利要求11-16中的任何一項(xiàng)所述的方法,其中,所述的存儲(chǔ)數(shù)字包括存儲(chǔ)至少一個(gè)種子,并且其中,所述的計(jì)算私鑰包括對(duì)所述至少一個(gè)種子進(jìn)行擴(kuò)展以生成一對(duì)質(zhì)數(shù)中的至少一個(gè)質(zhì)數(shù),并由所述一對(duì)質(zhì)數(shù)計(jì)算所述私鑰。
18.根據(jù)權(quán)利要求17所述的方法,其中,所述質(zhì)數(shù)的至少其中之一未存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi)。
19.根據(jù)權(quán)利要求17或權(quán)利要求18所述的方法,其中,所述的存儲(chǔ)至少一個(gè)種子包括存儲(chǔ)單個(gè)種子,并且其中,所述方法包括將至少一個(gè)校正因子存儲(chǔ)在所述非易失性存儲(chǔ)器內(nèi),并且其中,所述的計(jì)算私鑰包括采用所述單個(gè)種子和所述至少一個(gè)校正因子計(jì)算所述一對(duì)質(zhì)數(shù)中的兩個(gè)質(zhì)數(shù)。
20.根據(jù)權(quán)利要求17或權(quán)利要求18所述的方法,其中,所述的對(duì)所述至少一個(gè)種子進(jìn)行擴(kuò)展包括采用所述種子計(jì)算所述一對(duì)質(zhì)數(shù)中的第一個(gè)質(zhì)數(shù),以及計(jì)算作為所述第一個(gè)質(zhì)數(shù)的函數(shù)的所述一對(duì)質(zhì)數(shù)中的第二個(gè)質(zhì)數(shù)。
21.一種用于加密的方法,所述方法采用包括模數(shù)和私用指數(shù)的私鑰,所述私鑰具有包括所述模數(shù)和公用指數(shù)的補(bǔ)充公鑰,所述方法包括將所述模數(shù)、所述公用指數(shù)和所述私用指數(shù)的低位部分存儲(chǔ)在存儲(chǔ)器內(nèi); 采用所存儲(chǔ)的模數(shù)和所述公用指數(shù)計(jì)算所述私用指數(shù)的高位部分; 通過(guò)將所計(jì)算出的高位部分與所存儲(chǔ)的低位部分連接起來(lái)生成所述私用指數(shù);以及采用所存儲(chǔ)的模數(shù)和所生成的私用指數(shù)對(duì)數(shù)據(jù)執(zhí)行密碼操作。
22.根據(jù)權(quán)利要求21所述的方法,還包括存儲(chǔ)將所述私用指數(shù)與所述公用指數(shù)聯(lián)系起來(lái)的乘法因數(shù),其中,所述的計(jì)算私用指數(shù)的高位部分包括將所述乘法因數(shù)應(yīng)用于所述模數(shù)和所述公用指數(shù)。
23.根據(jù)權(quán)利要求22所述的方法,其中 通過(guò)de=kcp (pq) +1給出了所述乘法因數(shù)k ; d和e分別是所述私用指數(shù)和所述公用指數(shù);Cp(pq) = (p_l) (q-Ι); P和q為質(zhì)數(shù),并且所述模數(shù)η = pq ;并且所述的計(jì)算私用指數(shù)的高位部分包括計(jì)算kn/e的高位部分。
全文摘要
一種用于加密的裝置,所述裝置包括非易失性存儲(chǔ)器,其存儲(chǔ)可由數(shù)字導(dǎo)出具有補(bǔ)充公鑰的私鑰的數(shù)字,其中,所述數(shù)字比所述私鑰短,所述裝置還包括處理器,其被配置成接收指示將對(duì)數(shù)據(jù)應(yīng)用私鑰的指令,以及作為對(duì)所述指令的響應(yīng),采用所存儲(chǔ)的數(shù)字計(jì)算私鑰,并采用所述私鑰對(duì)所述數(shù)據(jù)執(zhí)行密碼操作。還描述了相關(guān)裝置和方法。
文檔編號(hào)H04L9/30GK102474413SQ201080029461
公開日2012年5月23日 申請(qǐng)日期2010年6月28日 優(yōu)先權(quán)日2009年12月24日
發(fā)明者Y·利維(約旦), Y·貝倫基 申請(qǐng)人:Nds有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1