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

用于檢測一個鍵對和用于產(chǎn)生rsa鍵的方法和裝置的制作方法

文檔序號:2409713閱讀:295來源:國知局
專利名稱:用于檢測一個鍵對和用于產(chǎn)生rsa鍵的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及RSA密碼算法,尤其是涉及RSA鍵(key)的產(chǎn)生。RSA密碼系統(tǒng),于其發(fā)明人R.Rivest,A.Shamir以及L.Adleman之后被命名,是流行的公眾鍵密碼系統(tǒng)的一種。它可被用于獲得保密以及產(chǎn)生數(shù)字簽字。其安全性是基于所謂整數(shù)因子(factor)分解問題目前尚不能以有效的算法方式得到解決的事實。
背景技術(shù)
在詳細(xì)處理RSA密碼系統(tǒng)之前,首先應(yīng)說明密碼系統(tǒng)的一些基本項目。通常,在兩個對稱密碼系統(tǒng)之間形成一差別,該兩個系統(tǒng)也稱為機(jī)密鍵加密系統(tǒng)和公眾鍵加密系統(tǒng)。
具有使用兩個對稱鍵進(jìn)行加密的雙方的通信系統(tǒng)可被描述如下。第一方經(jīng)由一機(jī)密信道傳遞其加密鍵至該第二方。第一方隨后通過該鍵對該安全消息加密并經(jīng)由一公眾或無安全防護(hù)的信道傳輸該被加密的消息至該第二方。第二方隨后通過使用經(jīng)由該機(jī)密信道被傳遞至該第二方的對稱鍵而對該被加密的消息解加密。此種加密系統(tǒng)的基本問題在于提供交換機(jī)密鍵的有效方式,例如,尋找一個機(jī)密信道的方式。
對應(yīng)地,非對稱加密法的執(zhí)行如下。希望接收機(jī)密消息的一方傳遞其公眾鍵至另外一方,即希望自其接收一個機(jī)密消息的一方。該公眾鍵經(jīng)一個非機(jī)密信道傳遞,亦即,經(jīng)一個“公眾(public)”信道傳遞。
希望傳送一機(jī)密消息的一方接收另一方的公眾鍵,使用該公眾鍵對該消息加密,并再次經(jīng)由一非機(jī)密信道,且因此,一個公眾信道傳輸該被加密的消息至傳送該公眾鍵的一方。只有產(chǎn)生該公眾鍵的一方能夠具有對該被加密消息進(jìn)行解加密的私人鍵。即使使用該公眾鍵對消息加密的一方也不可能對該消息進(jìn)行解加密。此方法的優(yōu)點(diǎn)包括雙方之間不需要機(jī)密信道,且因此沒有鍵的機(jī)密交換。解加密消息的一方不需要也不必要知道消息接收的私人鍵。
非對稱加密概念或公眾鍵加密概念的物理模擬方式可描述如下??紤]一個帶有經(jīng)一個結(jié)合鎖而保護(hù)的蓋的金屬盒。這種組合僅有希望接收一加密消息的對象知道。如果該鎖維持開啟且可讓公眾取用,任何希望傳遞一機(jī)密消息的人可以將其消息放置于該金屬盒內(nèi)并關(guān)閉其蓋。只有后者的那方能夠?qū)υ撓⑦M(jìn)行解加密,亦即,重新開啟該金屬盒。即使是放置該消息至該盒內(nèi)的一方再也不能取得相同的消息。
非對稱或公眾鍵加密概念的本質(zhì)是基礎(chǔ)的數(shù)學(xué)問題,其解答幾乎不可能使用解加密用的公眾鍵,但其解答可輕易地知道私人鍵。最一般的公眾鍵密碼系統(tǒng)是RSA密碼系統(tǒng)。RSA密碼系統(tǒng)在Menezes,van Oorschot,Vanstone的由CRC出版社在1997年出版的“Handbook of AppliedCryptography”的第285-291頁中描述。
第一個工作包含產(chǎn)生RSA密碼系統(tǒng)的鍵。因此,請參考圖3。接收一個加密消息的實體在步驟300中首先必須產(chǎn)生二個大質(zhì)數(shù)p及q,其最好具有大約相等的量。之后,在步驟310,計算二質(zhì)數(shù)的乘積,也稱為模數(shù)(modulus)N。此外,計算歐勒(Euler)的φ函數(shù),其等于(p-1)與(q-1)的乘積。在步驟320,選擇一隨機(jī)整數(shù)e,然后在e與φ的最大公約數(shù)(greast commondivisor)gcd為1的考慮下,使e大于1但小于φ,亦即,e與φ為相對的質(zhì)數(shù)。之后,在步驟330,計算一數(shù)d使其符合以下程序e×d=1modφd也被稱為相對于模數(shù)φ的倍數(shù)逆數(shù)(multiplicative inverse),通常使用展開的歐幾里得算法計算,在“Handbook of Applied Cryptography”的第67頁中也有描述。d因此為一個大于1但小于φ的獨(dú)特整數(shù),并因此符合預(yù)定的程序。
在步驟340,隨后輸出公眾鍵,該公眾鍵包含模數(shù)N及數(shù)字e。相反地,私人鍵并未被輸出,但在步驟350中儲存,以便于鍵產(chǎn)生實體已接收使用步驟340輸出的公眾鍵加密的消息時被用以解加密。
以下請參考圖2以說明RSA算法。初始的情況是一通信方對一個必須由其它通信方解加密的消息M進(jìn)行加密。加密實體首先必須在步驟200接收公眾鍵(N,e)以便能夠完全傳送一加密的消息至該另一方。依此,在步驟210,加密方必須以整數(shù)M的形式描述將被加密的消息,M必須為從0至N-1的整數(shù)。在步驟220,其主要為加密步驟,此加密實體必須計算以下的程序C=Memod NC為加密的消息。此消息隨后在步驟230被輸出并經(jīng)由一公眾信道傳輸至此加密消息的接收端,圖2指示的240。接收端在步驟250接收該加密的消息并在步驟260執(zhí)行以下的計算,其主要為解加密步驟M=Cdmod N從圖2可見只有公眾鍵(N,e)是加密所需,而不是私人鍵d,而解加密需要私人鍵d。
現(xiàn)在的問題在于侵害者可以中斷RSA密碼系統(tǒng)。他知道私人鍵,亦即N及e。在與圖3所示相同的方式中,他現(xiàn)在可能將模數(shù)N分解為二質(zhì)數(shù)的乘積,而隨后以相同的方式計算器密鍵d,如同其由鍵產(chǎn)生授權(quán)方所做。因此,該入侵者將必須嘗試所有可能的質(zhì)數(shù)對p’與q’,以便盡快或稍后獲得在e的考慮下的私人鍵d。以小的質(zhì)數(shù)p及q,此問題很容易地通過嘗試法而被解答。然而,如果p及q,亦即p與q乘積的模數(shù)N,逐漸變大,模數(shù)N的分解的各種可能性增加至很大的程度。這是RSA系統(tǒng)安全性的基礎(chǔ)。由此可見機(jī)密密碼系統(tǒng)必須使用極長的數(shù)字,其長度可能為,例如,512,1024或甚至于2048位。
然而,隨著質(zhì)數(shù)p及q增加的長度,倍數(shù)逆數(shù)的計算,即如圖3的步驟330中的私人鍵d,在時間上變得重要。因此,展開的歐幾里德算法被使用,其所需的計算時間可能也以相關(guān)數(shù)字增加的長度而承受相當(dāng)大小的級數(shù)。

