專利名稱::產(chǎn)生壓縮rsa模數(shù)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明總體涉及公共密鑰加密算法,具體涉及Rivest-Shamir-Adleman(RSA)模數(shù)的壓縮表示。
背景技術(shù):
:本部分旨在向讀者介紹現(xiàn)有技術(shù)中與以下將描述和/或要求權(quán)利的本發(fā)明各方面有關(guān)的各個(gè)方面。相信該論述有助于為讀者提供背景信息,以便于更好地理解本發(fā)明的各方面。相應(yīng)地,應(yīng)理解,要就此而論來(lái)閱讀這些陳述,而不應(yīng)作為對(duì)現(xiàn)有技術(shù)的認(rèn)可。令#=/^是兩個(gè)大質(zhì)數(shù)的乘積。令e和t/表示一對(duì)公共和私有指數(shù),滿足W三1(mod,),其中g(shù)cd(e,X(iV))-l并且人是Carmichael函數(shù)。由于iV-j^,所以人(7V)-lcm(p—1)。在給定;c〈7V的情況下,公共操作(例如,消息加密或簽名驗(yàn)證)在于將;c的e次冪對(duì)N取模,艮P,計(jì)算y:ZmodiV。然后,在給定少的情況下,相應(yīng)的私有操作(例如,對(duì)密文或簽名產(chǎn)生的加密)在于計(jì)算/mod^V。根據(jù)e和d的定義,顯然可以得到/三x(modAO。通過(guò)中國(guó)剩余(CRT模型),可以以更高的速度來(lái)執(zhí)行私有操作。獨(dú)立地計(jì)算模數(shù)p和q并然后將它們重新組合。在這種情況下,私有參數(shù)是(p,《,4,^W,其中4^dmod(p-1),《=c/mod(《-1),并且K'mod;。然后,因?yàn)镃RT(Xp,=xg+《K(;cp—modp],所以得到/mod7V,其中j^=/pmod/and=/9modg??傊?,(二因素)RSA模數(shù)iV^;^是兩個(gè)大質(zhì)數(shù)p和?的乘積,滿足gcd(MAO,e)=1。如果n表示N的比特大小,則對(duì)于某個(gè)l<<"來(lái)說(shuō),p必須在[2"—"°_1/2,2"-"°—l]的范圍內(nèi),g在[2"°—1/2,2"°-l]的范圍內(nèi),使得2"—1<iV=/^<2"。出于安全原因,所謂的平衡模數(shù)通常是優(yōu)選的,這意味著"=2"o。典型的RSA模數(shù)在1024至4096比特的范圍內(nèi)?,F(xiàn)在一般應(yīng)用需要至少2048比特的模數(shù)。然而,運(yùn)行支持RSA應(yīng)用的程序和/或設(shè)備可以被設(shè)計(jì)成僅支持1024比特模數(shù)。該思想將對(duì)模數(shù)進(jìn)行壓縮,使得這些模數(shù)可以適于更短的緩沖器或帶寬而不是存儲(chǔ)/發(fā)送整個(gè)RSA模數(shù),使用無(wú)損壓縮表示。這還解決了不同版本的程序和/或設(shè)備之間的兼容問(wèn)題。單獨(dú)感興趣的是,可以使用這樣的技術(shù)來(lái)提高效率存儲(chǔ)器和/或帶寬的節(jié)省。ArjenK.Lenstra(GeneratingRSAmoduliwithapredeterminedportion.爿c/v加cesO,to/ogy-爿5X4C77Pr,9S,volume1514ofiVotoz>zC函pM&r5We"ce,pages1—10.Springer,1998)提出了產(chǎn)生方法,但是Lenstra的方法不適于受約束的設(shè)備,如智能卡,這是因?yàn)榈诙|(zhì)數(shù)《是遞增地構(gòu)造的,這可能導(dǎo)致無(wú)法接受的過(guò)長(zhǎng)運(yùn)行時(shí)間。本發(fā)明通過(guò)以指定的區(qū)間產(chǎn)生兩個(gè)質(zhì)數(shù)來(lái)實(shí)施壓縮RSA模數(shù),從而克服了現(xiàn)有技術(shù)中問(wèn)題。因此,壓縮RSA模數(shù)得益于高效的質(zhì)數(shù)產(chǎn)生算法,女口,由MarcJoye、PascalPaillier禾口SergeVaudenay(Efficientgenerationofprimenumbers.Ojpfogrop/z/c//aniwareawe/五w6e(i(ie(i—C//EiS2000,volume1965ofiVoto/"Cow/7"^Sc/e證,pages340-354.Springer,2000)提出,并由MarcJoye禾口PascalPaillier(Fastgenerationofprimenumbersonportabledevices:Anupdate.Oj//ogra//z/c//<m/vrare£>6ec/c/e<i5y他m—2006,volume4249of丄e"匿iVotoz'wCowp她rScience,pages160—173,Springer,2006)改進(jìn)的質(zhì)數(shù)產(chǎn)生算法。具體地,這些算法非常適合以產(chǎn)生具有固定指數(shù)e=2,6+l的204S比特RSA模數(shù)iV(即,"=2048)為目的的情況,使得需要(遠(yuǎn))小于2048比特來(lái)存儲(chǔ)iV或iV的表示。
發(fā)明內(nèi)容在第一方面,本發(fā)明針對(duì)一種產(chǎn)生具有預(yù)定部分A^的RSA模數(shù)iV的因子的方法。所述RSA模數(shù)包括至少兩個(gè)因子。首先產(chǎn)生第一質(zhì)數(shù)/7;獲得形成模數(shù)〃的一部分的值;產(chǎn)生第二質(zhì)數(shù)《;以及至少輸出模數(shù)7V的無(wú)損壓縮表示,所述無(wú)損壓縮表示使得能夠?qū)δ?shù)N的無(wú)歧義恢復(fù)。在依賴于p和仏的區(qū)間中產(chǎn)生第二質(zhì)數(shù)e,使得;^是共享A^的RSA模數(shù)。在第一優(yōu)選實(shí)施例中,所述預(yù)定部分AV(立于RSA模數(shù)的首部。有利的是,所述RSA模數(shù)是"比特模數(shù),所述預(yù)定部分A^包括K個(gè)比特,并且在區(qū)間^[2"°—1/2,2『-1]中產(chǎn)生第一質(zhì)數(shù)/7,使得gcd(p-l,e"1;'產(chǎn)生第二質(zhì)數(shù)《,使得§(^(^1,力=1;在區(qū)間pp以及yV=A^IM,其中iV,=mod2"-K。在第二優(yōu)選實(shí)施例中,所述預(yù)定部分AV(立于RSA模數(shù)的尾部。有利的是,在區(qū)間P"2"—"?!?/2,2"—"。一j中產(chǎn)生第一質(zhì)數(shù)p,使得gcd(p-l,e"l;第二質(zhì)數(shù)g是通過(guò)計(jì)算q-c+q^產(chǎn)生的,其中P,并且在區(qū)間2n-1+1-Cp2"-Cp2>2》中產(chǎn)生g',使得gcd(g-l,e)=1,定義以及輸出々={%,^^,^^。在第三優(yōu)選實(shí)施例中,A^是通過(guò)對(duì)第一質(zhì)數(shù)/的至少一部分進(jìn)行加密而獲得的。第二方面,本發(fā)明針對(duì)一種用于產(chǎn)生具有預(yù)定部分A^的RSA模數(shù)iV的因子的設(shè)備,所述RSA模數(shù)包括至少兩個(gè)因子。該設(shè)備包括處理器,所述處理器用于產(chǎn)生第一質(zhì)數(shù)p;獲得形成模數(shù)W的一部分的值以及在依賴于p和的區(qū)間中產(chǎn)生第二質(zhì)數(shù)《,使得;^是共享的RSA模數(shù)。該設(shè)備還包括接口,用于至少輸出模數(shù)W的無(wú)損壓縮表示,所述無(wú)損壓縮表示使得能夠?qū)δ?shù)iV的無(wú)歧義恢復(fù)。在第一優(yōu)選實(shí)施例中,所述設(shè)備是智能卡。"共享"被解釋為對(duì)于所共享的部分具有相同的值,例如,十六進(jìn)制的1234567890abcdef和123456789abcdefD共享數(shù)字首部中的123456789。現(xiàn)在將參考附圖來(lái)描述本發(fā)明以及其優(yōu)選實(shí)施例的各特征和優(yōu)點(diǎn),附圖旨在示意而并非限制本發(fā)明的范圍,在附圖中,圖1示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的用于RSA模數(shù)產(chǎn)生的設(shè)備。具體實(shí)施例方式總體思想總體發(fā)明思想在于,固定RSA模數(shù)N的大部分(例如,在優(yōu)選實(shí)施例中達(dá)到RSA模數(shù)N的前一半),使得可以從區(qū)間中任意地得到(而不是如先前提議中建議的遞增地嘗試)形成N的質(zhì)數(shù)??梢允褂?公共的)偽隨機(jī)數(shù)發(fā)生器根據(jù)隨機(jī)短種子來(lái)評(píng)價(jià)RSA模數(shù)的大部分,或在用戶之間共享該RSA模數(shù)的大部分。這得到了更快的(并且更易于實(shí)現(xiàn)的)RSA模數(shù)壓縮技術(shù)。此外,這樣產(chǎn)生的RSA模數(shù)無(wú)法與常規(guī)的RSA模數(shù)相區(qū)分(即,在輸出分布方面沒(méi)有差別)。最后,這樣產(chǎn)生的RSA模數(shù)可以與現(xiàn)有的質(zhì)數(shù)產(chǎn)生技術(shù)相兼容(在這種情況下沒(méi)有額外的成本)。優(yōu)選實(shí)施例令K/cSw。iV比特RSA模數(shù);V(是兩個(gè)大質(zhì)數(shù)/和《的乘積)是可以通過(guò)如下方式來(lái)產(chǎn)生的。1.使用偽隨機(jī)數(shù)發(fā)生器,根據(jù)隨機(jī)種子&生成k比特整數(shù)A^乂=『1vPRNG(s。))e1^,-1J注意,與2^的或操作確保了的最高有效位是1。本領(lǐng)域技術(shù)人員將理解,當(dāng)然還可以選擇A^的值。2.產(chǎn)生隨機(jī)質(zhì)數(shù)pe[2"-n。-"2,2n-n。-1],使得gcd(p-l,e)-1。3.產(chǎn)生隨機(jī)質(zhì)數(shù)^P'P—使得§^(《-1,。=1。如果沒(méi)有發(fā)現(xiàn)這樣的質(zhì)數(shù),則重復(fù)該過(guò)程。4.定義7V,=(^jmod2""并輸出》=(A^.[k,"]}。在給定表示W(wǎng)的情況下,現(xiàn)在容易公共地對(duì)相應(yīng)的"比特RSA模數(shù)7V進(jìn)行恢復(fù),即,A^A^P/,其中^是根據(jù)^=2^vPRNG")而獲得的k比特整數(shù)。應(yīng)注意,如果2"《^p,則選擇《的范圍可能是空的。這解釋了為什么/c應(yīng)當(dāng)至多是"o。因此,先前的方法最好將"比特RSA模數(shù)壓縮到W比特。最差的情況是關(guān)于平衡RSA模數(shù)(即,n=2"Q)的,這獲得(最佳地)l+2的壓縮比。第一備選實(shí)施例在備選實(shí)施例中,模數(shù)N的結(jié)尾比特是固定的。1.根據(jù)種子s。產(chǎn)生WrdvPRNG("))e[1,2^-4。自然,也可以選擇A^。2.產(chǎn)生第一質(zhì)數(shù)Pe[2"言'",2"—""-lj并且gcd(p-l,e"l。3.令mod211(jf=C+q'2'存在的話)。A/,=4.定義射產(chǎn)生第二質(zhì)數(shù)《。2n—1+1-Cp2"-Cp2》'2>」并且gcd(《-l,e)-l(如果壓并輸出々={^,[;c,"]}。將理解,由于M的最高有效位應(yīng)當(dāng)為1,不一定要將M的最高有效位包括在W中。更普遍地,還可以固定iV的一些前導(dǎo)比特和一些尾比特。第二備選實(shí)施例所提出的方法可以適于調(diào)整由多于2個(gè)因子構(gòu)成的RSA模數(shù),例如,3質(zhì)數(shù)RSA模數(shù)或A^/《形式的RSA模數(shù)。對(duì)于這一點(diǎn)的其他描述,可以有利地參考TsuyoshiTakagi的論文(FastRSA-typecryptosystemmodulo;V^va"cesC,to/ogy-CTKPrO,,volume1462ofiVotoCo,她r5Wewce,pages318-326.Springer,1998)。第三備選實(shí)施例在RSA模數(shù)W的公共部分(也可以說(shuō)是A^)在用戶間共享或者對(duì)于給定的應(yīng)用而言對(duì)所有用戶都共用時(shí),也可以應(yīng)用所提出的方法。在這種情況下,不需要傳輸隨機(jī)種子W(以及/c和"的值)。設(shè)備圖1示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的用于產(chǎn)生RSA模數(shù)的設(shè)備。該產(chǎn)生設(shè)備100包括至少一個(gè)處理器110、至少一個(gè)存儲(chǔ)器120、可以包括單獨(dú)的輸入單元和輸出單元在內(nèi)的通信裝置130、以及可能的用戶接口140。處理裝置適于執(zhí)行前述方法當(dāng)中的任一方法。密鑰托管將理解,本發(fā)明可以有利地用于密鑰托管用途。在RSA模數(shù)7V二j^的情況下,知道大約^(或《)比特的一半就足以使用例如格基規(guī)約技術(shù)來(lái)恢復(fù)私有密鑰。因此,如果使用加密密鑰K對(duì)^比特的大約一半進(jìn)行加密,并將其嵌入到公共RSA模數(shù);V的表示中,則知道K的"權(quán)限"將能夠根據(jù)W重構(gòu)P,并因此計(jì)算出相應(yīng)的私有RSA密鑰。加密后的p比特可以包含在RSA模數(shù)的預(yù)定部分中。還將理解,根據(jù)本發(fā)明的方法還尤其有利地用于智能卡和其他資源受限的設(shè)備中,因?yàn)樵摲椒ㄊ褂孟鄬?duì)少的資源。說(shuō)明書和權(quán)利要求(合適的地方)以及附圖中公開(kāi)的每個(gè)特征是可以獨(dú)立地提供或以任何組合的方式提供的。在合適的情況下可以采用硬件、軟件、或兩者結(jié)合的形式來(lái)實(shí)現(xiàn)這些特征。這里對(duì)"一個(gè)實(shí)施例"或"實(shí)施例"的引用意味著結(jié)合實(shí)施例所描述的具體特征、結(jié)構(gòu)、或特性可以包括在本發(fā)明的至少一個(gè)實(shí)現(xiàn)方式中。在說(shuō)明書中不同地方的出現(xiàn)的短語(yǔ)"在一個(gè)實(shí)施例中"不一定指的是同一個(gè)實(shí)施例,也不是必須與其他實(shí)施例相排斥的單獨(dú)的或備選的實(shí)施例。權(quán)利要求中出現(xiàn)的參考數(shù)字僅僅是說(shuō)明性的,不應(yīng)對(duì)權(quán)利要求的范圍造成限制性的影響。權(quán)利要求1、一種產(chǎn)生具有預(yù)定部分Nh的RSA模數(shù)N的因子的方法,所述RSA模數(shù)包括至少兩個(gè)因子,所述方法包括以下步驟-產(chǎn)生第一質(zhì)數(shù)p;-獲得形成模數(shù)N的一部分的值Nh;-產(chǎn)生第二質(zhì)數(shù)q;以及-至少輸出模數(shù)N的無(wú)損壓縮表示,所述無(wú)損壓縮表示使得能夠?qū)崿F(xiàn)對(duì)模數(shù)N的無(wú)歧義恢復(fù);所述方法的特征在于,在依賴于p和Nh的區(qū)間中產(chǎn)生第二質(zhì)數(shù)q,使得pq是共享Nh的RSA模數(shù)。2、根據(jù)權(quán)利要求l所述的方法,其中,所述預(yù)定部分AV(立于RSA模數(shù)的首部。3、根據(jù)權(quán)利要求2所述的方法,其中,所述RSA模數(shù)是n比特模數(shù),所述預(yù)定部分W包括/c個(gè)比特,并且在區(qū)間pe[2"-"2'2一-1]中產(chǎn)生第一質(zhì)數(shù)^使得gcd(p-l,e)-1;在區(qū)間p中產(chǎn)生第二質(zhì)數(shù)?,使得gcd(^l,e)=l;以及iV=Ag|iV,,其中M=mod2"-K。4、根據(jù)權(quán)利要求l所述的方法,其中,所述預(yù)定部分AVf立于RSA模數(shù)的尾部。5、根據(jù)權(quán)利要求4所述的方法,其中,在區(qū)間"12"—"°—1/2,2"—"°-"中產(chǎn)生第一質(zhì)數(shù)P,使得gcd(^-l,e一l;第二質(zhì)數(shù)《是通過(guò)計(jì)算q-c+q'^產(chǎn)生的,其中P,并且《'是在區(qū)間《2n-1十1-Cp2n-Cp~~^^'2》中產(chǎn)生的,使得gcd(《-l,ehl,輸出々=/^,&/^""。6、根據(jù)前述任一權(quán)利要求所述的方法,其中,是通過(guò)對(duì)第一質(zhì)數(shù)P的至少一部分進(jìn)行加密而獲得的。7、一種用于產(chǎn)生具有預(yù)定部分A^的RSA模數(shù)7V的因子的設(shè)備000),所述RSA模數(shù)包括至少兩個(gè)因子,所述設(shè)備包括處理器(110),用于-產(chǎn)生第一質(zhì)數(shù)p;-獲得形成模數(shù)W的一部分的值A(chǔ)^以及-在依賴于P和A^的區(qū)間中產(chǎn)生第二質(zhì)數(shù)《,使得/^是共享A^的RSA模數(shù);以及接口(130),用于至少輸出模數(shù)iV的無(wú)損壓縮表示,所述無(wú)損壓縮表示得能夠?qū)崿F(xiàn)對(duì)模數(shù)W的無(wú)歧義恢復(fù)。8、根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述設(shè)備是智能卡。全文摘要本發(fā)明提供了一種產(chǎn)生具有預(yù)定部分N<sub>h</sub>的RSA模數(shù)N的因子的方法和設(shè)備,所述RSA模數(shù)包括至少兩個(gè)因子。產(chǎn)生第一質(zhì)數(shù)p;獲得形成模數(shù)N的一部分的值N<sub>h</sub>;在依賴于p和N<sub>h</sub>的區(qū)間中產(chǎn)生第二質(zhì)數(shù)q,使得pq是共享N<sub>h</sub>的RSA模數(shù);以及輸出使得能夠計(jì)算出模數(shù)N的信息。文檔編號(hào)H04L9/30GK101622817SQ200880006099公開(kāi)日2010年1月6日申請(qǐng)日期2008年2月19日優(yōu)先權(quán)日2007年2月27日發(fā)明者馬克·喬伊申請(qǐng)人:湯姆森許可貿(mào)易公司