專利名稱:由包括在確定間隔內(nèi)的質(zhì)數(shù)形成電子密鑰的方法及采用該方法的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種由包括在正整數(shù)數(shù)組確定間隔[Wm,WM]內(nèi)的質(zhì)數(shù)形成電子密鑰的方法。本發(fā)明也涉及一種采用該方法的裝置。
本發(fā)明特別應(yīng)用到那些帶有公用密鑰的密碼規(guī)約可用于信息加密和/或在兩個(gè)數(shù)學(xué)實(shí)體間的認(rèn)證和/或電子信息簽字。
本發(fā)明具體被應(yīng)用到這樣一些帶有公用密鑰的密碼規(guī)約如RSA(Rivest Shamir et Adelman)、E1 Gamal、Schnorr、或Fiat Shamir規(guī)約。
在這類應(yīng)用的情況下,都是求助于大質(zhì)數(shù)的生成(例如可大于或等于512比特)以便形成一個(gè)或幾個(gè)規(guī)約密鑰。
第一種所謂“自然的”質(zhì)數(shù)生成方法主要在于·在奇數(shù)中選擇一個(gè)候選數(shù),·檢測(cè)其優(yōu)選性(primalité),·如果優(yōu)選性被核實(shí)了,就把該數(shù)存儲(chǔ)起來(lái),否則,就按增加2來(lái)更新候選數(shù),反復(fù)對(duì)這種新的候選數(shù)進(jìn)行檢測(cè),以此類推直至一個(gè)候選數(shù)的優(yōu)選性被核實(shí)。
這種方法很慢。另一種方法主要在于,在含有質(zhì)數(shù)∏的質(zhì)數(shù)數(shù)組中按照檢測(cè)優(yōu)選性來(lái)選擇候選數(shù)。大家可聯(lián)想到兩個(gè)數(shù)如果而且僅僅如果它們的最大公約數(shù)(pgcd)等于1則它們是質(zhì)數(shù)或互為質(zhì)數(shù)。這另一種方法主要在于·考慮數(shù)∏=2.3.5.7.…它是最初的k個(gè)質(zhì)數(shù)的積(經(jīng)常k=4)并且選擇一個(gè)數(shù)p比如是利用∏的質(zhì)數(shù),·檢測(cè)p的優(yōu)選性,·如果p的優(yōu)選性核實(shí)了,就把該數(shù)存儲(chǔ)起來(lái),否則就以增加∏的方式更新數(shù)p。該更新的數(shù)p也是利用∏的質(zhì)數(shù);事實(shí)上,可聯(lián)想到pgcd(p+∏,∏)=pgcd(p,∏)=1利用該更新的候選數(shù)重復(fù)進(jìn)行檢測(cè)并以此類推直至找到了一個(gè)是質(zhì)數(shù)的候選數(shù)。
這種方法是比較有效的。
但是人們通常都希望得出一個(gè)在確定間隔內(nèi)的質(zhì)數(shù)。的確,在例如帶有公用密鑰的密碼規(guī)約RSA情況下,人們都考慮兩個(gè)質(zhì)數(shù)p和q的1024比特的積,也就是2511.√2<p,q<2512。根據(jù)另一種基于非連續(xù)對(duì)數(shù)的規(guī)約,人們力求直接得到一個(gè)1024比特的質(zhì)數(shù),也就是21023<p<=21024。這些規(guī)約的證實(shí)是較難在微處理器卡型的及對(duì)于常用大號(hào)碼數(shù),512比特1024比特甚至更大而性能一般的便攜裝置上進(jìn)行編程(因?yàn)檩^復(fù)雜)。
本發(fā)明的目的是,在已指定間隔[Wm,WM]的情況下,一次性地確定∏并且提出一種候選數(shù)的更新,它確保了新的候選數(shù)將是在最初確定間隔中的利用∏的質(zhì)數(shù)同時(shí)還把這些新的待選數(shù)的計(jì)算時(shí)間保持在合理的限制之內(nèi),也就是說(shuō)還同時(shí)限定了優(yōu)選性的檢測(cè)數(shù)。
圖1描述了∏的選擇,其中表示出了包括在間隔[Wm,WM]中的整數(shù)集I,此數(shù)集中包含了該帶有∏的質(zhì)數(shù)間隔內(nèi)的整數(shù)集I∏,其中又包含了該間隔的質(zhì)數(shù)集IP。目的主要在于確定∏使得具有∏的質(zhì)數(shù)數(shù)組的中間集I∏,也就是待選數(shù)集盡可能接近間隔質(zhì)數(shù)數(shù)組的子集IP。
本發(fā)明具體的內(nèi)容是一種由包括在確定的正整數(shù)間隔[Wm,WM]內(nèi)的質(zhì)數(shù)q形成電子密鑰的方法,其主要特征在于質(zhì)數(shù)q是在進(jìn)行如下運(yùn)算操作時(shí)而得到的a)選擇一個(gè)正整數(shù)η,η是k個(gè)初始質(zhì)數(shù)的積,取k最大數(shù)以便存在兩個(gè)正整數(shù)εm和εM比如εm是Wm/η的大舍入數(shù),而εM是(WM-Wm)/η的小舍入數(shù),計(jì)算∏=εM.η及p=εm.η,得出兩個(gè)正整數(shù)a和c屬于∏模整數(shù)的乘法群Z∏,取帶有∏的質(zhì)數(shù)C計(jì)算q=c+pb)檢測(cè)q的優(yōu)選性,c)在優(yōu)選性被核實(shí)的情況下,存儲(chǔ)q,d)在相反的情況下在計(jì)算∏模a.c的同時(shí)更新c,利用b)采用新值q=c+p重復(fù)進(jìn)行上述的一些運(yùn)算操作。
根據(jù)本發(fā)明的一個(gè)特征,a=2以及∏=(εM-1).η。
根據(jù)本發(fā)明的另一個(gè)特征,a=216+1。
本發(fā)明可應(yīng)用到RSA、E1 Gamal、Schnorr,或Fiat Shamir密碼密鑰的形成方法。
本發(fā)明還有一個(gè)內(nèi)容是一種便攜式電子裝置,它包括一個(gè)運(yùn)算信息處理器以及一個(gè)相配合的程序存儲(chǔ)器,它能夠進(jìn)行模數(shù)計(jì)算,其主要特征在于,它包含一個(gè)檢驗(yàn)程序可檢驗(yàn)正整數(shù)q的優(yōu)選性,該正整數(shù)包括在正整數(shù)數(shù)組的確定間隔[Wm,WM]內(nèi)它可進(jìn)行如下的運(yùn)算操作a)選擇正整數(shù)η,η是最初k個(gè)質(zhì)數(shù)的積,取k的最大數(shù)以便存在兩個(gè)正整數(shù)εm和εM比如εm是Wm/η的大舍入數(shù),而εM是(WM-Wm)/η的小舍入數(shù),計(jì)算∏=εM.η及p=εm.η,得出兩個(gè)正整數(shù)a和c屬于∏模數(shù)正整數(shù)的乘法群Z*∏,取帶有∏的質(zhì)數(shù)c。
計(jì)算q=c+pb)檢測(cè)q的優(yōu)選性,c)在核實(shí)了優(yōu)選性的情況下,運(yùn)算信息處理器儲(chǔ)存q,d)在相反的情況下利用計(jì)算∏模a.c更新c,運(yùn)算信息處理器利用b)取q=c+p重復(fù)進(jìn)行上述運(yùn)算操作。
有利的是,便攜式電子裝置是由帶微處理器的智能卡構(gòu)成的。
本發(fā)明的其它一些特征和優(yōu)點(diǎn)在閱讀了作為非限定實(shí)施的說(shuō)明時(shí)就會(huì)清楚地顯示出來(lái),解釋時(shí)還參照了幾個(gè)附圖,其中有圖1表示的是包括在間隔[Wm,WM]中的整數(shù)集I、其間有該質(zhì)數(shù)間隔的整數(shù)集I∏以及最后是該間隔的質(zhì)數(shù)集IP。
圖2表示了本發(fā)明方法的程序方框圖,圖3表示的是一種便攜電子裝置的原理示意圖,比如是一種采用本發(fā)明方法的智能卡。
本發(fā)明的目的因而首先就在于確定∏使得圖1所示帶有∏的質(zhì)數(shù)集I∏盡可能接近間隔的質(zhì)數(shù)子集IP。
根據(jù)本發(fā)明,圖2所示的方法是以下面的方式預(yù)置的(步驟I)為了得出一個(gè)質(zhì)數(shù)q比如q∈[Wm,WM],
選擇與∏相同形式的數(shù)η(η是前k’個(gè)質(zhì)數(shù)的積)其中k’是最大數(shù)并且比如它存在兩個(gè)正整數(shù)εm和εM比如εm是Wm/η的大舍入數(shù),就標(biāo)注Wm/η而是(WM-Wm)/η的小舍入數(shù),則標(biāo)注□(WM-Wm)/η□。
那時(shí)是設(shè)定∏=εM.η而得到∏的;也可設(shè)定P=εM.η。
可注意到∏接近WM-Wm但是較小,而且P接近Wm但是較大。
這時(shí)必須確定新候選數(shù)使得新的候選數(shù)始終屬于I∏。
現(xiàn)在我們考慮∏模整數(shù)的圓環(huán)Z∏及Z∏乘法群Z*∏;可注意到所包括的集(P+Z*∏)幾乎與I∏相同,也就是說(shuō)與候選數(shù)集一致。
在那種情況下得出了兩個(gè)正整數(shù)a和c屬于該采用帶∏質(zhì)數(shù)c的乘法群Z*∏(也就是pgcd(c,∏)=1)并且考慮候選數(shù)q=c+p(步驟I)。為了得出c,使用了比如在說(shuō)明書中所出現(xiàn)的互質(zhì)數(shù)的產(chǎn)生算法。
因?yàn)镻接近Wm并且c<∏,必然會(huì)證明Wm<k<WM。
此外,pgcd(q,∏)=pgcd(c+p,∏)=pgcd(c,∏)=1因此可證實(shí)q確實(shí)屬于I∏。
這個(gè)預(yù)置階段一結(jié)束,就檢測(cè)候選數(shù)q的優(yōu)選性(步驟II)。如果優(yōu)選性被核實(shí),就存儲(chǔ)q,否則就在計(jì)算∏模數(shù)a.c的同時(shí)更新c并計(jì)算新的候選數(shù)k=c+p(步聚III)。
新的候選數(shù)屬于I∏集事實(shí)上,考慮到乘法群的性質(zhì),a和c屬于Z*∏,積a.c也屬于該群組Z*∏以及∏模數(shù)a.c。
帶有公用密鑰的密碼規(guī)約往往都使用到帶微處理器的智能卡上。例如,在規(guī)約RSA中,密鑰都是利用在執(zhí)行規(guī)約時(shí)由微處理器的智能卡隨機(jī)所選擇的數(shù)形成的。為此,微處理器智能卡有一個(gè)隨機(jī)數(shù)發(fā)生器它能夠提供所希望大小的整數(shù)。
因而在圖3上表示出了微處理器智能卡的功能示意圖,此微處理器智能卡可采用本發(fā)明方法。
卡c帶有一個(gè)主處理器1、程序存儲(chǔ)器3和4以及一個(gè)工作寄存器(圖中末示出),它們都與主處理器相配合。該卡還帶有一個(gè)能進(jìn)行模計(jì)算的運(yùn)算處理器2以及一個(gè)安全化存儲(chǔ)器6(不能從外邊進(jìn)入)將要核實(shí)其優(yōu)選性的候選數(shù)9就儲(chǔ)存在其中。該卡也有一個(gè)隨機(jī)整數(shù)發(fā)生器5。
特別是為了把該方法利用到如上述帶微處理器的智能卡上,都希望提高此方法所采用的處理速度(由運(yùn)算處理器2進(jìn)行的操作)并且希望可適當(dāng)?shù)那宄ぷ骷拇嫫髦械拇鎯?chǔ)單元。
為此目的,在選擇a=2以及排除∏數(shù)的2時(shí)(∏=3.5.7....),就避免了模數(shù)的計(jì)算。實(shí)際上,c的更新變?yōu)榱恕悄?c。然而,因?yàn)閏是Z*∏的一個(gè)元,則2c mod∏=2c或2c-∏。
但是,一此新的候選數(shù)q那時(shí)都可以是偶數(shù)。如果是這種情況,那么就給新候選數(shù)增加一個(gè)數(shù),如新候選數(shù)變成了奇數(shù),同時(shí)要始終屬于集I∏。因此可設(shè)定∏=(εm-1).ηq=c+p如果q是偶數(shù),那么q應(yīng)變?yōu)閝+η。
根據(jù)另一種取舍,可以保留∏如同最初所確定的那樣并且可以選擇一個(gè)a的特定值如a是帶有∏的質(zhì)數(shù)。例如可選擇a=216+1本發(fā)明方法已應(yīng)用到Infineon的SLE66CX1603型智能卡平臺(tái)上了,該智能卡包括一個(gè)8-比特中心處理器和一個(gè)1100-比特運(yùn)算加密處理器。同時(shí)要為η、∏及P選擇如下的數(shù)值=b16bdle084af628fe5089e6dabd16b5b80f60681d6a092fcble86d82876ed71921000bcfdd063fb90f81dfd07a021af23c735d52e63bdlcb59c93cbb398afd16,∏=1729.ηP=4180.η,取a=2可得到在不足4秒鐘內(nèi)的512比特的質(zhì)數(shù)。困此就得到在平均不到8秒鐘內(nèi)的1024比特的質(zhì)數(shù)。
權(quán)利要求
1.一種由包括在確定的正整數(shù)間隔[Wm,WM]內(nèi)的質(zhì)數(shù)q形成電子密鑰的方法,其特征在于質(zhì)數(shù)q是在進(jìn)行如下運(yùn)算操作時(shí)而得到的a)選擇一個(gè)正整數(shù)η,η是前K個(gè)質(zhì)數(shù)的積,取最大數(shù)k以便有兩個(gè)正整數(shù)εm和εM,如εm是Wm/η的大舍入數(shù),而εM是(WM-Wm)/η的小舍入數(shù),計(jì)算∏=εM.η及P=εm.η,得出兩個(gè)正數(shù)a和c屬于∏模質(zhì)數(shù)的乘法群Z*∏,選取帶有∏的質(zhì)數(shù)c,計(jì)算q=c+pb)檢測(cè)q優(yōu)選性,c)在核實(shí)了優(yōu)選性的情況下,存儲(chǔ)q,d)在相反的情況下在計(jì)算∏模a.c的同時(shí)更新c,在采用新值q=c+p的情況下,利用b)反復(fù)進(jìn)行上述的運(yùn)算操作。
2.根據(jù)上述權(quán)利要求所述的方法,其特征在于a=2而∏=(εM-1)。η。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于a=216+1。
4.一種形成RSA,E1 Gamal,Schnorr或Fiat Shamir密碼密鑰的方法,其特征在于它采用了根據(jù)上述權(quán)利要求中任一項(xiàng)所述的方法。
5.一種便攜式電子裝置,它包括一個(gè)運(yùn)算處理器和一個(gè)相配合的程序存儲(chǔ)器,它能夠進(jìn)行模數(shù)計(jì)算,其特征在于該裝置包括一個(gè)檢驗(yàn)程序可檢測(cè)包括在確定的正整數(shù)間隔[Wm,WM]內(nèi)的正整數(shù)q的優(yōu)選性并且它可進(jìn)行如下運(yùn)算操作;a)選擇一個(gè)正整數(shù)η,η是前k個(gè)質(zhì)數(shù)的積,選取最大數(shù)k以便存在兩個(gè)正整數(shù)εm和εM,如εm是Wm/η的大舍入數(shù),而εM是(WM-Wm)/η的小舍入數(shù),計(jì)算∏=εM.η及P=εm.η,得出兩個(gè)正整數(shù)a和c屬于∏模整數(shù)的乘法群Z*∏,選取帶有∏的質(zhì)數(shù),計(jì)算q=c+pb)檢測(cè)q的優(yōu)選性,c)在核實(shí)了優(yōu)選性的情況下,運(yùn)算處理器儲(chǔ)存q,d)在相反的情況下利用計(jì)算∏模a.c更新c,利用b)選取q=c+p反復(fù)進(jìn)行上述運(yùn)算操作。
6.根據(jù)權(quán)利要求5所述的便攜式電子裝置,其特征在于它是由帶有微處理器的智能卡構(gòu)成的。
全文摘要
本發(fā)明涉及一種形成電子密鑰的方法,它是由包括在確定的正整數(shù)間隔[W
文檔編號(hào)H04L9/30GK1449609SQ0181487
公開日2003年10月15日 申請(qǐng)日期2001年6月21日 優(yōu)先權(quán)日2000年7月10日
發(fā)明者M·若耶, P·派利爾 申請(qǐng)人:格姆普拉斯公司