發(fā)明內(nèi)容
本發(fā)明的一個目的在于提供一種決定私人鍵的更有效率的方法。
此目的通過依據(jù)權(quán)利要求1的方法決定一個鍵對(key pair)、依據(jù)權(quán)利要求4的方法產(chǎn)生RSA加密鍵、依據(jù)權(quán)利要求5決定一個鍵對的裝置、以及依據(jù)權(quán)利要求6產(chǎn)生一個RSA加密流程的鍵而達(dá)成。
本發(fā)明是基于在使用歐勒(Euler)的φ函數(shù)計算倍數(shù)逆數(shù)時,歐勒的φ函數(shù)的兩個因子,即,(p-1)與(q-1),并非互質(zhì)的發(fā)現(xiàn)。
這可以從質(zhì)數(shù)皆為奇數(shù)得事實得知。如果從一個質(zhì)數(shù)減去“1”,則產(chǎn)生一個偶數(shù),因此這兩個因子(p-1)與(q-1)因此不再互質(zhì),因為它們現(xiàn)在至少有一個共同的除數(shù)“2”。歐勒的算法因此必須相對于現(xiàn)有技術(shù)如圖3所示地計算,使用數(shù)字(p-1)(q-1)的完整位長度,因此,此步驟在時間上變得重要。
依據(jù)本發(fā)明,倍數(shù)逆數(shù)不再使用歐勒的φ函數(shù)計算,而是使用Carmichael的λ函數(shù)。
Carmichaelλ函數(shù)的使用具有使計算倍數(shù)逆數(shù)的程序的右側(cè)的兩個因子為互質(zhì)的效果,因此可使用中國余數(shù)理論(Chinese reminder theorem),也稱為CRT(CRT=Chinese reminder theorem)。中國余數(shù)理論及Garner的算法在例如“Handbook of Applied Cryptography”的第68頁及第612,613頁有描述。然而,中國余數(shù)理論僅能于互質(zhì)因子出現(xiàn)時使用。
在計算私人鍵時,亦即,倍數(shù)逆數(shù),中國余數(shù)理論允許,取代具有完全位長度的計算,需要執(zhí)行二個一半位長度的計算以及具有一半位長度的二計算的乘積的快速結(jié)合。
此程序的效用在于私人鍵的計算可以比現(xiàn)有技術(shù)的歐勒φ函數(shù)的使用的快上四倍。
本發(fā)明的優(yōu)點(diǎn)包括,以相同的計算時間,現(xiàn)在可以使用較長的質(zhì)數(shù)且RSA密碼系統(tǒng)的安全性因此大幅增加。
相比之下,維持相同的安全性,現(xiàn)有技術(shù)中的標(biāo)準(zhǔn),可在重要的時候獲得相對于計算時間效率4的因子的加速,稱為倍數(shù)逆數(shù)的計算。依據(jù)本發(fā)明所實施的密碼處理器因此可造成效率上極大的貢獻(xiàn),例如,TMP模塊(TPM=Trust Platform Module)或安全I(xiàn)Cs。在另一實施例中,依據(jù)本發(fā)明的方法可被使用于智能卡中,其中,由于智能卡上受限的計算能力,通常在質(zhì)數(shù)長度上做出妥協(xié),因此對安全性妥協(xié)。以本發(fā)明的協(xié)助,安全性的標(biāo)準(zhǔn)可以大幅增加,而為持相同的計算時間。
由于二CRT項目可以被分開計算,此二CRT項目也可在二分離的算數(shù)單元中被并行計算且最后被結(jié)合在一起,因此,計算時間的進(jìn)一步節(jié)省可通過平行實施而達(dá)成。


