專利名稱:信息安全裝置,質(zhì)數(shù)生成裝置,和質(zhì)數(shù)生成方法
發(fā)明
背景技術(shù):
領(lǐng)域本發(fā)明涉及使用質(zhì)數(shù)生成的信息安全技術(shù)。
背景技術(shù):
本專利申請是基于在日本提交的專利申請No.2001-117842,該專利申請的內(nèi)容在此引用,以供參考。
近年來,使用計(jì)算機(jī)和通信技術(shù)的數(shù)據(jù)通信變得很盛行。保密通信或數(shù)字簽名技術(shù)被使用于這樣的數(shù)據(jù)通信。
保密通信技術(shù)允許進(jìn)行通信而不把通信內(nèi)容泄漏給第三方。同時(shí),數(shù)字簽名技術(shù)使得接收機(jī)能夠驗(yàn)證通信內(nèi)容是否正確,或信息是否來自所說明的發(fā)送者。
1.公共密鑰密碼這樣的保密通信或數(shù)字簽名技術(shù)使用被稱為公共密鑰加密的密碼。公共密鑰加密提供一種用于管理許多用戶的單獨(dú)的加密密鑰的方便方法,所以它成為用于與大量用戶進(jìn)行通信的基本技術(shù)。在基于公共密鑰加密的保密通信中,不同的密鑰被使用于加密和解密,其解密密鑰保持為秘密的,以及加密密鑰被做成為公共的。此后,被保持為秘密的解密密鑰被稱為“秘密密鑰”,而被做成為公共的加密密鑰被稱為“公共密鑰”。
RSA(Rivest-Shamir-Adelman)密碼系統(tǒng)是一種公共密鑰密碼。RSA密碼系統(tǒng)的安全性依賴于整數(shù)的因子分解(factorize)的計(jì)算困難性。質(zhì)數(shù)因子分解問題為如下。當(dāng)給定整數(shù)n=p×q(其中p和q是質(zhì)數(shù))時(shí),可以求出p和q。這里,“×”代表通常的乘法。
在T.Okamoto和K.Ohta(1990)的“Encryption,ZeroKnowledge Proofs,and Number Theory(加密,零點(diǎn)知識證明和數(shù)論)”,Kyoritsu出版,pp.144-151中詳細(xì)地描述了質(zhì)數(shù)因子分解問題。(使用質(zhì)數(shù)因子分解問題的RSA密碼系統(tǒng))
使用質(zhì)數(shù)因子分解問題的RSA密碼系統(tǒng)被說明如下。
(1)密鑰的生成公共密鑰和秘密密鑰按以下的方式生成。
(a)隨機(jī)選擇兩個(gè)大的質(zhì)數(shù)p和q,以及形成它們的乘積n=p×q。
(b)找出p-1和q-1的最小公倍數(shù),即,L=LCM(p-1,q-1)。
(c)隨機(jī)選擇小于L并與L為互質(zhì)的整數(shù)e1≤e≤L-1,GCD(e,L)=1其中GCD(e,L)表示e和L的最大公因子。
(d)計(jì)算d=e-1mod L。
整數(shù)對n和e是公共密鑰,而整數(shù)對n和d是秘密密鑰。
(2)加密文本的生成普通文本通過使用公共密鑰(n,e)被加密,以得到加密文本cc=memod n(3)解密的文本的生成加密文本通過使用秘密密鑰(n,d)被解密,以得到解密的文本m′m′=cdmod n這里,m′=cdmod n=(me)dmod n=m**(e×d mod L)mod n=m1mod n=m mod n所以,解密的文本m′與明碼文本m相一致。
應(yīng)當(dāng)指出,在本說明書中,算子“**”代表指數(shù),即,A**x=Ax,其中A被自乘x次。
在T.Okamoto和H.Yamamoto的“Modern Encryption(現(xiàn)代加密法)”,(1997)Sangyo Tosho出版,pp.110-113中詳細(xì)地描述了RSA密碼系統(tǒng)。
2.相關(guān)技術(shù)1-概率性的質(zhì)數(shù)生成算法為了在以上的使用質(zhì)數(shù)因子分解問題的RSA密碼系統(tǒng)中生成公共密鑰,執(zhí)行質(zhì)數(shù)的生成。在A.J.Menezes,P.C.van Oorschot和S.A.Vanstone的“Handbook of Applied Cryptograph(應(yīng)用密碼手冊)”,(1997)CRC Press出版,pp.145-154中詳細(xì)描述了質(zhì)數(shù)的生成。
作為傳統(tǒng)技術(shù)的概率性的質(zhì)數(shù)生成算法被說明如下。概率性的質(zhì)數(shù)生成算法應(yīng)用Rabin-Miller測試法來確定數(shù)的質(zhì)數(shù)性。在A.J.Menezes,P.C.van Oorschot和S.A.Vanstone的“Handbook ofApplied Cryptograph(應(yīng)用密碼手冊)”,(1997)CRC Press出版,pp.138-140中詳細(xì)描述了Rabin-Miller測試法。Rabin-Miller測試法確定一個(gè)具有高的質(zhì)數(shù)概率的數(shù)為質(zhì)數(shù)。這并不意味著,該數(shù)肯定是質(zhì)數(shù)。
假設(shè)事先給定自然數(shù)x和小的質(zhì)數(shù)L1,L2,…,Ln。作為一個(gè)例子,L1,L2,…,Ln是2,3,5,7。
概率性的質(zhì)數(shù)生成算法通過重復(fù)以下的步驟而生成一個(gè)質(zhì)數(shù)。
(步驟1)分配一個(gè)自然數(shù)給變量N作為初始值。
(步驟2)找出不能被在大于變量N的數(shù)之間的、L1,L2,…,Ln的任意一個(gè)數(shù)整除的最小的數(shù)。把這個(gè)數(shù)分配給變量N。
(步驟3)測試變量N的質(zhì)數(shù)性。這里,質(zhì)數(shù)性測試是通過重復(fù)Rabin-Miller測試十次而完成的。如果變量能通過質(zhì)數(shù)性測試,則輸出該變量N為質(zhì)數(shù)。如果變量N通不過質(zhì)數(shù)性測試,則回到步驟2,重復(fù)處理過程,直至輸出一個(gè)質(zhì)數(shù)為止。
這里,在步驟2找出不能被小的質(zhì)數(shù)2,3,5,7的任一個(gè)數(shù)整除的數(shù),具有減少進(jìn)行質(zhì)數(shù)性測試的次數(shù)的效果。換句話說,步驟2把要測試其質(zhì)數(shù)性的數(shù)限制為不能被2,3,5,7的任一個(gè)數(shù)整除的那些數(shù)。有47個(gè)數(shù),其中2xx+1 mod 210不能被2,3,5,7的任一個(gè)數(shù)整除。因此,如果把要測試其質(zhì)數(shù)性的數(shù)限制為不能被2,3,5,7的任一個(gè)數(shù)整除的那些數(shù),則進(jìn)行質(zhì)數(shù)性測試的次數(shù)可被減小47/210倍。
另一方面,即使在步驟2得到的變量N是復(fù)合數(shù)(即,不是質(zhì)數(shù)),變量N至多具有1/4機(jī)會能通過Rabin-Miller測試。也就是說,即使變量N是復(fù)合數(shù),它也可能通過Rabin-Miller測試。因此,以上的概率性的質(zhì)數(shù)生成算法可以只是概率性地(而不是肯定地)生成一個(gè)質(zhì)數(shù)。(概率性的質(zhì)數(shù)生成算法的計(jì)算復(fù)雜性)接著,說明使用以上的概率性的質(zhì)數(shù)生成算法生成一個(gè)質(zhì)數(shù)的計(jì)算復(fù)雜性。這里,計(jì)算復(fù)雜性是按模數(shù)的取冪(modularexponentiation)的次數(shù)來度量的。
按照以上的概率性的質(zhì)數(shù)生成算法,對于一個(gè)可能是質(zhì)數(shù)的數(shù)的Rabin-Miller測試重復(fù)進(jìn)行十次。下面計(jì)算對于一個(gè)復(fù)合數(shù)執(zhí)行Rabin-Miller測試的平均次數(shù)。
令Pi是執(zhí)行第i次測試的概率。那麼,執(zhí)行第(i+1)次測試的概率Pi+1不大于執(zhí)行第i次測試的概率Pi與通過該第i次測試的概率1/4的乘積。這就是說,執(zhí)行第(i+1)次測試的概率是Pi+1≤Pi×1/4因?yàn)榈谝淮螠y試被肯定地執(zhí)行,執(zhí)行第一次測試的概率是1,也就是,P1=1。因此,Pi≤(1/4)**(i-1)對于一次Rabin-Miller測試執(zhí)行一次模數(shù)的取冪。以上的概率性的質(zhì)數(shù)生成算法在步驟3至多進(jìn)行十次Rabin-Miller測試。所以,對于一個(gè)復(fù)合數(shù)執(zhí)行的模數(shù)的取冪的平均次數(shù)是Σi=110Pi≤Σi=110(1/4)**(i-1)=1.33]]>通常,當(dāng)N被任意選擇時(shí),N作為質(zhì)數(shù)的概率約為1/(ln N)。這意味著,當(dāng)平均進(jìn)行(ln N)次質(zhì)數(shù)性測試時(shí),可以找到一個(gè)質(zhì)數(shù)。這里,(ln N)是N的自然對數(shù)。因?yàn)槟切┠鼙?,3,5,7中的任一個(gè)數(shù)整除的數(shù)已事先被排除,為找到一個(gè)質(zhì)數(shù)要進(jìn)行質(zhì)數(shù)性測試的平均次數(shù)可被減小 (2×3×5×7)/210=48/210。其中 (2×3×5×7)是在小于210的自然數(shù)中間、相對于小質(zhì)數(shù)2,3,5,7為互質(zhì)的數(shù)的個(gè)數(shù)。所以,在直到找到一個(gè)質(zhì)數(shù)之前對于其質(zhì)數(shù)性進(jìn)行測試的數(shù)的個(gè)數(shù),也就是被判斷為復(fù)合數(shù)與最后被判斷為質(zhì)數(shù)的數(shù)的總共的數(shù)目是,8/35×(ln N)因?yàn)樽詈蟮臄?shù)是質(zhì)數(shù),所以經(jīng)受質(zhì)數(shù)性測試的復(fù)合數(shù)的數(shù)目是8/35×(ln N)-1為此,為找到一個(gè)質(zhì)數(shù)要執(zhí)行的模數(shù)的取冪的次數(shù)不大于(8/35×(lnN)-1)×(Σi=1101/(4**(n-1)))+10]]>作為平均.例如,當(dāng)N是512比特時(shí),模數(shù)的取冪的次數(shù)至多是116.8。另一方面,如果質(zhì)數(shù)性測試不限于不能被2,3,5,7的任一個(gè)數(shù)整除的數(shù),也就是,如果所有的數(shù)都經(jīng)受質(zhì)數(shù)性測試,則為找到一個(gè)質(zhì)數(shù)要執(zhí)行的模數(shù)的取冪的次數(shù)不大于((lnN)-1)×(Σi=1101/(4**(n-1)))+10]]>作為平均.當(dāng)N是512比特時(shí),模數(shù)的取冪的次數(shù)至多是481.9。因此,按照相關(guān)技術(shù)1,模數(shù)的取冪的次數(shù)可被減小到約1/4。然而,這個(gè)方法具有上述不能生成肯定的質(zhì)數(shù)的問題。
3.相關(guān)技術(shù)2-確定的質(zhì)數(shù)生成算法下面說明使用能生成具有絕對確定性的質(zhì)數(shù)的Maurer算法的一種確定的質(zhì)數(shù)生成算法。在A.J.Menezes,P.C.van Oorschot,和S.A.Vanstone的“Handbook of Applied Cryptograph(應(yīng)用密碼手冊)”,(1997)CRC Press出版,pp.152-153中詳細(xì)描述了Maurer算法。
確定的質(zhì)數(shù)生成算法通過重復(fù)以下步驟而生成一個(gè)質(zhì)數(shù)。這里,事先給定其比特長度用1enq表示的質(zhì)數(shù)q。
(步驟1)選擇(1enq-1)比特的隨機(jī)數(shù)R,其中隨機(jī)數(shù)R的第一比特被設(shè)置為肯定是1。
(步驟2)按照以下公式計(jì)算數(shù)N
N=2×q×R+1(步驟3)查看以下的第一和第二準(zhǔn)則是否滿足,以及如果這兩個(gè)準(zhǔn)則都滿足,判斷數(shù)N是質(zhì)數(shù)。否則,判斷數(shù)N不是質(zhì)數(shù)。
2N-1=mod N (第一準(zhǔn)則)GCD(22R-1,N)=1 (第二準(zhǔn)則)如果數(shù)N被判斷為質(zhì)數(shù),則輸出數(shù)N作為一個(gè)質(zhì)數(shù)。否則,回到步驟1以及重復(fù)程序過程直至輸出一個(gè)質(zhì)數(shù)為止。
這個(gè)質(zhì)數(shù)性測試被稱為Pocklington測試,以及在在A.J.Menezes,P.C.van Oorschot和S.A.Vanstone的“Handbook of AppliedCryptograph(應(yīng)用密碼手冊)”,(1997)CRC Press出版,pp.144中詳細(xì)地進(jìn)行描述。
按照Pocklington測試,如果在公式N=2×q×R+1中的q是質(zhì)數(shù)以及第一和第二準(zhǔn)則被滿足,則N肯定是質(zhì)數(shù)。這使得質(zhì)數(shù)性能夠被確定地判斷,通過它有可能生成一個(gè)肯定的質(zhì)數(shù)。
因此,Maurer的確定的質(zhì)數(shù)生成算法根據(jù)尺寸為1enq的質(zhì)數(shù)q來生成尺寸為2×1enq的質(zhì)數(shù)。
換句話說,為了通過使用Maurer的確定的質(zhì)數(shù)生成算法來生成預(yù)定的長度的質(zhì)數(shù),需要重復(fù)進(jìn)行生成不大于預(yù)定的長度的質(zhì)數(shù)的生成。例如,為了生成512比特的質(zhì)數(shù),首先根據(jù)事先給定的8比特質(zhì)數(shù)生成16比特的質(zhì)數(shù)。接著根據(jù)16比特質(zhì)數(shù)生成32比特的質(zhì)數(shù),然后根據(jù)32比特質(zhì)數(shù)生成64比特的質(zhì)數(shù)。質(zhì)數(shù)生成可以這樣地重復(fù)進(jìn)行,使得結(jié)果可得到512比特的質(zhì)數(shù)。
這里應(yīng)當(dāng)指出,以上的第二準(zhǔn)則可以用下式代替22R≠1mod N(確定的質(zhì)數(shù)生成算法的計(jì)算復(fù)雜性)使用Maurer的確定的質(zhì)數(shù)生成算法來生成一個(gè)質(zhì)數(shù)的計(jì)算復(fù)雜性為如下。
這里,計(jì)算復(fù)雜性是按對于512比特的數(shù)的模數(shù)的取冪的次數(shù)來度量的。這就是說,考慮使用256比特的數(shù)生成512比特的質(zhì)數(shù)的情形。
通常,當(dāng)任意選擇正整數(shù)R時(shí),該正整數(shù)R是質(zhì)數(shù)的概率約為1/(1n R)。為此,為找到一個(gè)512比特的質(zhì)數(shù)進(jìn)行Pocklington測試的次數(shù)可被估計(jì)為ln 2512。由于在相關(guān)技術(shù)2中質(zhì)數(shù)測試只對于奇數(shù)進(jìn)行,Pocklington測試的次數(shù)是(ln 2512)/2。
滿足第一準(zhǔn)則的概率至多為1/4,這等于能通過Rabin-Miller測試的概率。因此,對于一個(gè)復(fù)合數(shù)執(zhí)行的模數(shù)的取冪的次數(shù)不大于1+1/4。同時(shí),對于一個(gè)質(zhì)數(shù)執(zhí)行的模數(shù)的取冪的次數(shù)是2。
所以,從256比特的質(zhì)數(shù)生成512比特的質(zhì)數(shù)所執(zhí)行的512比特模數(shù)的取冪的次數(shù)不大于(1+1/4)((ln 2512)/2-1)+2=222.6同樣地,在從128比特的質(zhì)數(shù)生成256比特質(zhì)數(shù)的情形下,Pocklington測試的次數(shù)是(ln 2256)/2。所以,為生成256比特的質(zhì)數(shù)所執(zhí)行的256比特模數(shù)的取冪的次數(shù)不大于(1+1/4)((ln 2256)/2-1)+2模數(shù)的取冪的計(jì)算復(fù)雜性取決于模數(shù)N,它是處在N3的量級。所以,八次256比特模數(shù)的取冪可被看作為等價(jià)于一次512比特模數(shù)的取冪。
當(dāng)以相同的方式考慮其它情形時(shí)(諸如從64比特的質(zhì)數(shù)生成128比特質(zhì)數(shù))時(shí),相關(guān)技術(shù)2的總的計(jì)算復(fù)雜性可以按512比特的模數(shù)的取冪的次數(shù)來度量。
這里,生成16比特或32比特質(zhì)數(shù)的計(jì)算復(fù)雜性比起生成64比特、128比特、256比特或512比特質(zhì)數(shù)的計(jì)算復(fù)雜性小得多,這樣,對于16比特和32比特質(zhì)數(shù)的計(jì)算復(fù)雜性可被忽略。為此,當(dāng)被表示為512比特模數(shù)的取冪的次數(shù)時(shí),相關(guān)技術(shù)2的總的計(jì)算復(fù)雜性不大于
(1+1/4)×{((ln 264)/2-1)/512+((ln 2128)/2-1)/64+((ln 2256)/2-1)/8+((ln 2512)/2-1)}+2(1/512+1/64+1/8+1)=237.4相關(guān)技術(shù)2的計(jì)算復(fù)雜性至少是相關(guān)技術(shù)1的計(jì)算復(fù)雜性(它不大于116.8)的兩倍。因此,相關(guān)技術(shù)2比起相關(guān)技術(shù)1具有更高的計(jì)算復(fù)雜性,雖然它能確定地生成質(zhì)數(shù)。
總之,質(zhì)數(shù)生成具有以下的問題。如果采用小的計(jì)算復(fù)雜性的算法,則不能確定地生成質(zhì)數(shù)。另一方面,如果采用能夠確定地生成質(zhì)數(shù)的算法,則計(jì)算復(fù)雜性增加。
發(fā)明內(nèi)容
本發(fā)明的目的是解決以上的問題,以及提供能夠以小的計(jì)算復(fù)雜性來確定地生成質(zhì)數(shù)的質(zhì)數(shù)生成裝置、質(zhì)數(shù)生成方法、質(zhì)數(shù)生成程序、存儲質(zhì)數(shù)生成程序的記錄媒體、以及信息安全裝置。
所述目的可以由一種信息安全裝置來達(dá)到,該信息安全裝置通過生成兩個(gè)質(zhì)數(shù)以及使用對于該兩個(gè)質(zhì)數(shù)的乘法,從而基于因子分解的難操作性而安全和可靠地處理預(yù)定的信息,該裝置包括獲取單元,用于獲取一個(gè)已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 modLi(i=1,2,…,n);生成單元,用于生成一個(gè)其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)被排除在數(shù)N的生成以外;以及判斷單元,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
通過這樣的構(gòu)造,質(zhì)數(shù)可被確定地生成。另外,當(dāng)與傳統(tǒng)的技術(shù)相比較時(shí),計(jì)算時(shí)間可以縮短。
這里,生成單元可包括隨機(jī)數(shù)生成單元,用于生成一個(gè)其長度為(Lenq-LenL-1)的隨機(jī)數(shù)R′,其中Lenq是質(zhì)數(shù)q的比特長度,以及LenL是(L1×L2×…×Ln)的比特長度;以及判斷目標(biāo)生成單元,用于(a)通過使用隨機(jī)數(shù)R′和質(zhì)數(shù)L1,L2,…,Ln生成一個(gè)數(shù)RR=L1×L2×…×Ln×R′以及(b)通過使用質(zhì)數(shù)q和數(shù)R,生成一個(gè)數(shù)NN=2×R×q+1其中判決單元通過使用由判決目標(biāo)生成單元生成的數(shù)N和數(shù)R來判決數(shù)N的質(zhì)數(shù)性。
通過這樣的構(gòu)造,計(jì)算時(shí)間可以縮短。
這里,生成單元可包括部分信息生成單元,用于通過使用質(zhì)數(shù)q,生成一個(gè)滿足下式的數(shù)u2×u×q+1≠0mod Li(i=1,2,…,n)隨機(jī)數(shù)生成單元,用于生成隨機(jī)數(shù)R′;判斷目標(biāo)生成單元,用于(a)通過使用質(zhì)數(shù)L1,L2,…,Ln、數(shù)u和隨機(jī)數(shù)R′生成一個(gè)數(shù)RR=u+L1×L2×…×Ln×R′,以及(b)通過使用質(zhì)數(shù)q和數(shù)R,生成一個(gè)數(shù)NN=2×R×q+1,其中判決單元通過使用由判決目標(biāo)生成單元生成的數(shù)N和數(shù)R來判決數(shù)N的質(zhì)數(shù)性。
通過這樣的構(gòu)造,計(jì)算時(shí)間可以縮短,而不限制可被生成的質(zhì)數(shù)的類型。
從結(jié)合顯示了本發(fā)明的具體實(shí)施例的附圖作出的本發(fā)明的以下的說明,能了解本發(fā)明的這些和其它目的、優(yōu)點(diǎn)和特性。
其中圖1是顯示內(nèi)容傳遞系統(tǒng)的方框圖;圖2是顯示圖1所示的存儲卡的結(jié)構(gòu)的方框圖;圖3是顯示圖2所示的質(zhì)數(shù)生成單元的結(jié)構(gòu)的方框圖;圖4是顯示圖1所示的PC的結(jié)構(gòu)的方框圖;
圖5是顯示圖1所示的傳遞服務(wù)器裝置的結(jié)構(gòu)的方框圖;圖6是顯示內(nèi)容傳遞系統(tǒng)的運(yùn)行的流程圖;圖7是顯示質(zhì)數(shù)生成單元的運(yùn)行的流程圖;圖8是顯示另一個(gè)質(zhì)數(shù)生成單元的結(jié)構(gòu)的方框圖;圖9是顯示圖8所示的質(zhì)數(shù)生成單元的運(yùn)行的流程圖;以及圖10是顯示加密通信系統(tǒng)的運(yùn)行的流程圖。
具體實(shí)施例方式
1.第一實(shí)施例下面說明本發(fā)明的一個(gè)實(shí)施例的內(nèi)容傳遞系統(tǒng)1。
1.1內(nèi)容傳遞系統(tǒng)1的結(jié)構(gòu)內(nèi)容傳遞系統(tǒng)1包括存儲器卡10、個(gè)人數(shù)字助理(PDA)20、頭戴式耳機(jī)21、個(gè)人計(jì)算機(jī)(PC)30、傳遞服務(wù)器裝置40、和移動(dòng)電話50,如圖1所示。
傳遞服務(wù)器裝置40加密音樂的數(shù)字作品,以及把加密的數(shù)字作品通過互聯(lián)網(wǎng)60發(fā)送到PC 30。PC 30接收加密的數(shù)字作品。
用戶把存儲器卡10插入到PC 30。PC 30把加密的數(shù)字作品寫入到存儲器卡10。存儲器卡10解密已加密的數(shù)字作品,得到原先的數(shù)字作品,以及存儲得到的數(shù)字作品。用戶把存儲器卡10插入到PDA 20。PDA 20被連接到頭戴式耳機(jī)21。PDA 20把被寫入到存儲器卡10的數(shù)字作品變換成電信號,以及把電信號輸出到頭戴式耳機(jī)21。頭戴式耳機(jī)21把電信號變換成聲音以及輸出該聲音。
另外,傳遞服務(wù)器裝置40加密音樂的數(shù)字作品,以及把加密的數(shù)字作品通過互聯(lián)網(wǎng)60、移動(dòng)電話網(wǎng)62和無線基站61發(fā)送到移動(dòng)電話50。移動(dòng)電話50接收加密的數(shù)字作品。
用戶把存儲器卡10插入到移動(dòng)電話50。移動(dòng)電話50把加密的數(shù)字作品寫入到存儲器卡10。存儲器卡10解密已加密的數(shù)字作品,得到原先的數(shù)字作品,以及存儲得到的數(shù)字作品。移動(dòng)電話50把被存儲在存儲器卡10的數(shù)字作品變換成電信號,把電信號變換成聲音以及輸出該聲音。
因此,用戶可以從傳遞服務(wù)器裝置40接收音樂的數(shù)字作品,以及收聽播放音樂。
1.2存儲器卡10存儲器卡10包括質(zhì)數(shù)生成單元101、生成控制單元102、質(zhì)數(shù)存儲單元103、隨機(jī)數(shù)生成單元104、秘密密鑰存儲單元105、公共密鑰生成單元106、公共密鑰存儲單元107、解密單元108、存儲器單元109、控制單元112、鑒權(quán)單元113、以及發(fā)送/接收單元114、如圖2所示。
存儲器卡10實(shí)際上由計(jì)算機(jī)系統(tǒng)(主要由微處理器、ROM和RAM組成)實(shí)現(xiàn)。計(jì)算機(jī)程序被存儲在RAM中,微處理器按照這個(gè)計(jì)算機(jī)程序運(yùn)行,達(dá)到存儲器卡10的作用。
(1)秘密密鑰存儲單元105秘密密鑰存儲單元105具有一個(gè)區(qū)域,用于存儲作為秘密密鑰的一對數(shù)n和d。
(2)公共密鑰存儲單元107公共密鑰存儲單元107具有一個(gè)區(qū)域,用于存儲作為公共密鑰的一對數(shù)n和e。
(3)存儲器單元109存儲器單元109由通用區(qū)域111和保密區(qū)域110組成。通用區(qū)域111和保密區(qū)域110被使用來存儲信息。通用區(qū)域111可被外部裝置自由地讀出/寫入。另一方面,保密區(qū)域110只有在鑒權(quán)單元113鑒權(quán)一個(gè)其中插入存儲器卡10的裝置時(shí)才可被讀出/寫入。
(4)質(zhì)數(shù)存儲單元103質(zhì)數(shù)存儲單元103具有一個(gè)區(qū)域,用于存儲質(zhì)數(shù)Pa和Pb。
(5)生成控制單元102生成控制單元102把質(zhì)數(shù)q、質(zhì)數(shù)q的比特長度Lenq、不同于2的小的質(zhì)數(shù)L1,L2,…,Ln、以及(L1×L2×…×Ln)的比特長度LenL輸出到質(zhì)數(shù)生成單元101。生成控制單元102然后從質(zhì)數(shù)生成單元101接收質(zhì)數(shù)p,以及把質(zhì)數(shù)p寫入到質(zhì)數(shù)存儲單元103作為質(zhì)數(shù)pa。
接著,生成控制單元102再次把質(zhì)數(shù)q、質(zhì)數(shù)q的比特長度Lenq、不同于2的小的質(zhì)數(shù)L1,L2,…,Ln、以及(L1×L2×…×Ln)的比特長度LenL輸出到質(zhì)數(shù)生成單元101。生成控制單元102然后從質(zhì)數(shù)生成單元101接收質(zhì)數(shù)p,以及把質(zhì)數(shù)p寫入到質(zhì)數(shù)存儲單元103作為質(zhì)數(shù)pb。
質(zhì)數(shù)q、質(zhì)數(shù)q的比特長度Lenq、不同于2的小的質(zhì)數(shù)L1,L2,…,Ln、以及(L1×L2×…×Ln)的比特長度LenL在后面詳細(xì)描述。
因此,生成控制單元102控制質(zhì)數(shù)生成單元101兩次,以便生成兩個(gè)質(zhì)數(shù)。因?yàn)橘|(zhì)數(shù)生成單元101使用隨機(jī)數(shù)來生成質(zhì)數(shù),正如后面描述的,所以由質(zhì)數(shù)生成單元101生成的第二質(zhì)數(shù)與由質(zhì)數(shù)生成單元101生成的第一質(zhì)數(shù)具有非常低的相符合的概率。然而,如果第二質(zhì)數(shù)碰巧與第一質(zhì)數(shù)相一致,則生成控制單元102可以控制質(zhì)數(shù)生成單元101去重新生成第二質(zhì)數(shù),以確保這兩個(gè)質(zhì)數(shù)肯定是互相不同的。
并且,生成控制單元102在兩個(gè)質(zhì)數(shù)生成操作過程中的每一個(gè)過程中使用一組由于質(zhì)數(shù)q、比特尺寸Lenq、質(zhì)數(shù)L1,L2,…,Ln和比特尺寸LenL等組成的參數(shù),但是生成控制單元102可以在這兩個(gè)質(zhì)數(shù)生成操作過程中的每一個(gè)過程中使用一組不同的參數(shù)。
更詳細(xì)地,生成控制單元102在第一質(zhì)數(shù)生成操作過程中使用一組由質(zhì)數(shù)q、質(zhì)數(shù)q的比特長度Lenq、n個(gè)質(zhì)數(shù)L1,L2,…,Ln、以及比特長度LenL等組成的參量,以及在第二質(zhì)數(shù)生成操作過程中使用一組由質(zhì)數(shù)q′、質(zhì)數(shù)q′的比特長度Lenq′、j個(gè)不同于2的質(zhì)數(shù)L1′,L2′,…,Lj′、以及(L1′×L2′×…×Lj′)的比特長度LenL等組成的參量。
這里,q≠q′以及n≠j。另外,(L1,L2,…,Ln)≠(L1′,L2′,…,Lj′)意味著(L1,L2,…,Ln)中至少一個(gè)質(zhì)數(shù)不同于(L1′,L2′,…,Lj′)中的任一個(gè)質(zhì)數(shù)。
(6)質(zhì)數(shù)生成單元101質(zhì)數(shù)生成單元101包括隨機(jī)數(shù)生成單元131、判斷目標(biāo)生成單元132、第一質(zhì)數(shù)性判斷單元133、第二質(zhì)數(shù)性判斷單元134、以及控制單元135,如圖3所示。
當(dāng)連同質(zhì)數(shù)q的比特長度Lenq給定滿足下式的質(zhì)數(shù)qq=1 mod L1q=1 mod L2…q=1 mod Ln時(shí),質(zhì)數(shù)生成單元101輸出一個(gè)其比特長度是質(zhì)數(shù)q的比特長度的兩倍的質(zhì)數(shù)p。
這里,L1,L2,…,Ln是不同于2的、小的質(zhì)數(shù)。
另外,(L1×L2×…×Ln)的比特長度LenL是事先給定的。
例如,L1,L2,…,Ln是小于輸入質(zhì)數(shù)q的預(yù)期的比特長度的質(zhì)數(shù),諸如L1=3和L2=5。(隨機(jī)數(shù)生成單元131)隨機(jī)數(shù)生成單元131從生成控制單元102接收比特長度Lenq和比特長度LenL,以及使用它們來生成一個(gè)其比特長度是(Lenq-LenL-1)的隨機(jī)數(shù)R′。隨機(jī)數(shù)生成單元131把隨機(jī)數(shù)R′輸出到判斷目標(biāo)生成單元132。
隨機(jī)數(shù)生成單元131也從第一質(zhì)數(shù)性判斷單元133接收第一判斷信息,以及從第二質(zhì)數(shù)性判斷單元134接收第二判斷信息(第一和第二判斷信息在后面詳細(xì)描述)。在接收第一或第二判斷信息后,隨機(jī)數(shù)生成單元131通過使用比特長度Lenq和比特長度LenL來重新生成一個(gè)其比特長度是(Lenq-LenL-1)的隨機(jī)數(shù)R′。隨機(jī)數(shù)生成單元131把隨機(jī)數(shù)R′輸出到判斷目標(biāo)生成單元132。(判斷目標(biāo)生成單元132)判斷目標(biāo)生成單元132從生成控制單元102接收質(zhì)數(shù)q,以及從隨機(jī)數(shù)生成單元131接收隨機(jī)數(shù)R′。
判斷目標(biāo)生成單元132使用質(zhì)數(shù)q和隨機(jī)數(shù)R′來生成滿足以下公式的數(shù)R和NR=L1×L2×…×Ln×R′N=2×R×q+1判斷目標(biāo)生成單元132把數(shù)R輸出到第二質(zhì)數(shù)性判斷單元134,以及把數(shù)N輸出到第一質(zhì)數(shù)性判斷單元133和第二質(zhì)數(shù)性判斷單元134。(第一質(zhì)數(shù)性判斷單元133)第一質(zhì)數(shù)性判斷單元133從判斷目標(biāo)生成單元132接收數(shù)N,以及判斷以下的判斷公式1是否成立2N-1=1 mod N(判斷公式1)如果判斷公式1成立,則第一質(zhì)數(shù)性判斷單元133把表示判斷公式1成立的第一判斷信息輸出到第二質(zhì)數(shù)性判斷單元134。否則,第一質(zhì)數(shù)性判斷單元133把表示判斷公式1不成立的第一判斷信息輸出到隨機(jī)數(shù)生成單元131。(第二質(zhì)數(shù)性判斷單元134)第二質(zhì)數(shù)性判斷單元134從判斷目標(biāo)生成單元132接收數(shù)N和R。第二質(zhì)數(shù)性判斷單元134也從第一質(zhì)數(shù)性判斷單元133接收表示判斷公式1成立的第一判斷信息。
在接收到第一判斷信息后,第二質(zhì)數(shù)性判斷單元134使用數(shù)N和R來判斷以下的判斷公式2是否成立22R≠1 mod N(判斷公式2)如果判斷公式2成立,則第二質(zhì)數(shù)性判斷單元134把數(shù)N作為質(zhì)數(shù)p輸出到生成控制單元102。否則,第二質(zhì)數(shù)性判斷單元134把表示判斷公式2不成立的第二判斷信息輸出到隨機(jī)數(shù)生成單元131。(控制單元135)控制單元135控制質(zhì)數(shù)生成單元101的每個(gè)構(gòu)成元件。(質(zhì)數(shù)生成單元101的驗(yàn)證)由第一和第二質(zhì)數(shù)性判斷單元133和134所作出的判斷是Pocklington測試。在E.Okamoto的“An Introduction toEncryption Theory(加密理論導(dǎo)論)”,(1993)Kyoritsu出版,p.21中和A.J.Menezes,P.C.van Oorschot,和S.A.Vanstone的“Handbook of Applied Cryptograph(應(yīng)用密碼手冊)”,(1997)CRCPress出版,p.144中詳細(xì)描述了Pocklington測試。
如果在N=2×R×q+1中的q是質(zhì)數(shù),以及以下二式成立2N-1=1 mod N22R≠1 mod N則N是質(zhì)數(shù)。因此,質(zhì)數(shù)生成單元101輸出數(shù)N作為質(zhì)數(shù)。另外,由于隨機(jī)數(shù)R′的比特長度是(Lenq-LenL-1),數(shù)R的比特長度是Lenq-1。所以數(shù)N的比特長度是2×Lenq。
(7)公共密鑰生成單元106公共密鑰生成單元106從質(zhì)數(shù)存儲單元103讀出質(zhì)數(shù)pa和pb。公共密鑰生成單元106把pa和pb相乘,以求出整數(shù)n=pa×pb,以及把整數(shù)n寫入到秘密密鑰存儲單元105和公共密鑰存儲單元107。公共密鑰生成單元106也計(jì)算數(shù)(pa-1)和(pb-1)的最小公倍數(shù),即,L=LCM(pa-1,pb-1)。
公共密鑰生成單元106從隨機(jī)數(shù)生成單元104接收隨機(jī)數(shù)e,以及計(jì)算數(shù)d=e-1mod L。公共密鑰生成單元106把數(shù)d寫入到秘密密鑰存儲單元105,以及把隨機(jī)數(shù)e寫入到公共密鑰存儲單元107。
(8)隨機(jī)數(shù)生成單元104隨機(jī)數(shù)生成單元104生成隨機(jī)數(shù)e,以及把隨機(jī)數(shù)e輸出到公共密鑰生成單元106。
(9)發(fā)送/接收單元114發(fā)送/接收單元114從公共密鑰存儲單元107讀出整數(shù)n和隨機(jī)數(shù)e,以及把它們輸出到PC 30。
另外,發(fā)送/接收單元114通過互聯(lián)網(wǎng)60和PC 30從傳遞服務(wù)器裝置40接收加密文本c,以及把加密文本c寫入到存儲器單元109的通用區(qū)域111。
(10)解密單元108解密單元108從通用區(qū)域111讀出加密文本c,以及從秘密密鑰存儲單元105讀出數(shù)d和整數(shù)n。解密單元108通過使用數(shù)d和整數(shù)n按照以下的公式解密加密文本c,以便以得到解密的文本m′m′=cdmodn解密單元108把解密的文本m′寫入到存儲器單元109的保密區(qū)域110。
(11)鑒權(quán)單元113鑒權(quán)單元113鑒權(quán)一個(gè)其中插入了存儲器卡10的裝置。如果鑒權(quán)成功,則鑒權(quán)單元113許可該裝置讀/寫存儲器單元109的保密區(qū)域110。
(12)控制單元112控制單元112控制存儲器卡10的每個(gè)構(gòu)成元件。
1.3 PC 30PC 30包括發(fā)送/接收單元301、鑒權(quán)單元302、控制單元303、發(fā)送/接收單元304、輸入單元305、和顯示單元306,如圖4所示。
PC 30實(shí)際上由計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn),其主要由微處理器、ROM、RAM、硬盤單元、LCD(液晶顯示)單元、鍵盤、和鼠標(biāo)組成。計(jì)算機(jī)程序被存儲在RAM或硬盤單元中,微處理器按照這個(gè)計(jì)算機(jī)程序運(yùn)行,達(dá)到PC 30的作用。
PC 30從存儲器卡10接收整數(shù)n和隨機(jī)數(shù)e,通過互聯(lián)網(wǎng)60把它們發(fā)送到傳遞服務(wù)器裝置40。PC 30也通過互聯(lián)網(wǎng)60從傳遞服務(wù)器裝置40接收加密文本c,以及把它發(fā)送到存儲器卡10中的發(fā)送/接收單元114。
1.4傳遞服務(wù)器裝置40傳遞服務(wù)器裝置40包括包括發(fā)送/接收單元401、公共密鑰存儲單元402、加密單元403、控制單元404、和信息存儲單元405,如圖5所示。
像PC 30一樣,傳遞服務(wù)器裝置40是一個(gè)計(jì)算機(jī)系統(tǒng),其中包括微處理器,它按照計(jì)算機(jī)程序運(yùn)行,完成傳遞服務(wù)器裝置40的作用。
(1)信息存儲單元405信息存儲單元405事先存儲明碼文本m。具體地,明碼文本m是數(shù)字音樂信息。
(2)公共密鑰存儲單元402公共密鑰存儲單元402具有一個(gè)區(qū)域,用于存儲一對整數(shù)n和隨機(jī)數(shù)e作為公共密鑰。
(3)發(fā)送/接收單元401發(fā)送/接收單元401通過互聯(lián)網(wǎng)60從PC 30接收整數(shù)n和隨機(jī)數(shù)e,以及把它們寫入到公共密鑰存儲單元402。
發(fā)送/接收單元401也從加密單元403接收加密文本c,以及通過互聯(lián)網(wǎng)60把它發(fā)送到PC 30。
(4)加密單元403加密單元403從信息存儲單元405讀出明碼文本m,以及從公共密鑰存儲單元402讀出整數(shù)n和隨機(jī)數(shù)e。加密單元403通過使用整數(shù)n和隨機(jī)數(shù)e按照以下的公式加密明碼文本m,以生成加密文本cc=memod n加密單元403把加密文本c輸出到發(fā)送/接收單元401。
(5)控制單元404控制單元404控制傳遞服務(wù)器裝置40的每個(gè)構(gòu)成元件。
1.5 PDA 20和頭戴式耳機(jī)21PDA 20從在存儲器卡10中的存儲器單元109的保密區(qū)域110讀出解密的文本m′,把解密的文本m′變換成模擬音頻信號,以及把它輸出到頭戴式耳機(jī)21。
頭戴式耳機(jī)21把音頻信號變換成聲音,以及輸出該聲音。
1.6移動(dòng)電話50移動(dòng)電話50具有能夠通過使用無線電波與另一個(gè)電話通信的移動(dòng)電話的結(jié)構(gòu),以及它也具有與PC 30和PDA 20相同的結(jié)構(gòu)。
移動(dòng)電話50實(shí)際上由一個(gè)計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn),它主要由微處理器、ROM、RAM、LCD單元、輸入單元、通信單元、話筒和揚(yáng)聲器組成。計(jì)算機(jī)程序被存儲在RAM中,并且微處理器按照這個(gè)計(jì)算機(jī)程序運(yùn)行,以實(shí)現(xiàn)移動(dòng)電話50的作用。
移動(dòng)電話50從存儲器卡10接收整數(shù)n和隨機(jī)數(shù)e,以與PC 30相同的方式,通過互聯(lián)網(wǎng)60把它們發(fā)送到傳遞服務(wù)器裝置40。移動(dòng)電話50也通過互聯(lián)網(wǎng)60從傳遞服務(wù)器裝置40接收加密文本c,以及把它發(fā)送到存儲器卡10中的發(fā)送/接收單元114。
另外,移動(dòng)電話50以與PDA 20相同的方式,把被存儲在存儲器卡10中數(shù)字作品變換成電信號,把電信號變換成聲音,以及輸出該聲音。
1.7內(nèi)容傳遞系統(tǒng)1的運(yùn)行(1)內(nèi)容傳遞系統(tǒng)1的總的運(yùn)行下面參照圖6說明內(nèi)容傳遞系統(tǒng)1的運(yùn)行。
在存儲器卡10中的質(zhì)數(shù)生成單元101隨機(jī)地生成質(zhì)數(shù)pa和pb,以及把它們寫入到質(zhì)數(shù)存儲單元103(S101)。公共密鑰生成單元106從質(zhì)數(shù)存儲單元103讀出pa和pb,以及把它們互相相乘,以形成n=pa×pb。公共密鑰生成單元106把整數(shù)n寫入到秘密密鑰存儲單元105和公共密鑰存儲單元107。公共密鑰生成單元106也計(jì)算數(shù)(pa-1)和(pb-1)的最小公倍數(shù),即,L=LCM(pa-1,pb-1)(S102)。隨機(jī)數(shù)生成單元104生成隨機(jī)數(shù)e,以及把它輸出到公共密鑰生成單元106(S103)。公共密鑰生成單元106接收隨機(jī)數(shù)e,以及計(jì)算數(shù)d=e-1modL。公共密鑰生成單元106把數(shù)d寫入到秘密密鑰存儲單元105,以及把隨機(jī)數(shù)e寫入到公共密鑰存儲單元107(S104)。發(fā)送/接收單元114從公共密鑰存儲單元107讀出整數(shù)n和隨機(jī)數(shù)e,以及把它們輸出到PC 30(S105)。PC 30通過互聯(lián)網(wǎng)60把整數(shù)n和隨機(jī)數(shù)e發(fā)送到傳遞服務(wù)器裝置40。
在傳遞服務(wù)器裝置40中的公共密鑰存儲單元402通過互聯(lián)網(wǎng)60和發(fā)送/接收單元401從PC 30接收整數(shù)n和隨機(jī)數(shù)e,以及存儲它們(S106)。加密單元403從信息存儲單元405讀出明碼文本m,從公共密鑰存儲單元402讀出整數(shù)n和隨機(jī)數(shù)e,以及通過使用整數(shù)n和隨機(jī)數(shù)e,按照以下的公式加密明碼文本m,以生成加密文本c(S107)c=memod n(S107)。加密單元403把加密文本c通過發(fā)送/接收單元401和互聯(lián)網(wǎng)60輸出到PC 30(S108)。PC 108接收加密文本c,把它發(fā)送到存儲器卡10中的發(fā)送/接收單元114。發(fā)送/接收單元114把加密文本c寫入到存儲器單元109的通用區(qū)域111(S109)。解密單元108從通用區(qū)域111讀出加密文本c,從秘密密鑰存儲單元105讀出數(shù)d和整數(shù)n,以及通過使用數(shù)d和整數(shù)n按照以下的公式解密加密文本c,以得到解密的文本m′m′=cdmod n解密單元108把解密的文本m′寫入到存儲器單元109的保密區(qū)域(S110)。
PDA 20從在存儲器卡10中的存儲器單元109的保密區(qū)域110讀出解密的文本m′(S111),以及把它變換成模擬音頻信號。PDA 20把音頻信號輸出到頭戴式耳機(jī)21。頭戴式耳機(jī)21把音頻信號變換成聲音,以及輸出該聲音(S112)。
這里應(yīng)當(dāng)指出,以上的存儲器卡10的運(yùn)行是通過控制單元112控制存儲器卡10的每個(gè)構(gòu)建元件而完成的。
(2)質(zhì)數(shù)生成單元101的運(yùn)行下面參照圖7說明質(zhì)數(shù)生成單元101的運(yùn)行。
隨機(jī)數(shù)生成單元131生成(Lenq-LenL-1)比特的隨機(jī)數(shù)R′,以及把它輸出到判斷目標(biāo)生成單元132(S132)。判斷目標(biāo)生成單元132計(jì)算數(shù)R和N,把數(shù)N輸出到第一質(zhì)數(shù)性判斷單元133,以及把數(shù)R和N輸出到第二質(zhì)數(shù)性判斷單元134(S133)。第一質(zhì)數(shù)性判斷單元133判斷2N-1=1 mod N(判斷公式1)是否成立。如果判斷公式1不成立(S134NG),則運(yùn)行回到步驟S132。
如果判斷公式1成立(S134OK),則第二質(zhì)數(shù)性判斷單元134判斷22R≠1 mod N(判斷公式2)是否成立。如果判斷公式2不成立(S135NG),則運(yùn)行回到步驟S132。如果判斷公式2成立(S135OK),則第二質(zhì)數(shù)性判斷單元134把數(shù)N作為質(zhì)數(shù)p輸出到生成控制單元102,由此,完成運(yùn)行。
這里,應(yīng)當(dāng)指出,以上的質(zhì)數(shù)生成單元101的運(yùn)行是通過控制單元135控制質(zhì)數(shù)生成單元101的每個(gè)構(gòu)建元件而完成的。
1.8計(jì)算復(fù)雜性的評估下面說明質(zhì)數(shù)生成單元101的計(jì)算復(fù)雜性。
令L1=3,L2=5,L3=7,n=3,以及Lenq是256比特。在這種情形下,對于2×Lenq(=512比特)的模數(shù)的取冪的次數(shù)被如下地估計(jì)。
通常,當(dāng)隨機(jī)地選擇數(shù)R時(shí),R是質(zhì)數(shù)的概率約為1/(ln R)。所以,為了生成512比特的質(zhì)數(shù)要執(zhí)行的Pocklington測試的次數(shù)可被估計(jì)為ln(2512)。這里,ln R是R的自然對數(shù)。
在第一實(shí)施例中,N=2×R×q+1=2×L1×L2×…×Ln×R′×q+1所以,N=1 mod 2N=1 mod L1N=1 mod L2…N=1 mod Ln因此,N不能被L1,L2,…,Ln中的任一個(gè)數(shù)整除。
不能被2,L1,L2,…,Ln的任一個(gè)數(shù)整除的、作為Mod(2×L1×L2×…×Ln)的數(shù)的概率是 =(2-1)×(L1-1)×(L2-1)×…×(Ln-1)/(2×L1×L2×…×Ln)這里, 被稱為歐拉函數(shù),以及在S.Tsujii和M.Kasahara的“Cryptograph and Information Security(密碼與信息安全)”,(1990)Shokodo出版,pp.11-12中被詳細(xì)描述。
所以,為了找到一個(gè)質(zhì)數(shù),這些數(shù)經(jīng)受Pocklington測試的次數(shù)可被減小的倍數(shù)為(2-1)×(L1-1)×(L2-1)×…×(Ln-1)/(2×L1×L2×…×Ln)由于L1=3,L2=5,L3=7,和n=3,(2-1)×(3-1)×(5-1)×(7-1)/(2×3×5×7)=48/210=8/35這是與相關(guān)技術(shù)1相同的。
同時(shí),能通過第一質(zhì)數(shù)性判斷單元133的測試的概率是與能通過Rabin-Miller測試的概率相同的,也就是,1/4或更小。因此,對于一個(gè)復(fù)合數(shù)執(zhí)行的模數(shù)的取冪的次數(shù)不大于1+1/4。另一方面,對于一個(gè)質(zhì)數(shù)執(zhí)行的模數(shù)的取冪的次數(shù)是2。
所以,為了從256比特質(zhì)數(shù)生成512比特的質(zhì)數(shù)所執(zhí)行的512比特模數(shù)的取冪的次數(shù)不大于(1+1/4)((ln 2512)×8/35-1)+2=89.5在第一實(shí)施例中,512比特(2×Lenq)的質(zhì)數(shù)是從256比特(Lenq)的質(zhì)數(shù)生成的。這里,通過循環(huán)使用質(zhì)數(shù)生成單元101,512比特的質(zhì)數(shù)可以從很容易找到的16比特的質(zhì)數(shù)中得到。
因此,當(dāng)以相同的方式考慮從128比特的質(zhì)數(shù)生成256比特的質(zhì)數(shù)的情形時(shí),為了生成256比特的質(zhì)數(shù)所執(zhí)行的256比特模數(shù)的取冪的次數(shù)不大于(1+1/4)((ln 2256)×8/35-1)+2=45.1模數(shù)的取冪的計(jì)算復(fù)雜性取決于模數(shù)N,以及它大約是N3的量級。所以,八次256比特模數(shù)的取冪可被看作為等價(jià)于一次512比特模數(shù)的取冪。
當(dāng)以相同的方式考慮諸如從64比特的質(zhì)數(shù)生成128比特的質(zhì)數(shù)的其它情形時(shí),質(zhì)數(shù)生成單元101的總的計(jì)算復(fù)雜性可以按512比特模數(shù)的取冪的次數(shù)來度量。這里,生成16比特或32比特質(zhì)數(shù)的計(jì)算復(fù)雜性比起生成64比特、128比特、256比特或512比特質(zhì)數(shù)的計(jì)算復(fù)雜性小得多,所以可被忽略。為此,當(dāng)被表示為512比特模數(shù)的取冪的次數(shù)時(shí),質(zhì)數(shù)生成單元101的總的計(jì)算復(fù)雜性不大于(1+1/4){((ln 264)×8/35-1)/512+((ln 2128)×8/35-1)/64+((ln 2256)×8/35-1)/8+((ln 2512)×8/35-1)}+2(1/512+1/64+1/8+1)=109.0這小于相關(guān)技術(shù)1的計(jì)算復(fù)雜性(它是116.8或更小)。另外,不同于相關(guān)技術(shù)1,按照這種方法,質(zhì)數(shù)可被確定地生成。而且,這個(gè)方法比起相關(guān)技術(shù)2(這是傳統(tǒng)的確定的質(zhì)數(shù)生成方法)快2.2倍。
如上所述,當(dāng)與傳統(tǒng)的技術(shù)相比較時(shí),第一實(shí)施例呈現(xiàn)出可以縮短確定的質(zhì)數(shù)生成的計(jì)算時(shí)間的優(yōu)良效果。
然而,按照第一實(shí)施例,質(zhì)數(shù)生成被限制于滿足以下公式的質(zhì)數(shù)N
N=1 mod 2N=1 mod L1N=1 mod L2…N=1 mod Ln這造成限制可以生成的質(zhì)數(shù)的類型的問題。
對于質(zhì)數(shù)類型的這樣的限制,在某些密碼應(yīng)用中在保密性方面是不希望的。
下面的第二實(shí)施例目的是解決這個(gè)問題。
2.第二實(shí)施例下面說明本發(fā)明的另一個(gè)實(shí)施例的內(nèi)容傳遞系統(tǒng)1b(未示出)。
內(nèi)容傳遞系統(tǒng)1b具有類似于內(nèi)容傳遞系統(tǒng)1的結(jié)構(gòu)。然而,存儲器卡10具有質(zhì)數(shù)生成單元101b以代替質(zhì)數(shù)生成單元101。以下的說明集中在與內(nèi)容傳遞系統(tǒng)1的差別上。
2.1在存儲器卡10中的生成控制單元102生成控制單元102把質(zhì)數(shù)q、質(zhì)數(shù)q的比特長度Lenq、不同于2的小的質(zhì)數(shù)L1,L2,…,Ln、(L1×L2×…×Ln)的比特長度LenL、以及q modL1,q mod L2,…,q mod Ln輸出到質(zhì)數(shù)生成單元101b。生成控制單元102然后從質(zhì)數(shù)生成單元101b接收質(zhì)數(shù)p,以及把質(zhì)數(shù)p寫入到質(zhì)數(shù)存儲單元103作為質(zhì)數(shù)pa。
接著,生成控制單元102再次把質(zhì)數(shù)q、質(zhì)數(shù)q的比特長度Lenq、不同于2的小的質(zhì)數(shù)L1,L2,…,Ln、(L1×L2×…×Ln)的比特長度LenL、以及q mod L1,q mod L2,…,q mod Ln輸出到質(zhì)數(shù)生成單元101b。生成控制單元102然后從質(zhì)數(shù)生成單元101b接收質(zhì)數(shù)p,以及把質(zhì)數(shù)p寫入到質(zhì)數(shù)存儲單元103作為質(zhì)數(shù)pb。
2.2在存儲器卡10中的質(zhì)數(shù)生成單元101b當(dāng)給定質(zhì)數(shù)q,q mod L1,q mod L2,…,q mod Ln(其中L1,L2,…,Ln是不同于2的小的質(zhì)數(shù)),和質(zhì)數(shù)q的比特長度Lenq時(shí),質(zhì)數(shù)生成單元101b生成和輸出其比特長度為質(zhì)數(shù)q的兩倍的質(zhì)數(shù)p。
這里,L1,L2,…,Ln和(L1×L2×…×Ln)的比特長度LenL已事先給定。例如,L1,L2,…,Ln是小于輸入質(zhì)數(shù)q的預(yù)期的比特長度的質(zhì)數(shù)。
質(zhì)數(shù)生成單元101b包括部分信息設(shè)置單元136b、隨機(jī)數(shù)生成單元131b、判斷目標(biāo)生成單元132b、第一質(zhì)數(shù)性判斷單元133b、第二質(zhì)數(shù)性判斷單元134b、以及控制單元135b,如圖8所示。
(1)部分信息設(shè)置單元136b部分信息設(shè)置單元136b從生成控制單元102接收質(zhì)數(shù)q,q modL1,q mod L2,…,q mod Ln,以及計(jì)算滿足以下公式的數(shù)u2×u×q+1≠0 mod L12×u×q+1≠0 mod L2…2×u×q+1≠0 mod Ln部分信息設(shè)置單元136b把數(shù)u輸出到判斷目標(biāo)生成單元132b。
下面更詳細(xì)地描述部分信息設(shè)置單元136b。
如圖8所示,部分信息設(shè)置單元136b包括整數(shù)生成單元141b和信息組合單元142b。(整數(shù)生成單元141b)整數(shù)生成單元141b生成隨機(jī)數(shù)N1(1≤N1≤L1-1),N2(1≤N2≤L2-1),…,Nn(1≤Nn≤Ln-1),以及計(jì)算ui=(Ni-1)/(2×(q mod Li))mod Li(i=1,2,…,n)整數(shù)生成單元141b把數(shù)ui(i=1,2,…,n)輸出到信息組合單元142b。(信息組合單元142b)信息組合單元142b從整數(shù)生成單元141b接收數(shù)ui(i=1,2,…,n),以及按照中國剩余定理找出滿足下式的u mod(L1×L2×…×Ln)u=uimod Li(i=1,2,…,n)在E.Okamoto的“An Introduction to Encryption Theory(加密理論導(dǎo)論)”,(1993)Kyoritsu出版,p.10中詳細(xì)地描述中國剩余定理。
更詳細(xì)地,信息組合單元142b計(jì)算u′2=((L1)-1mod L2)×((u2-u1)mod L2)+u1u′3=((L1×L2)-1mod L3)×((u3-u′2)mod L3)+u′2u′n=((L1×L2×…×Ln-1)-1mod Ln)×((un-u′n-1)mod Ln)+u′n-1信息組合單元142b然后設(shè)置u=u′n。
此后,信息組合單元142b把u輸出到判斷目標(biāo)生成單元132b。
(2)隨機(jī)數(shù)生成單元131b隨機(jī)數(shù)生成單元131b從生成控制單元102接收Lenq和LenL,計(jì)算(Lenq-LenL-1)比特的隨機(jī)數(shù)R′,以及把隨機(jī)數(shù)R′輸出到判斷目標(biāo)生成單元132b。
隨機(jī)數(shù)生成單元131b也從第一質(zhì)數(shù)性判斷單元133b接收第三判斷信息,以及從第二質(zhì)數(shù)性判斷單元134b接收第四判斷信息(第三和第四判斷信息在后面詳細(xì)描述)。在接收第三或第四判斷信息后,隨機(jī)數(shù)生成單元131b再次生成(Lenq-LenL-1)比特的隨機(jī)數(shù)R′,以及把隨機(jī)數(shù)R′輸出到判斷目標(biāo)生成單元132b。
(3)判斷目標(biāo)生成單元132b判斷目標(biāo)生成單元132b從生成控制單元102接收質(zhì)數(shù)q和小的質(zhì)數(shù)L1,L2,…,Ln,從部分信息設(shè)置單元136b接收數(shù)u,以及從隨機(jī)數(shù)生成單元131b接收隨機(jī)數(shù)R′。
判斷目標(biāo)生成單元132b然后生成滿足以下公式的數(shù)R和NR=u+L1×L2×…×Ln×R′N=2×R×q+1判斷目標(biāo)生成單元132b把數(shù)R和N輸出到第二質(zhì)數(shù)性判斷單元134b,以及把數(shù)N輸出到第一質(zhì)數(shù)性判斷單元133b。
(4)第一質(zhì)數(shù)性判斷單元133b
第一質(zhì)數(shù)性判斷單元133b從判斷目標(biāo)生成單元132b接收數(shù)N,以及判斷以下的判斷公式3是否成立2N-1=1 mod N(判斷公式3)如果判斷公式3成立,則第一質(zhì)數(shù)性判斷單元133b把表示判斷公式3成立的第三判斷信息輸出到第二質(zhì)數(shù)性判斷單元134b。否則,第一質(zhì)數(shù)性判斷單元133b把表示判斷公式3不成立的第三判斷信息輸出到隨機(jī)數(shù)生成單元131b。
(5)第二質(zhì)數(shù)性判斷單元134b第二質(zhì)數(shù)性判斷單元134b從判斷目標(biāo)生成單元132b接收數(shù)N和R。第二質(zhì)數(shù)性判斷單元134b也從第一質(zhì)數(shù)性判斷單元133b接收表示判斷公式3成立的第三判斷信息。
在接收到第三判斷信息后,第二質(zhì)數(shù)性判斷單元134b判斷以下的判斷公式4是否成立22R≠1 mod N(判斷公式4)如果判斷公式4成立,則第二質(zhì)數(shù)性判斷單元134b把數(shù)N作為質(zhì)數(shù)p輸出到生成控制單元102。
如果判斷公式4不成立,則第二質(zhì)數(shù)性判斷單元134b把表示判斷公式4不成立的第四判斷信息輸出到隨機(jī)數(shù)生成單元131b。
(6)控制單元135b控制單元135b控制質(zhì)數(shù)生成單元101b的每個(gè)構(gòu)成元件。
2.3對質(zhì)數(shù)生成單元101b的驗(yàn)證第一和第二質(zhì)數(shù)性判斷單元133b和134b是分別與第一和第二質(zhì)數(shù)性判斷單元133和134相同的。因此,質(zhì)數(shù)生成單元101b以與質(zhì)數(shù)生成單元101相同的方式輸出質(zhì)數(shù)。
另外,因?yàn)殡S機(jī)數(shù)R′的比特長度是(Lenq-LenL-1),R的比特長度是Lenq-1。所以,N的比特長度是2×Lenq。
2.4質(zhì)數(shù)生成單元101b的運(yùn)行下面參照圖9說明質(zhì)數(shù)生成單元101b的運(yùn)行。
部分信息設(shè)置單元136b計(jì)算u,以使得2×u×q+1≠0 mod(L1×L2×…×Ln)。部分信息設(shè)置單元136b把數(shù)u輸出到判斷目標(biāo)生成單元132b(S152)。隨機(jī)數(shù)生成單元131b生成(Lenq-LenL-1)比特的隨機(jī)數(shù)R′,以及把它輸出到判斷目標(biāo)生成單元132b(S153)。判斷目標(biāo)生成單元132b計(jì)算數(shù)R和N,把數(shù)N輸出到第一質(zhì)數(shù)性判斷單元133b,以及把數(shù)R和N輸出到第二質(zhì)數(shù)性判斷單元134b(S154)。第一質(zhì)數(shù)性判斷單元133b判斷判斷公式3是否成立。如果判斷公式3不成立(S155NG),則運(yùn)行回到步驟S153。
如果判斷公式3成立(S155OK),則第二質(zhì)數(shù)性判斷單元134b判斷判斷公式4是否成立。如果判斷公式4不成立(S156NG),則運(yùn)行回到步驟S153。如果判斷公式4成立(S156OK),則第二質(zhì)數(shù)性判斷單元134b把數(shù)N作為質(zhì)數(shù)p輸出到生成控制單元102(S157),由此,完成運(yùn)行。
2.5計(jì)算復(fù)雜性的評估和效果第二實(shí)施例的計(jì)算復(fù)雜性幾乎與第一實(shí)施例的計(jì)算復(fù)雜性相同。
嚴(yán)格地說,第二實(shí)施例的計(jì)算復(fù)雜性大于第一實(shí)施例的計(jì)算復(fù)雜性,因?yàn)樗糠中畔⒃O(shè)置單元136b的計(jì)算復(fù)雜性。然而,部分信息設(shè)置單元136b只執(zhí)行mod L1,mod L2,…,mod Ln的計(jì)算和中國剩余定理的計(jì)算,這樣,它的計(jì)算復(fù)雜性比2×Lenq比特的計(jì)算小得多。所以,部分信息設(shè)置單元136b的計(jì)算復(fù)雜性可被看作為幾乎等于0。
所以,在計(jì)算復(fù)雜性方面,第二實(shí)施例具有與第一實(shí)施例相同的效果。
另外,N=N1mod L1,N2mod L2,…,Nnmod Ln,其中L1,L2,…,Ln是隨機(jī)數(shù)。換句話說,由質(zhì)數(shù)生成單元101b產(chǎn)生的質(zhì)數(shù)類型不受限制。這消除與所生成的質(zhì)類型的限制有關(guān)的安全性問題。
因此,質(zhì)數(shù)生成單元101b具有優(yōu)良的效果(1)不限制質(zhì)數(shù)類型,(2)確定地生成質(zhì)數(shù),以及(3)比起傳統(tǒng)的技術(shù)更快速地生成質(zhì)數(shù)。
如上所述,與傳統(tǒng)的技術(shù)相比較,按照本發(fā)明的第二實(shí)施例,確定的質(zhì)數(shù)生成的計(jì)算時(shí)間可被縮短,以及質(zhì)數(shù)類型不受限制。這消除與質(zhì)數(shù)類型的限制有關(guān)的安全性問題,有可能改進(jìn)密碼安全性。結(jié)果,可以提供具有高的實(shí)際價(jià)值的、實(shí)現(xiàn)高速加密和簽名方案的質(zhì)數(shù)生成單元。
3.修正下面描述應(yīng)用第一和第二實(shí)施例中說明的質(zhì)數(shù)生成的密碼通信系統(tǒng)(未示出)。
密碼通信系統(tǒng)主要由管理中心設(shè)備、用戶A設(shè)備、和用戶B設(shè)備組成。管理中心設(shè)備、用戶A設(shè)備、和用戶B設(shè)備通過網(wǎng)絡(luò)被連接在一起。
管理中心設(shè)備包括第一實(shí)施例的生成控制單元102和質(zhì)數(shù)生成單元101,通過使用它們,生成兩個(gè)質(zhì)數(shù)pa和pb。這里,管理中心設(shè)備可以代替地包括第二實(shí)施例的生成控制單元102和質(zhì)數(shù)生成單元101b。
下面參照圖10,說明密碼通信系統(tǒng)的運(yùn)行。這個(gè)密碼通信系統(tǒng)采用RSA密碼系統(tǒng),它依賴于用于它的安全性的因子分解的計(jì)算困難性。在T.Okamoto和H.Ymamoto的“Modern Encryption(現(xiàn)代加密)”,(1997)Sangyo Tosho出版,pp.110-113中詳細(xì)地描述了RSA密碼系統(tǒng)。
(1)由管理中心設(shè)備進(jìn)行公共密鑰的生成管理中心設(shè)備通過使用生成控制單元102和質(zhì)數(shù)生成單元101隨機(jī)地生成質(zhì)數(shù)pa和pb(S171)。管理中心設(shè)備然后計(jì)算n=pa×pb和L=LCM(pa-1,pb-1)(S172)。
接著,管理中心設(shè)備隨機(jī)地生成隨機(jī)數(shù)e(1≤e≤L-1,GCD(e,L)=1),以及計(jì)算d=e-1mod L(S173)。這里,GCD(e,L)是e和L的最大公因子。
此后,管理中心設(shè)備把質(zhì)數(shù)pa和pb和數(shù)d秘密地發(fā)送到用戶A設(shè)備作為秘密密鑰(S174)。管理中心設(shè)備把數(shù)n和e展現(xiàn)給用戶B設(shè)備作為用戶A設(shè)備的公共密鑰(S175)。
(2)由用戶B設(shè)備進(jìn)行加密文本的生成用戶B設(shè)備計(jì)算c=memod n(S176)。這里,m是用戶B設(shè)備正在發(fā)送給用戶A設(shè)備的消息。用戶B設(shè)備把加密文本c發(fā)送到用戶A設(shè)備(S177)。
(3)由用戶A設(shè)備進(jìn)行加密文本的解密用戶A設(shè)備計(jì)算m′=cdmod n,以便得到解密的消息m′(S178)。這里,
cd=(me)dmod n=m**(e×d mod L)mod n=m1mod n=m mod n所以,很明顯,解密的消息m′等同于消息m。
在以上的運(yùn)行中,在步驟S171,生成質(zhì)數(shù),以便得到公共密鑰。
這個(gè)質(zhì)數(shù)生成步驟利用第一或第二實(shí)施例的生成控制單元和質(zhì)數(shù)生成單元,有可能達(dá)到在第一或第二實(shí)施例中說明的效果。
4.結(jié)論如上所述,當(dāng)輸入質(zhì)數(shù)q和小于q的、不同于2的小質(zhì)數(shù)L1,L2,…,Ln(n≥2)時(shí),質(zhì)數(shù)生成單元輸出大于質(zhì)數(shù)q的質(zhì)數(shù)N。這個(gè)質(zhì)數(shù)生成單元生成質(zhì)數(shù)N,以使得q滿足方程q=1 mod Li(i=1,2,…,n)以及N滿足方程N(yùn)=1 mod Li(i=1,2,…,n)。
這里,質(zhì)數(shù)生成單元生成隨機(jī)數(shù)R′,以及生成R=L1×L2×…×Ln×R′和N=2×R×q+1。質(zhì)數(shù)生成單元通過使用生成的數(shù)R和N來判斷N的質(zhì)數(shù)性。
另外,當(dāng)輸入質(zhì)數(shù)q和小于q的、不同于2的小質(zhì)數(shù)L1,L2,…,Ln(n≥2)時(shí),質(zhì)數(shù)生成單元輸出大于質(zhì)數(shù)q的質(zhì)數(shù)N。這個(gè)質(zhì)數(shù)生成單元生成輸出u,它滿足2×u×q+1≠0 mod Li(i=1,2,…,n)。質(zhì)數(shù)生成單元然后生成隨機(jī)數(shù)R′,以及生成R=u+L1×L2×…×Ln×R′和N=2×R×q+1。質(zhì)數(shù)生成單元通過使用生成的數(shù)R和N來判斷N的質(zhì)數(shù)性。
這里,質(zhì)數(shù)生成單元生成整數(shù)N1(1<N1<L1-1),N2(1<N2<L2-1),…,Nn(1<Nn<Ln-1),以及計(jì)算ui=(Ni-1)/(2×(q mod Li))modLi(i=1,2,…,n)。質(zhì)數(shù)生成單元然后通過使用ui(i=1,2,…,n),找出u,滿足u=uimod Li(i=1,2,…,n)。
為了判斷N的質(zhì)數(shù)性,判斷2N-1=1 mod N和22R≠1 mod N是否成立。
按照本發(fā)明,不單可以肯定地生成質(zhì)數(shù),而且與傳統(tǒng)的技術(shù)相比,計(jì)算時(shí)間也可以縮短。而且,通過消除對生成的質(zhì)數(shù)類型的限制,則與對質(zhì)數(shù)類型的這樣的限制有關(guān)的安全性問題可被解決,有可能改進(jìn)安全性。
所以,可以提供具有高的實(shí)際價(jià)值的、實(shí)現(xiàn)高速加密和簽名方案的信息安全裝置和質(zhì)數(shù)生成裝置。
5.其它修正本發(fā)明是通過以上的實(shí)施例來描述的,然而應(yīng)當(dāng)看到,本發(fā)明并不限于以上實(shí)施例。下面給出示例的修正。
(1)每個(gè)以上的實(shí)施例中的質(zhì)數(shù)生成單元可以接收整數(shù)Len的輸入,以及輸出Len比特的質(zhì)數(shù)。
(2)每個(gè)以上的實(shí)施例中的質(zhì)數(shù)生成單元可以作為獨(dú)立的裝置被提供。
(3)本發(fā)明可以是配備有第一或第二實(shí)施例的質(zhì)數(shù)生成單元的質(zhì)數(shù)應(yīng)用裝置。質(zhì)數(shù)應(yīng)用裝置的具體的例子包括由加密裝置和解密裝置組成的密碼通信系統(tǒng)、以及由數(shù)字簽名裝置和數(shù)字簽名驗(yàn)證裝置組成的數(shù)字簽名系統(tǒng)。這些系統(tǒng)是保密地和可靠地處理信息的信息安全系統(tǒng)。
(4)第一質(zhì)數(shù)性判斷單元133、第二質(zhì)數(shù)性判斷單元134、第一質(zhì)數(shù)性判斷單元133b、和第二質(zhì)數(shù)性判斷單元134b可以使用與以上的實(shí)施例中描述的判斷公式不同的判斷公式。
作為一個(gè)例子,第一質(zhì)數(shù)性判斷單元133和第一質(zhì)數(shù)性判斷單元133b可以使用以下的判斷公式aN-1=1 mod N其中a是滿足1≤a≤N-1的整數(shù)。
另外,第二質(zhì)數(shù)性判斷單元134和第二質(zhì)數(shù)性判斷單元134b可以使用以下的判斷公式b2R≠1 mod N或GCD(b2R-1,N)=1其中b是滿足1≤b≤N-1的整數(shù)。
(5)以上的實(shí)施例描述其中數(shù)字作品是音樂的情形,但也可以應(yīng)用于其它類型的數(shù)字作品。具體的例子包括話音、活動(dòng)圖象,靜止圖象、文本、表格數(shù)據(jù)、和計(jì)算機(jī)程序的數(shù)字信息。
(6)以上的實(shí)施例描述其中質(zhì)數(shù)生成單元被使用于采用RSA密碼系統(tǒng)的安全系統(tǒng)的情形,但質(zhì)數(shù)生成單元的使用并不限于這一點(diǎn)。例如,質(zhì)數(shù)生成單元可被使用于橢圓曲線密碼系統(tǒng)。橢圓曲線密碼系統(tǒng)生成和利用一個(gè)質(zhì)數(shù)。
(7)本發(fā)明也適用上述的方法。這些方法可以用由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)程序來實(shí)現(xiàn)。這樣的計(jì)算機(jī)程序可以作為數(shù)字信號被分發(fā)。
另外,本發(fā)明可以通過其上記錄上述的計(jì)算機(jī)程序和/或數(shù)字信號的計(jì)算機(jī)可讀的記錄媒體來實(shí)現(xiàn),諸如,軟盤、硬盤、CD-ROM(軟盤-只讀存儲器)、MO(磁-光)盤、DVD(數(shù)字通用盤)、DVD-ROM、DVD-RAM、或半導(dǎo)體存儲器。反之,本發(fā)明也可以通過被記錄在記錄媒體上的計(jì)算機(jī)程序和/或數(shù)字信號來實(shí)現(xiàn)。
實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)程序或數(shù)字信號也可以通過網(wǎng)絡(luò)(諸如,電子通信網(wǎng)、有線或無線通信網(wǎng)、或互聯(lián)網(wǎng))被傳輸。
本發(fā)明也可以通過包括微處理器和存儲器的計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn)。在這種情形下,計(jì)算機(jī)程序可被存儲在存儲器中,并且其中微處理器按照這個(gè)計(jì)算機(jī)程序運(yùn)行。
計(jì)算機(jī)程序和/或數(shù)字信號可以通過分發(fā)其上記錄了計(jì)算機(jī)程序和/或數(shù)字信號的記錄媒體、或通過網(wǎng)絡(luò)發(fā)送計(jì)算機(jī)程序和/或數(shù)字信號而被提供給獨(dú)立的計(jì)算機(jī)系統(tǒng)(8)在實(shí)施例中描述的限制和修正可以自由地組合。
雖然已參照附圖通過例子全面地描述了本發(fā)明,但應(yīng)當(dāng)指出,本領(lǐng)域技術(shù)人員將會看到各種改變和修正。
所以,除非這樣的改變和修正背離本發(fā)明的范圍,它們都應(yīng)當(dāng)被看作為被包括在本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種信息安全裝置,通過生成兩個(gè)質(zhì)數(shù)和使用對于該這兩個(gè)質(zhì)數(shù)的乘法,從而基于因子分解的難操作性而安全地和可靠地操縱預(yù)定的信息,包括獲取裝置,用于獲取一個(gè)已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 mod Li(i=1,2,…,n);生成裝置,用于生成一個(gè)其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)被排除在數(shù)N的生成以外;以及判斷裝置,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
2.權(quán)利要求1的信息安全裝置,其中生成裝置生成滿足N=1 mod Li(i=1,2,…,n)的數(shù)N。
3.權(quán)利要求2的信息安全裝置,其中生成裝置包括隨機(jī)數(shù)生成單元,用于生成其比特長度為(Lenq-LenL-1)的隨機(jī)數(shù)R′,其中Lenq是質(zhì)數(shù)q的比特長度,以及LenL是(L1×L2×…×Ln)的比特長度;以及判斷目標(biāo)生成單元,用于(a)通過使用隨機(jī)數(shù)R′和質(zhì)數(shù)L1,L2,…,Ln生成一個(gè)數(shù)RR=L1×L2×…×Ln×R′以及(b)通過使用質(zhì)數(shù)q和數(shù)R,生成該數(shù)NN=2×R×q+1其中判決裝置通過使用由判決目標(biāo)生成單元生成的數(shù)N和數(shù)R,判決數(shù)N的質(zhì)數(shù)性。
4.權(quán)利要求3的信息安全裝置,其中判斷裝置(a)對于數(shù)N,判斷以下的第一判斷公式是否成立2N-1=1 mod N(b)對于數(shù)N和數(shù)R,判斷以下的第二判斷公式是否成立22R≠1 mod N以及(c)如果第一判斷公式和第二判斷公式成立,則判斷數(shù)N是質(zhì)數(shù)。
5.權(quán)利要求1的信息安全裝置,其中生成裝置包括部分信息生成單元,用于通過使用質(zhì)數(shù)q,生成滿足下式的數(shù)u2×u×q+1≠0 mod Li(i=1,2,…,n)隨機(jī)數(shù)生成單元,用于生成隨機(jī)數(shù)R′;判斷目標(biāo)生成單元,用于(a)通過使用質(zhì)數(shù)L1,L2,…,Ln,數(shù)u和隨機(jī)數(shù)R′生成一個(gè)數(shù)RR=u+L1×L2×…×Ln×R′以及(b)通過使用質(zhì)數(shù)q和數(shù)R,生成該數(shù)NN=2×R×q+1其中判決裝置通過使用由判決目標(biāo)生成單元生成的數(shù)N和數(shù)R來判決數(shù)N的質(zhì)數(shù)性。
6.權(quán)利要求5的信息安全裝置,其中部分信息生成單元包括整數(shù)生成單元,用于(a)生成整數(shù)N1(1≤N1≤L1-1),N2(1≤N2≤L2-1),…,Nn(1≤Nn≤Ln-1),以及(b)計(jì)算滿足下式的數(shù)uiui=(Ni-1)/(2×(q mod Li))mod Li(i=1,2,…,n)以及信息組合單元,用于通過使用由整數(shù)生成單元計(jì)算的數(shù)ui(i=1,2,…,n),計(jì)算滿足下式的數(shù)uu=uimod Li(i=1,2,…,n)。
7.權(quán)利要求6的信息安全裝置,其中判斷裝置(a)對于數(shù)N,判斷以下的第一判斷公式是否成立2N-1=1 mod N(b)對于數(shù)N和數(shù)R,判斷以下的第二判斷公式是否成立22R≠1 mod N以及(c)如果第一判斷公式和第二判斷公式成立,則判斷數(shù)N是質(zhì)數(shù)。
8.一種IC卡,該IC卡通過生成兩個(gè)質(zhì)數(shù)和使用這兩個(gè)質(zhì)數(shù)的乘法,基于因子分解的難操作性而安全地和可靠地操縱預(yù)定的信息,包括獲取裝置,用于獲取已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 modLi(i=1,2,…,n);生成裝置,用于生成其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)不能用于數(shù)N的生成;以及判斷裝置,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
9.一種用于生成質(zhì)數(shù)的質(zhì)數(shù)生成裝置,包括獲取裝置,用于獲取已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 modLi(i=1,2,…,n);生成裝置,用于生成其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)不能用于數(shù)N的生成;以及判斷裝置,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
10.在用于生成質(zhì)數(shù)的質(zhì)數(shù)生成裝置中使用的一種質(zhì)數(shù)生成方法,包括獲取步驟,用于獲取已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 modLi(i=1,2,…,n);生成步驟,用于生成其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)不能用于數(shù)N的生成;以及判斷步驟,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
11.在用于生成質(zhì)數(shù)的計(jì)算機(jī)中使用的一種質(zhì)數(shù)生成方法,包括獲取步驟,用于獲取已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 modLi(i=1,2,…,n);生成步驟,用于生成其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)不能用于數(shù)N的生成;以及判斷步驟,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
12.用來存儲在用于生成質(zhì)數(shù)的計(jì)算機(jī)中使用的質(zhì)數(shù)生成程序的計(jì)算機(jī)可讀記錄媒體,該程序包括獲取步驟,用于獲取已知的質(zhì)數(shù)q和n個(gè)已知的質(zhì)數(shù)L1,L2,…,Ln,其中L1,L2,…,Ln是不同于2、且小于q的質(zhì)數(shù),以及質(zhì)數(shù)q滿足q=1 modLi(i=1,2,…,n);生成步驟,用于生成其比特長度為質(zhì)數(shù)q的比特長度的兩倍的數(shù)N,其中與質(zhì)數(shù)L1,L2,…,Ln中任一個(gè)數(shù)有關(guān)的數(shù)不能用于數(shù)N的生成;以及判斷步驟,用于判斷數(shù)N的質(zhì)數(shù)性,以及如果數(shù)N被判斷為質(zhì)數(shù)則輸出該數(shù)N作為一個(gè)質(zhì)數(shù)。
全文摘要
信息安全裝置接收質(zhì)數(shù)q的輸入,以及生成大于質(zhì)數(shù)q的質(zhì)數(shù)N。在信息安全裝置中,部分信息生成單元生成滿足2×u×q+1≠0modL
文檔編號G06F7/72GK1381782SQ0210556
公開日2002年11月27日 申請日期2002年4月17日 優(yōu)先權(quán)日2001年4月17日
發(fā)明者布田裕一, 小野貴敏, 大森基司 申請人:松下電器產(chǎn)業(yè)株式會社