專利名稱:利用特殊的素數(shù),證實實體的真實性和/或消息的完整性和/或真實性的方法、系統(tǒng)和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于證實實體的真實性和/或消息的完整性和/或真實性的方法,系統(tǒng)和設(shè)備的技術(shù)領(lǐng)域。
Louis Guillou和Jean-Jacques Quisquater的專利EP 0311470B1描述了這樣一種方法。下面,將借助術(shù)語“GQ專利”或“GQ方法”提及他們的工作。下面,詞句“GQ2”或“GQ2發(fā)明”或“GQ2技術(shù)”將用于描述GQ技術(shù)的新發(fā)展,所述GQ技術(shù)的新發(fā)展是由法國電信,TDF和Mathrizk公司在和本申請同一天登記的待審批申請的目的,發(fā)明人是Louis Guillou和Jean-Jacques Quisquater。在下面的說明中,每當需要時,就會再引用這些待審批申請的特征。
按照GQ方法,稱為“受托管理機構(gòu)”的實體向稱為“證人”的每個實體分配一個身份,并計算其RSA簽名。在定制過程中,受托管理機構(gòu)給予證人一個身份和簽名。之后,證人做出如下聲明“這是我的身份;我了解它的RSA簽名”。在不泄漏真相的情況下,證人證明他知道他的身份的RSA簽名。通過受托管理機構(gòu)分配的RSA公用標識密鑰,稱為“控制者”的實體在不獲得有關(guān)知識的情況下,確定RSA簽名和聲明實體相符。使用GQ方法的機制“在不傳送知識的情況下”發(fā)生作用。按照GQ方法,證人不必知道RSA專用密鑰,受托管理機構(gòu)利用所述RSA專用密鑰簽署了大量的身份。
上面描述的GQ技術(shù)利用了RSA技術(shù)。但是,雖然RSA技術(shù)確實依賴于模數(shù)n的因數(shù)分解,但是這種相關(guān)性并不等效,如同可在針對實現(xiàn)RSA技術(shù)的數(shù)字簽名的各種標準的所謂乘法攻擊中看到的那樣,事實上離等效差得很遠。
GQ2技術(shù)的目標在于兩個方面首先是提高RSA技術(shù)的工作特性,其次是防止RSA技術(shù)中固有的問題。GQ2專用密鑰的知識等同于模數(shù)n的因數(shù)分解的知識。對三元組GQ2的任何攻擊導致模數(shù)n的因數(shù)分解此時存在等效性。借助GQ2技術(shù),降低了簽名或自我證明實體,以及控制實體的工作量。通過在安全和性能兩方面,因數(shù)分解問題的更好地使用,GQ2防止了RSA技術(shù)的缺陷。
GQ方法實現(xiàn)包含512個或更多二進制位的數(shù)字的模數(shù)計算。這些計算涉及具有自乘到大約216次冪+1的基本相同大小的數(shù)字。現(xiàn)在,現(xiàn)有的微電子基礎(chǔ)結(jié)構(gòu),尤其是銀行卡領(lǐng)域中的微電子基礎(chǔ)結(jié)構(gòu)使用不具有算術(shù)協(xié)理器的單片自動編程的微處理器。和諸如GQ方法之類的方法中所涉及的多重算術(shù)應(yīng)用相關(guān)的工作量導致計算時間很長,在某些情況下,較長的計算時間被證明不利于顧客使用銀行卡支付他們的購買。這里會回想起,在設(shè)法提高支付卡的安全性的情況下,銀行管理機構(gòu)已引起一個特別難以解決的問題。實際上,必須解決兩個明顯相互矛盾的問題;一方面,通過對于每個銀行卡,使用越來越長并且截然不同的密鑰,提高安全性,而另一方面,防止工作量耗費用戶過多的計算時間。由于還必須考慮到現(xiàn)有的基礎(chǔ)結(jié)構(gòu)和現(xiàn)有的微處理器元件,該問題變得特別嚴重。
在提高安全性的同時,GQ2技術(shù)提供了該問題的解決方案。
GQ2技術(shù)實現(xiàn)特殊性質(zhì)的素數(shù)。產(chǎn)生這些素數(shù)的現(xiàn)有技術(shù)有很多種。本發(fā)明的目的是這種素數(shù)的系統(tǒng)產(chǎn)生方法。本發(fā)明還涉及可由尤其是在GQ2技術(shù)的實現(xiàn)中的這些素數(shù)產(chǎn)生的應(yīng)用。這里必須強調(diào),在GQ2技術(shù)的領(lǐng)域之外,也可應(yīng)用這些特殊的素數(shù),以及用于獲得這些素數(shù)的方法。
本發(fā)明可應(yīng)用于設(shè)計成向控制者實體證實下述內(nèi)容的方法(GQ2方法)-實體的真實性和/或-與該實體相關(guān)的消息M的完整性。
借助所有或部分下述參數(shù)或它們的衍生物產(chǎn)生這種證實-由f個素數(shù)p1,p2,…pf(f等于或大于2)的乘積構(gòu)成的公共模數(shù)n,
-公共指數(shù)v;-m個相異的整數(shù)基數(shù)g1,g2…gm(m大于或等于1)。
基數(shù)gi是這樣的基數(shù),以致不能在整數(shù)模數(shù)n環(huán)中,求解下述兩個等式(1)和(2)的xx2≡gimodn和x2≡-gimodn并且以致能夠在整數(shù)模數(shù)n環(huán)中,求解等式(3)的xxv≡gi2modn]]>根據(jù)本發(fā)明的方法被用于以滿足等式(1),(2)和(3)的方式,產(chǎn)生f個素數(shù)p1,p2,…pf。根據(jù)本發(fā)明的方法包括首先選擇下述內(nèi)容的步驟m個基數(shù)g1,g2…gm,模數(shù)n的大小,f個素數(shù)p1,p2,…pf的大小。
該方法涉及公共指數(shù)v具有下述形式的情況v=2k這里,k是大于1的安全參數(shù)。安全參數(shù)k也被選擇為素數(shù)。這種特殊值的指數(shù)v是GQ2技術(shù)的本質(zhì)特征之一。
最好,至少部分地在第一部分整數(shù)內(nèi)選擇m個基數(shù)g1,g2,…gm。安全參數(shù)k最好是一個小整數(shù),尤其是小于100的整數(shù)。模數(shù)n的大小最好大于幾百個二進制位。f個素數(shù)p1,p2,…pf的大小最好接近于被除以素數(shù)數(shù)目f的模數(shù)n的大小。
按照根據(jù)本發(fā)明的方法的一個主要特征,不以任何非特定的方式選擇f個素數(shù)p1,p2,…pf。在f個素數(shù)之內(nèi),其中的一些素數(shù)e將被選擇為全等于1(mod 4)。素數(shù)的該數(shù)目e可能為0。如果e為0,則下面將把模數(shù)n稱為基本模數(shù)。如果e>0,下面將把模數(shù)n稱為復合模數(shù)。其它f-e個素數(shù)被選擇為全等于3(mod 4)。素數(shù)的該數(shù)目f-e至少等于2。
全等于3(mod 4)的f-e個素數(shù)的選擇為了產(chǎn)生全等于3(mod 4)的f-e個素數(shù)p1,p2,…Pf-e。執(zhí)行下述步驟-選擇全等于3(mod4)的第一素數(shù)p1,-選擇第二素數(shù)p2,以致相對于基數(shù)g1,p2與p1互補。
為了選擇素數(shù)pi+1,使用下述程序區(qū)分兩種情況(1)i>m的情況如果i>m,則選擇全等于3(mod4)的素數(shù)pi+1。
(2)i≤m的情況如果i≤m,則計算gi相對于i個第一部分素數(shù)pi的廓線(Profilei(gi))如果Profilei(gi)平直,則選擇因數(shù)pi+1,使得相對于gi,pi+1和p1互補,否則,在i-1個基數(shù)g1,g2,…gi-1和它們的全部乘法組合中,選擇數(shù)字g,使得Profilei(g)=Profilei(gi),隨后選擇pi+1,使得Profilei+1(gi)≠Profilei+1(g)。
術(shù)語“互補”,“廓線”,“平直廓線”具有在說明部分中定義的含義。
為了選擇最后的素數(shù)pf-e,使用下述程序區(qū)分三種情況(1)f-e-1>m的情況如果f-e-1>m,則選擇全等于3(mod4)的pf-e。
(2)f-e-1=m的情況如果f-e-1=m,則相對于從p1~pf-e-1的f-e-1個第一部分素數(shù),計算Profilef-e-1(gm)。
如果Profilef-e-1(gm)平直,則選擇pf-e-1,使得相對于gm,pf-e-1和p1互補,否則,進行下面規(guī)定的程序在從g1~gm-1的m-1個基數(shù)及它們的全部乘法組合中,選擇下面稱為g的數(shù)字,使得Profilei(g)=Profilei(gi),隨后選擇pf-e,使得Profilef-e(gi)≠Profilef-e(gm)。
(3)f-e-1<m的情況如果f-e-1<m,則選擇pf-e,以便滿足下述兩個條件(3.1)第一條件根據(jù)從p1~Pf-e-1的f-e-1個第一部分素數(shù),計算Profilef-e-1(gf-e-1)。隨后考慮兩種情況。根據(jù)這兩種情況中的任意一種情況,第一條件將不同。
如果Profilef-e-1(gf-e-1)平直,則選擇pf-e,使得pf-e滿足相對于gf-e-1,pf-e和p1互補的第一條件(根據(jù)第一種情況的第一條件)。否則,在從g1~gm-1的f-e-1個基數(shù)及它們的全部乘法組合之內(nèi),選擇下面稱為g的數(shù)字,使得Profilei(g)=Profilef-e-1(gf-e-1),并且隨后選擇pf-e,使得它滿足使Profilef-e(g)≠Profilef-e(gm)的條件(根據(jù)第二種情況的第一條件)。
(3.2)第二條件在從gf-e~gm的所有最后一些基數(shù)之內(nèi),選擇其廓線Profilef-e-1(gi)平直的那些基數(shù),隨后選擇Pf-e,以致pf-e滿足相對于這樣選擇的每個基數(shù),pf-e和p1互補的條件(第二條件)。
全等于1(mod 4)的素數(shù)的選擇為了產(chǎn)生全等于1(mod 4)的e個素數(shù),在進行下述兩個連續(xù)測試的情況下,評估從pf-e~pf的每個候選素數(shù)p(1)第一測試計算從g1~gm的每個基數(shù)相對于候選素數(shù)p的Legendre符號,如果Legendre符號等于-1,則拒絕候選素數(shù)p,如果Legendre符號等于+1,則轉(zhuǎn)到下一基數(shù),繼續(xù)候選素數(shù)p的評估,并且隨后當已考慮了最后一個基數(shù)時,轉(zhuǎn)到第二測試。
(2)第二測試計算整數(shù)t,使得p-1可被2t除盡,但是不可被2t+1除盡,隨后計算整數(shù)s,使得s=(p-1+2t)/2t+1。
把密鑰<s,p>應(yīng)用于每個公共值Gi,以便得到結(jié)果rr≡Gismodp]]>如果r等于gi或-gi,則轉(zhuǎn)到下一公共值Gi+1,繼續(xù)第二測試。
如果r不等于gi或-gi,則通過對于從1~t-2的上標ii,應(yīng)用下面規(guī)定的算法,計算因數(shù)u。該算法實現(xiàn)兩個變量由r初始化的w和取從2~2t-2的值的jj=2ii,以及通過把密鑰<(p-1)/2t,p>應(yīng)用于CG(p)的非二次剩余,得到的數(shù)字b。該算法由根據(jù)需要多次重復下述程序組成·步驟1計算w2/Gi(mod p),·步驟2使計算結(jié)果自乘到2t-ii-1次冪??紤]兩種情況。
第一種情況如果得到+1,則轉(zhuǎn)到下一公共值Gi+1,并對該公共值進行第二測試。
第二種情況如果得到-1,則計算jj=2ii,隨后用w.bjj(mod p)替換w。隨后,對于具有上標ii的下一數(shù)值,繼續(xù)該算法。
在算法結(jié)束時,依據(jù)關(guān)系jj=2t-u,變量jj的值被用于計算整數(shù)u,隨后計算表達式t-u。出現(xiàn)兩種情況如果t-u<k,則拒絕候選素數(shù)p,如果t-u>k,則轉(zhuǎn)到下一公共值Gi+1繼續(xù)候選素數(shù)p的評估,并且隨后繼續(xù)第二測試。
如果在第二測試結(jié)束時,對于所有m個公共值Gi,候選素數(shù)p都未被拒絕,則候選素數(shù)p被看作是全等于1(mod4)的素數(shù)。
關(guān)于GQ2的公共值和專用值的應(yīng)用本發(fā)明還涉及應(yīng)用上面描述的方法,并且可回想起,使得能夠產(chǎn)生具有特殊性質(zhì)的f個素數(shù)p1,p2,…pf的一種方法(GQ2方法)。上面描述的方法的應(yīng)用方法用于向控制者實體證明下述內(nèi)容-實體的真實性和/或-與該實體相關(guān)的消息M的完整性,借助所有或部分下述參數(shù)或者這些參數(shù)的衍生物,建立這種證明-m對專用值Q1,Q2,…Qm和公共值G1,G2,…Gm(m大于或等于1),
-由所述f個素數(shù)p1,p2,…pf的乘積構(gòu)成的公共模數(shù)n(f大于或等于2),-公共指數(shù)v。
所述模數(shù),所述指數(shù)和所述值由下述類型的關(guān)系連接Gi·Giv≡1·modn]]>或者Gi≡Qivmodn]]>所述指數(shù)為v=2k其中k是大于1的安全參數(shù)。
所述公共值Gi是小于f個素數(shù)p1,p2,…pf的基數(shù)gi的平方gi2?;鶖?shù)gi是這樣的基數(shù),以致不能在整數(shù)模數(shù)n環(huán)中,求解下述兩個等式的xx2≡gimodn和x2≡-gimodn并且以致能夠在整數(shù)模數(shù)n環(huán)中,求解下述等式的xxv≡gi2modn]]>所述方法按照下述步驟實現(xiàn)稱為證人的實體。所述證人實體具有f個素數(shù)pi和/或素數(shù)的中國余數(shù)參數(shù),和/或公共模數(shù)n和/或m個專用值Qi和/或?qū)S弥礠i的f.m分量(Qi,j≡Qimod pj)的參數(shù),以及公共指數(shù)v的參數(shù)。
證人計算整數(shù)模數(shù)n環(huán)中的承諾(commitment)R?;蛘咄ㄟ^執(zhí)行下述類型的運算,計算每個承諾,方式是·通過執(zhí)行下述類型的運算R≡rvmodn這里r是大于0,小于n的隨機因數(shù),·或者通過執(zhí)行下述類型的運算Ri≡rivmodpi]]>這里ri是與素數(shù)pi相關(guān)的隨機值,并且0<ri<pi,每個ri屬于一組隨機因數(shù){r1,r2,…rf}的集合,隨后通過應(yīng)用中國余數(shù)方法,計算每個承諾。
證人接收一個或多個挑戰(zhàn)d。每個挑戰(zhàn)d包含下面稱為基本挑戰(zhàn)的m個整數(shù)di。根據(jù)每個挑戰(zhàn)d,證人或者通過執(zhí)行下述類型的運算,計算響應(yīng)DD≡r·Q1d1·Q2d2····Qmdmmodn]]>或者通過執(zhí)行下述類型的運算Di≡ri·Qi,1d1·Qi,2d2····Qi,mdmmodpi]]>并且隨后應(yīng)用中國余數(shù)方法,計算響應(yīng)D。
該方法使得存在和挑戰(zhàn)d及承諾R同樣多的響應(yīng)D,每組數(shù)字R,d,D構(gòu)成表示為{R,d,D}的三元組。
為了實現(xiàn)上面所述的多對專用值Q1,Q2,…Qm和公共值G1,G2,…Gm,該方法使用素數(shù)p1,p2,…pf和/或中國余數(shù)參數(shù),基數(shù)g1,g2,…gm和/或公共值G1,G2,…Gm-通過求Gi的第k個平方根模數(shù)n,或者通過取Gi的第k個平方根模數(shù)n的倒數(shù),計算專用值Q1,Q2,…Qm-或者計算專用值Q1,Q2,…Qm的f.m個專用分量Qi,j,使得Qi,j≡Qi(mod pj)。
更具體地說,為了計算專用值Q1,Q2,…Qm的f.m個專用分量Qi, j-應(yīng)用密鑰<s,pj>計算z,使得z≡Gis(modpi)]]>-并且使用t和u值。
當pj全等于1(mod 4)時,如前所述計算t和u值。當pj全等于3(mod 4)時,t和u的值分別取為1和0(t=1,u=0)。
如果u值為0,我們認為所有的數(shù)字zz為···zz等于z,或者···zz等于z與1的2ii-t2ii次原根中的每個原根的乘積(mod pj),ii從1變化到min(k,t)。
如果u為正數(shù),我們認為所有的數(shù)字zz等于za與1的2k2k次根中的每個根的乘積(mod pj),za表示上面描述的算法結(jié)束時,變量w的值。
據(jù)此推導出分量Qi,j的至少一個值。當使用等式 時,該值等于zz,否則,當使用等式 時,該值等于zz的zz(modpj)的倒數(shù)。
說明可回想GQ技術(shù)的目的其目的是實體和相關(guān)消息的動態(tài)證明,以及消息的數(shù)字簽名。
標準形式的GQ技術(shù)利用RSA技術(shù)。但是,盡管RSA技術(shù)確實依賴于因數(shù)分解,但是這種相關(guān)性并不等效,可從針對實現(xiàn)RSA技術(shù)的各種數(shù)字簽名標準的稱為乘法攻擊的攻擊中看到,事實上離等效差得很遠。
在GQ2技術(shù)的環(huán)境下,本發(fā)明的本部分更具體地涉及用于提供動態(tài)證明和數(shù)字簽名的成組GQ2密鑰的產(chǎn)生。GQ2技術(shù)并不使用RSA技術(shù)。GQ2的目標在于兩個方面首先是提高RSA技術(shù)的性能,其次是防止RSA技術(shù)中固有的問題。GQ2專用密鑰是模數(shù)n的因數(shù)分解。對GQ2三元組的任何攻擊相當于模數(shù)n的因數(shù)分解此時存在等效性。借助GQ2技術(shù),降低了簽名或證明實體,以及控制實體的工作量。通過在安全和性能兩方面,因數(shù)分解問題的更好地使用,GQ2比得上RSA技術(shù)。
GQ2技術(shù)使用一個或多個大于1的小整數(shù),例如稱為基數(shù),并以gi表示的m個小整數(shù)(m>1)。隨后,如下所述選擇公共驗證密鑰<v,n>。公共驗證密鑰v為2k,k是大于1的小整數(shù)(k≥2)。公共模數(shù)n是大于基數(shù)的至少兩個素數(shù)的乘積,例如表示為pj的f個素數(shù)(f≥2),p1…pf。嚴選擇f個素數(shù),以便相對于m個基數(shù)(g1-gm)中的每個基數(shù),公共模數(shù)n具有下述性質(zhì)-首先,不能用整數(shù)模數(shù)n環(huán)中的x解答等式(1)和(2),即,gi和-gi是兩個非二次剩余(mod n)。
x2≡gi(mod n)(1)x2≡-gi(mod n) (2)-其次,可用整數(shù)模數(shù)n環(huán)中的x解答等式(3)。x2k≡gi2(modn)---(3)]]>
下面,這些性質(zhì)也被稱為GQ2原理。
由于按照從g1-gm(m≥1)的基數(shù),公共驗證密鑰<v,n>是固定的,因此每個基數(shù)gi確定包含公共值Gi和專用值Qi的一對值GQ2產(chǎn)生表示為G1Q1-GmQm的m對值。公共值Gi是基數(shù)gi的平方 。專用值Qi是等式(3)的解答或者這種解答的反(mod n)。
如同模數(shù)n被分解為f個素數(shù)一樣,整數(shù)模數(shù)n環(huán)被分解為f個伽羅瓦域,從CG(p1)到CG(pf)。下面是等式(1),(2)和(3)在CG(pj)中的投影。
x2≡gi(mod pj) (1.a)x2≡-gi(mod pj) (2.a)x2k≡gi2(modpj)---(3.a)]]>每個專用值Qi可唯一地由f個專用分量表示,每個素數(shù)對應(yīng)一個專用分量Qi,j≡Qi(mod pj)。每個專用分量Qi,j是等式(3.a)的解答或者這種解答的反(mod pj)。在計算了每個等式(3.a)的所有可能解答之后,中國余數(shù)方法根據(jù)f個分量Qi,1-Qi,f,確定每個專用值Qi的可能數(shù)值Qi=中國余數(shù)(Qi,1,Qi,2,…,Qi,f),以便獲得等式(3)的所有可能解答。
下面是中國余數(shù)方法假定存在互為素數(shù)的兩正整數(shù)a和b,0<a<b,以及兩個分量,從0到a-1的Xa和從0到b-1的Xb。需要確定X=中國余數(shù)(Xa,Xb),即0到a.b-1的單一數(shù)字X,以致Xa≡X(mod a)和Xb≡X(mod b)。下面是中國余數(shù)參數(shù)α≡{b(mod a)}-1(mod a)。下面是中國余數(shù)運算ε≡Xb(mod a);δ=Xa-ε;如果δ為負,用δ+a替換δ;γ≡α.δ(mod a);X=γ.b+Xb。
當素數(shù)按照升序,從最小的p1到最大的pf排列時,中國余數(shù)參數(shù)可以如下所示(存在f-1,即至少素數(shù)之一)。第一中國余數(shù)參數(shù)是α≡{p2(mod p1)}-1(mod p1)。第二中國余數(shù)參數(shù)是β≡{p1·p2(mod p3)}-1(md p3)。第i個中國余數(shù)參數(shù)是λ≡{p1·p2·…,pi-1(mod pi)}-1(mod pi),依次類推。最后,在f-1中國余數(shù)運算中,利用第一參數(shù)得到第一結(jié)果(mod p2×p1),隨后利用第二參數(shù)得到第二結(jié)果(mod p1·p2×p3),依次類推,直到得到結(jié)果(mod p1…pf-1×pf),即(mod n)為止。
本發(fā)明的目的是一種隨機產(chǎn)生所有各組可能的GQ2密鑰中的任意一組GQ2密鑰的方法,即-所有可能的GQ2模數(shù)內(nèi)的任意模數(shù)的隨機產(chǎn)生,即對于m個基數(shù)gi中的每個基數(shù),該模數(shù)確保不能用整數(shù)模數(shù)n環(huán)中的x解答等式(1)和(2),而可用整數(shù)模數(shù)n環(huán)中一個整數(shù)模數(shù)解答等式(3),-計算每個等式(3.a)的所有可能解答。中國余數(shù)方法使得能夠根據(jù)每組f個分量(Qi,1-Qi,f),得到專用值Qi,從而獲得所有ht可能等式內(nèi),等式(3)的任意解答x。
Qi=中國余數(shù)(Qi,1,Qi,2,…,Qi,f)為了了解該問題,并且隨后理解將針對該問題給出的解決方案,即本發(fā)明,我們首先分析GQ2技術(shù)的原理的適用性。讓我們首先從回憶伽羅瓦域CG(p)中的秩的概念開始,以便研究函數(shù)“CG(p)中自乘到平方”和“CG(p)中二次剩余的開平方”。隨后,我們將分析關(guān)于等式(1.a),(2.a)和(3.a),CG(p)中解答x的存在及數(shù)目。
CG(p)中元素的秩取一個奇素數(shù)p和小于p的一個正素數(shù)。之后,定義{X}。
{X}≡{x1=a;則對于i≥1,xi+1≡a.xi(mod p)計算下標為i+p的項,并使用Fermat定理xi+p≡apxi≡a.xi≡xi+1(mod p)因此,序列{X}的周期為p-1或者p-1的除數(shù)。該周期取決于a的值。根據(jù)定義,該周期被稱為“a(mod p)的秩”。它是序列{X}中1的出現(xiàn)下標。
xrank(a,p)≡1(mod p)例如,當(p-1)/2是奇素數(shù)p’時,伽羅瓦域CG(p)包含秩為1的單個元素(p-1)/2為1,秩為2的單個元素。(p-1)/2為-1,秩為p’的p’-1個元素,秩為2.p’的p’-1個元素,即秩為p-1。
CG(p)的秩為p-1的元素被稱為基本元素,或者也被稱為CG(p)發(fā)生器。該名稱緣于CG(p)中它們的連續(xù)乘冪,即{X}序列中的下標從1~p-1的項構(gòu)成CG(p)的所有非零元素的排列。
根據(jù)CG(p)的基本元素y,我們來求作為i和p-1的函數(shù)的元素yi(mod p)的秩。當i是具有p-1的素數(shù)時,秩為p-1。當i除以p-1時,秩為(p-1)/i。在所有情況下,秩為(p-1)/pgcd(p-1,i)。
用φ表示Euler函數(shù)。根據(jù)定義,由于n是正整數(shù),因此φ(n)是小于n的正整數(shù)(包括n在內(nèi)的素數(shù))的數(shù)目。于是,在域CG(p)中,存在φ(p-1)個基本元素。
舉例來說,下面是RSA技術(shù)的基礎(chǔ)。公共模數(shù)n是從p1~pf(f≥2)的f個素數(shù)的乘積,從而對于每個素數(shù)pj來說,公共指數(shù)v是包括pj-1在內(nèi)的一個素數(shù)。密鑰<v,pj>遵守CG(pj)的元素的秩密鑰<V,pj>排列CG(pj)的元素。利用密鑰<sj,pj>,獲得反向排列,從而pj-1除以v.sj-1。
CG(p)中的平方和平方根在CG(p)中,元素x和p-x具有相同的平方。由于p-1是個偶數(shù)值,因此密鑰<2,p>不排列CG(p)的元素。對于每個素數(shù)p,我們?nèi)缦露x一個整數(shù)tp-1可被2t除盡,但是不可被2t+1除盡,即p全等于2t+1(mod 2t+1)。例如,當p全等于3(mod 4)時,t=1;當p全等于5(mod 8)時,t=2;當p全等于9(mod 16)時,t=3;當p全等于17(mod 32)時,t=4;依次類開。在一個范疇內(nèi),并且只在一個范疇內(nèi)找到各個奇素數(shù)在第t個范疇內(nèi)找到p。實際上,如果我們考慮相當大量的連續(xù)素數(shù),每2個中約有1個可在第一范疇內(nèi)找到,每4個中有1個可在第二范疇內(nèi)找到,每8個中有1個可在第三范疇內(nèi)找到,每16個中有1個可在第四范疇內(nèi)找到,依次類推??傊?,平均來說,每2t個中有1個可在第t范疇內(nèi)找到。
下面讓我們根據(jù)變元的秩的奇偶性,來考慮函數(shù)“CG(p)中自乘到平方”的行為。
-只存在一個固定元素該元素為1。奇校驗秩的任意其它元素的平方是具有相同秩的另一元素。從而,密鑰<2,p>排列其所有(p-1)/2t奇校驗秩元素。排列循環(huán)的數(shù)目取決于(p-1)/2t的因數(shù)分解。例如,當(p-1)/2t是素數(shù)p’時,存在包含p’-1個元素的大排列循環(huán)。
-任意偶校驗秩元素的平方是其秩被除以2的另一元素。從而,偶校驗秩元素被分配在(p-1)/2t個分支上。具有奇校驗秩的每個非零元素支承長度為t的包含2t-1個元素的分支,即秩可被2除盡,但是不可被4除盡的一個元素,隨后,如果t≥2,則秩可被4除盡,但是不可被8除盡的兩個元素,如果t≥3,則秩可被8除盡,但是不可被16除盡的四個元素,如果t≥4,則秩可被16除盡,但是不可被32除盡的八個元素,依次類推。每個分支的2t-1個末端是非二次剩余;它們的秩可被2t除盡。
圖1A-1D借助有向圖,圖解說明了函數(shù)“CG(p)中自乘到平方”,這里域的p-1個非零元素中的每個元素找到其自己的位置非二次剩余為白色,二次剩余為黑色;在二次剩余內(nèi),奇校驗秩元素在圓圈內(nèi)。
這些圖分別表示了-
圖1Ap全等于3(mod 4)的情況;-
圖1Bp全等于5(mod 8)的情況;-
圖1Cp全等于9(mod 16)的情況;-
圖1Dp全等于17(mod 32)的情況。
現(xiàn)在我們來考慮計算等式x2≡a(mod p)的解答x的方法(已知a是CG(p)的二次剩余),即如何“在CG(p)中開平方”。當然,存在獲得相同結(jié)果的多種途徑讀者可參考Henri Cohen的“A Course inComputational Algebraic Number Theory”,Springer,Berlin,1993年出版,第31-36頁,以及“Graduate Texts in Mathematics”,vol.138(GTM 138)。
我們來計算整數(shù)s=(p-1+2t)/2t+1,以確定密鑰<s,p>。假定當p全等于3(mod 4)時,<(p+1)/4,p>,當p全等于5(mod 8)時,<(p+3)/8,p>,當p全等于9(mod 16)時,<(p+7)/16,p>,當p全等于17(mod 32)時,<(p+15)/32,p>,依次類推。
-密鑰<s,p>給出任何奇校驗秩元素的奇校驗秩平方根。實際上,在CG(p)中,r2/a等于a自乘到(2.(p-1+2t)/2t+1)-1=(p-1)/2t次冪。從而,當a處于循環(huán)中時,密鑰<s,p>把a轉(zhuǎn)換為我們將稱之為w的解答。另一解答是p-w。
-通常,密鑰<s,p>把任意二次剩余a轉(zhuǎn)換為將被稱為r的解答的一級近似。下面是逐步改進近似,直到a的平方根為止的示意方法之前的兩個關(guān)鍵點。
-首先,由于a是二次剩余,密鑰<2t-1,p>確實把r2/a轉(zhuǎn)換為1。
-其次,可假定我們知道我們命名為y的CG(p)的非二次剩余;密鑰<(p-1)/2t,p>把y轉(zhuǎn)換為將被稱為b的元素它是-1的第2t-1個根。實際上,y(p-1)/2≡-1(mod p)。從而,在CG(p)中,1的第2t2t次根的乘法組與指數(shù)為1~2t的b的乘冪的乘法組具有同一構(gòu)造。
-為了逼近a的平方根,我們使r2/a自乘到2t-2(mod p)次冪結(jié)果為+1或-1。如果結(jié)果為+1,則保持新的近似值,如果結(jié)果為-1,則近似值變?yōu)閎.r(mod p)。從而,密鑰<2t-2,p>必定把新的近似值轉(zhuǎn)換為1??梢岳^續(xù)逼近所需的數(shù)值在下一步驟,如果需要的話,通過乘以b2(mod p),可進行調(diào)整,依次類推。
下面的算法根據(jù)如上定義的整數(shù)r和b,進行逐步逼近,以便達到a的平方根;它使用兩個整數(shù)變量由r初始化的w,以表示逐步逼近,及假定從2~2t-2的2的乘冪之中的數(shù)值的jj。
對于從1~t-2的i,重復下述程序-計算w2/a(mod p),隨后使結(jié)果自乘到2t-i-1(mod p)次冪應(yīng)得到+1或-1。當?shù)玫?1時,計算jj=2i,隨后用w.bjj(mod p)替換w。當?shù)玫?1時,不進行任何操作。
在計算的結(jié)尾,w和p-w是CG(p)中,a的兩個平方根。此外,我們認識到在CG(p)中,a的秩可被2t/jj除盡,但是不可被2t+1/jj除盡。下面將進一步領(lǐng)會這種觀測結(jié)果的相關(guān)性。
CG(p)中,GQ2技術(shù)原理的分析我們?nèi)〈笥?的兩個整數(shù)g和k,以及大于g的一個素數(shù)p。我們來分析在CG(p)中,等式(1.a),(2.a)和(3.a)中的解答的存在和數(shù)目。
在伽羅瓦域CG(p)中,我們根據(jù)t的數(shù)值,即除盡p-1的2的乘冪,來區(qū)別不同的情況??苫叵肫餻-1可被2t除盡,但是不可被2t+1除盡,即,p全等于2t+1(mod 2t+1)。前面的分析給了我們對于引起的問題及大致解決方案的相當精確的了解。
當t=1時,p全等于3(mod 4)。g和-g相對于p的Legendre符號不同CG(p)的任意二次剩余具有CG(p)中的兩個平方根一個是二次剩余,另一個是非二次剩余。首先,在CG(p)中,兩個等式(1.a)或(2.a)之一具有x的兩個解答,而另一等式不具有任何解答。其次,無論任何k值,在CG(p)中,等式(3.a)都具有x的兩個解答。
當t=2時,p全等于5(mod 8)。根據(jù)g相對于p的Legendre的符號,產(chǎn)生兩種情況。當符號等于-1時,g和-g都是CG(p)的非二次剩余在CG(p)中,三個等式(1.a),(2.a)和(3.a)都不具有x的任何解答。當符號等于+1時,g和-g是CG(p)的兩個二次剩余,等式(1.a)和(2.a)均具有x的2個解答。此外,CG(p)中,g2的秩為奇校驗值,意味著不論什么樣的k值,在CG(p)中,等式(3.a)都具有x的4個解答,其中只有一個具有奇校驗秩。
圖2圖解說明了假定t=2,在k=6,p全等于5(mod 8)的情況下,等式(3.a)的解答。要指出的是,由于相對于p全等于5(mod 8),2的Legendre符號等于-1。則2(p-1)/4(mod p)為-1的平方根。于是,我們得到p≡5(mod8);因此(2|p)=-1 從而,b2≡-1(modp)當t=3時,p全等于9(mod 16)。我們來考慮g相對于p的Legendre符號。當該符號等于-1時,g和-g是CG(p)中的兩個非二次剩余在CG(p)中,三個等式(1.a),(2.a)和(3.a)都不具有x的任何解答。當符號等于+1時,g和-g是CG(p)的兩個二次剩余,在CG(p)中,等式(1.a)和(2.a)均具有x的2個解答。等式(3.a)的x解答的存在取決于CG(p)中g(shù)2的秩。該秩為奇校驗值或者可被2除盡,但是不可被4除盡。當CG(p)中,g2的秩可被2除盡,但是不可被4除盡時,對于k=2,在CG(p)中,等式(3.a)具有x的4個解答;它不能超過k≥3。當CG(p)中,g2的秩為奇校驗值時,對于k=2,在CG(p)中,等式(3.a)具有x的4個解答,對于k≥3,在CG(p)中,等式(3.a)具有x的8個解答。在兩種情況下,只有一個值是奇校驗值。
當t=4時,p全等于17(mod 32)。我們來考慮g相對于p的Legendre符號。當該符號等于-1時,g和-g是CG(p)的兩個非二次剩余在CG(p)中,三個等式(1.a),(2.a)和(3.a)都不具有x的任何解答。當符號等于+1時,g和-g是CG(p)的兩個二次剩余,在CG(p)中,等式(1.a)和(2.a)均具有x的2個解答。等式(3.a)的x解答的存在取決于CG(p)中g(shù)2的秩。該秩為奇校驗值或者可被2或4除盡,但是不可被8除盡。當CG(p)中,g2的秩可被2除盡,但是不可被8除盡時,對于k=2,在CG(p)中,等式(3.a)具有x的4個解答;它不能超過k≥3。當CG(p)中,g2的秩可被2除盡,但是不可被4除盡時,對于k=2,在CG(p)中,等式(3.a)具有x的4個解答,或者對于k=3,在CG(p)中,等式(3.a)具有x的8個解答;對于k≥4,等式(3.a)無解。當CG(p)中,g2的秩為奇校驗值時,對于k=2,在CG(p)中,等式(3.a)具有x的4個解答,對于k≥3,在CG(p)中,等式(3.a)具有x的4個解答,對于k≥4,在CG(p)中,等式(3.a)具有x的16個解答。在所有三種情況下,只有一個值是奇校驗值。
依次類推,從而可如下總結(jié)p全等于1(mod 4)的情況。
當p全等于1(mod 4)時,我們來考慮g相對于p的Legendre符號。當該符號等于-1時,g和-g是CG(p)的兩個非二次剩余在CG(p)中,三個等式(1.a),(2.a)和(3.a)都不具有x的任何解答。當符號等于+1時,g和-g是CG(p)的兩個二次剩余;在CG(p)中,等式(1.a)和(2.a)均具有x的2個解答。我們來定義一個整數(shù)uCG(p)中,g2的秩可被2u除盡,但是不可被2u+1除盡。值u是從0~t-2的t-1個可能值之一。CG(p)中,等式(3.a)的x解答的存在及數(shù)目取決于k,t和u的值。當u是正數(shù),并且k大于t-u時,在CG(p)中,等式(3.a)不具有x的解答。當u為零,并且k大于t時,在CG(p)中,等式(3.a)具有x的2t個解答。當k小于或等于t-u時,在CG(p)中,等式(3.a)具有x的2k個解答。
GQ2原理在整數(shù)模數(shù)環(huán)中的適用性為了在整數(shù)模數(shù)n的環(huán)中,等式(1)和(2)均不具有x的解,其必要充分條件是,對于從p1~pf的至少一個素數(shù)p,等式(1.a)和(2.a)必須在CG(p)中均不具有x的解答。
為了在整數(shù)模數(shù)n的環(huán)中,等式(3)具有x的解,其必要充分條件是,對于從p1~pf的每個素數(shù)p,等式(3.a)在CG(p)中具有x的解答。
對于從g1~gm的基數(shù)g之一,等式(3)盡快地禁止全等于1(mod4)的任意素數(shù)p或者g相對于p的Legendre符號等于-1;或者在u為正數(shù),并且大于t-k的條件下,g相對于p的Legendre符號等于+1。為了全等于1(mod 4)的素數(shù)p成為可能,根據(jù)上面定義的兩個整數(shù),對于從g1~gm的每個基數(shù)g,必須達到下述兩個條件之一?;蛘逩=g2的秩為CG(p)中的奇校驗秩,即u=0,不論k為什么值。或者G=g2的秩為CG(p)中的偶校驗秩,即u>0,并且滿足條件u+k≤t。
全等于1(mod 4)的素數(shù)的乘積不能實現(xiàn)所有的GQ2技術(shù)原理。每個GQ2模數(shù)必須至少具有兩個全等于3(mod 4)的素數(shù),從而對于每個基數(shù)g來說,g相對于這些素數(shù)之一的Legendre符號不同于g相對于另一素數(shù)的Legendre符號。當所有素數(shù)全等于3(mod 4)時,可認為GQ2模數(shù)是基本模數(shù)。當除了全等于3(mod 4)的至少兩個素數(shù)之外,模數(shù)包括全等于1(mod 4)的一個或多個素數(shù)時,可認為模數(shù)GQ2是復合模數(shù)。
GQ2模數(shù)的系統(tǒng)結(jié)構(gòu)開始,必須確定將限定模數(shù)n的全部約束條件以二進制位表示的大小(例如512或1024位),以及為1的最高有效連續(xù)位的數(shù)目(至少1個,通常16或32個二進制位),素數(shù)的數(shù)目f,必須全等于1(mod4)的素數(shù)的數(shù)目e(可能為0);其它素數(shù),即f-e素數(shù),中的至少兩個,必須全等于3(mod 4)。模數(shù)n將是類似大小的f個素數(shù)的乘積。當e=0時,得到基本模數(shù)GQ2。當e>0時,得到復合模數(shù)GQ2。基本模數(shù)是均全等于3(mod 4)的素數(shù)的乘積。于是,復合模數(shù)GQ2表示為基本模數(shù)GQ2乘以一個或多個全等于1(mod 4)的其它素數(shù)的乘積。首先,產(chǎn)生全等于3(mod 4)的素數(shù)。隨后,如果e>0,產(chǎn)生全等于1(mod 4)的素數(shù)。
對于GQ2模數(shù)的結(jié)構(gòu)的效能來說,在設(shè)法查明候選數(shù)字是否是素數(shù)之前,選擇每個候選數(shù)字無疑較好。
用g1,g2…表示,通常在第一部分素數(shù)2,3,5,7…中查找基數(shù)。如果沒有相反的指示,m個基數(shù)是m個第一部分素數(shù)g1=2,g2=3,g3=5,g4=7,…。但是,必須注意下述幾點如果預先使用了全等于5(mod 8)的因數(shù),則必須避開2;如果公共密鑰<3,n>必須被用作RSA公共驗證密鑰,則必須避開3。
全等于3(mod 4)的f-e個素數(shù)的選擇根據(jù)第二因數(shù),對于每個因數(shù),程序請求并使用一個基數(shù)。對于全等于3(mod 4)的最后一個因數(shù)的選擇來說,程序查明是否存在其它基數(shù),即m是否等于或大于f-e,并且如果m等于或大于f-e,則請求并考慮從gf-e~gm的最后幾個基數(shù)。為了使全等于3(mod 4)的素數(shù)的選擇形式化,我們引入廓線(profile)的概念。廓線表征了整數(shù)g相對于一組大于g,并且全等于3(mod 4)的素數(shù)的特征。
-當整數(shù)g具有和兩個素數(shù)相同的Legendre符號時,一般認為相對于g,這兩個素數(shù)等效。否則,相對于g,這兩個素數(shù)互補。
-用Profilef(g)表示,整數(shù)g相對于f個素數(shù)p1p2…pf的廓線是一個f個二進制位的序列,每個素數(shù)一個二進制位。第一位等于1;根據(jù)相對于g,下一因數(shù)是和p1等效,還是和p1互補,后面的每個二進制位等于1或0。
-當廓線的所有二進制位等于1時,一般認為該廓線平直。這種情況下,g的所有Legendre符號等于+1或者等于-1。當g的廓線不平直時,在整數(shù)模數(shù)n環(huán)中,不可關(guān)于x求解等式(1)和(2)。
-根據(jù)定義,相對于全等于3(mod 4)的單個素數(shù),g的廓線始終是平真的。這種擴展被用于歸納選擇全等于3(mod 4)的素數(shù)的算法。
當兩個基數(shù)g1和g2的廓線不同時,這意味著全等于3(mod 4)的至少三個素數(shù),兩個專用值Q1和Q2導致模數(shù)n的兩種不同分解。當基數(shù)是小素數(shù)時,程序確保f-e-1個基本素數(shù)的2f-e-1乘法組合都不相同它們?nèi)∷锌赡艿臄?shù)值。廓線概念不擴展到全等1(mod 4)的素數(shù)。
全等于3(mod 4)的第一素數(shù)p1每個候選值必須全等于3(mod4),沒有其它任何特殊約束條件。
當考慮第一基數(shù)g1時,全等于3(mod 4)的第二素數(shù)p2相對于g1,每個候選值必須和p1互補。
當考慮第二基數(shù)g2時,全等于3(mod 4)的第二素數(shù)p3根據(jù)相對于兩個第一部分素數(shù)p1和p2,g2的廓線,產(chǎn)生兩種情況。當Profile2(g2)平直時,相對g2,每個候選值必須和p1互補。否則,我們得到Profile2(g1)=Profile2(g2);則每個候選值必須確保Profile3(g1)≠Profile3(g2)。
當考慮基數(shù)gi時,全等于3(mod 4)的第i個素數(shù)pi+1的選擇根據(jù)相對于i個第一部分素數(shù)p1,p2,…pi的gi的廓線,產(chǎn)生兩種情況。當Profilei(gi)平直時,相對gi,每個候選值必須和p1互補。否則,在i-1個基數(shù)g1,g2,…gi-1和它們的所有乘法組合g1·g2,g1·g2·…gi-1,即總共2i-1-1個整數(shù)之中,有且只有一個整數(shù)g使得Profilei(gi)=Profilei(g);則每個候選值必須確保Profilei+1(gi)≠Profilei+1(g)。
當考慮基數(shù)gf-e-1,以及從gf-e~gm的其它基數(shù)時,全等于3(mod 4)的最后一個素數(shù)pf-e如上所述考慮歸因于基數(shù)gf-e-1的約束條件。此外,當m等于或大于f-e時,相對于f-e個素數(shù),每個候選值必須提供從gf-e~gm的最后幾個基數(shù)的非平直廓線。相對于Profilef-e-1(gi)平直的所有g(shù)i值,每個候選值必須和p1互補。
總之,全等于3(mod 4)的素數(shù)被選為相互的函數(shù)。
對于從0~f-e-1的i,選擇全等于3(mod 4)的第i+1個素數(shù),候選素數(shù)pi+1必須成功通過下述檢查√如果i>m或者如果i=0,則候選pi+1無其它約束條件;于是接受候選pi+1。
√如果0<i≤m,則候選pi+1必須考慮第i個基數(shù)gi。相對于從p1~pi的i個第一部分素數(shù),計算基數(shù)gi的廓線Profilei(gi)。根據(jù)計算結(jié)果,會發(fā)生下兩種情況中的一種情況,并且只會發(fā)生一種情況-如果廓線平直,則相對于gi,候選pi+1必須和p1互補;否則,拒絕該候選pi+1。
-如果廓線不平直,在i-1個基數(shù)g1,g2,…gi-1和它們的所有乘法組合之中,有且只有一個我們稱為g的數(shù)字使得Profilei(gi)=Profilei(g);則候選pi+1必須確保Profilei+1(gi)≠Profilei+1(g);否則,必須拒絕該候選pi+1。
√如果i+1=f-e,并且i<m,即當剩余還未被考慮的從gf-e~gm的基數(shù)時,選擇全等于3(mod 4)的最后一個素數(shù),候選pf-e必須把剩余的這些基數(shù)考慮進去在這些基數(shù)中,選擇其廓線Profilef-e-1(gi)平直的那些數(shù)字;相對于這樣選擇的每個基數(shù),候選pf-e必須與p1互補;否則拒絕候選pf-e。
由于候選素數(shù)已成功通過了適當?shù)臏y試,接受該候選素數(shù)。
全等于1(mod 4)的e個素數(shù)的選擇為了可被接受,相對于從g1~gm的每個基數(shù),全等于1(mod 4)的每個候選素數(shù)p必須滿足下述條件。
-我們來計算每個基數(shù)gi相對于p的Legendre符號。如果該符號等于-1,則拒絕該候選素數(shù)p,并轉(zhuǎn)到下一候選素數(shù)。如果該符號等于+1,就繼續(xù)該候選素數(shù)的評估。必須指出的是,如果整數(shù)2被用作基數(shù),則必須除去全等于5(mod 8)的所有候選素數(shù)基數(shù)2和全等于5(mod 8)的素數(shù)不相容。
-計算整數(shù)s=(p-1+2t)/2t+1,以便確定密鑰<s,p>。我們把密鑰<s,p>應(yīng)用于每個公共值Gi,以便得到結(jié)果r。產(chǎn)生兩種情況。
-如果r等于gi或-gi,則u=0。這種情況下,并且也只有在這種情況下,Gi處于一個環(huán)中??商峒暗囊环N普通情況是如果p全等于5(mod 8),并且gi相對于p的Legendre符號等于+1,則Gi處于環(huán)中。可回想起在這種情況下,Gi不可能等于4。
-如果r既不等于gi,也不等于-gi,則u>0;必須指出的是密鑰<(p-1)/2t,p>把各個非二次剩余y轉(zhuǎn)換為元素b,元素b是1的第2t次原根。下述算法通過使用兩個整數(shù)變量由r初始化的w和取2~2t-2的值的jj,根據(jù)r和b,計算u。
對于從1~t-2的i,重復下述程序-計算w2/Gi(mod pj),隨后把結(jié)果自乘到2t-i-1(mod pj)次冪我們必定得到+或-1。當?shù)玫?1時,計算jj=2i,則用w.bjj(mod pj)替換w。當?shù)玫?1時,不進行任何操作。
在計算結(jié)束時,變量w的值為gi或-gi。此外,我們知道CG(pj)中,Gi的秩可被2t/jj除盡,但是不可被2t+1/jj除盡,即,通過jj=2t-u,jj確定u的值。當v大于jj,即k>t-u時,拒絕該候選素數(shù),并轉(zhuǎn)到另一候選素數(shù)。當v小于或等于jj,即k≤t-u時,繼續(xù)評估該候選素數(shù)。
當已產(chǎn)生f個素數(shù)時,公共模數(shù)n是這f個素數(shù)p1,p2,…pf的乘積。無符號的整數(shù)n可由二進制序列表示;該序列遵守程序開始時,關(guān)于二進制位的大小,以及為1的連續(xù)最高有效位的數(shù)目強加的約束條件。素數(shù)的選擇提供了模數(shù)n相對于m個基數(shù)g1,g2,…gm中的每個基數(shù)的下述性質(zhì)。此外,在整數(shù)模數(shù)n環(huán)中,等式(1)和(2)不具有x的任何解答。其次,在整數(shù)模數(shù)n環(huán)中,等式(3)具有x的解答。
總之,相互獨立地選擇全等于1(mod 4)的素數(shù)。當全等于3(mod4)的因數(shù)逐漸考慮基數(shù)時,全等于1(mod 4)的每個素數(shù)必須考慮由各個基數(shù)限定的所有約束條件。從pf-e~pf的每個全等于1(mod 4)的素數(shù),即p應(yīng)分兩步成功地通過下述檢查。
1)對于從g1~gm的m個基數(shù)中的每個基數(shù),連續(xù)執(zhí)行步驟(1)。
計算當前基數(shù)g相對于候選素數(shù)p的Legendre符號。產(chǎn)生并且只產(chǎn)生下述兩種情況之一如果該符號等于-1,則拒絕候選素數(shù)。否則(該符號等于+1),則在步驟(1)之后,轉(zhuǎn)到基數(shù)g繼續(xù)該檢查。
當對于所有m個基數(shù),該候選素數(shù)都是可接受的時,則操作轉(zhuǎn)到步驟(2)。
2)對于從G1~Gm的m個公共值中的每個值,連續(xù)執(zhí)行步驟(2)。
計算整數(shù)t,從而p-1可被2t除盡,但是不可被2t+1除盡,則整數(shù)s=(p-1+2t)/2t+1,以便確定密鑰<s,p>。把密鑰<s,p>應(yīng)用于當前的公共值G=g2,得到結(jié)果r,即r≡Gs(mod p)。根據(jù)該結(jié)果,產(chǎn)生并且只產(chǎn)生下述情形之一a)如果r等于g或-g,則u=0;在步驟(2)轉(zhuǎn)到后面的公共值G,繼續(xù)該候選素數(shù)的檢查。
b)否則,取從1~t-2的值中的一個值,應(yīng)用下述算法計算正數(shù)u,所述算法實現(xiàn)兩個變量取從2~2t-2的值的jj,和由r初始化的w,以及通過把密鑰<(p-1)/2t,p>應(yīng)用于CG(p)的非二次剩余得到的整數(shù)b。
對于從1~t-2的上標ii,重復下述操作計算w2/G(mod p),隨后把密鑰<2t-ii-1,p>應(yīng)用于計算結(jié)果,得到+1或-1(否則,證明該候選因數(shù)不是素數(shù))。如果得到-1,則計算jj=2ii,隨后c≡bjj(mod p),隨后用w.c(mod p)替換w,則轉(zhuǎn)到下一上標ii。如果得到+1,則轉(zhuǎn)到下一上標ii。
在算法結(jié)束時,依據(jù)關(guān)系jj=2t-u確定變量jj中的值;變量w的值是G的平方根,即g或-g(否則,證明該候選因數(shù)不是素數(shù))。產(chǎn)生兩種情況■如果t-u<k,則由于出現(xiàn)G的支路的長度不夠,拒絕候選素數(shù)p。
■如果(t-u≥k),則在步驟(2)之后轉(zhuǎn)到下一公共值G,繼續(xù)候選素數(shù)的評估。
當對于所有m個公共值來說,候選素數(shù)合格時,把該候選因數(shù)看作全等于1(mod 4)的素數(shù)。
相關(guān)值的計算為了獲得專用分量,在著手處理通常情況之前,我們首先計算兩種最簡單,并且最通行情況中,等式(3.a)的所有解答。
對于全等于3(mod 4)的每個素數(shù)pj來說,密鑰((pj+1)/4,pj>給出任意二次剩余的平方根。根據(jù)這一點,得出計算等式(3.a)的解答的方法sj≡((pj+1)/4)k(mod(pi-1)/2);則,Qi,j≡Gisj(modpj)]]>或者這種解答的反(mod pj)。
sj≡(pj-1)/2-((pj+1)/4)k(mod(pj-1)/2);則,Qi,j≡Gisj(modpj)]]>則在CG(pj)中,有且只有1的兩個平方根+1和-1;于是存在等式(3.a)的兩個x解答這兩個數(shù)字Qi,j和pj-Qi,j都是相同平方的Gi(mod pj)。
對于全等于5(mod 8)的每個素數(shù)pj來說,密鑰<(pj+1)/4,pj>給出任意奇校驗秩元素的奇校驗秩平方根。根據(jù)這一點,得出等式(3.a)的解答sj≡(pj+3)/8)k(mod(pj-1)/4);則,Qi,j≡Gisj(modpj)]]>或者這種解答的反(mod pj)。
sj≡(pj-1)/4-((pj+3)/8)k(mod(pj-1)/4);則,Qi,j≡Gisj(modpj)]]>則在CG(pj)中,有且只有1的4個平方根;于是存在等式(3.a)的4個x解答。注意,由于相對于全等于5(mod 8)的p,2的Legendre符號等于-1,因此2(pj-1)/4(mod pj)是-1的平方根。如果Qi,j是一個解,則pj-Qi,j是另一個解,Qi,j與-1的一個平方根的乘積(mod pj)也是一個解。
對于全等于2t+1(mod 2t+1)的素數(shù)pj,密鑰<(pj-1+2t)2t+1,pj>給出任意奇校驗秩元素的奇校驗秩平方根。于是能夠計算等式(3.a)的解答。
-首先計算整數(shù)sj≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t),以確定密鑰<sj,pj>。
-當密鑰<(pj-1+2t)2t+1,pj>把Gi轉(zhuǎn)換為gi或-gi時,Gi的秩為CG(pj)中的奇校驗值(u=0)。隨后,密鑰<sj,pj>把Gi轉(zhuǎn)換為數(shù)字z這是等式(3.a)的奇校驗秩解答。根據(jù)t和k的值,在一個或多個分支上,仍然存在min(2k-1,2t-1)個其它解答。z2分支攜帶有另一解答即pj-z。當t≥2時,z4分支具有兩個其它解答它們是z與-1的兩個平方根中的每個平方根,即1的兩個第四原根中的每個原根的乘積。現(xiàn)在,如果y是CG(pj)的非二次剩余,則y(pj-1)/4(modpj)是-1的平方根。一般來說,對于取從1~min(k,t)中的各個值的i來說, 分支具有2i-1個解答這些解答是z與1的2i-1個第2i原根中的每個原根的乘積(mod pj)。現(xiàn)在如果y是CG(pj)中的非二次剩余,則 是1的第2i次原根,我們稱之為c。1的第2i-1~2i次原根是c的奇校難冪c,c3(mod pj),c5(mod pj),…, -當密鑰<(pj-1+2t)2t+1,pj>把Gi轉(zhuǎn)換為既不是gi也不是-gi的整數(shù)r時,Gi的秩為CG(pj)中的偶校驗值(u>0)。隨后,假定Gi被恰當?shù)胤胖迷谙喈旈L的分支上,即t≥k+u,在Gi所處的分支上,存在2k個解答。為了計算第2k個根,把上面所述的平方根計算算法重復k次就足夠了,以便計算直到解答z的連續(xù)結(jié)果的平方根。當然,可優(yōu)化該計算,以便直接逼近第2k次根,隨后在單個操作中調(diào)整第2k次根的近似值,以獲得解答z。要獲得所有其它解答,首先要注意的是如果y是CG(pj)的非二次剩余,則 是1的第2k次原根,我們稱之為d。1的2k2k次根是d的連續(xù)乘冪d,d2(mod pj),d3(modpj),…, 等于1的 Gi所處分支上的2k個解答是z和這些根中的每個根的乘積(mod pj)。
總之,在已知k,t和u的情況下,使用下述程序計算素數(shù)p和基數(shù)g的分量1)計算整數(shù)s≡((p-1+2t)/2t+1)k(mod(p-1)/2t),確定密鑰<s,p>。隨后,把密鑰<s,p>應(yīng)用于G,得到z≡Gs(modp)。根據(jù)u的值,轉(zhuǎn)到步驟(2)或(3)。
2)如果u=0,z是等式(3.a)的奇校驗解答。在一個或多個分支上,正好在min(k,t)個其它分支上,還存在min(2k-1,2t-1)個其它偶校驗秩解答。對于從1~min(k,t)的i來說, 分支具有2i-1個解答這些解答是z與1的2i-12i個原根中的每個原根的乘積(modp)。等式(3.a)的類屬解答由zz表示。運算轉(zhuǎn)到步驟(4)。
3)如果u>0,等式(3.a)的所有解答都是偶校驗解答。這些偶校驗解答的數(shù)目為2k,并且它們都在G所處的分支中;實際上,t-u≥k。為了計算解答,下述算法實現(xiàn)兩個變量取從2~2t-2的值的jj和由z初始化的w,以及通過把密鑰<(p-1)/2t,p>應(yīng)用于CG(p)的非二次剩余,得到的整數(shù)b。
下述序列被重復k次。
對于從1~t-2的上標ii,重復下述運算計算w2/G(mod p),隨后把密鑰<2t-ii-1,p>應(yīng)用于計算結(jié)果,得到+1或-1(否則證明p不是素數(shù))。如果得到-1,則計算jj=2ii,隨后c≡bjj(mod p),隨后用w.c(mod p)替換w,則轉(zhuǎn)到下一上標ii。如果得到+1,則轉(zhuǎn)到下一上標ii。
在算法結(jié)束時,變量w的值為za。G所處分支上的2k個解答是za和1的2k次根中的每個根的乘積(mod p)。等式(3.a)的類屬解答由zz表示。運算轉(zhuǎn)到步驟(4)。
4)在已知zz的情況下,根據(jù)其推導出分量值當使用等式G·Qv≡1(mod n)時,該分量值是zz mod p的倒數(shù)。當使用等式G≡Qv(mod n)時,該分量值是zz。
注意獲得專用分量和專用值的方法有許多種。如果已知一組f個分量,即對于給定基數(shù)的f個分量,則使用中國余數(shù)方法計算相應(yīng)的專用值??煽闯鰧τ诮o定的公共值G和模數(shù)n,可能具有幾個專用值Q。當n是全等于3(mod 4)的兩個素數(shù)的乘積時,存在4個專用值Q;當n是全等于3(mod 4)的三個素數(shù)的乘積時,存在8個專用值Q;當n是全等于3(mod 4)的兩個素數(shù)和全等于5(mod 8)的一個素數(shù)的乘積時,存在16個專用值Q;合理地使用這些多個數(shù)值可使得難以通過分析使用GQ2的芯片卡的電子消費進行攻擊。
從而,隨著t的增大,對于越來越稀少的情況,程序變得復雜難解。實際上,素數(shù)如下所述被平均分配t=1時,兩個中有一個,t=2時,四個中有一個,t=3時,8個中有一個,依次類推。此外,歸因于m個基數(shù)的約束條件使候選因數(shù)逐漸變得不可接受。無論情況是什么樣,復合模數(shù)決定性地構(gòu)成GQ2技術(shù)的一部分;GQ2模數(shù)的類型決不影響動態(tài)證明和數(shù)字簽名協(xié)議。
圖3圖解說明了在具有全等于9(mod 16)的素數(shù),即t=3,u=0,以及k≥3的環(huán)中的Gi=gi2。要注意的是b≡yp-18(modp)]]>b8≡1(modp)b4≡-1(mod p)圖4圖解說明了在具有全等于65(mod 128)的素數(shù),即t=6,k=4和u=2的分支上的Gi=gi2。
這里是k=6的第一組密鑰GQ2,給出v=64,m=3,給出三個基數(shù)g1=3,g2=5,g3=7,并且f=3,即具有三個素數(shù)的模數(shù)兩個全等于3(mod 4)的素數(shù)和一個全等于5(mod 8)的素數(shù)。必須注意的是g=2和全等于5(mod 8)的素數(shù)不相容。
p1=03CD2F4F21E0EAD60266D5CFCEBB6954683493E2E833(2|p1)=-1;(3|p1)=+1;(5|p1)=-1;(7|p1)=+1p2=0583B097E8D8D777BAB3874F2E76659BB614F985EC1B(2|p1)=-1;(3|p1)=-1;(5|p1)=+1;(7|p1)=-1p3=0C363CD93D6B3FEC78EE13D7BE9D84354B8FDD6DA1FD(2|p1)=-1;(3|p1)=+1;(5|p1)=+1;(7|p1)=+1n=p1·p2·p3=FFFF81CEA149DCF2F72EB449C5724742FE2A3630D902CC00EAFEE1B957F3BDC49BE9CBD4D94467B72AF28CFBB26144CDF4BBDBA3C97578E29CC9BBEE8FB6DDDDQ1,1=0279C60D216696CD6F7526E23512DAE090CFF879FDDEQ2,1=7C977FC38F8413A284E9CE4EDEF4AEF35BF7793B89Q3,1=6FB3B9C05A03D7CADA9A3425571EF5ECC54D7A7B6FQ1,2=0388EC6AA1E87613D832E2B80E5AE8C1DF2E74BFF502Q2,2=04792CE70284D16E9A158C688A7B3FEAF9C40056469EQ3,2=FDC4A8E53E185A4BA793E93BEE5C636DA731BDCA4EQ1,3=07BC1AB048A2EAFDAB59BD40CCF2F657AD8A6B573BDEQ2,3=0AE8551E116A3AC089566DFDB3AE003CF174FE4E4877Q3,3=01682D490041913A4EA5B80D16B685E4A6DD88070501Q1=D7E1CAF28192CED6549FF457708D50A7481572DD5F2C335D8C69E22521B510B64454FB7A19AEC8D06985558E764C6991B05FC2AC74D9743435AB4D7CF0FF6557Q2=CB1ED6B1DD649B89B9638DC33876C98AC7AF689E9D1359E4DB17563B9B3DC582D5271949F3DBA5A70C108F561A274405A5CB882288273ADE67353A5BC316C093Q3=09AA6F4930E51A70CCDFA77442B10770DD1CD77490E3398AAD9DC50249C34312915E55917A1ED4D83AA3D607E3EB5C8B197697238537FE7A0195C5E8373EB74D下面是和全等于5(mod 8)的p3相關(guān)的分量的其它可能值。下面是CG(p3)中,-1的平方根c=2(p3-1)/4(mod p3)=0C3000933A854E4CB309213F12CAD59FA7AD775AAC37Q’1,3=c.Q1,3(mod p3)=050616671372B87DEC9AEEAC68A3948E9562F714D76CQ’2,3=c.Q2,3(mod p3)=06F308B529C9CE88D037D01002E7C838439DACC9F8AAQ’3,3=c.Q3,3(mod p3)=015BE9F4B92F1950A69766069F788E45439497463D58給出Q’1=676DF1BA369FF306F4A1001602BCE5A008DB82882E87C148D0
D820A711121961C9376CB45C355945C5F2A9E5AFAAD7861886284A9B319F9E4665211252D74580Q’2=CAEC4F41752A228CF9B23B16B3921E47C059B9E0C68634C2C64D6003156F30EF1BC02ADA25581C8FDE76AA14AB5CC60A2DE1C565560B27E8AA0E6F4BCA7FE966Q’3=2ACEF5161FE53B68CC7C18B6AFE485815B46599F44C51A6A1A4E858B470E8E5C7D2200EF135239AF0B7230388A6A5BDD8EE15B0D094FC2BFA890BFDA669D9735下面是第二組密鑰GQ2,k=9,即v=512,m=2,即兩個基數(shù)g1=2和g2=3,并且f=3,給出具有全等于3(mod 4)的三個素數(shù)的模數(shù)。
p1=03852103E40CD4F06FA7BAA9CC8D5BCE96E3984570CB(2|p1)=-1;(3|p1)=-1;并且我們得到(6|p1)=+1p2=062AC9EC42AA3E688DC2BC871C8315CB939089B61DD7(2|p2)=+1;(3|p2)=-1;并且我們得到(6|p2)=-1p3=0BCADEC219F1DFBB8AB5FE808A0FFCB53458284ED8E3(2|p3)=-1;(3|p3)=+1;并且我們得到(6|p3)=-1n=p1·p2·p3=FFFF5401ECD9E537F167A80C0A9111986F7A8EBA4D6698AD68FF670DE5D9D77DFF00716DC7539F7CBBCF969E73A0C49761B276A8E6B6977A21D51669D039F1D7Q1,1=0260BC7243C22450D566B5C6EF74AA29F2B927AF68E1Q2,1=0326C12FC7991ECDC9BB8D7C1C4501BE1BAE9485300EQ1,2=02D0B4CC95A2DD435D0E22BFBB29C59418306F6CD00AQ2,2=045ECB881387582E7C556887784D2671CA118E22FCF2Q1,3=B0C2B1F808D24F6376E3A534EB555EF54E6AEF5982Q2,3=0AB9F81DF462F58A52D937E6D81F48FFA4A87A9935ABQ1=27F7B9FC82C19ACAE47F3FE9560C3536A7E90F8C3C51E13C35F32FD8C6823DF753685DD63555D2146FCDB9B28DA367327DD6EDDA092D0CF108D0AB708405DA46Q2=230D0B9595E5AD388F1F447A69918905EBFB05910582E5BA64
9C94B0B2661E49DF3C9B42FEF1F37A7909B1C2DD54113ACF87C6F11F19874DE7DC5D1DF2A9252D本發(fā)明已描述了一種多組GQ2密鑰,即模數(shù)n和多對公共值和專用值G和Q的產(chǎn)生方法,其中指數(shù)v等于2k。如同所描述的那樣,所述多組密鑰被用于實現(xiàn)用于證明實體的真實性和/或消息的完整性和/或真實性的方法。
在法國電信,TDF和Math RiZK公司在同一天申請的待審批申請(其發(fā)明人為Louis Guillou和Jean-Jacques Quisquater)中,要求保護證明實體的真實性和/或消息的完整性和/或真實性的方法,系統(tǒng)和設(shè)備的特征。這兩個申請作為參考包含于此。
權(quán)利要求
1.在借助所有或部分下述參數(shù)或它們的衍生物-由f個素數(shù)p1,p2,…pf(f等于或大于2)的乘積構(gòu)成的公共模數(shù)n,-公共指數(shù)v;-m個相異的整數(shù)基數(shù)g1,g2…gm(m大于或等于1)向控制者實體證實下述內(nèi)容的方法中-實體的真實性和/或-與該實體相關(guān)的消息M的完整性;基數(shù)gi是這樣的基數(shù),以致不能在整數(shù)模數(shù)n環(huán)中,求解下述兩個等式(1)和(2)的xx2≡gimodn 和 x2≡-gimodn并且以致能夠在整數(shù)模數(shù)n環(huán)中,求解下述等式(3)的xxv≡gi2modn]]>根據(jù)本發(fā)明的方法使得能夠以滿足等式(1),(2)和(3)的方式,產(chǎn)生f個素數(shù)p1,p2,…pf,所述方法包括首先選擇下述內(nèi)容的步驟·m個基數(shù)g1,g2…gm,·模數(shù)n的大小,·f個素數(shù)p1,p2,…pf的大小。
2.按照權(quán)利要求1所述的方法,其特征在于當公共指數(shù)v具有下述形式時v=2k這里,k是大于1的安全參數(shù),安全參數(shù)k也被選擇為素數(shù)。
3.按照權(quán)利要求1或2所述的方法,其特征在于至少部分地在第一部分整數(shù)內(nèi)選擇m個基數(shù)g1,g2,…gm。
4.按照權(quán)利要求2或3所述的方法,其特征在于安全參數(shù)k是一個小整數(shù),尤其是小于100的整數(shù)。
5.按照權(quán)利要求1-4之一所述的方法,其特征在于模數(shù)n的大小大于幾百個二進制位。
6.按照權(quán)利要求1-5之一所述的方法,其特征在于f個素數(shù)p1,p2,…pf的大小接近于被除以素數(shù)數(shù)目f的模數(shù)n的大小。
7.按照權(quán)利要求1-6之一所述的方法,其特征在于在f個素數(shù)p1,p2,…pf內(nèi),-選擇全等于1(mod4)的e個素數(shù),e可能為0(如果e為0,則下面將把模數(shù)n稱為基本模數(shù),如果e>0,下面將把模數(shù)n稱為復合模數(shù)),-其它f-e個素數(shù)被選擇為全等于3(mod4),f-e至少等于2。
8.按照權(quán)利要求7所述的方法,其特征在于為了產(chǎn)生全等于3(mod4)的f-e個素數(shù)p1,p2,…pf-e,執(zhí)行下述步驟-選擇全等于3(mod4)的第一素數(shù)p1,隨后-選擇第二素數(shù)p2,以致相對于基數(shù)g1,p2與p1互補,-執(zhí)行下述程序,區(qū)分兩種情況,選擇素數(shù)pi+1(1)i>m的情況-選擇全等于3(mod 4)的素數(shù)pi+1。(2)i≤m的情況-計算gi相對于i個第一部分素數(shù)pi的廓線(Profilei(gi))-如果Profilei(gi)平直,則選擇該素數(shù)pi+1,使得相對于gi,pi+1和p1互補,-否則,在i-1個基數(shù)g1,g2,…gi-1和它們的全部乘法組合中,選擇下面稱為g的數(shù)字,使得Profilei(g)=Profilei(gi),并且隨后選擇pi+1,使得Profilei+1(gi)≠Profilei+1(g)。(術(shù)語“互補”,“廓線”,“平直廓線”具有在說明部分中定義的含義)。
9.按照權(quán)利要求8所述的方法,其特征在于為了選擇最后的素數(shù)pf-e,使用下述程序區(qū)分三種情況(1)f-e-1>m的情況·選擇全等于3(mod4)的pf-e,(2)f-e-1=m的情況·相對于從p1~pf-e-1的f-e-1個第一部分素數(shù),計算Profilef-e-1(gm),··如果Profilef-e-1(gm)平直,則選擇pf-e-1,使得相對于gm,pf-e-1和p1互補,··否則···在從g1~gm-1的m-1個基數(shù)及它們的全部乘法組合中,選擇下面稱為g的數(shù)字,使得Profilei(g)=Profilei(gi),···隨后選擇pf-e,使得Profilef-e(gi)≠Profilef-e(gm),(3)f-e-1<m的情況·選擇pf-e,以便滿足下述兩個條件(3.1)第一條件·根據(jù)從p1~pf-e-1的f-e-1個第一部分素數(shù),計算Profilef-e-1(gf-e-1)?!ぁと绻鸓rofilef-e-1(gf-e-1)平直,則選擇pf-e,使得pf-e滿足相對于gf-e-1,pf-e和p1互補的第一條件,··否則,···在從g1~gm-1的f-e-1個基數(shù)及它們的全部乘法組合之內(nèi),選擇下面稱為g的數(shù)字,使得Profilei(g)=Profilef-e-1(gf-e-1),···隨后選擇pf-e,使得它滿足使Profilef-e(g)≠Profilef-e(gm)的第一條件,(3.2)第二條件·在從gf-e~gm的所有最后一些基數(shù)之內(nèi),選擇其廓線Profilef-e-1(gi)平直的那些基數(shù),隨后·選擇pf-e,以致pf-e滿足相對于這樣選擇的每個基數(shù),pf-e和p1互補的第二條件。
10.按照權(quán)利要求8或9所述的方法,其特征在于為了產(chǎn)生全等于1(mod4)的e個素數(shù),在進行下述兩個連續(xù)測試的情況下,評估從pf-e~pf的每個候選素數(shù)p(1)第一測試-計算從g1-gm的每個基數(shù)相對于候選素數(shù)p的Legendre符號,·如果Legendre符號等于-1,則拒絕候選素數(shù)p,·如果Legendre符號等于+1,則轉(zhuǎn)到下一基數(shù),繼續(xù)候選素數(shù)p的評估,并且隨后當已考慮了最后一個基數(shù)時,轉(zhuǎn)到第二測試,(2)第二測試-計算整數(shù)t,使得p-1可被2t除盡,但是不可被2t+1除盡,隨后-計算整數(shù)s,使得s=(p-1+2t)/2t+1,-把密鑰<s,p>應(yīng)用于每個公共值Gi,以便得到結(jié)果rr≡Gismodp]]>·如果r等于gi或-gi,則轉(zhuǎn)到下一公共值Gi+1,繼續(xù)第二測試,·如果r不等于gi或-gi,則應(yīng)用下述算法,計算因數(shù)u··該算法由關(guān)于從1~t-2的上標ii規(guī)定的下述程序列的多次重復組成··該算法實現(xiàn)兩個變量由r初始化的w和取從2~2t-2的值的jj=2ii,以及通過把密鑰<(p-1)/2t,p>應(yīng)用于CG(p)的非二次剩余,得到的數(shù)字b,隨后重復下述步驟1和2···步驟1計算w2/Gi(mod p),···步驟2使計算結(jié)果自乘到2t-ii-1次冪,····如果得到+1,則轉(zhuǎn)到下一公共值Gi+1,繼續(xù)第二測試,····如果得到-1,則計算jj=2ii,用w.bjj(mod p)替換w,隨后對具有上標ii的下一數(shù)值,繼續(xù)該算法,··在算法結(jié)束時,依據(jù)關(guān)系jj=2t-u,變量jj的值被用于計算整數(shù)u,隨后計算表達式t-u,出現(xiàn)兩種情況···如果t-u<k,則拒絕候選素數(shù)p,···如果t-u>k,繼續(xù)候選素數(shù)p的評估,并且隨后繼續(xù)第二測試,并轉(zhuǎn)到下一公共值Gi+1,如果在第二測試結(jié)束時,對于所有m個公共值Gi,該候選素數(shù)p都未被拒絕,則候選素數(shù)p被看作是全等于1(mod 4)的素數(shù)。
11.應(yīng)用按照權(quán)利要求1-10任一所述的方法,使得能夠產(chǎn)生f個素數(shù)p1,p2,…pf的一種方法,該方法用于借助所有或部分下述參數(shù)或者這些參數(shù)的衍生物-m對專用值Q1,Q2,…Qm和公共值G1,G2,…Gm(m大于或等于1),-由所述f個素數(shù)p1,p2,…pf的乘積構(gòu)成的公共模數(shù)n(f大于或等于2),-公共指數(shù)v;向控制者實體證明下述內(nèi)容-實體的真實性和/或-與該實體相關(guān)的消息M的完整性,所述模數(shù),所述指數(shù)和所述值由下述類型的關(guān)系連接Gi·Giv≡1·modn]]>或者Gi≡Qivmodn]]>所述指數(shù)為v=2k其中k是大于1的安全參數(shù),所述公共值Gi是小于f個素數(shù)p1,p2,…pf的基數(shù)gi的平方gi2,基數(shù)gi是這樣的基數(shù),以致不能在整數(shù)模數(shù)n環(huán)中,求解下述兩個等式的xx2≡gimodn 和x2≡-gimodn并且以致能夠在整數(shù)模數(shù)n環(huán)中,求解下述等式的xxv≡gi2modn]]>所述方法按照下述步驟實現(xiàn)稱為證人的實體,所述證人實體具有f個素數(shù)pi和/或素數(shù)的中國余數(shù)參數(shù),和/或公共模數(shù)n和/或m個專用值Qi和/或?qū)S弥礠i的f.m分量(Qi,j≡Qimod pj)的參數(shù),以及公共指數(shù)v的參數(shù);-證人計算整數(shù)模數(shù)n環(huán)中的承諾(commitment)R;每個承諾如下計算·通過執(zhí)行下述類型的運算,R≡rvmod n這里r是大于0,小于n的隨機因數(shù),·或者··通過執(zhí)行下述類型的運算Ri≡rivmodpi]]>這里ri是與素數(shù)pi相關(guān)的隨機值,并且0<ri<pi,每個ri屬于一個隨機因數(shù)集合{r1,r2,…rf},··隨后通過應(yīng)用中國余數(shù)方法,計算每個承諾;-證人接收一個或多個挑戰(zhàn)d。每個挑戰(zhàn)d包含下面稱為基本挑戰(zhàn)的m個整數(shù)di。根據(jù)每個挑戰(zhàn)d,證人如下計算響應(yīng)D·通過執(zhí)行下述類型的運算,D≡r·Q1d1·Q2d2····Qmdmmodn]]>·或者··通過執(zhí)行下述類型的運算Di≡ri·Qi,1d1·Qi,2d2····Qi,mdmmodpi]]>··并且隨后應(yīng)用中國余數(shù)方法,計算響應(yīng)D;所述方法使得存在和挑戰(zhàn)d及承諾R同樣多的響應(yīng)D,每組數(shù)字R,d,D構(gòu)成表示為{R,d,D}的三元組。
12.按照權(quán)利要求11所述的方法,其特征在于為了實現(xiàn)如上所述的多對專用值Q1,Q2,…Qm和公共值G1,G2,…Gm,所述方法使用素數(shù)p1,p2,…pf和/或中國余數(shù)參數(shù),基數(shù)g1,g2,…gm和/或公共值G1,G2,…Gm-或者通過求Gi的第k個平方根模數(shù)n,或者通過取Gi的第k個平方根模數(shù)n的倒數(shù),計算專用值Q1,Q2,…Qm,-或者計算專用值Q1,Q2,…Qm的f.m專用分量Qi,j,使得Qi,j≡Qi(mod pj)。
13.按照權(quán)利要求12所述的方法,其特征在于為了計算專用值Q1,Q2,…Qm的f.m專用分量Qi,j-應(yīng)用密鑰<s,pj>計算z,使得z≡Gis(modpj)]]>-并且使用t和u值。-當pj全等于1(mod 4)時,如前所述計算t和u值,并且·當pj全等于3(mod 4)時,t和u的值分別取為1和0(t=1,u=0),··如果u值為0,則認為所有的數(shù)字zz為···zz等于z,或者··zz等于z與1的2ii-t2ii次原根中的每個原根的乘積(mod pj),ii從1變化到min(k,t),··如果u為正數(shù),則認為所有的數(shù)字zz等于za與1的2k2k次根中的每個根的乘積(mod pj),za表示在權(quán)利要求10中實現(xiàn)的算法結(jié)束時,變量w的值,-據(jù)此推導出分量Qi,j的至少一個值,當使用等式 時,該值等于zz,否則,當使用等式 時,該值等于zz的zz(modpj)的倒數(shù)。
全文摘要
證明由下述參數(shù)提供:一個公共模數(shù)n,由f個素數(shù)p
文檔編號H04L9/32GK1372739SQ0080319
公開日2002年10月2日 申請日期2000年1月27日 優(yōu)先權(quán)日1999年1月27日
發(fā)明者路易斯·基羅, 讓-加奎斯·奎斯括特 申請人:法國電信公司, 法國電視傳播公司, 馬思·里茲克