本發(fā)明的優(yōu)選實施例將參照附圖而加以說明,其中圖1表示依據(jù)本發(fā)明的一個優(yōu)選實施例的方塊圖;圖2表示RSA算法的概述;以及圖3表示RSA鍵產(chǎn)生的流程圖。
具體實施例方式
圖1表示依據(jù)本發(fā)明決定一個鍵對e,d的方法的一個優(yōu)選實施例,其中首先產(chǎn)生兩個質(zhì)數(shù)p及q,依照慣例,二者被相乘,產(chǎn)生模數(shù)N。在步驟100選擇第一鍵e。然而,對照現(xiàn)有技術(shù),第二鍵不再使用歐勒的φ函數(shù)計算,而是使用Carmichael的λ函數(shù)。Carmichael的λ函數(shù)如下所述λ(N)=(p-1)(q-1)/ged(p-1,q-1)以下的關(guān)系維持Carmichael的λ函數(shù)Mλ(N)=1 mod N
第二鍵,亦即機(jī)密鍵d,隨后基于已知的數(shù)據(jù)e,p及q而被計算e×d=1modλ(N)為解答以上程序,亦即為計算倍數(shù)逆數(shù)d,現(xiàn)在可以使用中國余數(shù)定理(CRT),因為這些因子(p-1)/gcd(p-1,q-1) 以及(q-1)現(xiàn)在互質(zhì)。
通過中國余數(shù)定理,計算倍數(shù)逆數(shù)d的問題現(xiàn)在可被分離為二計算倍數(shù)逆數(shù)dp及dp的計算以及一結(jié)合步驟。
因此,dp首先被計算以便符合以下定義的方程式e×dp=1mod[(p-1)/gcd(p-1,q-1)]類似以上,可使用以下定義的程序計算dqe×dq=1mod(q-1)另一方式為互質(zhì)因子也可在相反的方式中獲得,稱為(p-1)以及(q-1)/gcd(p-1,q-1)要指出的是,從CRT中所知,兩個子鍵dp及dp是一半只要第二鍵d適合。
同時要指出的是圖1的步驟110及120使用兩個不同的子模數(shù)(sub-moduli)。步驟110中的第一子模數(shù)讀取(p-1)/gcd(p-1,q-1)步驟120中的子模數(shù)僅讀取(q-1)可以看見由于gcd函數(shù)因使兩個子模數(shù)是相對的質(zhì)數(shù),所以CRT將成功。此兩個子鍵dp及dp隨后在步驟130中使用中國余數(shù)定理(CRT)被結(jié)合,以便因而產(chǎn)生第二或私人鍵d。
因此,首先計算一輔助的量xp,其由以下的程序定義xp=(dp-dp)×[(q-1)-1mod(p-1)/gcd(p-q,q-1)]mod(p-1)/gcd(p-1,q-1)以上引號中的倍數(shù)逆數(shù)及gcd計算使用一半長度被執(zhí)行,其具有使這些步驟較少時間重要性的效果。
第二鍵或私人鍵d隨后產(chǎn)生如下d=dp+xp×(q-1)modλ(N)要指出的是以上程序中的以模數(shù)λ(N)的模數(shù)下降不需要再被執(zhí)行,因為d已經(jīng)在余數(shù)類別中而不需要縮減。
當(dāng)本發(fā)明為RSA鍵產(chǎn)生而被使用時,后者改善時間的復(fù)雜度,因為倍數(shù)逆數(shù)的計算,通過展開的歐幾里德算法,只在關(guān)于模數(shù)N時需要以一半位長度而被執(zhí)行。通過中國余數(shù)定理的機(jī)密鍵d的計算相較于不使用中國余數(shù)定理的情況快因子4,因為,取代計算鍵對e及d的歐勒φ函數(shù)的使用,Carmichael的λ函數(shù)被使用,同樣可代表兩個互質(zhì)因子的乘積,其隨后建立中國余數(shù)定理的兩個子模數(shù)。
應(yīng)指出的是依據(jù)本發(fā)明的概念不能僅為RSA鍵產(chǎn)生而使用,但使用于所有達(dá)到一個數(shù)量的倍數(shù)逆數(shù)的計算,具有包含不互質(zhì)的兩個或更多因子的模數(shù)的情況中。Carmichael的λ函數(shù)在所有時間將具有相對于一個模數(shù)的倍數(shù)逆數(shù)可使用中國余數(shù)定理而被獲得的效果,當(dāng)現(xiàn)在出現(xiàn)可被當(dāng)成子模數(shù)使用的互質(zhì)因子。
參考標(biāo)號表100選擇e110計算dp120計算dp130決定d200接收公眾鍵210將消息表示為數(shù)字220計算C230輸出C240信道250接收C260計算M300產(chǎn)生p,q310計算N320選擇e330計算d340輸出公眾鍵350儲存私人鍵
權(quán)利要求
1.一種決定一個數(shù)字對的方法,該數(shù)字對包括一個第一數(shù)(e)和一個第二數(shù)(d),該第二數(shù)(d)為相對于該第一數(shù)(e)的一個模數(shù)(N)的倍數(shù)逆數(shù),該模數(shù)(N)等于一個第一質(zhì)數(shù)(p)與一個第二質(zhì)數(shù)(q)的乘積,該方法包括以下步驟選擇該第一數(shù)(e);計算該第二數(shù)(d)的一個第一子數(shù)(dp)做為該第一數(shù)(e)的相對于一個第二子模數(shù)的一個倍數(shù)逆數(shù),該第二子模數(shù)等于該第一質(zhì)數(shù)(p)減去1之后再除以該第一質(zhì)數(shù)(p)減1與該第二質(zhì)數(shù)(q)減1的最大公約數(shù);計算該第二數(shù)的一個第二子數(shù)(dq)做為該第一數(shù)(e)的相對于一個第一子模數(shù)的一個倍數(shù)逆數(shù),該第一子模數(shù)等于該第二質(zhì)數(shù)減1,該第一子模數(shù)與該第二子模數(shù)互質(zhì);以及通過中國余數(shù)定理使用該第一子數(shù)(dp)和該第二子數(shù)(dp)決定該第二數(shù)(d)。
2.按照權(quán)利要求1所述的方法,其特征在于該第一數(shù)(e)及該第二數(shù)(d)為一個鍵對,一個鍵(e)做為一個非對稱加密系統(tǒng)的一個公眾鍵,而一個第二鍵(d)做為該系統(tǒng)的一個私人鍵。
3.按照權(quán)利要求1或2所述的方法,其特征在于計算該第一子數(shù)(dp)的步驟和計算該第二子數(shù)(dq)的步驟使用展開的歐幾里德算法。
4.按照前述權(quán)利要求的任一項所述的方法,其特征在于決定步驟(130)使用以下程序xp=(dp-dp)×[(q-1)-1mod(p-1)/gcd(p-q,q-1)]mod(p-1)/gcd(p-1,q-1)d=dp+xp×(q-1)modλ(N)其中,dp為第一子數(shù);dq為第二子數(shù);q為第一質(zhì)數(shù);p為第二質(zhì)數(shù);gcd表示“最大公約數(shù)”的運(yùn)算;mod表示模數(shù)運(yùn)算;xp為輔助量。
5.一種產(chǎn)生RSA加密系統(tǒng)的鍵的方法,包括步驟選擇兩個質(zhì)數(shù)(p,q);計算該兩個質(zhì)數(shù)的乘積(N);依據(jù)權(quán)利要求1決定一個數(shù)字對;輸出所述質(zhì)數(shù)的乘積及該數(shù)字對的第一數(shù)以做為公眾鍵;以及儲存該第二數(shù)(d)做為私人鍵。
6.一種決定一個數(shù)字對的裝置,該數(shù)字對包括一個第一數(shù)(e)和一個第二數(shù)(d),該第二數(shù)(d)為相對于該第一數(shù)(e)的一個模數(shù)(N)的倍數(shù)逆數(shù),該模數(shù)(N)等于一個第一質(zhì)數(shù)(p)與一個第二質(zhì)數(shù)(q)的乘積,該裝置包括一個裝置,用以選擇該第一數(shù)(e);一個裝置,用以計算該第二數(shù)(d)的一個第一子數(shù)(dp)做為該第一數(shù)(e)的相對于一個第一子模數(shù)的一個倍數(shù)逆數(shù),該第一子模數(shù)等于該第一質(zhì)數(shù)(p)減去1之后再除以該第一質(zhì)數(shù)(p)減1與該第二質(zhì)數(shù)(q)減1的最大公約數(shù);一個裝置,用以計算該第二數(shù)的一個第二子數(shù)(dq)做為該第一數(shù)(e)的相對于一個第二子模數(shù)的一倍數(shù)逆數(shù),該第二子模數(shù)等于該第二質(zhì)數(shù)減1,該第一子模數(shù)與該第二子模數(shù)互質(zhì);以及一個裝置,采用中國余數(shù)定理使用該第一子數(shù)(dp)及該第二子數(shù)(dp)決定該第二數(shù)(d)。
7.一種產(chǎn)生RSA加密系統(tǒng)的鍵的裝置,包括一個裝置,用以選擇兩個質(zhì)數(shù)(p,q);一個裝置,用以計算該兩個質(zhì)數(shù)的乘積(N);一裝置,用以依據(jù)權(quán)利要求6決定一個數(shù)字對;一裝置,用以輸出該乘積及該數(shù)字對的第一數(shù)以做為公眾鍵;以及一裝置,用以儲存該第二數(shù)(d)做為私人鍵。
全文摘要
本發(fā)明涉及用于檢測一個鍵對和用于產(chǎn)生RSA鍵的方法和裝置。本發(fā)明的方法用于檢測一個數(shù)字對,其中包括一個第一數(shù)和一個第二數(shù)。根據(jù)本發(fā)明的方法,該第一數(shù)被選擇(100)為一個加密系統(tǒng)的第一鍵,該第二數(shù)為該系統(tǒng)的第二鍵,且該第二數(shù)為相對于該第一數(shù)的一個模數(shù)的倍數(shù)逆數(shù),該模數(shù)等于一個第一質(zhì)數(shù)與一個第二質(zhì)數(shù)的乘積。計算該第二數(shù)(d)的一個第一子數(shù)(d
文檔編號G09C1/00GK1483260SQ01819912
公開日2004年3月17日 申請日期2001年12月6日 優(yōu)先權(quán)日2000年12月12日
發(fā)明者J·-P·塞費(fèi)特, J -P 塞費(fèi)特 申請人:因芬尼昂技術(shù)股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
布拖县| 潢川县| 宜章县| 无为县| 志丹县| 无锡市| 亚东县| 上蔡县| 大石桥市| 松桃| 抚顺市| 岗巴县| 绥化市| 宜城市| 芜湖市| 南江县| 扬州市| 石泉县| 桃园市| 五华县| 莎车县| 师宗县| 炉霍县| 永康市| 饶平县| 垣曲县| 醴陵市| 景洪市| 弥渡县| 佛山市| 洪雅县| 临湘市| 丰县| 甘孜| 青冈县| 乡宁县| 泰顺县| 肥城市| 沙湾县| 陇西县| 天门市|