專利名稱:包括加密及解密系統(tǒng)的密碼系統(tǒng)及密鑰保管系統(tǒng)和相關(guān)的裝置及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及包括加密及解密的密碼系統(tǒng)及密鑰保管系統(tǒng),和相關(guān)的裝置及設(shè)備。
本發(fā)明尤其是設(shè)計(jì)用于芯片卡、PCMCIA卡、標(biāo)簽、無觸點(diǎn)卡類型的電子系統(tǒng)或任何另外的便攜式裝置。
現(xiàn)今具有公用密鑰的大多數(shù)密碼系統(tǒng)(也稱非對(duì)稱密碼系統(tǒng))使用了RSA加密算法,它是在1978年由R.Rivest,A.shamir及L.Adleman發(fā)表的并繼而以《密碼通信系統(tǒng)及方法》的名稱獲得專利,其專利號(hào)為US 4,405,829。
除系統(tǒng)RSA以外,很少具有用公用密鑰加密的實(shí)際系統(tǒng)和方法。但存在另一種較不著稱及使用相對(duì)少的系統(tǒng),它涉及以標(biāo)題《公用密鑰密碼系統(tǒng)及基于離散對(duì)數(shù)的特征方案》發(fā)表在IEEE信息理論會(huì)利,1985年第IT-31卷第4期,第469-472頁上的E1-Gamal系統(tǒng)。
一個(gè)RSA或E1-Gamal密碼實(shí)際上是在計(jì)算機(jī)中由二進(jìn)制或十六進(jìn)制數(shù)字鏈表示的一個(gè)大數(shù)目。在處理所有可存取的參數(shù)的應(yīng)用前,可借助軟件計(jì)算資源(程序)和/或使用一系列計(jì)算規(guī)則的硬件(電子電路)來計(jì)算密碼,以便隱蔽被處理數(shù)據(jù)的內(nèi)容??捎媚M方式,借助軟件計(jì)算資源或使用應(yīng)用于所有秘密、公開參數(shù)及密碼的一系列計(jì)算規(guī)則的硬件(解密碼算法)來對(duì)密碼解碼。
加密系統(tǒng)或方法使用一種公用密鑰來產(chǎn)生密碼。而解密方法使用一種不公開的密鑰,該密鑰相應(yīng)于總之無法被識(shí)別的秘密密鑰。一種便攜式電子裝置、例如智能卡的用戶具有一對(duì)密鑰(稱為公用密鑰及秘密密鑰)。并假定,公用密鑰是所有用戶公知的,而秘密密鑰從不公開。所有的人能夠使用用戶的公用密鑰來加密該用戶的信息,但這些密碼不能被解碼,除非使用該用戶的秘密密鑰。
以下將以說明的方式描述公知的RSA算法的原理。
RSA參數(shù)為①兩個(gè)長度至少等于256位(bit)的秘密質(zhì)數(shù)p及q。這些質(zhì)數(shù)是以一種特定方式產(chǎn)生的,其詳情對(duì)于理解本發(fā)明并非必須的,但可以參考著作《應(yīng)用密碼、算法、協(xié)議及源碼》Bruce Schneier著(MarcVauclair的譯本),Thomson出版社出版。
②一個(gè)公用模數(shù)n=pq。
③一對(duì)指數(shù),記為{e、d},e為公開指數(shù)及d為秘密指數(shù),如ed=1 mod(p-1)(q-1)。
稱為《加密指數(shù)》的指數(shù)e是安全可得到的,而《解密指數(shù)》d是保密的。
為了對(duì)信息m加密,發(fā)送機(jī)計(jì)算密碼c=memod n,及接收機(jī)或檢驗(yàn)裝置通過計(jì)算m=cdmod n來解密。
E1-Gamal算法其本身的原理不太復(fù)雜及對(duì)于理解本發(fā)明并無特殊幫助。
本發(fā)明涉及一種密碼系統(tǒng),它包括作為RSA方法及E1-Gamal方法變型的具有交替公用密鑰的加密-解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng)(英語通常稱為《Keyescrow》)。
根據(jù)本發(fā)明,提供了一種與所謂離散對(duì)數(shù)及因數(shù)分解原理相結(jié)合的密碼系統(tǒng),其中包括公用密鑰及一個(gè)秘密密鑰,其特征在于,所述公用密鑰至少包括a.一個(gè)長度大于640位(bit)的模數(shù)RSA n,它具有以下特性n=(ApA+1)×(BpB+1)式中pA及pB是長度大于320位(bit)的質(zhì)數(shù),(ApA+1)是一個(gè)記為p的RSA質(zhì)數(shù),(BpB+1)是一個(gè)記為q的RSA質(zhì)數(shù),A是K/2(K是包括在10及120之間的一個(gè)偶整數(shù))個(gè)長度相對(duì)小(在2及6位之間)的質(zhì)數(shù)(記為p〔i〕,i=1至K/2)的乘積,及B是K/2個(gè)質(zhì)數(shù)(也記為p〔i〕,i=K/2+1至K)的乘積;p〔i〕的長度相對(duì)小(在2及16位之間),并同樣互為質(zhì)數(shù);b.一個(gè)冪的底數(shù)g,其量級(jí)為φ(n)/4(其中φ(n)為歐拉指示函數(shù)),因此g不會(huì)成為任何數(shù)的第p〔i〕次冪的模n(modulo n)。
更確切地,本發(fā)明涉及一種密碼系統(tǒng),它包括至少一個(gè)加密-解密系統(tǒng),其特征在于一個(gè)信息m的加密由以下操作形成,m<AB
C=gmmod n式中C表示密碼(加密信息)。
優(yōu)選地,根據(jù)本發(fā)明的密碼系統(tǒng)其特征在于m的完整性可由m/h(m)的加密(h表示一個(gè)截?cái)嗪瘮?shù)及1表示鏈接)或由DES(cle′、m)的加密來保證,《cle′》是一個(gè)完全可取得的密鑰。
本發(fā)明同樣旨在描述一種保管系統(tǒng)。根據(jù)本發(fā)明,譯碼器的所述秘密密鑰或保管核心是數(shù)φ(n),及解密操作或恢復(fù)用戶識(shí)別的操作在于以下步驟a.對(duì)于從1至K的i計(jì)算y〔i〕=cφ(n)/p〔i〕mod n;b.對(duì)于從1至K的i,對(duì)于1至p〔i〕的j,比較y〔i〕與m無關(guān)的值gjφ(n)/p〔i〕mod n,如果gjφ(n)/p〔i〕mod n=y(tǒng)〔i〕,則賦予μ〔i〕=j(luò),c.根據(jù)TRC中國余數(shù)定理及值μ〔i〕重組信息m。
根據(jù)一個(gè)實(shí)施變型,通過以下計(jì)算可加速所述譯碼器對(duì)量y〔i〕的計(jì)算a)z=crmod n,其中r=pApB,b)對(duì)于從1至K的i,計(jì)算y〔i〕=ZAB/p〔i〕mod n,以便利用AB/p〔i〕及φ(n)/p〔i〕之間的長度差別來加速計(jì)算。
根據(jù)本發(fā)明的另一變型,譯碼器將一勞永逸地對(duì)于1≤i≤k及1≤j≤p〔i〕預(yù)計(jì)算及保存值gjφ(n)/p〔i〕mod n的表格,或更專門地,這些值的截?cái)嘀祷蛏⒘兄?記為h)具有以下特性h(gjφ(n)/p〔i〕mod n)≠h(gj′φ(n)/p〔i〕mod n),如果j≠j′的話。
因此,這就一方面避免了對(duì)于每個(gè)I對(duì)量gjφ(n)/p〔i〕mod n的全新計(jì)算,另一方面可對(duì)特別長的值進(jìn)行存儲(chǔ)。
根據(jù)本發(fā)明的另一優(yōu)選實(shí)施方式,譯碼器通過分開地先解碼信息模p然后解碼模q及借助中國余數(shù)定理組合結(jié)果模,以重新獲得m。
保管系統(tǒng)是由以下的功能步驟來實(shí)現(xiàn)的a.保管權(quán)威機(jī)構(gòu)通過計(jì)算e(ID)=∏ p〔i〕ID〔i〕(對(duì)于從1至K的i計(jì)算積)對(duì)用戶的識(shí)別碼ID=∑2i-1ID〔i〕編碼,其中ID〔i〕是系統(tǒng)中該用戶的識(shí)別碼位(對(duì)于從1至K的i計(jì)算和);b.它向用戶輸出一個(gè)E1-Gamal密鑰(這就是說,一個(gè)冪的底數(shù))C=gc(ID)umod n,其中u是一個(gè)隨機(jī)的大質(zhì)數(shù)或具有φ(n)的質(zhì)數(shù);
c.它也可以通過選擇一個(gè)隨機(jī)數(shù)x及通過自乘C到x模n次冪使用戶從C的求導(dǎo)得到其E1-Gamal公用密鑰;d.為了重新找到用戶的蹤跡,權(quán)威機(jī)構(gòu)從編碼器的E1-Gamal密碼中提取下列部分(所述密碼總是包括兩部分)V=crmod n式中r是由編碼器選擇的編碼隨機(jī)量;e.知道φ(n)后,所述權(quán)威機(jī)構(gòu)由下列算法求出位ID〔i〕①對(duì)于從1至K的i計(jì)算y〔i〕=Vφ(n)/p〔i〕mod n,②如果y〔i〕=1,則μ〔i〕=1,否則μ〔i〕=0,③計(jì)算ID′=∑2i-1μ〔i〕,④求出ID=CCE(ID′),式中CCE表示一種(選擇的)糾錯(cuò)機(jī)制(其類型為著作《碼糾錯(cuò)器,理論與實(shí)踐》,A.Poli及L.Huguet著,Masson出版社,中所述的類型),它用于對(duì)在非法使用組合r的情況下導(dǎo)入的干擾進(jìn)行糾偏。
所提出的另一種保管系統(tǒng)是基于Diffie-Hellman的所謂密鑰交換機(jī)制,其中用戶之一通過自乘g到a模n隨機(jī)次冪獲得的數(shù)C被所述保管權(quán)威機(jī)構(gòu)截取C=gamod n所述保管權(quán)威機(jī)構(gòu)以再下列方式示出aa.知道n的因數(shù)分解后,所述權(quán)威機(jī)構(gòu)借助于解碼的算法求出值α=a mod AB或a=α+βAB;b.所述權(quán)威機(jī)構(gòu)計(jì)算λ=c/gamod n=gβABmod n;c.通過使用密碼分析算法(離散對(duì)數(shù)計(jì)算法,可能執(zhí)行兩次(模p及模q)以便加速運(yùn)算),權(quán)威機(jī)構(gòu)計(jì)算離散對(duì)數(shù)βλ=(gAB)βmod n;d.所述權(quán)威機(jī)構(gòu)求出a=α+βAB并基于使用a,解碼通信信息。
根據(jù)本發(fā)明的另一實(shí)施例,模數(shù)RSA n為三個(gè)因數(shù)的乘積n=(ApA+1)×(BpB+1)×(CpC+1)
式中pA、pB、pC為長度大于320位的質(zhì)數(shù),(ApA+1)、(BpB+1)、(CpC+1)為RSA質(zhì)數(shù),分別記為p、q、r,A、B及C各是K/3個(gè)質(zhì)數(shù)(記為p〔i〕,i=1至K)的乘積,p〔i〕的長度相對(duì)小(在2至16位之間)并互為質(zhì)數(shù),及K是包括在10及120之間的一個(gè)整數(shù),因此乘積ABC至少為160位。
該實(shí)施例對(duì)于加速解碼的運(yùn)算是有利的。為了加速這些計(jì)算,解碼器執(zhí)行mod p mod q mod r的運(yùn)算。如果n為640位,分割成三個(gè)因數(shù)將使這些因數(shù)的長度更小。
本發(fā)明優(yōu)先地設(shè)計(jì)用于加密、解密及密鑰的保管裝置中,例如它們?yōu)橛?jì)算機(jī)、芯片卡、PCMCIA卡、標(biāo)簽、無觸點(diǎn)卡及其它的便攜裝置。
本發(fā)明也涉及一種設(shè)備,它包括一個(gè)密碼系統(tǒng),其特征在于它包括一個(gè)加密系統(tǒng)和/或一個(gè)解密系統(tǒng)和/或一個(gè)密碼保管系統(tǒng),所述這些系統(tǒng)通過交換電子信號(hào)或通過對(duì)無線電波或紅外信號(hào)交換在它們之間進(jìn)行通信。
為了更好地理解本發(fā)明,需要進(jìn)行以下的說明。
本發(fā)明的加密方法可分為三個(gè)不同階段產(chǎn)生密鑰,產(chǎn)生密碼,及對(duì)密碼解碼。
以下,我們使用傳統(tǒng)的(符號(hào)表示)方式φ(n)表示歐拉指示函數(shù),φ(n)也確定為當(dāng)n=n1×n2×n3×…×nk-1×nk,其中n1、n2、n3、…nk-1、nk為質(zhì)數(shù),則有φ(n)=(n1-1)×(n2-1)×(n3-1)×…(nk-1-1)×(nk-1)。
為了很好地理解本發(fā)明,首先,必須描述密鑰的產(chǎn)生。
為了產(chǎn)生密鑰,密碼接收機(jī)隨機(jī)地選擇兩個(gè)各約有K/2個(gè)不同小質(zhì)數(shù)p〔i〕的集GA及GB(K是10至120量級(jí)的系統(tǒng)參數(shù)),并構(gòu)成以下兩個(gè)數(shù)(其長度近似相同)A=屬于集GA的p〔i〕的乘積B=屬于集GB的p〔i〕的乘積為了安全的緣故,可以適當(dāng)?shù)剡@樣規(guī)定GA及GB1.GA∩GB是零集,2.某些p〔i〕未出現(xiàn)在GA∪GB中。
即使條件2不能被滿足,本發(fā)明的方法也被證實(shí)是可靠的(盡管某些規(guī)定不太復(fù)雜)。如果條件1不能被滿足,該方法也同樣被證實(shí)是可靠的,但是密鑰產(chǎn)生算法及解碼算法應(yīng)作相應(yīng)改變,并變得顯著的復(fù)雜。并且,p〔i〕可能為非質(zhì)數(shù),而彼此互質(zhì)(例如二或三個(gè)字節(jié)的質(zhì)數(shù)的整數(shù)冪)。
為了簡化說明,我們將p〔i〕表示為第i個(gè)奇質(zhì)數(shù)p〔1〕=3、p〔2〕=5、p〔3〕=7…。
在以下還假設(shè),A是由對(duì)于1至K/2的i的p〔i〕乘積直接形成的,及B是由對(duì)于K/2+1至K的i的p〔i〕乘積形成的。但是,這不是最好可能的選擇,而僅應(yīng)理解為一種傳統(tǒng)的符號(hào)表示方式。
然后,密碼接收機(jī)產(chǎn)生兩個(gè)大質(zhì)數(shù)(通常為200至512位的量級(jí)),記為pA及pB,例如p=ApA+1及q=BpB+1為RSA質(zhì)數(shù)(RSA質(zhì)數(shù)是這樣的數(shù),一旦相乘,其乘積n=pq很難被因數(shù)分解)。
為了保證安全,顯然最好對(duì)不同參數(shù)規(guī)定最小長度1-乘積AB應(yīng)至少為160位量級(jí)的數(shù);2-每個(gè)數(shù)pA、pB的長度應(yīng)超過至少160位的乘積AB;3-數(shù)n=p×q的長度應(yīng)至為640位。
這些質(zhì)數(shù)產(chǎn)生的程序不在本發(fā)明的范圍內(nèi),并顯然地是該領(lǐng)域的技術(shù)人員熟知的。
最后,信息接收機(jī)產(chǎn)生及發(fā)出量級(jí)為φ(n)/4的一個(gè)元g。
對(duì)于這樣一個(gè)g應(yīng)強(qiáng)制地用以下條件檢驗(yàn)對(duì)于所有的i,不存在使g=xp〔i〕mod n的x。
可借助以下的方法計(jì)算g*計(jì)算g的(快速)第一方法為信號(hào)接收機(jī)產(chǎn)生兩個(gè)整數(shù)gp,量級(jí)為(p-1)/2 modulo pgq,量級(jí)為(q-1)modulo q如上所述,gp的產(chǎn)生實(shí)際上與一個(gè)數(shù)的產(chǎn)生相同,該數(shù)對(duì)于所有小于k/2的i不是第p〔i〕的冪;對(duì)于gq也是一樣,并具有以下明顯顯的修改1.確定x0=1ti=1tI=對(duì)于從1至i-1的j的p〔j〕的乘積2.對(duì)于從1至k/2的所有i取一個(gè)隨機(jī)數(shù)x使x數(shù)ti次乘方如果x(p-1)/p〔i〕=1,試驗(yàn)另一個(gè)x否則,計(jì)算xi=x(xi-1)p〔i〕3.確定gp=Xk/24.確定x0=1ti=1ti=對(duì)于從1至i-1的j的p〔j〕的乘積5.對(duì)于從1至K/2的所有i取一個(gè)隨機(jī)數(shù)x使x數(shù)ti次乘方如果x(q-1)/p〔i〕=1,試驗(yàn)另一個(gè)x否則計(jì)算xi=〔xi-1〕p〔i〕6.確定gq=xk7.運(yùn)用中國余數(shù)方法(在下列說明中表示為TRC,“Me′thode desRestes Chinois”的縮寫),即在書籍《數(shù)字理論及密碼數(shù)程》(NealKoblitz著,第二版,Springer出版社)中描述的一種方法來由gp和gq構(gòu)成g。這了得到最后的g,必須使數(shù)字積平方。
應(yīng)當(dāng)指出,該算法(其細(xì)節(jié)對(duì)于理解本發(fā)明并不需要)的每個(gè)步驟用于確定一個(gè)元,該元不是對(duì)于小于或等于i的j的第p〔j〕次冪。
*計(jì)算g的(簡單)第二方法該替換方案為,隨機(jī)地選擇一個(gè)g及檢驗(yàn)這個(gè)g不是第p〔j〕次冪mod n。精確的計(jì)算表明,這個(gè)g將在ln(k)次隨機(jī)抽取后被找到(即對(duì)于K=120約有5次機(jī)會(huì))。
為了根好地理解本發(fā)明,現(xiàn)在需要描述密碼的產(chǎn)生。
一個(gè)小于乘積AB的信息的密碼c可由下列公式計(jì)算c=gmmod n現(xiàn)在,本發(fā)明的說明將指向?qū)γ艽a解碼的描述。
為了求出m,解碼器執(zhí)行以下操作①對(duì)于從1至K的i計(jì)算y〔i〕=cφ(n)/p〔i〕mod n,或m〔i〕=mmod p〔i〕及m′=(m-m〔i〕)/p〔i〕通過替代,容易看出y〔i〕=cφ(n)/p〔i〕mod n=gmφ(n)/p〔i〕mod n=g(m〔i〕+m′p〔i〕φ(n)/p〔i〕mod n=gm〔i〕φ(n)/p〔i〕gm′φ(n)mod n=gm〔i〕φ(n)/p〔i〕mod n②對(duì)于從1至K的i作出對(duì)于從1至p〔i〕的j作出如果gjφ(n)/p〔i〕mod n=y(tǒng)〔i〕,賦予mi=j(luò)③求出m=TRC(m1、m2、…、mk)。
解碼的算法可用各種方式來改善通常,可以對(duì)在解碼過程中所需的變量i及j的所有值預(yù)計(jì)算gj φ(n)/p〔i〕mod n,并制成表格。并且這樣一個(gè)表格可被切割或截?cái)?,只要切割或截?cái)嗟姆椒?記為h)能保證h〔gjφ(n)/p〔i〕mod n〕≠h〔gj′φ(n)/p〔i〕mod n〕,如果j≠j′。
借助這種實(shí)施方式,可以證實(shí),20字節(jié)的信息可通過K=30被解碼(積AB則為160位,模n為80字節(jié)及表格為4kilo字節(jié))。
如在以上《密鑰的產(chǎn)生》部分所描述的,選擇16個(gè)10位的質(zhì)數(shù)來取代30個(gè)質(zhì)數(shù)p〔i〕(K值則為16),是更合理的。如果具有75個(gè)這樣的質(zhì)數(shù),約有252.9種可能的選擇,但不必公開所選擇的質(zhì)數(shù),盡管這不會(huì)增加附加的安全性。
也可以選擇互質(zhì)的數(shù);例如質(zhì)數(shù)的冪,這可以增加這些參數(shù)選擇的范圍。
第二種實(shí)施方式可通過在收到密碼開始計(jì)算下列量Z=crmod n,式中r=PAPB因此可以通過取以下計(jì)算的捷徑使量y〔i〕的計(jì)算更容易y〔i〕=ZAB/p〔i〕mod n,并利用AB/p〔i〕及φ(n)/p〔i〕之間長度的差加速冪的計(jì)算。
第三種實(shí)施方式通過分別地先解碼信息模p然后解碼模q(p及q的長度是n長度的一半,解碼將加速兩倍)及組合結(jié)果模φ(n)來加速解碼。
這種類型的解碼方法可這樣地描述①對(duì)于從1至K/2的i計(jì)算y〔i〕=cφ(p)/p〔i〕mod n或m〔i〕=m mod p〔i〕及m′=(m-m〔i〕)/p〔i〕通過替代,容易看出y〔i〕=cφ(p)/p〔i〕mod p=gmφ(p)/p〔i〕mod p=g(m(i)+m′p〔i〕φ(p)/p〔i〕mod p=gm(i)φ(p)/p〔i〕gm′φ(p)mod p=gm(i)φ(p)/p〔i〕mod p②對(duì)于從1至K的i作出對(duì)于從1至p〔i〕的j作出如果gjφ(p)/p〔i〕mod p=y(tǒng)〔i〕,賦予μ〔i〕=j(luò)③求出m=TRC(μ〔1〕mod p〔1〕,…μ〔k/2〕mod p〔k/2〕)④以q取代p重復(fù)步驟{①,②,③}⑤計(jì)算m=TRC(m modφ(p),m modφ(q))。
顯然,在使用本發(fā)明推薦的方法編碼f(cle′、m)時(shí),必須防止m被操作,其中f是一個(gè)對(duì)稱加密函數(shù)(例如DES算法),而參數(shù)《cle′》是完全可以得到的。換一種方式,該加密方法可檢驗(yàn)所獲得的信息m正是其密碼為c的信息。另一種保護(hù)m的方式是通過所推薦的方法對(duì)m/hash(m)加密(這就是說c=gm/hash(m)mod n),式中hash(m)為信息m的散列,及1表示鏈接(在此情況下,解碼檢驗(yàn)由其散列計(jì)算所獲得的信息的完整性)。
也可以將上述密碼系統(tǒng)擴(kuò)展到模n不是由兩個(gè)而是由三個(gè)因數(shù)組成的情況。我們則有n=pqr式中p=ApA+1、q=BpB+1、r=CpC+1,pA、pB、pC是三個(gè)大質(zhì)數(shù)(200至512位),及A、B、C的各個(gè)是來自集GA、GB、GC的不同小奇質(zhì)數(shù)的乘積。
它所帶來的變化對(duì)于本領(lǐng)域的技術(shù)人員來說是顯而易見的。
此外,顯然可以對(duì)以上密鑰產(chǎn)生描述部分的第二條件(這里仍為《某些p〔i〕不出現(xiàn)在GA∪GB∪GC中》稍微放寬。這就是,參數(shù)n為640位,積ABC為160位及每個(gè)p〔i〕相應(yīng)為160位中的一些偏差仍能保證適當(dāng)?shù)陌踩浴?br>
本發(fā)明的第二目的在于提供一種改進(jìn)的密鑰保管系統(tǒng),它是對(duì)由Y.Desmedt在文章《密碼文本可跟蹤性的保安-導(dǎo)致安全軟件密鑰保管系統(tǒng)》(Proceedings of Eurocrypt`95,Lecture Notes inComputer Science 921)中所述的并被L.Knudsen及T.Pedersen在文章《論軟體密鑰保管的困難》(Proceedings of Eurocrypt′96,Lecture Notes in Computer Science 1070)中所述的評(píng)論所完善的一種方法的改善。
為了對(duì)由Y.Desmedt提出的密鑰保管功能有顯著的改善,我們考慮加密方法的一種變型即,每個(gè)用戶的識(shí)別碼ID以二進(jìn)制方式編碼ID=∑2i-1ID〔i〕其中ID〔i〕是密鑰保管系統(tǒng)用戶識(shí)別碼的位(對(duì)于1至k的i取其和);及e(ID)=∏p〔i〕ID〔i〕(對(duì)于1至k的i取其積)。
最后有c=ge(ID)umod n,其中,u為一個(gè)隨機(jī)大質(zhì)數(shù),c是用戶參數(shù),其作為E1-Gamal密碼中冪的底數(shù)。用戶由c并通過選擇一個(gè)隨機(jī)數(shù)x及自乘c到x模n次冪得到他的E1-Gamal公用密鑰。
為了跟蹤用戶,所述保管中心從用戶E1-Gamal密碼中抽取以下部分V=crmod n式中r是由用戶選擇的編碼隨機(jī)數(shù)。
知道了φ(n)后,所述保管中心根據(jù)下列算法求出位ID〔i〕①對(duì)于1至k的i計(jì)算y〔i〕=vφ〔n〕/p〔i〕mod n,②對(duì)于1至k的i作出對(duì)于1至p〔i〕的j作出如果y〔i〕=1,則將μ〔i〕賦于1,否則,將μ〔i〕賦于0。
③計(jì)算ID′=∑2i-1u〔i〕,④求出ID=CCE(ID′)式中CCE表示一種糾錯(cuò)機(jī)制(其類型為A.Poli及L.Huguet著,Masson出版社出版的《糾碼器,理論及實(shí)踐》一書中所述的類型),用于對(duì)在非法使用組合r的情況下導(dǎo)入的干擾進(jìn)行糾偏。該糾錯(cuò)機(jī)制在這里可被省略;而跟蹤用戶的算法應(yīng)經(jīng)受對(duì)本領(lǐng)域技術(shù)人員顯而易見的修改,及使用多個(gè)類似于crmod n的量,它們相應(yīng)于E1 Gamal加密算法的多次執(zhí)行。
本發(fā)明的第三目的在于提出第二種密鑰保管系統(tǒng),它基于US4200770中一種被專利保護(hù)的Diffie Hellman所述的密鑰交換機(jī)制。
在該體系中,由用戶之一通過自乘g到a模n隨機(jī)次冪獲得的數(shù)c被保管權(quán)威機(jī)構(gòu)截取c=gamod n。
所述保管權(quán)威機(jī)構(gòu)以下列方式求出a1.知道n的因數(shù)分解后,所述權(quán)威機(jī)構(gòu)借助于解碼算法求出值α=a mod AB或a=α+βAB;2.權(quán)威機(jī)構(gòu)計(jì)算λ=c/gαmod n=gβABmod n(因?yàn)閏=gamod n=gα+βABmod n=gαgβABmod n);3.通過使用密碼分析算法(離散對(duì)數(shù)計(jì)算法,可能執(zhí)行兩次(模p及模q)以及加速運(yùn)算),權(quán)威機(jī)構(gòu)計(jì)算離散對(duì)數(shù)β;λ=(gAB)βmod n;4.權(quán)威機(jī)構(gòu)求出a=α+βAB并基于使用a對(duì)通信信息解碼。
在閱讀了以下的說明及附圖后將會(huì)更好地理解本發(fā)明;其附圖為—
圖1表示實(shí)施本發(fā)明提出的系統(tǒng)的加密系統(tǒng)組織機(jī)構(gòu)圖;—圖2表示實(shí)施本發(fā)明提出的系統(tǒng)的解密系統(tǒng)組織機(jī)構(gòu)圖;—圖3表示在信息m的保安傳輸期間加密系統(tǒng)及解密系統(tǒng)之間傳輸?shù)臄?shù)據(jù)。
根據(jù)本發(fā)明,每個(gè)加密裝置(通常為一個(gè)計(jì)算機(jī)或一張芯片卡)由一個(gè)處理單元(CPU),通信接口,一個(gè)隨機(jī)存取存儲(chǔ)器(RAM)和/或一個(gè)只讀存儲(chǔ)器(ROM)和/或一個(gè)可寫入(通常,可重寫)存儲(chǔ)器(硬盤、軟盤、EPROM或EEPROM)組成。
該加密裝置的CPU和/或ROM中裝有與密碼產(chǎn)生規(guī)則相應(yīng)的程序或計(jì)算資源(乘法、乘方及求簡模)。這些運(yùn)算中的某些可以再組合(例如,求簡??芍苯拥亟Y(jié)合在乘法運(yùn)算中)。
類似于RSA的實(shí)施方式,RAM通常包括將對(duì)其施以加密的信息m及用于產(chǎn)生密碼的規(guī)則。軟硬盤,E(E)PROM中至少包括參數(shù)n及g,其產(chǎn)生及使用如以下的說明。
CPU通過地址及數(shù)據(jù)總線控制通信接口,存儲(chǔ)器的讀及寫操作。
每個(gè)解密裝置(等同于密鑰保管裝置)必需使用軟或硬件的保護(hù)來抵御外界。這種保護(hù)應(yīng)足以防止未被授權(quán)的實(shí)體獲得由n的秘密因數(shù)構(gòu)成的秘密密鑰?,F(xiàn)今在硬件方面使用最多的技術(shù)是在保安組件中的芯片及芯片設(shè)備中集成能檢測溫度、光線變化的裝置及能檢測異常時(shí)鐘頻率和電壓的裝置。同樣可使用尤其如,使存取器的存取混合的軟件技術(shù)。
根據(jù)本發(fā)明,解密裝置至少由一個(gè)處理單元(CPU)及存儲(chǔ)器資源(RAM、ROM、EEPROM或盤)。
CPU通過地址及數(shù)據(jù)總線控制通信接口,存儲(chǔ)器的讀及寫操作。RAM、EEPROM或盤包含參數(shù)φ(n),或至少包括φ(n)的因數(shù)。
解密裝置的CPU和/或ROM包括能執(zhí)行上述解密方法各個(gè)步驟的計(jì)算程序或資源(乘法、取冪及求簡模)。這些運(yùn)算中的某些可以再組合(例如求簡模可直接地結(jié)合在乘法運(yùn)算中)。
在本發(fā)明總的范圍內(nèi),信息m的加密是通過在卡、標(biāo)簽裝置及驗(yàn)證裝置之間至少交換數(shù)據(jù)c來實(shí)現(xiàn)的。
權(quán)利要求
1.一種與所謂離散對(duì)數(shù)及因數(shù)分解原理相結(jié)合的密碼系統(tǒng),其中包括公用密鑰及一個(gè)秘密密鑰,其特征在于,所述公用密鑰至少包括a.一個(gè)長度大于640位(bit)的模數(shù)RSA n,它具有以下特性n=(ApA+1)×(BpB+1)式中pA及pB是長度大于320位(bit)的質(zhì)數(shù),(ApA+1)是一個(gè)記為p的RSA質(zhì)數(shù),(BpB+1)是一個(gè)記為q的RSA質(zhì)數(shù),A是k/2(k是包括在10及120之間的一個(gè)偶整數(shù))個(gè)長度相對(duì)小(在2及6位之間)的質(zhì)數(shù)(記為p〔i〕,i=1至k/2)的乘積,及B是k/2個(gè)質(zhì)數(shù)(也記為p〔i〕,i=k/2+1至k)的乘積;P〔i〕的長度相對(duì)小(在2及16位之間),并同樣互為質(zhì)數(shù);b.一個(gè)冪的底數(shù)g,其量級(jí)為φ(n)/4(其中φ(n)為歐拉指示函數(shù)),因此g不會(huì)成為任何數(shù)的第p〔i〕次冪的模n。
2.根據(jù)權(quán)利要求1的密碼系統(tǒng),至少包括一個(gè)加密-解密系統(tǒng),其特征在于一個(gè)信息m的加密由以下操作形成,m<ABC=gmmod n式中C表示密碼(加密信息)。
3.根據(jù)權(quán)利要求2的密碼系統(tǒng),包括一個(gè)加密-解密系統(tǒng),其特征在于m的完整性可由m/h(m)的加密(h表示一個(gè)截?cái)嗪瘮?shù)及|表示鏈接7或由DES(cle′,m)的加密來保證,所述《cle′》是一個(gè)完全可取得的密鑰。
4.根據(jù)權(quán)利要求1的密碼系統(tǒng)包括一個(gè)加密-解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng),其特征在于譯碼器的所述秘密密鑰或保管核心是數(shù)φ(n)及解碼操作或恢復(fù)用戶識(shí)別的操作在于以下步驟a.對(duì)于從1至k的i計(jì)算y〔i〕=cφ(n)/p〔i〕mod n;b.對(duì)于從1至k的i,對(duì)于1至p〔i〕的j,比較y〔i〕與m無關(guān)的值gjφ(n)/p〔i〕mod n,如果gjφ(n)/p〔i〕mod n=y(tǒng)〔i〕,則賦于μ〔i〕=j(luò),c.根據(jù)TRC中國余數(shù)定理及值μ〔i〕重組信息m。
5.根據(jù)權(quán)利要求4或5的密碼系統(tǒng),包括一個(gè)加密-解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng),其特征在于通過以下計(jì)算來加速所述譯碼器對(duì)量y〔i〕的計(jì)算a)Z=crmod n,其中r=pApB,b)對(duì)于從1至k的i,計(jì)算y〔i〕=ZAB/p〔i〕mod n,以便利用AB/p〔i〕及φ(n)/p〔i〕之間的長度差別來加速計(jì)算。
6.根據(jù)權(quán)利要求4或5的密碼系統(tǒng),包括一個(gè)加密-解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng),其特征在于譯碼器一勞永逸地對(duì)于1≤i≤k及1≤j≤p〔i〕預(yù)計(jì)算及保存值gjφ(n)/p〔i〕mod n的表格,或更專門地,這些值的截?cái)嘀祷蛏⒘兄?記為h)具有以下特性h(gjφ(n)/p〔i〕mod n)≠h(gj′φ(n)/p〔i〕mod n),如果j≠j′的話。
7.根據(jù)權(quán)利要求4至6中任一項(xiàng)的密碼系統(tǒng),包括一個(gè)加密-解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng),其特征在于譯碼器通過分開地先解碼信息模p然后解碼模q及借助中國余數(shù)定理組合模,以重新獲得m。
8.根據(jù)權(quán)利要求4至7中任一項(xiàng)的密碼系統(tǒng),其特征在于一個(gè)密鑰保管權(quán)威機(jī)構(gòu)或中心實(shí)現(xiàn)以下步驟a.它通過計(jì)算e(ID)=∏p〔i〕ID〔i〕(對(duì)于從1至k的i計(jì)算積)對(duì)用戶的識(shí)別碼ID=∑2i-1ID〔i〕編碼,其中ID〔i〕是系統(tǒng)中該用戶的識(shí)別碼位(對(duì)于從1至k的i計(jì)算和);b.它向用戶輸出一個(gè)E1-Gamal密鑰(這就是說,一個(gè)冪的底數(shù))c=ge(ID)umod n,其中u是一個(gè)隨機(jī)的大質(zhì)數(shù)或具有φ(n)的質(zhì)數(shù);c.它也可通過選擇一個(gè)隨機(jī)數(shù)x及自乘c到x模n次冪使用戶從c的求導(dǎo)得到其E1-Gamal公用密鑰;d.為了重新得到用戶的蹤跡,權(quán)威機(jī)構(gòu)從編碼器的E1-Gamal密碼中提取下列部分(所述密碼總是包括兩部分)V=crmod n式中r是由編碼器選擇的編碼隨機(jī)量;e.知道φ(n)后,所述權(quán)威機(jī)構(gòu)由下列算法求出位ID〔i〕①對(duì)于從1至k的i計(jì)算y〔i〕=vφ(n)/p〔i〕mod n,②如果y〔i〕=1,則μ〔i〕=1,否則μ〔i〕=0,③計(jì)算ID′=∑2i-1μ〔i〕,④求出ID=CCE(ID′)式中CCE表示一種糾錯(cuò)機(jī)制。
9.根據(jù)權(quán)利要求4至7中任一項(xiàng)的密碼系統(tǒng),包括一個(gè)密鑰保管系統(tǒng),其特征在于它基于Diffie-Hellman的所謂密鑰交換機(jī)制,其中由用戶之一通過自乘g到a模n隨機(jī)次冪獲得的數(shù)c被所述保管權(quán)威機(jī)構(gòu)截取c=gamod n。所述保管權(quán)威機(jī)構(gòu)再以下方式求出aa.知道n的因數(shù)分解后,所述權(quán)威機(jī)構(gòu)借用于解碼的算法求出值α=a mod AB或a=α+βAB;b.所述權(quán)威機(jī)構(gòu)計(jì)算λ=c/gamod n=gβABmod n;c.通過使用密碼分析算法,權(quán)威機(jī)構(gòu)計(jì)算離散對(duì)數(shù)βλ=(gAB)βmod n;d.權(quán)威機(jī)構(gòu)求出a=α+βAB當(dāng)基于使用a,解碼通信信息。
10.根據(jù)權(quán)利要求2至9中任一項(xiàng)的密碼系統(tǒng),包括一個(gè)加密-解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng),其特征在于RSA模n為三個(gè)因數(shù)的乘積n=(ApA+1)×(BpB+1)×(CPC+1)式中pA、pB、pC為長度大于320位的質(zhì)數(shù),(ApA+1)、(BpA+1)、(CpC+1)為RSA質(zhì)數(shù),分別記為p、q、r,A、B、C各為k/3個(gè)質(zhì)數(shù)(記為p〔i〕,i=1至k)的乘積,p〔i〕的長度相對(duì)小(在2至16位之間)并互為質(zhì)數(shù)及k是包括在10及120之間的一個(gè)整數(shù),因此乘積ABC至少為160位。
11.根據(jù)權(quán)利要求1至10中任一項(xiàng)的密碼系統(tǒng),包括一個(gè)加密-解密或保管系統(tǒng),其特征在于加密、解密及密鑰保管裝置為計(jì)算機(jī)、芯片卡、PCMCIA卡、標(biāo)簽、無觸點(diǎn)卡及其它的便攜裝置。
12.包括根據(jù)以上權(quán)利要求中任一項(xiàng)的密碼系統(tǒng)的設(shè)備,其特征在于它包括一個(gè)加密系統(tǒng)和/或一個(gè)解密系統(tǒng)和/或一個(gè)密碼保管系統(tǒng),所述這些系統(tǒng)通過交換電子信號(hào)或通過對(duì)無線電波或紅外信號(hào)交換在它們之間進(jìn)行通信。
全文摘要
本發(fā)明涉及一種與所謂離散對(duì)數(shù)及因數(shù)分解原理相結(jié)合的密碼系統(tǒng),它包括一個(gè)加密及解密系統(tǒng)及一個(gè)密鑰保管系統(tǒng)和相關(guān)的裝置和設(shè)備。它尤其是設(shè)計(jì)用于芯片卡、PCMCIA卡、標(biāo)簽、無觸點(diǎn)卡或其它便攜式裝置類型的電子系統(tǒng)中。
文檔編號(hào)H04L9/30GK1248366SQ9880267
公開日2000年3月22日 申請(qǐng)日期1998年2月17日 優(yōu)先權(quán)日1997年2月19日
發(fā)明者D·納卡希, F·萊維-迪特-維赫爾, J·斯特恩 申請(qǐng)人:格姆普拉斯有限公司