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

私鑰壓縮的制作方法

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

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


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