專利名稱:加密的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加密的方法和裝置。
背景技術(shù):
由于電子商務(wù)的不斷增加的重要性,以加密和特征方案(signaturescheme)形式的加密方法開始廣泛流行。這些方法一般借助于電子裝置來實(shí)現(xiàn),所述電子裝置可以包括例如可編程的通用微型控制器,或者是專用的電子電路,例如ASIC形式的電子電路。一種加密裝置的特別感興趣的加密形式是智能卡,因?yàn)槿绻诩夹g(shù)上設(shè)計(jì)得當(dāng),其可以保護(hù)密鑰數(shù)據(jù)防止進(jìn)行未被允許的訪問。一直努力致力于改善加密方法的執(zhí)行速度,以及保護(hù)它們免遭各種可能的攻擊方案。本發(fā)明尤其適用于和智能卡結(jié)合使用,但是并不限于此。本發(fā)明可以和各種加密裝置結(jié)合來實(shí)施。
在許多已知的加密方法中,需要按照下式進(jìn)行模的取冪(modularexponentiation)E=xd(mod N)=xd(mod p.q) (1)其中p和q是素?cái)?shù)(prime number)。一種包括模的取冪步驟的特別重要的加密方法是RSA方法,該方法例如可以由Alfred J.MeneZes,Paul C.vanOorschot和Scott A.Vanstone,“Handbook of Applide Cryptography”BocaRatonCRC Press,1997,pages 285-291得知。不過,模的取冪的使用不限于RSA方法,還包括例如從Menezes et al.,ibid.,pages 438-442得知的Rabin特征,以及從Menezes et al.ibid.,pages 408-410得知的Fiat-Shamir識(shí)別方案。
包括模的取冪的加密方法的安全性經(jīng)常取決于由公式(1)把數(shù)N因子分解成其素?cái)?shù)因數(shù)(prime factor)p和q的難度。這個(gè)問題只有對(duì)大的值N才具有足夠的復(fù)雜性,因此,在一方面,應(yīng)當(dāng)選擇盡可能大的數(shù)N。在另一方面,借助于按照公式(1)的模的取冪計(jì)算所述的值的計(jì)算二作隨著N的數(shù)量的增大而單調(diào)地增加,因此,從實(shí)際應(yīng)用的觀點(diǎn)看來,盡管N取大的值,但是同時(shí)希望把所需的計(jì)算時(shí)間限制在可接受的值。
已知為了應(yīng)用被稱為“中國(guó)余數(shù)定理”來4倍提高計(jì)算速度,該定理例如使得在相等的計(jì)算時(shí)間內(nèi)能夠有較大的值N。直接代替公式(1),按照下式進(jìn)行變換E=xd(mod p.q)=aE1+bE2(mod N)(2)其中E1=xd(mod p) (3)E2=xd(mod q) (4)應(yīng)用中國(guó)余數(shù)定理的一個(gè)結(jié)果是,所述模的取冪不再對(duì)模N進(jìn)行計(jì)算,即不再以對(duì)模(modulo)該隱藏其自身的素?cái)?shù)的因子分解的數(shù)進(jìn)行計(jì)算,而是在這種計(jì)算規(guī)則中預(yù)先假定連續(xù)地第一步計(jì)算模p和第二步計(jì)算模q,即對(duì)素因子分解的認(rèn)識(shí)n=p.q,以便保持秘密,并導(dǎo)致把總的計(jì)算過程分解成第一計(jì)算步驟(3),其主要涉及第一素?cái)?shù)因數(shù),和第二計(jì)算步驟(4),其主要涉及第二素?cái)?shù)因數(shù)。其優(yōu)點(diǎn)在于,必須對(duì)模φ(p.q)規(guī)定在公式(1)中的指數(shù)d,而必須只對(duì)模φ(p)或φ(q)規(guī)定在公式(2)中的指數(shù),其中φ表示歐拉函數(shù)。
感興趣的是,對(duì)這種使用模的取冪的加密方法的一種攻擊(attack)方案最近已經(jīng)成為已知的,通過所述方案,只要具體的執(zhí)行利用按照公式(2)到(4)所示的中國(guó)余數(shù)定理,借助于在未擾亂的計(jì)算序列中的合適的人工指令,關(guān)于N的素因子因子分解的信息可以從擾亂的模的取冪的有缺陷的結(jié)果恢復(fù)。這種被稱為“貝利克攻擊”的試圖例如在Dan Boneh,RichardA.DeMillo和Richard J.Lipton“On the importance of checkingcryptographic protocols for faults,”Advances inCryptology-EUROCRYPT,97,Lecture Notes in Cpmputer Science1233,BerlinSpringer,1997中描述了。一種加密裝置由物理指令操縱,例如增加時(shí)鐘速度、操作電壓或照射,使得在按照中國(guó)余數(shù)定理執(zhí)行模的取冪時(shí)以某個(gè)不是太大的幾率發(fā)生計(jì)算錯(cuò)誤。如果只在公式(2)中的兩項(xiàng)中的一項(xiàng)發(fā)生計(jì)算錯(cuò)誤,則兩個(gè)素?cái)?shù)因數(shù)p和q可以由錯(cuò)誤的取冪結(jié)果重構(gòu)。
由所述利用中國(guó)余數(shù)定理執(zhí)行的模的取冪的弱點(diǎn)得出的結(jié)果是,在其被進(jìn)一步處理之前,尤其是在以某種形式例如以特征(signature)的形式輸出之前,首先檢查計(jì)算操作結(jié)果的正確性。
對(duì)于“貝利克攻擊”的一種價(jià)值不大的對(duì)策是借助于至少一次重復(fù)所述計(jì)算操作來實(shí)現(xiàn)這種正確性檢查。在隨機(jī)計(jì)算錯(cuò)誤的情況下,可以假定,第一計(jì)算操作的結(jié)果偏離檢查計(jì)算操作的結(jié)果。這種方法的主要缺點(diǎn)在于,通過一次檢查計(jì)算,計(jì)算時(shí)間已經(jīng)被加倍。
文件WO-A-98/52319具體地披露了一種方法,用于保護(hù)按照中國(guó)余數(shù)定理執(zhí)行的模的取冪的計(jì)算操作防止“貝利克攻擊。例如從
的范圍內(nèi)選擇一個(gè)秘密的整數(shù)j,其中16≤k≤32。然后計(jì)算下式v1=x(mod j.q) (5)V2=x(mod j.q) (6)d1=d(mod(j.p)) (7)d2=d(mod(j.p)) (8)w1=V1d1(mod j.q)(9)w2=v1d2(mod j.q)(10)然后檢查是否其保持w1=w2(mod j) (11)如果式(11)可以被證實(shí),則用已知的方法計(jì)算下式y(tǒng)1=w1(mod p) (12)y2=w2(mod q) (13)由此借助于中國(guó)余數(shù)定理便可以確定E=xd(mod N) (14)這種已知的方法和簡(jiǎn)單的檢查計(jì)算操作相比的優(yōu)點(diǎn)在于,所需的附加的計(jì)算時(shí)間被大大降低了。
在這種方法中,兩個(gè)素?cái)?shù)p和q必須乘以同一因數(shù)d。文件WO-A1-98/52319披露了第二種方法,其允許素?cái)?shù)p和q乘以不同的因數(shù)r和s。不過,對(duì)于檢查計(jì)算,兩個(gè)另外的取冪是可能的。
發(fā)明內(nèi)容
本發(fā)明的問題在于提供一種加密方法和裝置,所述方法和裝置節(jié)省計(jì)算操作或計(jì)算時(shí)間,同時(shí)保持或者增加安全性。
這個(gè)問題通過具有按照權(quán)利要求1或2所述的特征的一種加密方法并通過具有權(quán)利要求13或14所述的特征的一種加密裝置解決了。
從屬權(quán)利要求3到12以及15到24表示一些有利的發(fā)展。
具體實(shí)施例方式
如上所述,如果在模的取冪中的模數(shù)具有許多前置的(leading)二進(jìn)制模數(shù),使得不同的因數(shù)r和s表示其中的某個(gè)優(yōu)點(diǎn),則對(duì)于某些算術(shù)和邏輯單元是有利的。此外,具有一些對(duì)于模的取冪優(yōu)化的算術(shù)和邏輯單元,但是從中央處理單元向只有用于取冪的優(yōu)化的算術(shù)和邏輯單元的數(shù)據(jù)傳遞引起可觀的額外開銷。本發(fā)明和上述的利用不同的因數(shù)r和s的方法相比,省去了一次取冪。
按照本發(fā)明,例如從范圍
的范圍內(nèi)選擇2個(gè)整數(shù)r和s,其中16≤k≤32,使得d對(duì)于φ(kgV(r,s))相對(duì)地是一個(gè)素?cái)?shù),其中kgV(r,s)是r和s的最小公倍數(shù),s和φ()是歐拉函數(shù)。此時(shí),計(jì)算下式x1=x(mod p.r) (15)x2=x(mod q.s) (16)d_1=d(mod(p.r)) (15)d_2=d(mod(q.s)) (16)z1=x1d_1(mod p.r) (15)z2=x2d_2(mod q.s) (16)現(xiàn)在,保持z1=x1d(mod p.r),z2=x2d(mod q.s)。按照中國(guó)余數(shù)定理,利用下式可以容易地由z1和z2計(jì)算出一個(gè)數(shù)zz=z1(mod p.r);z=z2(mod q.s);z=xd(mod p.q.kgV(r.s))(17)按照本發(fā)明,數(shù)r和s必須這樣選擇,使得d對(duì)于φ(kgV(r,s))相對(duì)地是一個(gè)素?cái)?shù)。在這些情況下,可以使用擴(kuò)展的歐拉算法,從而利用下式容易地求出一個(gè)自然數(shù)ee.d=1(mod(kgV(r.s))(18)借助于Z和e,按照下式計(jì)算數(shù)CC=ze(mod kgV(r.s)) (19)按照歐拉定理,有C=zd.e=x(mod kgV(r.s)) (20)通過比較兩個(gè)值C和x模kg(r,s),可以以高的概率確定錯(cuò)誤。如果確定C x(mod kgV(r.s)),則模的取冪的結(jié)果便被認(rèn)為是錯(cuò)誤的并被丟棄。
在RSA方法(像在拉比特征方案中一樣)中,要進(jìn)行模的取冪,以便產(chǎn)生數(shù)字特征或進(jìn)行解密,以此使模p.q和指數(shù)d只依賴于私人密鑰。其結(jié)果是,數(shù)d,e,r和s可以在所述私人密鑰積分時(shí)被計(jì)算一次,并被存儲(chǔ),以供再用。
在本發(fā)明的改型中,例如在
的范圍內(nèi)選擇2個(gè)整數(shù)r和s,其中16≤k≤32。在二進(jìn)制的算術(shù)和邏輯單元的情況下,建議數(shù)r和s是奇數(shù)。此外,在間隔[1,...,r-1]和[1,...,s-1]內(nèi)選擇兩個(gè)固定的數(shù)b1和b2,其不依賴于x,并分別相對(duì)于r和s是素?cái)?shù)。如果r和s相對(duì)地不是素?cái)?shù),則b1和b2必須滿足附加的條件b1=b2(mod ggT(r,s)),其中g(shù)gT(r,s)代表r和s的最大公約數(shù)。
按照中國(guó)余數(shù)定理,首先利用下式計(jì)算數(shù)x1X1=x(mod p).x1=b1(mod r) (21)同樣按照下式計(jì)算x2X2=x(mod q).x2=b2(mod s) (22)然后,計(jì)算下式d_1=d(mod(p))(23)d_2=d(mod(q))(24)z1=x1d_1mod(p.r)(25)z1=x1d_1mod(q.s)(26)C1=b2d_1(mod.r) (27)C2=b2d_2(mod.s) (28)為了節(jié)省計(jì)算時(shí)間,在分別進(jìn)行以φ(r)和φ(s)對(duì)模的取冪之前,可以還原式(27)和(28)中的指數(shù)d_1和d_2。
從式(23)和(25)有z1=xd(mod p)(29)從(24)和(26)有z2=xd(mod q)(30)按照中國(guó)余數(shù)定理,由z1和z2可以容易地計(jì)算數(shù)zz=z1(mod p.r);z=z2(mod q.s); (31)即使r和s相對(duì)地不是素?cái)?shù),所述數(shù)z也是存在的,這是因?yàn)閦1=C1=b1d_1=b2d_2=C2=z2(mod ggAT(r,s))。因?yàn)閜和q相對(duì)地是素?cái)?shù),由式(29)、(30)和(31)有z=xd(mod p.q) (32)因此,由上述計(jì)算的值可以容易地確定所求的數(shù)z。
由式(21)、(25)和(27)有z1=C1(mod r) (33)由式(22)、(26)和(28)有z2=C2(mod s) (34)通過檢查條件(33)和(34),可以以高的幾率確定錯(cuò)誤。如果條件(33)或(34)中的一個(gè)被破壞,則模的取冪的結(jié)果被認(rèn)為是錯(cuò)誤的,因而被丟棄。
按照文件WO-A1-98/52319的權(quán)利要求8所述的方法,數(shù)b1和b2不依賴于其中所述的方法的改型中的底數(shù)x。當(dāng)應(yīng)用RSA方法或拉比特征方法時(shí),私人密鑰一般被集中在曾經(jīng)被使用過若干次的加密裝置例如智能卡中。在這些方法中應(yīng)用的模的取冪中,指數(shù)d和模數(shù)p.q是私人密鑰的固定元素。因而,值C1和C2在加密裝置中進(jìn)行密鑰積分時(shí)必須只計(jì)算一次,并且然后可以被存儲(chǔ)在所述裝置中。和文件WO-A1-98/52319所述的方法相比,存儲(chǔ)這些值使得節(jié)省兩次模的取冪運(yùn)算。
在通常的實(shí)施例中,一種具有用于加快模的算法的附加的硬件的加密裝置,例如智能卡,含有快速的加法與/或乘法單元,同時(shí)通常的標(biāo)準(zhǔn)的方法必須進(jìn)行在模的還原中所需的由一個(gè)長(zhǎng)的數(shù)的除法,例如由Donald Knuth“The Art of Computer Programming,”Volume 2SeminumericalAlgorithms,2ndEd.,Addison-Wesley,1981得知的。用于簡(jiǎn)化除法操作的若干已知的方法之一是在取冪之前由數(shù)r乘模數(shù)p,使得乘積p.r的二進(jìn)制表示包含盡可能多的數(shù),例如見Menezes et al.,ibid.,pages 598-599。由一個(gè)盡可能多超前的數(shù)去除比由一般的數(shù)去除簡(jiǎn)單得多。
按照本發(fā)明,選擇乘數(shù)r,使得d對(duì)于φ(r)相對(duì)地是素?cái)?shù)。在上述的本發(fā)明的改型中,不需要這種相對(duì)的素?cái)?shù)性。對(duì)于每個(gè)模數(shù)p,具有一個(gè)取決于除法的特定技術(shù)實(shí)現(xiàn)的最佳的乘數(shù)ropt。如果r的選擇的值略小于優(yōu)化的值,則乘積p.r仍然含有足夠超前的數(shù),從而使得除法能夠簡(jiǎn)單地進(jìn)行。按高的機(jī)率,數(shù)d對(duì)于至少一個(gè)值φ(ropt-i)相對(duì)地是素?cái)?shù),其中I=1,...,k,其中k是依賴于實(shí)施的一個(gè)小的數(shù)。
如果不是這種情況,則使r被2i.r代替,其中2I根據(jù)實(shí)施是一個(gè)2的合適的冪。
因而,對(duì)于第二個(gè)素?cái)?shù)因數(shù)q可以應(yīng)用同樣的代替。因?yàn)榭梢赃x擇乘數(shù)r(對(duì)于p),和s(對(duì)于q)彼此獨(dú)立,對(duì)于乘數(shù)s可以同樣進(jìn)行相應(yīng)的選擇。
權(quán)利要求
1.一種加密的方法,a)具有包含模的取冪E的至少一個(gè)計(jì)算步驟E=xd(mod p.q),其中具有第一素?cái)?shù)因數(shù)p,第二素?cái)?shù)因數(shù)q,指數(shù)d和底數(shù)x,以此b)為進(jìn)行模的取冪,選擇兩個(gè)自然數(shù)r和s,條件是,d對(duì)于φ(kgV(r,s))相對(duì)地是一個(gè)素?cái)?shù),并以此執(zhí)行以下的計(jì)算步驟x1=x(mod p.r)x2=x(mod q.s)d_1=d(modφ(p.r))d_2=d(modφ(q.s))z1=x1d_1(mod p.r)z2=x2d_2(mod q.s)其中(φ.)是歐拉函數(shù),kgV(r,s)是r和s的最小公倍數(shù),c)然后按照中國(guó)余數(shù)定理由z1和z2計(jì)算數(shù)zz=z1(mod p.r);z=z2(mod q.s);d)通過還原Z模p.q,計(jì)算取冪的結(jié)果E,e)在一個(gè)檢查步驟中檢查先前計(jì)算的數(shù)z因而檢查結(jié)果E的計(jì)算錯(cuò)誤,f)所述檢查步驟包括下面的計(jì)算操作f1)借助于擴(kuò)展的歐拉算法,計(jì)算具有特性e.d=1的最小的可能的自然數(shù)e,f2)計(jì)算值C=ze(mod kgV(r.s)),f3)比較值x和C模kgV(r,s),以此如果x≠C(mod(kgV(r,s)),則模的取冪E的結(jié)果作為錯(cuò)誤的被丟棄。
2.一種加密方法a)具有包含模的取冪E的至少一個(gè)計(jì)算步驟E=xd(mod p.q),其中具有第一素?cái)?shù)因數(shù)p,第二素?cái)?shù)因數(shù)q,指數(shù)d和底數(shù)x,以此b)為進(jìn)行模的取冪,在間隔[1,...,r-1]和[1,...,s-1]內(nèi)分別選擇兩個(gè)自然數(shù)r和s,以及兩個(gè)數(shù)b1和b2,所述b1和b2對(duì)于r和s相對(duì)地是素?cái)?shù),并且以此使b1和b2滿足條件b1=b2(mod ggT(r,s),其中g(shù)gT(r,s)代表r和s的最大公約數(shù),c)利用兩個(gè)數(shù)b1和b2按照中國(guó)余數(shù)定理計(jì)算滿足下式的x1,x2x1=x(mod p),x1=b1(mod r)x2=x(mod q),x2=b2(mod s)并進(jìn)行以下計(jì)算步驟d_1=d(modφ(p))d_2=d(modφ(q))z1=x1d_1(mod p.r)z2=x2d_2(mod q.s)其中(φ.)是歐拉函數(shù),kgV(r,s)是r和s的最小公倍數(shù),d)然后按照中國(guó)余數(shù)定理由z1和z2計(jì)算數(shù)zz=z1(mod p.r);z=z2(modq.s);e)通過還原z模p.q,計(jì)算取冪的結(jié)果E,f)在一個(gè)檢查步驟中檢查先前計(jì)算的數(shù)z(因而自動(dòng)地也是結(jié)果E)的計(jì)算錯(cuò)誤,g)所述檢查步驟包括下面的計(jì)算操作g1)計(jì)算數(shù)C1=b1d_1(mod.r)C2=b1d_2(mod.s)其中d_1,d_2在進(jìn)行以φ(r)和φ(s)對(duì)模的取冪之前分別被還原,g2)比較z1和C1模r以及z2和C2模s,以此如果保持C1≠z1mod r,或者C2≠z2mod s,則模的取冪E的結(jié)果作為錯(cuò)誤的被丟棄。
3.如權(quán)利要求2所述的加密方法,其特征在于,所述數(shù)r和s是奇數(shù)。
4.如權(quán)利要求1-3中的任何一個(gè)所述的加密方法,其特征在于,其中的數(shù)r和s在
的范圍內(nèi)選擇,其中16≤k≤32。
5.如權(quán)利要求1-4中的任何一個(gè)所述的加密方法,其特征在于,其中所述的數(shù)r和s中的至少一個(gè)這樣選擇,使得乘積p.r或q.s的二進(jìn)制表示含有盡可能多的前置的數(shù)(leading ones)。
6.如權(quán)利要求1-5中的任何一個(gè)所述的加密方法,其特征在于,其中所述的兩個(gè)數(shù)r和s這樣選擇,使得乘積p.r或q.s的二進(jìn)制表示含有盡可能多的前置的數(shù)。
7.如權(quán)利要求5和6之一所述的加密方法,其特征在于,a)在第一個(gè)分步驟,不受d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)這個(gè)條件的限制,對(duì)于數(shù)r和s中的至少一個(gè)分別首先選擇相應(yīng)的最佳數(shù)ropt和sopt,以及b)在第二個(gè)分步驟中,選擇相鄰的值r=ropt-i和s=sopt-i,i=0,1,...,k,使得d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)。
8.如權(quán)利要求5和6之一所述的加密方法,其特征在于,a)在第一個(gè)分步驟,不受d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)這個(gè)條件的限制,對(duì)于數(shù)r和s中的每一個(gè)分別選擇相應(yīng)的最佳數(shù)ropt和sopt,以及b)在第二個(gè)分步驟中,選擇值r=21,ropts=21sopt,1=0,1,...,j,使得d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)。
9.如權(quán)利要求5和6之一所述的加密方法,其特征在于,a)在第一個(gè)分步驟,不受d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)這個(gè)條件的限制,首先選擇數(shù)ropt和sopt中的至少一個(gè),在第二個(gè)分步驟中,選擇相鄰的值r=ropt-i和s=sopt-i,i=0,1,...,k,使得如果對(duì)于i=0,1,...,k這種值存在,則d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù),以及c)在第三分步驟,這樣選擇值r=21ropt,s=21sopt,1=0,1,...,j,使得如果在第二個(gè)分步驟中未選擇所述的值,則d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)。
10.如上述任何一個(gè)權(quán)利要求所述的加密方法,其特征在于,其包括RSA方法。
11.如上述任何一個(gè)權(quán)利要求所述的加密方法,其特征在于,其包括拉比特征方法。
12.如上述任何一個(gè)權(quán)利要求所述的加密方法,其特征在于,其包括Fiat-Shamir識(shí)別方法。
13.一種加密裝置,a)具有至少一個(gè)取冪裝置,用于執(zhí)行一個(gè)包含模的取冪E的計(jì)算步驟,E=xd(mod p.q)其中具有第一素?cái)?shù)因數(shù)p,第二素?cái)?shù)因數(shù)q,指數(shù)d和底數(shù)x,以此b)為進(jìn)行模的取冪,選擇兩個(gè)自然數(shù)r和s,條件是,d對(duì)于φ(kgV(r,s))相對(duì)地是一個(gè)素?cái)?shù),并以此執(zhí)行以下的計(jì)算步驟x1=x(mod p.r)x2=x(mod q.s)d_1=d(modφ(p.r))d_2=d(modφ(q.s))z1=x1d_1(mod p.r)z2=x2d_2(mod q.s)其中(φ.)是歐拉函數(shù),kgV(r,s)是r和s的最小公倍數(shù),c)然后按照中國(guó)余數(shù)定理由z1和z2計(jì)算數(shù)zz=z1(mod p.r);z=z2(mod q.s);d)通過還原z模p.q,計(jì)算取冪的結(jié)果E,e)在一個(gè)檢查步驟中檢查先前計(jì)算的數(shù)z(因而也自動(dòng)地是結(jié)果E)的計(jì)算錯(cuò)誤,f)所述檢查步驟包括下面的計(jì)算操作f1)借助于擴(kuò)展的歐拉算法,計(jì)算具有特性e.d=1(mod kgV(r.s))的最小的可能的自然數(shù)e,f2)計(jì)算值C=ze(mod kgV(r.s)),f3)比較值x和C模kgV(r,s),以此如果x≠C(mod(kgV(r,s)),則模的取冪E的結(jié)果作為錯(cuò)誤的被丟棄。
14.一種加密裝置a)具有至少一個(gè)取冪裝置,用于執(zhí)行包含模的取冪E的至少一個(gè)計(jì)算步驟E=xd(mod p.q),其中具有第一素?cái)?shù)因數(shù)p,第二素?cái)?shù)因數(shù)q,指數(shù)d和底數(shù)x,以此b)為進(jìn)行模的取冪,在間隔[1,...,r-1]和[1,...,s-1]內(nèi)分別選擇兩個(gè)自然數(shù)r和s,以及兩個(gè)數(shù)b1和b2,所述b1和b2對(duì)于r和s相對(duì)地是素?cái)?shù),并且以此使b1和b2滿足條件b1=b2(mod ggT(r,s),其中g(shù)gT(r,s)代表r和s的最大公約數(shù),c)利用兩個(gè)數(shù)b1和b2按照中國(guó)余數(shù)定理計(jì)算滿足下式的x1,x2x1=x(mod p), x1=b1(mod r)x2=x(mod q), x2=b2(mod s)并進(jìn)行以下計(jì)算步驟d_1=d(modφ(p))d_2=d(modφ(q))z1=x1d_1(mod p.r)z2=x2d_2(mod q.s)其中(φ.)是歐拉函數(shù),kgV(r,s)是r和s的最小公倍數(shù),d)然后按照中國(guó)余數(shù)定理由z1和z2計(jì)算數(shù)zz=z1(mod p.r);z=z2(modq.s);e)通過還原z模p.q,計(jì)算取冪的結(jié)果E,f)在一個(gè)檢查步驟中檢查先前計(jì)算的數(shù)z(因而自動(dòng)地也是結(jié)果E)的計(jì)算錯(cuò)誤,h)所述檢查步驟包括下面的計(jì)算操作g1)計(jì)算數(shù)C1=b1d_1(mod.r)C2=b1d-2(mod.s)其中d_1,d_2在進(jìn)行以φ(r)φ(s)對(duì)模的取冪之前分別被還原,g2)比較值z(mì)1和C1模r以及z2和C2模s,以此如果保持C≠z1mod r,或者C2≠z2mod s,則模的取冪E的結(jié)果作為錯(cuò)誤的被丟棄。
15.如權(quán)利要求14所述的加密裝置,其特征在于,所述數(shù)r和s是奇數(shù)。
16.如權(quán)利要求13-15中的任何一個(gè)所述的加密裝置,其特征在于,其中的數(shù)r和s在
的范圍內(nèi)選擇,其中16≤k≤32。
17.如權(quán)利要求13-16中的任何一個(gè)所述的加密裝置,其特征在于,其中所述的數(shù)r和s中的至少一個(gè)這樣選擇,使得乘積p.r或q.s的二進(jìn)制表示含有盡可能多的前置的數(shù)。
18.如權(quán)利要求13-17中的任何一個(gè)所述的加密裝置,其特征在于,其中所述的兩個(gè)數(shù)r和s這樣選擇,使得乘積p.r或q.s的二進(jìn)制表示含有盡可能多的前置的數(shù)。
19.如權(quán)利要求17和18之一所述的加密裝置,其特征在于,a)在第一個(gè)分步驟,不受d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)這個(gè)條件的限制,對(duì)于數(shù)r和s中的至少一個(gè)分別首先選擇相應(yīng)的最佳數(shù)ropt和sopt,以及b)在第二個(gè)分步驟中,選擇相鄰的值r=ropt-i和s=sopt-i,i=0,1,...,k,使得d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)。
20.如權(quán)利要求17和18之一所述的加密裝置,其特征在于,a)在第一個(gè)分步驟,對(duì)于數(shù)r和s中的每一個(gè)分別選擇相應(yīng)的最佳數(shù)ropt和sopt,不受d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)這個(gè)條件的限制,以及b)在第二個(gè)分步驟中,選擇值r=21ropts=21sopt,1=0,1,...,j,使得d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)。
21.如權(quán)利要求17和18之一所述的加密裝置,其特征在于,a)在第一個(gè)分步驟,不受d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)這個(gè)條件的限制,首先選擇數(shù)ropt和sopt中的至少一個(gè),b)在第二個(gè)分步驟中,選擇相鄰的值r=ropt-i和s=sopt-i,i=0,1,...,k,使得如果對(duì)于I=0,1,...,k這種值存在,則d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù),以及c)在第三分步驟,這樣選擇值r=21ropt,s=21sopt,1=0,1,...,j,使得如果在第二個(gè)分步驟中未選擇所述的值,則d對(duì)于φ(kgV(r,s))相對(duì)地是素?cái)?shù)。
22.如上述任何一個(gè)權(quán)利要求所述的加密裝置,其特征在于,其包括RSA方法。
23.如上述任何一個(gè)權(quán)利要求所述的加密裝置,其特征在于,其包括拉比特征方法。
24.如上述任何一個(gè)權(quán)利要求所述的加密裝置,其特征在于,其包括Fiat-Shamir識(shí)別方法。
全文摘要
本發(fā)明涉及一種加密方法,具有包含模的取冪E的至少一個(gè)計(jì)算步驟E=x
文檔編號(hào)G06F7/72GK1429360SQ01809690
公開日2003年7月9日 申請(qǐng)日期2001年5月15日 優(yōu)先權(quán)日2000年5月17日
發(fā)明者馬丁·塞森 申請(qǐng)人:德國(guó)捷德有限公司