專利名稱:用于證明實體真實性和消息完整性的專用密鑰集的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于證明實體的真實性和/或消息的完整性和/或真實性的過程,系統(tǒng)和裝置的技術(shù)領(lǐng)域。
發(fā)明人為Louis Guillou與Jean-Jacques Quisquater的專利EP 0311 470 BL描述了這樣的過程。以下將通過術(shù)語“GQ專利”或“GQ過程”針對他們的工作進行對比。以下術(shù)語“GQ2”,,“GQ2發(fā)明”或“GQ2技術(shù)”有時將用來表示在GQ技術(shù)中新的發(fā)展,它們處于申請未決,由France Telecom,TDF和Mathrizk公司與本申請在同日提交,其發(fā)明人是Louis Guillou與Jean-Jacques Quisquater。在以下的說明中必要時將回顧這些未決申請的特性性質(zhì)。
根據(jù)GQ過程,被稱為“受信當(dāng)局”的實體向每一被稱為“證人”的實體指定一身份,并計算其RSA簽字在一定制過程期間,受信當(dāng)局向證人給出一身份和簽字。此后,證人聲明“這是我的身份;我知道其RSA簽字?!弊C人無需展現(xiàn)它而證明他知道他的身份的RSA簽字。借助于由受信根據(jù)分配的RSA公開驗證密鑰,被稱為“控制器”的一個實體無需獲知其本身而能夠驗證RSA簽字對應(yīng)于宣稱的身份。使用GQ過程的機制操作“無需知識的轉(zhuǎn)移”。根據(jù)GQ過程,證人不知道受信當(dāng)局使用它簽署了大量身份的RSA私人密鑰。
以前所描述的GQ技術(shù)使用RSA技術(shù)。但是如果RSA技術(shù)真的依賴于模數(shù)n的因子分解,則這種依賴關(guān)系不是等價關(guān)系,相反,如通過被稱為針對實現(xiàn)RSA技術(shù)的不同數(shù)字簽字標(biāo)準(zhǔn)的“乘法”攻擊所展示的那樣。
GQ2技術(shù)的目的是雙重的一方面,是為了改進與RSA技術(shù)相關(guān)的性能;另一方面,則是為了防止RSA技術(shù)固有的問題。私人GQ2私人密鑰的知識等價于模數(shù)n的因子分解的知識。任何在GQ2三件組水平的攻擊都是回到模數(shù)n的因子分解這時存在等價關(guān)系。使用GQ2技術(shù),不論對于簽字或鑒別實體本身及對于控制實體都降低了工作負(fù)荷。較好地使用因子分解問題,GQ2技術(shù)在安全性和性能兩方面都避免了RSA技術(shù)所出現(xiàn)的缺陷。
GQ過程實現(xiàn)了512位或更高位數(shù)的模(modulo)計算。這些計算關(guān)系到具有將近提高到大約216+1冪的相同量級的數(shù)碼。現(xiàn)有的微電子基礎(chǔ)結(jié)構(gòu),特別是在銀行卡的領(lǐng)域,使用沒有算術(shù)協(xié)處理器的單片式可自編程微處理器。在象GQ過程這樣的過程中所涉及的與復(fù)合算術(shù)運算相關(guān)的工作負(fù)荷,導(dǎo)致了對使用銀行卡支付他們的消費的顧客不滿意的計算時間。這里回顧到在尋求提高支付卡的安全性時,儲蓄當(dāng)局已經(jīng)提出了特別難以解決的問題。確實,必須解決兩個明顯矛盾的問題對每一卡使用不斷增加的長度及不同密鑰而提高安全性,而同時要防止導(dǎo)致對用戶太多計算時間的工作負(fù)荷。此外這一問題迄今變得特別尖銳,因為要考慮到現(xiàn)有的基礎(chǔ)結(jié)構(gòu)及現(xiàn)有的微處理器組件。
GQ2技術(shù)帶來了對這一問題的解決,同時保持了安全性。
GQ2技術(shù)實現(xiàn)了具有特別性質(zhì)的素因子。不同技術(shù)存在產(chǎn)生了這些素因子。本發(fā)明的目的是使得能夠系統(tǒng)地產(chǎn)生這類素因子的一個過程。它還涉及特別在實現(xiàn)GQ2技術(shù)中可由它們構(gòu)成的應(yīng)用?,F(xiàn)在這里強調(diào),允許它們被獲得的這些特定素因子及過程能夠用于GQ2技術(shù)領(lǐng)域之外。
本發(fā)明用于對控制器實體驗證的過程,-實體的真實性和/或-與這一實體相關(guān)的消息M的完整性。
這種過程實現(xiàn)-由f個素因子p1,p2,...pf(f大于或等于2)的乘積構(gòu)成的公開模數(shù)n,或?qū)崿F(xiàn)f個素因子,-m個不同的整數(shù)基數(shù)g1,g2,...gm(m大于或等于1),gi小于f個素因子p1,p2,...pf-m對私人Q1,Q2,...Qm和公開G1,G2,...Gm值(m大于或等于1)或從它們推導(dǎo)的參數(shù)。
所述模數(shù)和所述私人和公開值通過以下類型的關(guān)系聯(lián)系Gi·Qiv≡1·mod n或Gi≡Qivmod n所述公開值Gi是基數(shù)的平方gi2,v表示以下形式的公開指數(shù)v=2k其中k是大于1的安全性參數(shù)。
根據(jù)本發(fā)明的過程包括以滿足以下條件的方式產(chǎn)生f個素因子p1,p2,...pf和/或m個基數(shù)g1,g2,...gm的步驟。
第一個條件根據(jù)第一個條件,每一方程式Xv≡g12mod n(1)具有在模n整數(shù)環(huán)中x的解。
第二個條件根據(jù)第二個條件,這里Gi≡Qivmod n,在通過使Qi自乘為平方模n而獲得的m個數(shù)碼qi之中,秩的k-1倍,它們中之一不同于±gi(換言之是非平凡的)。
根據(jù)第二個條件,這里Gi·Qiv≡1·mod n,在通過使Qi的逆自乘模n為平方模n而獲得的m個數(shù)碼qi之中,秩的k-1倍,它們中之一不同于±gi(換言之是非平凡的)。
從而可以說,根據(jù)通常的計法±gi表示數(shù)碼gi和n-gi。
第三個條件根據(jù)第三個條件,在以下2m個方程式中X2≡gimod n (2)X2≡-gimod n (3)至少它們之一具有整數(shù)模n的環(huán)中的x解。
根據(jù)本發(fā)明用于產(chǎn)生f個素因子p1,p2,...pf和/或m個基數(shù)g1,g2,...gm的過程包含首先選擇的步驟·安全性參數(shù)k·m個基數(shù)g1,g2,...gm和/或f個素因子p1,p2,...pf,根據(jù)是產(chǎn)生f個素因子p1,p2,...pf還是m個基數(shù)g1,g2,...gm。
最好至少部分地在第一整數(shù)之中選擇m個基數(shù)g1,g2,...gm。
安全性參數(shù)k最好是一個小的整數(shù),具體來說小于100。
模數(shù)n的大小最好大于幾百位。
f個素因子p1,p2,...pf最好具有接近于模數(shù)除以因子個數(shù)f的大小。
為了測試第一個條件,通過實現(xiàn)以下給出的算法驗證數(shù)碼k,p,g的相容性,其中h表示一個數(shù),使得2h除盡g的相對于p的秩,而2h+1不能除盡它。h是從勒讓德記號(g|p)及從等于CG(p)中第2t個的單位原根的數(shù)b計算的,其中勒讓德記號(gi|pj)和t在以下說明中具有所定義的意義。
這里是這一算法的步驟·如果(g|p)=-1則h=t·如果(g|p)=+1且t=1,則h=0·如果(g|p)=+1且t>1,則過程如下。
密鑰<(p-1+2t)/2t+1,p>施加于G,結(jié)果w這樣獲得·如果w=+g,則h=0·如果w=p-g,則h=+1。
如果w不同于+g或p-g(這種情形下,t大于2),實施計算子模數(shù)。變量c因此被初始化為值b,然后計算子模數(shù)的以下步驟對于i從t-1到2的值被疊代步驟1密鑰<2i,p>施加于w/g(modp),*如果所得結(jié)果等于+1,則進到步驟2,*如果所得結(jié)果等于-1,則值i賦予h,而w由w·c(modp)代替,步驟2c由c2(modp)代替,所尋求的h的值這樣獲得,即根據(jù)步驟1最后一次施加密鑰<2i,p>,產(chǎn)生等于-1的結(jié)果。
可能記得
-當(dāng)h>1時并當(dāng)k+h>t+1時,則k,g,p是相容的,-當(dāng)h=0或1時,而不論k的值如何,或者當(dāng)h>1時并當(dāng)k+h≤t+1時,則k,g,p是相容的。
為了測試第二個條件,進行一個檢驗,即至少一個集合{δi,1...δi,f}是變量或零,(以下的說明中δ具有所定義的意義)。
為了測試第三個條件,進行一個檢驗,即從g1到gm有一個基數(shù)gi使得f個勒讓德記號(gi|p1)到(gi|pf)都等于+1或者勒讓德記號(-gi|p1)到(-gi|pf)都等于+1。
為了計算私人值Q1,Q2,...Qm(Qi,j≡Qimod pj)的f·m私人分量Qi,j,其中Gi≡Qivmod n,過程如下,根據(jù)t的值而區(qū)分情形。
其中t=1(即如果pj≡3(mod4))。
·計算一個數(shù)sj使得sj≡((pj+1)/4)k(mod(pj-1)/2),·其密鑰<sj,pj>被推導(dǎo)出,· 密鑰<sj,pj>施加于Gi,· 于是有w≡Gisj(modpj)。
Qi,j的兩個可能的值是w,pj-w。
其中t=2(即如果pj≡5(mod8))。
·計算一個數(shù)sj使得sj≡((Pj+3)/8)k(mod(pj-1)/4),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于Gi,·于是有w≡Gisj(modpj),且w’≡w·z(modpj),其中z在以下說明中具有所定義的意義。
Qi,j的四個可能的值是w,pj-w,w’,pj-w’。
其中t>2(即如果pj≡2t+1(mod2t+1)),其中h=0或h=1,·計算一個數(shù)sj使得sj≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于Gi,·于是有w≡Gisj(modpj)。
Qi,j的2min(k,t)個可能的值等于w乘以CG(pj)中單位第2min(k,t)根任何之一的乘積。
-其中t>2(即如果pj≡2t+1(mod2t+1)),h>1及h+k≤t+1,·計算一個數(shù)sj使得sj≡((pj-1+2t)/2t+1)k+h-1(mod(pj-1)/2t),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于第2h-1冪Gi,·于是獲得w,Qi,j的2k個可能的值屬于w乘以CG(pj)中單位第2k+h-1原根的所有乘積。
為了計算私人分量Qi,j,其中Gi·Qiv≡1.mod n,在密鑰<sj,pj>中sj由((pj-1)/2t)-sj代替。
本發(fā)明還涉及使用該方法允許產(chǎn)生f個素因子p1,p2,...pf或m個基數(shù)g1,g2,...gm的過程。
所述過程是要證明控制器實體,-實體的真實性和/或-與這一實體相關(guān)的消息M的完整性,借助于私人的Q1,Q2,...Qm和公開的G1,G2,...Gm值的m對(m大于或等于1)或從它們推導(dǎo)出的參數(shù),特別是借助于私人分量Qi,j。
根據(jù)以下步驟所述過程實現(xiàn)稱為證人的實體。
所述證人實體具有f個素因子pi,和/或素因子的中國余數(shù)的參數(shù),和/或公開模數(shù)n,和/或m個私人值Qi,和/或f·m個私人值Qi的私人分量Qi,j及公開指數(shù)。
證人計算在整數(shù)模n環(huán)中的委托R。每一委托計算如下·或者通過進行以下類型的運算R≡rvmod n其中r是隨機數(shù),使得0<r<n,·或者通過在進行以下類型的運算之后施加中國余數(shù)的方法Ri≡rivmod pi其中ri是與pi相關(guān)的隨機數(shù),使得0<ri<pi,每一ri屬于隨機數(shù){r1,r2,到rf}的一個集合。
證人接收一個或多個查詢d。每一查詢d包括以下稱為基本查詢的m個整數(shù)di。證人從每一查詢d計算一個響應(yīng)D,·或者通過以下類型的運算D≡r·Q1d1·Q2d2到Qmdmmod n·或者通過在進行以下類型的運算之后施加中國余數(shù)的方法Di≡r·Qi,1d1·Qi,2d2...Q1,mdmmod pi所述過程使得有與查詢d及委托R同樣多的響應(yīng)D。每一組數(shù)R,d,D構(gòu)成一個三元組,標(biāo)記為{R,d,D}。
說明GQ技術(shù)的目標(biāo)是實體和消息的動態(tài)鑒別及消息的數(shù)字簽字。這是“無需知識轉(zhuǎn)移”的技術(shù)。一個實體證明它知道一個或多個私人數(shù)碼。另一個實體控制它知道對應(yīng)的公開的一個數(shù)碼或多個數(shù)碼。證明實體希望不展現(xiàn)私人的一個數(shù)碼或多個數(shù)碼而能確信控制實體,于是能夠按所需的次數(shù)使用它們。
每一GQ模式基于大的機密素數(shù)組成的公開模數(shù)。公開指數(shù)v和公開模數(shù)n借助于一個或多個一般方程式共同形成表示著“自乘為冪v模數(shù)n”的驗證密鑰<v,n>并實現(xiàn),所有相同的直接類型G≡Qv(mod n)或逆G×Qv≡1(mod n)。該類型對控制實體內(nèi)而不是證明實體內(nèi)的計算操作有效;實際上安全性分析混淆了這兩個類型。每一個一般的方程式把公開數(shù)G和私人數(shù)碼Q聯(lián)系在一起共同形成一對數(shù)碼{G,Q}。總之,每一GQ模式對相同的密鑰<v,n>實現(xiàn)一個或多個數(shù)碼對{G,Q}。
這里稱為GQ1的GQ模式的傳統(tǒng)版本使用RSA數(shù)字簽字模式。這時驗證密鑰<v,n>是RSA公開密鑰,其中奇數(shù)v指數(shù)最好是一個素數(shù)。每一GQ1模式一般使用單一數(shù)碼對{G,Q}公開數(shù)碼G是根據(jù)作為RSA數(shù)字簽字模式的整體部分的格式機制從標(biāo)識數(shù)據(jù)推導(dǎo)出來的。私人數(shù)碼Q或其模n逆是標(biāo)識數(shù)據(jù)的RSA簽字。證明實體從其自身的識別數(shù)據(jù)展示RSA簽字知識,而這一證明并不揭示簽字,從而保持機密而可以按需要多次使用。
GQ1模式通常用于兩個密鑰水平RSA簽字私人密鑰是為鑒定實體的當(dāng)局保留的,實體通過標(biāo)識數(shù)據(jù)將它們彼此區(qū)別開。一般來說,這種模式是“基于身份的”。于是,芯片卡發(fā)放者在發(fā)放每一卡時使用其RSA私人密鑰,以便計算私人數(shù)碼Q,該數(shù)碼是作為多樣化的私人密鑰刻寫在卡中的;或者在計算機網(wǎng)絡(luò)上的顧客每當(dāng)?shù)卿洉r使用其RSA私人密鑰,以便計算一私人數(shù)碼Q,這將是顧客在這階段暫時的私人密鑰。證明實體,芯片卡或顧客登錄,是知道他們的標(biāo)識數(shù)據(jù)的RSA簽字的;他們并不知道RSA密鑰,該密鑰在密鑰分級結(jié)構(gòu)中處于緊靠其上的水平。然而,通過GQ1以768位模數(shù)在當(dāng)局的水平對實體的動態(tài)鑒別,要求與通過RSA以帶有三個素因子的512位模數(shù)在每一實體的水平對實體動態(tài)鑒別,大約相同的工作負(fù)荷,這允許證明實體在計算模乘積的結(jié)果之前通過計算模每一素因子的結(jié)果,使用中國余數(shù)技術(shù)。
然而,當(dāng)局和被鑒定的實體之間密鑰的分層結(jié)構(gòu)不是強制性的。GQ1可用于證明實體特定的模數(shù),這允許使用中國余數(shù)技術(shù)以降低證明實體的工作負(fù)荷,這基本不改變控制實體的工作負(fù)荷,這與證明實體級的模數(shù)可能短于當(dāng)局級的模數(shù)這一事實不同,例如512位與768位相比。
當(dāng)實體知道其自己模數(shù)的素因子時,為何使用數(shù)字簽字RSA模數(shù)呢?這里稱為GQ2的GQ模數(shù)的另一版本直接使用模數(shù)n的因子分解問題。在這種場合,“直接”簽字而“不使用RSA簽字”。GQ2的目標(biāo)在于這樣的事實,即不僅降低證明實體的負(fù)荷,而且降低控制實體的負(fù)荷。證明實體表示知道其自身的模數(shù)的分解,而這證明并不顯示該分解按需要被多次使用,因而保持了機密。GQ2協(xié)議的安全性等價于模數(shù)的因子分解。
每一證明實體有其自身的模數(shù)n。每一GQ2模式實現(xiàn)參數(shù)k,這是決定公開指數(shù)v=2k的一個大于1的小的數(shù),以及一個或多個數(shù)對{G1,Q1}到{Gm,Qm}。每一公開數(shù)碼Gi是大于1的小的數(shù)gi并被稱為“基數(shù)”的平方。所有證明實體可以使用相同公開數(shù)碼或數(shù)碼G1到Gm。這時模數(shù)n及私人數(shù)碼或數(shù)碼Q1到Qm的因子分解在密鑰的分層結(jié)構(gòu)中處于相同等級。GQ2基本密鑰的每一集合由兩個必要和充分條件所定義。
-對每一基數(shù),兩個方程式x2≡±gi(mod n)在模n的整數(shù)環(huán)中有x的解,即±gi是兩個模n非二次剩余。
-對于每一基數(shù),方程式xv≡gi2(mod n),其中v=2k,在模n的整數(shù)環(huán)中有x的解。私人數(shù)碼Qi或其模n逆都不是這些解。
給出的第二個條件,對于數(shù)±gi作為兩個模n非二次剩余,模數(shù)n必須包含至少兩個與3(mod 4)同余的素因子,相對于它們gi勒讓德記號不同。因而,由沒有或只一個與3(mod 4)同余的素因子組成的任何模數(shù)不允許建立GQ2基本密鑰集合,這偏好與3(mod 4)同余的素因子。隨機抽取大素數(shù),大約它們的一半證明是與3(mod 4)同余的,而一半與1(mod 4)同余。因而,許多使用中的RSA模數(shù)不允許建立基本GQ2密鑰集合。
我們這里引入GQ2推廣密鑰的集合用來克服這一限制,使得能夠使用GQ2技術(shù)于任何模數(shù),特別是任何RSA模數(shù);它們基于兩個必要和充分原理。
第一個原理重復(fù)第二GQ2基本條件。
對每一基數(shù)g1到gm,方程式x2≡gi2(mod n)其中v=2k,在模n的整數(shù)環(huán)中有x的解。
因為私人數(shù)碼Qi或其模n逆是方程式的解,逐次模n求平方,將其轉(zhuǎn)換為數(shù)qi,它是Gi在模n整數(shù)環(huán)中的平方根。根據(jù)數(shù)qi是否等于兩個數(shù)gi或n-gi之一,或者不同于兩個數(shù)gi或n-gi,我們稱它為平凡的或非平凡的。當(dāng)數(shù)qi是非平凡時,除得盡qi2-gi2的n則除不盡qi-gi或qi+gi。因而任何非平凡數(shù)qi揭示了模數(shù)n的因子分解。
n=pgcd(n,qi-gi)×pgcd(n,qi+gi)第二個原理擴大了第一GQ2基本條件。
在數(shù)q1到qm之中,至少一個數(shù)qi是非平凡的。
要注意,如果當(dāng)數(shù)±gi在模n整數(shù)環(huán)中是非二次剩余時數(shù)qi存在,則數(shù)qi明顯是非平凡的。于是,基本GQ2密鑰集合完全是一般使用中的允許使用任何模數(shù)的GQ2密鑰集合的一部分,即任何不論與3或1(mod 4)同余的大素數(shù)組成。另一方面,一般使用中的許多GQ2集合不是GQ2基本密鑰集合。一般使用中的每一GQ2密鑰集合是以下兩中情形之一。
-當(dāng)2×m個數(shù)±gi到±gm都是非二次剩余時,它是GQ2基本密鑰集合。
-當(dāng)2×m個數(shù)±gi到±gm中存在至少一個二次剩余時,它不是GQ2基本密鑰集合;它是我們這里稱為GQ2互補密鑰集合。
本發(fā)明涉及GQ2互補密鑰集合,按定義,是一般使用中那些不是基本的GQ2密鑰集合。與先前的兩個原理不同,這種類型的集合必須滿足第三個條件。
-在2×m個數(shù)±gi到±gm中存在至少一個二次剩余。為了認(rèn)識該問題并理解我們?yōu)槠涮峁┑慕夥?,即本發(fā)明,首先分析由非平凡數(shù)q展現(xiàn)的模數(shù)n的分解,然后回憶中國余數(shù)技術(shù),然后是伽羅華域CG(p)的秩的概念;然后學(xué)習(xí)在CG(p)中“自乘到平方”及在CG(p)中二次剩余的“求平方根”的函數(shù);最后分析以上所述三原理的適用性。
模數(shù)的分解的分析-正如模數(shù)分解為f個素因子p1到pf那樣,模n的整數(shù)環(huán)分解為f個伽羅華域CG(p1)到CG(pf)。在每一個域中有單位即±1的兩個平方根。因而在環(huán)中,有單位的2f個平方根。每一個私人數(shù)碼Q1到Qm定義了數(shù)Δi=qi/gi(mod n),它是環(huán)中單位的2f個平方根之一換言之,n除盡Δi2-1。
·當(dāng)qi為平凡即Δi=±1時,n除盡Δi-1或Δi+1,因而Δi沒有展現(xiàn)模數(shù)n的任何分解。
·當(dāng)qi為非平凡即Δi≠±1時,n除不盡Δi-1與Δi+1,因而Δi展現(xiàn)分解,n=pgcd(n,Δi-1)×pgcd(n,Δi+1),每一域中從Δi的值所得結(jié)果一方面是除盡Δi-1的素因子或因子,另一方面是它或它們除盡Δi+1。
讓我們考察數(shù)q的乘法合成律。兩個數(shù){q1,q2}給出一個復(fù)合數(shù)q1×q2(mod n)。
-當(dāng)q1為非平凡而q2為平凡時,復(fù)合數(shù)q1×q2(mod n)是非平凡的;它展現(xiàn)與q1相同的分解。
-當(dāng)q1和q2為非平凡且Δ1=±Δ2時,復(fù)合數(shù)q1×q2(mod n)是平凡的;它不展現(xiàn)分解。
-當(dāng)q1和q2為非平凡且Δ1≠±Δ2時,復(fù)合數(shù)q1×q2(mod n)是非平凡的;它展現(xiàn)第三個分解。
三個數(shù){q1,q2,q3}給出四個復(fù)合數(shù){q1×q2,q1×q3,q2×q3q1×q2×q3(mod n)},即總共七個數(shù);這樣m個數(shù)給出2m-m-1個復(fù)合數(shù),即總共2m-1個數(shù)。
讓我們考慮一般使用的GQ2密鑰的一個集合,包括i個基數(shù)和g1到gi及i個給出i個數(shù)q1到qi從而i個數(shù)Δ1到Δi的私人數(shù)Q1到Qi,Δ1到Δi是單位的平方根。讓我們通過給出數(shù)qi+1從而根Δi+1的私人數(shù)Qi+1考慮另一基數(shù)gi+1。
·總共2i+1-1個數(shù)包括以下兩種情形每一個中那么多的非平凡數(shù)。
-根Δi+1是平凡的,且至少一個根Δ1到Δi是非平凡的。
-根Δi+1是非平凡的,且出現(xiàn)在2×i個根±Δ1到±Δi中。
·其中根Δi+1是非平凡的,且不出現(xiàn)在2×i個根±Δ1到±Δi中,每一出現(xiàn)qi+1的復(fù)合數(shù)是非平凡的。
于是,當(dāng)m個數(shù)q1到qm中至少一個是非平凡的時,總共2m-1個數(shù)的多一半是非平凡的。
按定義,我們可以說,當(dāng)2l-l-1對應(yīng)的復(fù)合數(shù)的每一個是非平凡時,1<f個非平凡數(shù){q1,q2...qi}是獨立于模數(shù)n的,換言之,總共2l-1個數(shù)都是非平凡的。這時這些2l-1個數(shù)的每一個都展現(xiàn)模數(shù)n不同的分解。
當(dāng)f個素因子不同時,有模數(shù)n的2f-1-1個分解。這時,如果f-1數(shù)q是獨立的,則在2f-1-1個分解和包括f-1個獨立數(shù)及2f-1-f個對應(yīng)的復(fù)合數(shù)的總共2f-1-1個數(shù)之間有一個一一對應(yīng)的關(guān)系。
中國余數(shù)-設(shè)兩個數(shù)a和b是素數(shù),它們之間有0<a<b,且兩個數(shù)Xa從0到a-1及Xb從0到b-1;要確定從0到a×b-1唯一的一個數(shù)X使得Xa≡X(mod a)以及Xb≡X(mod b)。數(shù)α≡{b(moda)-1}(mod a)是中國余數(shù)的參數(shù)。以下是中國余數(shù)的基本運算。
x≡Xb(moda)y≡Xa-x;如果y是負(fù)數(shù),則以y+a代替yz≡α×y(moda)X=z×b+Xb總之,我們寫出X=中國余數(shù)(Xa+Xb)當(dāng)f個素因子置于升序時,從最小的p1到最大的pf,中國余數(shù)的參數(shù)可以是如下(有一個小于素數(shù)因子,即f-1)。
第一個參數(shù)是α≡(p2(mod p1))-1(modp1)。
第二個參數(shù)是β≡(p1×p2(mod p3))-1(modp3)第i個參數(shù)是λ≡(p1×...pi-1(mod p1))-1(modp1)。
等等。
在f-1個基本運算中,數(shù)X是從0到n-1建立的,來自從X1到Xf任何f個分量的集合,其中Xf從0到pf-1;-帶有第一個參數(shù)的第一個結(jié)果(mod p1×p2),-帶有第二個參數(shù)的第一個結(jié)果(mod p1×p2×p3),-直到帶有最后參數(shù)的最后的結(jié)果(mod n=p1×p2×...pf)。
總之,給出的素因子p1到pf,整數(shù)模n的環(huán)的每一元素具有兩個相等的表示-f個數(shù)X1到Xf,每一個素因子一個分量Xj≡X(mod pj),從0到n-1的一個數(shù)X,X=中國余數(shù)(X1,X2到Xf)。
CG(p)中數(shù)的秩設(shè)計它一奇素數(shù)p和小于p的數(shù)a,即0<a<p。按定義,a相對于p的秩是由{x1=a;然后對于i≥1,xi+1≡a×xi≡(modp)}定義的流{X}的周期。借助于費馬定理,我們獲得xi+p≡ap×xi≡a×xi≡xi+1(modp)。于是,數(shù)a相對于素數(shù)p的秩是p-1或者p-1的除數(shù)。
例如,當(dāng)(p-1)/2是一奇素數(shù)p’時,伽羅華域CG(p)包括秩為1的數(shù)這數(shù)是1,秩序為2的數(shù)這數(shù)是-1,秩為p’的p’-1個數(shù),及秩為2×p’=p-1的p’-1個數(shù)。在CG(p)中,秩為p-1的任何數(shù)是一個“生成元”。分解是由于這樣的事實,即CG(p)中一生成元順序的冪,即對于從1到p-1的指數(shù)的流{X}的項,形成CG(p)的所有非零元素的一個置換。
設(shè)有一CG(p)的生成元y。讓我們作為i和P-1的函數(shù)計算數(shù)yi(modp)的秩。當(dāng)i與p互素時,它是P-1。當(dāng)i除盡p-1時,它是(p-1)/i。在所有的情形下,它是(p-1)/pgcd(p-1,i)。
按定義,歐拉函數(shù)(n)是小于n而與n互素的數(shù)。在CG(p)中,有(p-1)個生成元。
通過示例,秩給出對RSA的基礎(chǔ)很好的理解。模數(shù)n是f個素因子p1到pf與f≥2的乘積。對從p1到pf的每一素因子pj公開指數(shù)e必須是與pj-1互素的。這時密鑰<e,pj>遵從CG(pj)的元素的秩它置換CG(pj)的元素;存在一個數(shù)dj,一般是可能的最小的,使得pj-1除盡e×dj-1。密鑰<dj,pj>使CG(pj)的元素置換逆向。這些f個置換,CG(p1)到CG(pf)每一域中一個,在模n整數(shù)環(huán)中由公開密鑰<e,n>相加的RSA置換表示。存在一般來說是最小可能的一個數(shù)d,使得ppcm(p1-1,p2-1,...pf-1)除盡d×e-1。對從p1到pf的每一素因子pj,我們有dj≡d(mod pj-1)。由公開密鑰<e,n>相加的RSA置換是通過私人密鑰<d,n>求逆。
CG(p)中的平方-讓我們定義一個數(shù)t,使得p-1能夠被2t除盡,但是不能被2t+1除盡。每一個大素數(shù)出現(xiàn)在一個類別中,并只出現(xiàn)在一個類別中t=1,t=2,t=3,t=4等。如果考慮充分大個數(shù)的連續(xù)的素數(shù),在p與3(mod 4)同余的第一類別中大約兩個數(shù)中一個,在p與5(mod 8)同余的第二類別中四個數(shù)中一個,在p與9(mod 16)同余的第三類別中8個數(shù)中一個,在p與17(mod 32)同余的第四類別中16個數(shù)中一個,等等;平均在在p與2t+1(mod 2t+1)同余的第t類別中2t個數(shù)中有一個。
因為在CG(p)中x與p-x有相同的平方,<2,p>不會置換CG(p)。CG(p)中的“自乘平方”函數(shù)可由一有向圖表示,其中域的每一非零元素出現(xiàn)。讓我們根據(jù)每一元素的秩的奇偶性分析圖在分支和循環(huán)中的結(jié)構(gòu)。
-零元素是固定的。它是0。對于沒有其它元素與其連接的零元素不定義秩;零元素是孤立的。
-單位元素是固定的。它是1,是唯一的秩為1的元素。單位在CG(p)中的所有的根在與1連接的分支中。設(shè)y是CG(p)的非二次剩余,這無所謂;密鑰<(p-1)/2t,p>轉(zhuǎn)換y為由b標(biāo)記的-1的第2t-1個原根,我們有y(p-1)/2≡-1(modp)。因而在CG(p)中,b對于從1到2t-1的指數(shù)的冪是單位的除去1之外的2t-1個根它們組成與1連接的分支。
-任何偶數(shù)秩元素的平方是其秩可由二除盡的另一元素。因而,偶數(shù)秩的每一元素位于一個分支中;每一分支包含一個可由二除盡但不能由四除盡的秩數(shù),如果t≥2,則可由四但不可由八除盡的秩的兩個數(shù),然后,如果t≥3,則可由八但不可由十六除盡的秩的四個數(shù),然后,如果t≥4,則可由十六但不可由32除盡的秩的八個數(shù),等等。所有的分支類似于與1連接的分支;每一分支的2t-1個樹葉是非二次剩余;每一分支包含2t-1個元素并連接到奇數(shù)秩的一個元素;有(p-1)/2t個分支都具有相同的長度t。
-非單位元素的奇數(shù)秩的然后元素的平方是具有相同秩的另一元素。密鑰<2,p>置換所有奇數(shù)秩的(p-1)/2t個元素。該置換分解為置換循環(huán)。循環(huán)的數(shù)目取決于(p-1)/2t的因子分解。對于(p-1)/2t的每一除數(shù)p’,有一包含秩為p’的(p’)個元素的循環(huán)。應(yīng)當(dāng)記住,按定義,歐拉函數(shù)(p’)是小于p’而與p’互素的數(shù)的個數(shù)。例如,當(dāng)p’=(p-1)/2t是素數(shù)時,秩為p’的p’-1個數(shù)形成大的置換循環(huán)。
圖1A到1D每一個表示對于分別與3(mod 4)同余,與5(mod 8)同余,與9(mod 16)同余,與17(mod 32)同余的p的圖的片斷。
-分支上的樹葉由白色圓圈表示;這些是非二次剩余。
-分支中的結(jié)點由灰色圓圈表示;有偶數(shù)秩的二次元素。
-循環(huán)中的結(jié)點由黑色圓圈表示;有奇數(shù)秩的二次元素。
CG(p)中的平方根-已知a是CG(p)的二次剩余,我們來看如何計算方程式x2≡a(mod p)的解,即在CG(p)中“求平方根”。當(dāng)然,有幾種獲得相同結(jié)果的方法可參照由Henri Cohen的書a Course inComputational Algebraic Number Theory(計算代數(shù)數(shù)論教程)31到36頁,作為Graduate Texts in Mathematics(數(shù)學(xué)研究生課本)(GTM138)叢書,卷138,1993年由Springer在柏林出版。
數(shù)s=(p-1+2t)/2t-1給出密鑰<s,p>,其值為<p+1)/4,p>當(dāng)p與3(mod 4)同余時,<p+3)/8,p>當(dāng)p與5(mod 8)同余時,<p+7)/16,p>當(dāng)p與9(mod 16)同余時,<p+15)/32,p>當(dāng)p與17(mod 32)同余時,等等。
密鑰<s,p>把一個循環(huán)中的任何元素轉(zhuǎn)換為該循環(huán)中先前的元素。當(dāng)a是奇數(shù)秩時,它是奇數(shù)的秩的解;我們稱之為w。確實,在CG(p)中,w2/a的值是a自乘冪(2×(p-1+2t)/2t+1)=(p-1)/2t。其它解是偶數(shù)秩的;它是p-w。
一般,密鑰<s,p>把任何二次剩余a轉(zhuǎn)換為一個第一解近似,我們稱之為r。由于a是二次剩余,密鑰<2t-1,p>一定把r2/a轉(zhuǎn)換為1。為了趨近a的平方根,讓我們使r2/a自乘為冪2t-2(mod p)以獲得+1或-1。如果結(jié)果是+1,則新的近似仍然是r,否則如果結(jié)果是-1則成為b×r(mod p),已知b表示1在域CG(p)中的任一第2t個原根。從而,密鑰<2t-2,p>把新的近似轉(zhuǎn)換為1。也能夠使用密鑰<2t- 3,p>并如必要乘以b2(mod p)等求取近似。
以下的算法是求解該方程式。它使用數(shù)以上所定義的數(shù)a,b,p,r和t及兩個變量c表示逐次校正,w表示逐次近似。在算法的開始,c=b及w=r。在計算的結(jié)束,兩個解是w和p-w。
對于i從t-2到1,除重復(fù)以下的順序-把密鑰<2t,p>用于數(shù)w2/a(mod p)以獲得+1或-1。
-當(dāng)獲得-1時,由w×c(mod p)代替w。
-由c2(mod p)代替c。
原理的可適用性-按定義,我們可以說,當(dāng)方程式xv≡g2(modp),其中指數(shù)v的值為2k,在域CG(p)中對x有解時,參數(shù)k,基數(shù)g和素因子p是相容的。數(shù)k和g是小的整數(shù)并大于1。數(shù)p是大素數(shù)。
-當(dāng)t=1,即p≡3(mod 4)時,方程式有兩個解。
-當(dāng)t=2,即p≡5(mod 8)時,根據(jù)g相對于p的勒讓德記號,如果(g|p)=+1,方程式有四個解;如果(g|p)=-1,方程式無解。
-當(dāng)t>2時,即p≡1(mod 8),設(shè)u是這樣的數(shù),使得2u相對于p除盡公開數(shù)G=g2,但2u+1不能除盡它;因而,u等于從0到t-1的數(shù)之一。如果u>0且k+u>t,則方程式?jīng)]有解;如果k+u≤t,它有2k個解;如果u=0且k>t,則有2t個解。
因而根據(jù)G是在循環(huán)中還是在分支中適當(dāng)?shù)奈恢?,有兩個進入性的類型。
-當(dāng)G在循環(huán)中時,即u=0不論k的值如何,在循環(huán)中有一奇數(shù)秩的解,并散布在與循環(huán)連接的α=min(k,t)相繼分支中有偶數(shù)秩解,即總共2α個解。圖2A表示這種k≥t=3情形,即與9(mod 16)同余的素因子,這使得u=0。
-當(dāng)G在分支中適當(dāng)?shù)奈恢?,即u>0且u+k≤t時,有2k個解,都是偶數(shù)解并在分支中。圖2B表示這種情形。
給定一個參數(shù)k,于是根據(jù)t的值低于k還是高于或等于k而有兩類素因子。
-對于任何使得t<k的素因子pj,每一Gi必定在一循環(huán)中,并在與Gi連接的分支中沒有解。讓我們定義一個數(shù)Δij,取決于是gi還是-gi在循環(huán)中,其值為+1或-1。對于m個數(shù)Δ1,j到Δm,j任何之一沒有選擇。圖3A表示這樣的情形t<k,Gi在有與9(mod 16)同余的素因子pj的循環(huán)中,即u=0,t=3使得k>3。
-對于任何使得t≥k的素因子pj,每一Gi必定使得u+k≤t,換言之,或者在u=0的循環(huán)中,或者在1≤u≤t-k的分支中適當(dāng)?shù)奈恢?。讓我們定義數(shù)Δij,取決于Gi,j是在與gi還是-gj連接的圖的部分中,其值為+1或-1。對于m個數(shù)Δ1,j到Δm,j每一個有選擇;每一數(shù)Δij可以從一個值向另一值個別變化。圖3B表示t≥k的情形為Gi在有與17(mod 32)同余的素因子p的分支中,即u=1,t=4使得k=3。
每一f個分量{Δi,1到Δi,f}的集合是在CG(Pj)中單位的平方根。根據(jù)f個分量是否相等,這根是平凡的或非平凡的。這時我們說,f個分量的集合是常量或變量,這表示qi是平凡的或非平凡的。因而,當(dāng)數(shù)qi是非平凡時,f個分量{Δi,1到Δi,f}的集合使模的置換相加。然后在計算私人分量Qi,j時能夠測試原理。
-當(dāng)公開數(shù)Gi在素因子pj的循環(huán)中時,根據(jù)gi還是-gj在循環(huán)中,數(shù)Δi,j的值為+1或-1。當(dāng)pj≡3(mod 4)時,它是勒讓德記號Δi,j=(gi|pj)。
-當(dāng)公開數(shù)Gj在在素因子pj的分支中適當(dāng)?shù)奈恢脮r,在計算Qi,j之前,可以確定向Δi,j給定值。
密鑰集合的產(chǎn)生-給定參數(shù)k,有兩個策略。
-或者是生成元需要f個素因子以便確定m個基數(shù)??疾斓谝慌財?shù)2,3,5,7...等,以便估計它們與f個素因子p1到pf的每一個的相容性。雖然g=2與p≡5(mod 8)不相容,但是2能夠進入基數(shù)的組合。確實,當(dāng)兩個數(shù)在分支中類似的位置時,它們的乘積較接近循環(huán),正如平方較接近循環(huán)那樣。這樣通過組成分別不是恰當(dāng)?shù)臄?shù)能夠獲得基數(shù)。
-或者為了確定f≥2素因子,生成元需要m個基數(shù)及這樣的模數(shù)特征,即位的長度(例如,512,768,1024,1536,2048)和1之后高階位的一個數(shù)(例如,1,8,16,24,32)。由g1,g2...gm表示,基數(shù)一般出現(xiàn)在開始的素數(shù)2,3,5,7,11...等之中,或者它們是這些開始的素數(shù)的組合。除非另外指出,這些是m個開始的素數(shù)g1=2,g2=3,g3=5,g4=7...等。應(yīng)當(dāng)注意,p≡5(mod 8)與g=2是不相容的。模數(shù)n將是鄰接長度的f個素因子的乘積即分配給由f除盡的模數(shù)的長度。
第一原理-參數(shù)k,從p1到pf的每一素因子p,以及從g1到gm的每一基數(shù)g必須是相容的。讓我們定義一個數(shù)h,使得2h相對于p除盡g的秩的而2h+1不能除盡它。為了計算數(shù)h,以下過程使用勒讓德記號(g|p)和數(shù)b,CG(p)中的第2t單位原根。
-如果(g|p)=+1且t=1,返回“h=0”。
-如果(g|p)=+1且t=-1,則向G施加密鑰<(p-1+2t)/2t+1,p>,以獲得稱為w的結(jié)果。
-如果w=+g,則返回“h=0”。
-如果w=p-g,則返回“h=1”。
-如果不,則設(shè)c為b并對于從t-1到2的i,-向w/g(mod p)施加密鑰<2i,p>以獲得±1,-如果-1,則設(shè)h為i并由w×c(mod P)代替w,-以c2(mod p)代替c。
-返回“h從2到t-1的值”。
-如果(g|p)=-1,返回“h=t”。
讓我們回憶起,當(dāng)u>0有k+u>t時,k,g和p是不相容的;當(dāng)h=0或1時無論k值如何,且而且當(dāng)h>1有k+h≤t+1時,它們是相容的。
第二個原理-三個以下過程對應(yīng)于第二原理的不同的實現(xiàn)。在某些實現(xiàn)中,第二原理能夠被加強到要求每一數(shù)q1到qm是非平凡的程度。這時基數(shù)的作用被平衡;平衡或不平衡的第二原理的事實對模式的安全性表現(xiàn)的某些方面有影響。最后當(dāng)有f>2個不同的素因子時,在m個數(shù){q1到qm}中,可能要求f-1個獨立的數(shù)中有至少一個子單位。
三個過程使用如下定義的m×f數(shù)δi,j。
-當(dāng)pj使得t<k時,對于i從1到m,δi,j=Δi,j,即如果hi,j=0,則為+1,且如果hi,j=1,則為-1。
-當(dāng)pj使得t≥k時,對于i從1到m,δi,j=0,這表明Δ1,j到Δm,j能夠被選擇作為第二原理的函數(shù)。
第一過程驗證{δi,1到δi,f}至少一個集合是變量或零,換言之至少一個數(shù)q1到qm是非平凡的或可被選擇為非平凡的。
-對于i從1到m和j從1到f,-如果δi,j=0,或≠δi,1,則返回“成功”。
-返回“失敗”第二過程驗證{δi,1到δi,f}每一個集合是變量或零,換言之至少一個數(shù)q1到qm是非平凡的或可被選擇為非平凡的。
-對于i從1到m-對于j從1到f,-如果δi,j=0,或≠δi,1,則進到i的下一個值。
-返回“失敗”返回“成功”。
第三過程,對于每一對素因子pj1和pj2有1≤j1<j2≤f,驗證{δi,1到δi,f}至少有一個集合,其中δi,j1是零或不同于δi,j2。當(dāng)m小于f-1時它明顯失敗。當(dāng)它成功時,在m個數(shù)q1到qm之中,至少有相對于f個素因子獨立的f-1個數(shù)的一個集合。
-對于j1從1到f-1及對于j2從j1+1到f,-對于i從1到m,-如果δi,j1=0或≠δi,j2,則進到j(luò)1和j2的下一個值。
-返回“失敗”-返回“成功”。
當(dāng)過程失敗時,GQ2密鑰集合的生成元遵循以下可能的兩個策略中一個策略-選擇m個基數(shù)之一同時保持f個素因子,-改變f個素因子之一同時保持m個基數(shù)。
第三原理-以下過程確定所產(chǎn)生的GQ2密鑰是否在產(chǎn)生的過程中或已經(jīng)產(chǎn)生-GQ2基本密鑰集合,換言之,2×m個數(shù)±g1到±gm都是非二次剩余,-或者,GQ2互補密鑰集合,換言之在2×m個數(shù)±g1到±gm中至少有一個二次剩余。
該過程對于i從1到m及對于j從1到f使用兩個勒讓德記號(gi|pj)和(-gi|pj)。
-對于i從1到m-對于j從1到f,-如果(gi|pj)=-1,則進到i的的下一個值。
-返回“GQ2互補密鑰集合”-對于j從1到f,-如果(-gi|pj)=-1,則進到i的的下一個值。
-返回“GQ2互補密鑰集合”。
-返回“GQ2互補密鑰集合”。
私人分量-對于直接類型的方程式xv≡gi2(mod pj),以下計算建立了私人分量Qi,j的所有可能的值。兩個最簡單的和最普通的情形,即t=1和t=2,之后是最復(fù)雜的情形,即t>2。
對于t=1,即pj≡3(mod 4),密鑰<(pj+1)/4,pj>給出CG(pj)中任何二次剩余的平方二次根。推導(dǎo)出一個數(shù)sj≡((Pj+1)/4)k(mod(pj-1)/2),這給出把G1轉(zhuǎn)換為w≡G1sj(mod pj)的密鑰<sj,pj>。Qi,j等于w或等于pj-w。
對于t=2,即pj≡5(mod8),密鑰<(pj+3)/8,pj>給出CG(pj)中任何奇數(shù)秩元素的奇數(shù)秩的平方根。推導(dǎo)出一個數(shù)sj≡((Pj+3)/8)k(mod(pj-1)/4),這給出把Gi轉(zhuǎn)換為w≡Gisj(mod pj)的密鑰<sj,pj>。應(yīng)當(dāng)觀察到z≡2(pj-1)/4(modpj)是-1的平方根,因為在CG(pj)中2是非二次剩余。Qi,j等于w,或等于pj-w,或等于w’≡w×z(modpj),或等于Pj-w’。
對于pj≡2t+1(modt+1)有t>2,密鑰<pj-1+2t)/2t+1,pj>給出任何奇數(shù)秩元素的奇數(shù)秩的平方根??蒶,g和p之間的相容性測試已經(jīng)給出h的值,然后是u的值。
-當(dāng)Gi在一循環(huán)中時(u=0,不論k的值如何),數(shù)sj≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t)被建立。密鑰<sj,pj>把Gi轉(zhuǎn)換為奇數(shù)秩的解Gisj(mod pj)。存在偶數(shù)秩的解,它分布在捆綁在循環(huán)的min(k,t)相繼分支中,我們說在α分支中。Qi,j等于w與CG(pj)中任何第2α個單位根的乘積。
-當(dāng)Gi在分支(u>0,u+k≤t)中一適當(dāng)?shù)奈恢脮r,所有的解與Gi在相同的分支,即由Gi的第2u冪捆綁到一個循環(huán)的分支。數(shù)sj≡((pj-1+2t)/2t+1)k+u(mod(pj-1)/2t)被建立。密鑰<sj,pj>把Gi的第2u冪轉(zhuǎn)換為奇數(shù)秩w的一個數(shù)。w與CG(pj)中第2k+u單位原根的所有乘積包含Qi,j的2k個值。
當(dāng)pj使得t≥k時,數(shù)bj是CG(pj)中第2t單位原根,存在CG(pj)中bj的第2t-u冪;它是第2k單位原根。以第2k單位原根乘以Qi,j的允許數(shù)Δi,j的值擺動。
對于逆類型的的方程式1≡xv×gi2(modpj),只要以((pj-1)/2t)-sj代替密鑰<sj,pj>中的數(shù)sj即可,它相當(dāng)于插入在CG(pj)中Qi,j的值。
具有兩個與5(mod8)同余的素因子密鑰集合的例子p1=E6C83BF428689AF8C3 5E07EDD06F9B39A659829A58B79CD894C435C95F32BF25p2=11BF8A68A0817BFCC00F15731C8B70CEF9204A34133A0DEF862829B2EEA74873Dn=p1×p2=FFFF8263434F173D0F2E76B32D904F56F4A5A6A50008C43D32B650E9AB9AAD2EB713CD4F9A97C4DBDA3828A3954F296458D5F42C0126F5BD6B05478BE0A80ED1這里是最開始一些素數(shù)的勒讓德記號。
(2|p1)=-1;(3|p1)=-1;(5|p1)=+1;(7|p1)=-1;(11|p1)=+1;(13|p1)=-1;(17|p1)=+1;
在CG(p1)中秩對于-5,-11和17是奇數(shù)。
(2|p2)=-1;(3|p2)=+1;(5|p2)=+1;(7|p2)=+1;(11|p2)=+1;(13|p2)=-1;(17|p2)=-1;在CG(p2)中秩對于3,-5,7和11是奇數(shù)。
Carmichael函數(shù)是λ(n)=ppcm((p1-1)/4,(p2-1)/4)。
λ(n)=33331A13DA4304A5CFD617BD6F834311642121543334F40C3D57A9C8558555D5BDAA2EF6AED17B9E3794F51A65A1B37239B18FA9B0F618627D8C7E1D8499C1B以k=9,數(shù)σ≡λ(n)-((1+λ(n))/2)9(modλ(n))作為私人指數(shù),從而使用逆類型的一般方程式。
σ=01E66577BC997CAC273671E187A35EFD25373ABC9FE6770E7446C0CCEF2C72AF6E89D0BE277CC6165F1007187AC58028BD2416D4CC1121E7A7A8B6AE186BB4B0數(shù)2,3,7,13和17不適于作為基數(shù)。
密鑰<σ,n>把g1=5轉(zhuǎn)換為表示沒有分解的私人數(shù)Q1。確實,在兩個域中,-5在一個循環(huán)上。
Q1=818C23AF3DE333FAECE88A71C4591A70553F91D6C0DD5538EC0F2AAF909B5BDAD491FD8BF13F18E3DA3774CCE19D0097BC4BD47C5D6E0E7EBF6D89FE3DC5176C密鑰<σ,n>把g2=11轉(zhuǎn)換為表示分解的私人數(shù)Q2。確實,11在兩個域中在相同的位置。
Q2=25F9AFDF177993BE8652CE6E2C728AF31B6D66154D3935AC535196B07C19080DC962E4E86ACF40D01FDC454F2565454F290050DA052089EEC96A1B7DEB92CCA7密鑰<σ,n>把g3=21=3×7轉(zhuǎn)換為表示分解的私人數(shù)Q3。
Q3=78A8A2F30FEB4A5233BC05541AF7B684C2406415EA1DD67D18A0459A1254121E95D5CAD8A1FE3ECFE0685C96CC7EE86167D99532B3A96B6BF9D93CAF8D4F6AF0
密鑰<σ,n>把g4=26=2×13轉(zhuǎn)換為表示分解的私人數(shù)Q4。
Q4=6F1748A6280A200C38824CA34C939F97DD2941DAD300030E481B738C62BF8C673731514D1978AF5655FE493D659514A6CE897AB76C01E50B5488C5DAD12332E5私人密鑰可由兩個素因子,中國余數(shù)的參數(shù)和八個私人分量靜態(tài)地表示。
α≡p2(modp1)-1(modp1)=ADE4E77B703F5FDEAC5B9AAE825D649E06692D15FBF0DF737B115DC4D012FD1DQ1,1≡Q1(mod p1)=7751A9EE18A8F5CE44AD73D613A4F465E06C6F9AF4D229949C74DD6C18D76FAFQ1,2≡Q1(mod p2)=A9EB5FA1B2A981AA64CF88C382923DB64376F5FD48152C08EEB6114F31B7665FQ2,1≡Q2(mod p1)=D5A7D33C5FB75A033F2F0E8B20274B957FA34004ABB2C2AC1CA3F5320C5A9049Q2,2≡Q2(mod p2)=76C9F5EFD066C73A2B5CE9758DB512DFC011F5B5AF7DA8D39A961CC876F2DD8FQ3,1≡Q3(mod p1)=2FEC0DC2DCA5BA7290B27BC8CC85C938A514B8F5CFD55820A174FB5E6DF7B883Q3,2≡Q3(mod p2)=010D488E6B0A38A1CC406CEE0D55DE59013389D8549DE493413F34604A160C1369Q4,1≡Q4(mod p1)=A2B32026B6F82B6959566FADD9517DB8ED8524652145EE159DF3DC0C61FE3617Q4,2≡Q4(mod p2)=011A3BB9B607F0BD71BBE25F52B305C224899E5F1F8CDC2FE0D8F9FF62B3C9860FGQ2私人密鑰的同素異構(gòu)性-GQ2私人密鑰可能的不同表示證明是等價的它們都回歸到作為真正GQ2私人密鑰的模數(shù)n的因子分解的知識。GQ2私人密鑰的表示具有在證明實體內(nèi)而不是在控制實體內(nèi)計算操作的實現(xiàn)。這里有GQ2私人密鑰的三個主要的可能的表示。1)GQ私人密鑰傳統(tǒng)的表示在于存儲m個私人數(shù)Q1和公開驗證密鑰<v,n>;對于GQ2模式,這個表示與以下兩個競爭。2)就工作負(fù)載而言最優(yōu)的表示在于存儲參數(shù)k,f個素因子pj,m×f個私人分量Qi,j及f-1個中國余數(shù)的參數(shù)。3)就私人密鑰長度而言的最優(yōu)表示在于參數(shù)k,m個基數(shù),f個素因子pj,然后在于通過建立或者是m個私人數(shù)Qi及模數(shù)n以回到第一表示,或者m×f個私人分量Qi,j及f-1個中國余數(shù)的參數(shù)以回到第二表示。
因為動態(tài)鑒別或數(shù)字簽字機制的安全性等價于模數(shù)的因子分解知識,GQ2模式不允許在使用相同模數(shù)的兩個實體之間作簡單的區(qū)分。一般來說,每一證明實體具有其自身的GQ2模數(shù)。然而,能夠規(guī)定帶有四個素因子的的GQ2模數(shù),其中兩個由一個實體知道我其它兩個由另一實體知道。
動態(tài)鑒別-動態(tài)鑒別機制,這用來證明被稱為控制器的實體,被稱為演示器的另一實體的真實性,以及任何相關(guān)的消息M的真實性,使得控制器能夠確認(rèn)是實際的演示器并可能是他和演示器實際上說出關(guān)于相同的消息M。相關(guān)的消息M是可選的,這意味著它可以是空的。
動態(tài)鑒別機制是四個行動的一個序列委托行動,查詢行動,響應(yīng)行動及檢驗行動。演示器執(zhí)行委托和響應(yīng)行動??刂破鲌?zhí)行查詢和控制行動。
在演示器內(nèi),證人可以是被隔離的,其方式是隔離演示器最敏感的參數(shù)和功能,換言之即委托和響應(yīng)的產(chǎn)生。證人具有可供處理的參數(shù)和GQ2私人密鑰,換言之,即根據(jù)上述三個表示之一的模數(shù)n的因子分解·f個素因子和m個基數(shù),·m×f個算分量,f個素因子和f-1個中國余數(shù)的參數(shù),·m個私人數(shù)及模數(shù)n。
證人可以對應(yīng)于一特定的實施例,例如,·連接到共同形成演示器的PC的芯片卡,或者又,·PC內(nèi)特別被保護的程序,或者又,·芯片卡內(nèi)特別被保護的程序。這樣被隔離的證人類似于以下在簽字人內(nèi)所定義的證人。使用該機制的每一操作,證人產(chǎn)生一個或多個委托R,然后對查詢d同樣多的響應(yīng)D。每一集合{R,d,D}構(gòu)成一GQ2三元組。
演示器不僅包含證人,而且在必要時有可供處理的散列函數(shù)和消息M。
控制器有可供處理的模數(shù)n,例如來自公開密鑰的目錄或又來自公開密鑰寄存器;必要時它還有可供處理的相同的散列函數(shù)和消息M’。GQ2公開參數(shù),即k,m和g1到gm可通過演示器向控制器給出??刂破髂軌驈娜魏尾樵僤并從任何響應(yīng)D恢復(fù)委托。參數(shù)k和m通知控制器。除非特別指出,來自g1到gm的m個基數(shù)是m個開始的素因子。每一查詢d必須包含由從d1到dm標(biāo)記的m個基本查詢每一基數(shù)一個。從d1到dm的每一基本查詢是從0到2k-1-1的一個數(shù)(從v/2到v-1的數(shù)不使用)。一般,每一查詢通過m次k-1位編碼(而不是由m次k位)。例子是,k=5及m=4,基數(shù)5,11,21,26,每一查詢包括四個四元組被傳輸?shù)?6位。當(dāng)也有可能是(k-1)×m可能的查詢時,數(shù)(k-1)×m確定由每一GQ2三元組所攜帶的安全性按定義,不知道模數(shù)n的因子分解的欺騙者在2(k-1)×m中恰有1次成功的機會。當(dāng)(k-1)×m的值從15到20時,一個三元組足以保證動態(tài)基本的安全。無論達到任何安全程度,可以并行地產(chǎn)生多個三元組它們還可以按順序產(chǎn)生,換言之,重復(fù)機制的操作。
1)委托行動包括以下操作。
當(dāng)證人不使用中國余數(shù)時,有可供處理的參數(shù)k,從Q1到Qm的m個私人數(shù)和模數(shù)n;它是隨機抽取的并是在私人數(shù)或更多的隨機數(shù)r(0<r<n)中抽取;然后,通過k個相繼自乘平方(mod n),它把每一隨機數(shù)r轉(zhuǎn)換為一委托R。
R≡rv(mod n)這里有一例子,帶有以前的密鑰集合而沒有中國余數(shù)。
r=5E94B894AC24AF843131F437C1B1797EF562CFA53AB8AD426C1AC016F1C89CFDA13120719477C3E2FB4B4566088E10EF9C010E8F09C60D981512198126091996R=6BBF9FFA5D509778D0F93AE074D36A07D95FFC38F70C8D7E3300EBF234FA0BC20A95152A8FB73DE81FAEE5BF4FD3EB7F5EE3E36D7068D083EF7C93F6FDDF673A當(dāng)證人使用中國余數(shù)時,有可供給處理的參數(shù)k,從p1到pf的f個素因子,f-1個中國余數(shù)參數(shù)和m×f個私人分量Qi,j;它是隨機抽取的并是在私人數(shù)或更多的r個隨機數(shù)集中抽?。幻恳患總€素因子pi一個隨機數(shù)ri(0<ri<pi);然后,通過k個相繼自乘平方(modpi),它把每一隨機數(shù)ri轉(zhuǎn)換為一委托Ri。
Ri≡ri(mod Pi)對于每一f個委托分量收集集,證人根據(jù)中國余數(shù)技術(shù)建立委托。存在與隨機數(shù)收集集同樣多的委托。
R=中國余數(shù)(R1,R2,到Rf)這里有一例子,帶有上述密鑰集合和中國余數(shù)。
r1=5C6D37F0E97083C8D120719475E080BBBF9F7392F11F3E244FDF0204E84D8CAER1=3DDF516EE3945CB86D20D9C49E0DA4D42281D07A76074DD4FEC5C7C5E205DF66r2=AC8F85034AC78112071947C457225E908E83A2621B0154ED15DBFCB9A4915AC3R2=01168CEC0F661EAA15157C2C287C6A5B34EE28F8EB4D8D340858079BCAE4ECB016R=中國余數(shù)(R1,R2)=0AE51D90CB4FDC3DC757C56E063C9ED86BE153B71FC65F47C123C27F082BC3DD15273D4A923804718573F2F05E991487D17DAE0AAB7DF0D0FFA23E0FE59F95F0在兩種情形下,演示器都向控制器傳輸每一委托R的所有或部分,或者傳輸通過對每一委托R和消息M求散列而獲得的散列代碼H。
2)查詢行動在于隨機抽取一個或多個查詢d,其每一個由m個基本查詢d1,d2到dm組成;每一基本查詢d1是從0到v/2-1數(shù)之一。
這里是關(guān)于查詢的兩個例子,換言之k=5,m=4。
d1=1011=11=‘B’;d2=0011=3;d3=0110=6;d4=1001=9,d=d1||d2||d3||d4=1011001101101001=B3 69控制器向演示器傳輸每一查詢d。
3)響應(yīng)行動包括以下運算。
當(dāng)證人不使用中國余數(shù)時,它有可供處理的參數(shù)k,從Q1到Qm的m個私人數(shù)和模數(shù)n;它使用委托行動的每一隨機數(shù)r和私人數(shù)根據(jù)基本查詢計算一個或多個響應(yīng)D。
D≡r×Q1d1×Q2d2×...Qmdm(mod n)這里有一系列沒有中國余數(shù)的例子。
D=027E6E808425BF2B401FD00B15B642B1A8453BE8070D86C0A7870E6C1940F7A6996C2D871EBE611812532AC5875E0E116CC8BA648FD8E86BE0B2ABCC3CCBBBE4當(dāng)證人使用中國余數(shù)時,它有可供給處理的參數(shù)k,從p1到pf的f個素因子,f-1個中國余數(shù)參數(shù)和m×f個私人分量Qi,j;它使用委托行動的每一隨機數(shù)收集集計算f個響應(yīng)分量的一個或多個收集集響應(yīng)分量的每一收集集包括每素因子一個分量。
Di≡ri×Q1,id1×Q2,id2×...Qm,idm(mod pi)對響應(yīng)分量的每一收集集,證人根據(jù)中國余數(shù)技術(shù)建立一個響應(yīng)。存在與查詢同樣多的響應(yīng)。
D=中國余數(shù)(D1,D2,到Df)這里有帶有中國余數(shù)的例子的系列。
D1=r1×Q1,1d1×Q2,1d2×Q3,1d3×Q4,1d4(mod p1)=C71F86F6FD8F955E2EE434BFA7706E38E5E715375BC2CD2029A4BD572A9EDEE6D2=r2×Q1,2d×Q2,2d2×Q3,2d3×Q4,2d4(mod p2)=0BE022F4A20523F98E9F5DBEC0E10887902F3AA48C864A6C354693AD0B59D85ED=90CE7EA43CB8EA89ABDD0C814FB72ADE74F02FE6F098ABB98C8577A660B9CFCEAECB93BE1BCC356811BF12DD667E2270134C9073B9418CA5EBF5191218D3FDB3在兩種情形下,演示器都向控制器傳輸每一響應(yīng)D。
4)檢驗行動在于檢驗每一三元組{R,d,D}對非零值驗證以下類型的方程式,R×Πi=1mGidi≡D2k(modn)]]>或R≡D2K×Πi=1mGidi(modn)]]>或在重建每一委托中每一不能是零。R′≡D2k/Πi=1mGidi(modn)]]>或R′≡D2k×Πi=1mGidi(modn)]]>然后控制器可能通過使每一重建的委托R’和消息M’散列而計算散列代碼H’。當(dāng)控制器這樣恢復(fù)它在委托結(jié)束時收到的東西,換言之,即所有或部分的每一委托R或散列代碼H時,動態(tài)鑒別是成功的。
例如,一個基本操作序列把響應(yīng)D轉(zhuǎn)換為委托R’。該序列包括通過基數(shù)的k-1個除法或乘法分開的k個平方(mod n)。對于在第i個平方和第i+1個平方之間進行的第i個除法或乘法,基本查詢d1的第i位指出它是否必須使用g1,基本查詢d2的第i位指出它是否必須使用g2,直到基本查詢dm的第i位指出它是否必須使用gm。
這里不使用中國余數(shù)的例子的結(jié)束。
D=027E6E808425BF2B401FD00B15B642B1A8453BE8070D86C0A7870E6C1940F7A6996C2D871EBE611812532AC5875E0E116CC8BA648FD8E86BE0B2ABCC3CCBBBE4模n自乘為平方88BA681DD641D37D7A7D9818D0DBEA82174073997C6C32F7FCAB30380C4C6229B0706D1AF6EBD84617771C31B4243C2F0376CAF5DCEB644F098FAF3B1EB49B39以5乘26=130,即’82’模n6ECABA65A91C22431C413E4EC7C7B39FDE14C9782C94FD6FA3CAAD7AFE192B9440C1113CB8DBC45619595D263C1067D3D0A840FDE008B415028AB3520A6AD49D模n自乘為平方0236D25049A5217B13818B39AFB009E4D7D52B17486EBF844D64CF75C4F652031041328B29EBF0829D54E3BD17DAD218174A01E6E3AA650C6FD62CC274426607乘以21,即’15’模n2E7F40960A8BBF1899A06BBB6970CFC5B47C88E8F115B5DA594504A92834BA405559256A705ABAB6E7F6AE82F4F33BF9E91227F0ACFA4A052C91ABF389725E93模n自乘為平方B802171179648AD687E672D3A32640E2493BA2E82D5DC87DBA2B2CC0325E7A71C50E8AE02E299EF868DD3FB916EBCBC0C5569B53D42DAD49C956D8572E1285B0以5乘以11乘以21=1155,即’483’模n3305560276310DEFEC1337EB5BB5810336FDB28E91B350D485B09188E0C4F1D67E68E9590DB7F9F39C22BDB4533013625011248A8DC417C667B419D27CB11F72模n自乘為平方8871C494081ABD1AEB8656C38B9BAAB57DBA72A4BD4EF9029ECBFFF540E55138C9F22923963151FD0753145DF70CE22E9D019990E41DB6104005EEB7B1170559以5乘以11乘以26=1430,即’596’模n2CF5F76EEBF128A0701B56F837FF68F81A6A5D175D0AD67A14DAEC6FB68C362B1DC0ADD6CFC004FF5EEACDF794563BB09A17045ECFFF88F5136C7FBC825BC50C模n自乘為平方6BBF9FFA5D509778D0F93AE074D36A07D95FFC38F70C8D7E3300EBF234FA0BC20A95152A8FB73DE81FAEE5BF4FD3EB7F5EE3E36D7068D083EF7C93F6FDDF673A找到委托R。鑒別成功。這里是使用中國余數(shù)例子的結(jié)束。D=90CE7EA43CB8EA89ABDD0C814FB72ADE74F02FE6F098ABB98C8577A660B9CFCEAECB93BE1BCC356811BF12DD667E2270134C9073B9418CA5EBF5191218D3FDB3模n自乘為平方770192532E9CED554A8690B88F16D013010C903172B266C1133B136EBE3EB5F13B170DD41F4ABE14736ADD3A70DFA43121B6FC5560CDD4B4845395763C792A68以5乘以26=130,即’82’模n6EE9BEF9E52713004971ABB9FBC31145318E2A703C8A2FB3E144E7786397CD8D1910E70FA86262DB771AD1565303AD6E4CC6E90AE3646B461D3521420E240FD4模n自乘為平方D9840D9A8E80002C4D0329FF97D7AD163D8FA98F6AF8FE2B2160B2126CBBDFC734E39F2C9A39983A426486BC477F20ED2CA59E664C23CA0E04E84F2F0AD65340乘以21,即’15’模nD7DD7516383F78944F2C90116E1BEE0CCDC8D7CEC5D7D1795ED33BFE8623DB3D2E5B6C5F62A56A2DF4845A94F32BF3CAC360C7782B5941924BB4BE91F86BD85F模n自乘為平方DD34020DD0804C0757F29A0CBBD7B46A1BAF949214F74FDFE021B626ADAFBAB5C3F1602095DA39D70270938AE362F2DAE0B914855310C7BCA328A4B2643DCCDF以5乘以11乘以21=1155,即’483’模n038EF55B4C826D189C6A48EFDD9DADBD2B63A7D675A0587C8559618EA2D83DF552D24EAF6BE983FB4AFB3DE7D4D2545190F1B1F946D327A4E9CA258C73A98F57模n自乘為平方D1232F50E30BC6B7365CC2712E5CAE079E47B971DA03185B33E918EE6E99252DB3573CC87C604B327E5B20C7AB920FDF142A8909DBBA1C04A6227FF18241C9FE以5乘以11乘以26=1430,即’596’模n
3CC768F12AEDFCD4662892B9174A21D1F0DD9127A54AB63C984019BED9BF88247EF4CCB56D71E0FA30CFB0FF28B7CE45556F744C1FD751BFBCA040DC9CBAB744模n自乘為平方0AE51D90CB4FDC3DC757C56E063C9ED86BE153B71FC65F47C123C27F082BC3DD15273D4A923804718573F2F05E991487D17DAE0AAB7DF0D0FFA23E0FE59F95F0找到委托R。鑒別成功。
數(shù)字簽字?jǐn)?shù)字簽字機制允許稱為簽字人的實體產(chǎn)生簽署的消息,且允許稱為控制器的實體驗證簽署的消息。對消息M以鄰接的簽字附錄簽署,該簽字包括一個或多個委托和/或查詢,以及對應(yīng)的響應(yīng)。
控制器有供處理模數(shù)n,例如來自公開密鑰目錄或來自公開密鑰寄存器;它還具有相同的散列函數(shù)。GQ2公開參數(shù),即數(shù)k,m和g1到gm可以由演示器向控制器給出,例如通過把它們放入簽字附錄。
數(shù)k和m通知給控制器。一方面,從d1到dm的每一基本查詢是從0到2k-1-1的一個數(shù)(數(shù)v/2到v-1不使用)。另一方面,每一查詢d必定包含從d1到dm表示的與基數(shù)同樣多的m個基本查詢。此外,除非另外指出,從g1到gmm個基數(shù)是m個開始的素數(shù)。在(k-1)×m的值從15到20時,能夠以并行產(chǎn)生的四個GQ2三元組簽署;在(k-1)×m的值從60到更大時,能夠以單一GQ2三元組簽署。例如k=9和m=8,單一的GQ2三元組是足夠的;每一查詢包含八字節(jié)且基數(shù)為2,3,5,7,11,13,17和19。
簽字操作是三個行動的序列委托行動,查詢行動和響應(yīng)行動。每一行動產(chǎn)生一個或多個GQ2三元組,每一三元組包含委托R(≠0),由d1,d2...dm表示的m個基本查詢組成的查詢d以及響應(yīng)D(≠0)。
簽字人具有可供處理的散列函數(shù),參數(shù)k和GQ2私人密鑰,換言之,就是根據(jù)上述三個表示之一的模數(shù)n的因子分解。在簽字人內(nèi),能夠隔離進行委托和響應(yīng)行動的證人,其方式是隔離演示器最敏感的功能和參數(shù)。為了計算委托和響應(yīng),證人有可供處理的參數(shù)k和GQ2私人密鑰,換言之,即根據(jù)上述三個表示之一的模數(shù)n的因子分解。被這樣隔離證人與在演示器內(nèi)定義證人類似。這可以對應(yīng)于一個具體的實施例,例如·與共同形成簽字人的PC連接的芯片卡,或·PC內(nèi)特別被保護的程序,或·芯片卡內(nèi)特別被保護的程序。
1)委托行動包括允許操作。
當(dāng)證人具有可供處理的m個私人數(shù)Q1到Qm和模數(shù)n時,它隨機并私人抽取一個或多個隨機數(shù)r(0<r<n);然后,通過k個相繼的自乘為平方(mod n),它把每一隨機數(shù)r轉(zhuǎn)換為委托R。
R≡rv(mod n)當(dāng)證人具有可供處理的f個素因子p1到pf,和m×f私人分量Qi,j時,它隨機并私人抽取f個隨機數(shù)的一個或多個收集集每一個收集集包含每素因子pi(0<ri<pi)一隨機數(shù)ri;然后,通過k個相繼的自乘為平方(mod pi),它把每一隨機數(shù)ri轉(zhuǎn)換為委托Ri。
Ri≡riv(mod pi)對f個委托分量的每一個收集集,證人根據(jù)中國余數(shù)技術(shù)建立一委托。存在與隨機數(shù)收集集同樣多的委托。
R=中國余數(shù)(R1,R2,到Rf)2)查詢行動在于使所有委托R和消息散列為M以便獲得散列代碼,簽字人由它們形成一個或多個查詢,每一查詢包含m個基本查詢;每一基本查詢是從0到v/2-1的一個數(shù);例如,對于k=9和m=8,每一查詢包含八個字節(jié)。存在與委托同樣多的查詢。
d=d1,d2,...dm,它們是從散列結(jié)果(M,R)抽取的3)響應(yīng)行動包括以下操作。
當(dāng)證人具有可供處理的m個私人數(shù)Q1到Qm和模數(shù)n時,它使用委托行動的每一隨機數(shù)r和私人數(shù)根據(jù)基本查詢計算一個或多個響應(yīng)D。
X≡Q1d1×Q2d2×到Qmdm(mod n)D≡r×X(mod n)
當(dāng)證人具有可供處理的f個素因子p1到pf,和m×f私人分量Qi,j時,它使用委托行動的隨機數(shù)的每一個收集集計算f個響應(yīng)分量的一個或多個收集集響應(yīng)分量的每一個收集集包含每素因子一隨機數(shù)。
Xi≡Q1,id1×Q2,id2×到Qm,idm(mod pi)Di≡ri×Xi(mod pi)對響應(yīng)分量的每一個收集集,證人根據(jù)中國余數(shù)技術(shù)建立一響應(yīng)。存在與查詢同樣多的響應(yīng)。
D=中國余數(shù)(D1,D2,到Df)簽字人簽署消息M將包括以下內(nèi)容的簽字人附錄納入其中-或者,每一GQ2三元組,即每一委托R,每一查詢D和每一響應(yīng)D,-或者,每一委托R和每一對應(yīng)的響應(yīng)D,-或者,每一查詢d和每一對應(yīng)的響應(yīng)D。
驗證操作的性能取決于簽字附錄的內(nèi)容??梢栽谌N情形之間作出區(qū)別。
其中附錄包含一個或多個三元組,控制操作包括兩個獨立的過程,其時序是不重要的。當(dāng)且僅當(dāng)以下兩個條件被滿足時控制器接收簽署的消息。
一方面,每一三元組必須是相關(guān)的(必須驗證以下類型適當(dāng)?shù)年P(guān)系)和可接收的(必須對非零值作出比較)。R×Πi=1mGidi≡D2k(modn)]]>或者R≡D2k×Πi=1mGidi(modn)]]>例如,響應(yīng)D通過一系列基本操作被轉(zhuǎn)換為通過k-1個乘法或除法(mod n)由基數(shù)分開的k個平方(mod n)。對于在第i個平方和第i+1個平方之間進行的第i個乘法或除法,基本查詢d1的第i位指示是否必須使用g1,基本查詢d2的第i位指示是否必須使用g2,直到基本查詢dm的第i位指示是否必須使用gm。這樣,每一分量R被發(fā)現(xiàn)出現(xiàn)在簽字附錄中。
另一方面,必須把一個或多個三元組捆綁到消息M。通過對所有委托R和消息M散列,獲得了從其找到每一查詢d的散列代碼。
d=d1d2...dm,等價于從散列結(jié)果(M,R)抽取的代碼。
其中附錄不包含查詢,控制操作通過對所有委托R和消息M散列以一個或多個查詢d’的表示開始。
d’=d’1d’2...d’m,從散列結(jié)果(M,R)抽取然后,當(dāng)且僅當(dāng)每一三元組是相關(guān)的(以下類型適當(dāng)?shù)年P(guān)系被驗證)和可接收的(對非零值作出比較),控制器才接收簽署的消息。R×Πi=1mGid′i≡D2k(modn)]]>或者R≡D2k×Πi=1mGid′i(modn)]]>其中附錄不包含委托,根據(jù)以下兩個公式中適當(dāng)?shù)哪且粋€,控制操作以一個或多個委托R’的重構(gòu)開始。沒有被重新建立的委托被動是零。R′≡D2k/Πi=1mGidi(modn)]]>或者R′≡D2k×Πi=1mGidi(modn)]]>然后,控制器必須對所有委托R’和消息M散列,以便重構(gòu)每一查詢d。
d=d1d2...dm,等價于從散列結(jié)果(M,R’)抽取的代碼當(dāng)且僅當(dāng)每一被重構(gòu)的查詢等價于出現(xiàn)在附錄中對應(yīng)的查詢,控制器才接受簽署的消。
權(quán)利要求
1.用于對控制器實體驗證的過程,-實體的真實性和/或-與這一實體相關(guān)的消息M的完整性;所述過程實現(xiàn)-由f個素因子p1,p2,...pf(f大于或等于2)的乘積構(gòu)成的公開模數(shù)n,或?qū)崿F(xiàn)f個素因子;-m個不同的整數(shù)基數(shù)g1,g2,...gm(m大于或等于1),gi小于f個素因子p1,p2,...pf;-m對私人Q1,Q2,...Qm和公開G1,G2,...Gm值(m大于或等于1)或從它們推導(dǎo)的參數(shù);所述模數(shù)和所述私人和公開值通過以下類型的關(guān)系聯(lián)系Gi·Qiv≡1·mod n或Gi≡Qivmod n所述公開值Gi是基數(shù)的平方gi2,v表示以下形式的公開指數(shù)v=2k其中k是大于1的安全性參數(shù);根據(jù)本發(fā)明的過程包括以滿足以下條件的方式產(chǎn)生f個素因子p1,p2,...pf和/或m個基數(shù)g1,g2,...gm的步驟,第一個條件根據(jù)第一個條件,每一方程式Xv≡gi2mod n(1)具有在模n整數(shù)環(huán)中x的解,第二個條件這里Gi≡Qivmod n,在通過使Qi自乘為平方模n而獲得的m個數(shù)qi之中,秩的k-1倍,它們中之一不同于±gi(換言之是非平凡的),這里Gi·Qiv≡1mod n,在通過使Qi的逆自乘為平方模n而獲得的m個數(shù)qi之中,秩的k-1倍,它們中之一不同于±gi(換言之是非平凡的),第三個條件在以下2m個方程式中X2≡gimod n (2)X2≡-gimod n (3)至少它們之一具有模n整數(shù)的環(huán)中的x的解,根據(jù)本發(fā)明用于產(chǎn)生f個素因子p1,p2,...pf和/或m個基數(shù)g1,g2,...gm的過程包含一步驟首先選擇·安全性參數(shù)k·m個基數(shù)g1,g2,...gm和/或f個素因子p1,p2,...pf。
2.根據(jù)權(quán)利要求1的過程,使得m個基數(shù)g1,g2,...gm至少部分地在第一整數(shù)之中選擇。
3.根據(jù)權(quán)利要求1或2的過程,使得安全性參數(shù)k是一小的整數(shù),尤其是小于100。
4.根據(jù)權(quán)利要求1到3任何之一的過程,使得模數(shù)n的大小為大于幾百位。
5.根據(jù)權(quán)利要求1到4任何之一的過程,使得f個素因子p1,p2,...pf具有接近于模數(shù)除以因子個數(shù)f的大小。
6.根據(jù)權(quán)利要求1到5任何之一的過程,使得為了測試第一個條件,通過實現(xiàn)以下給出的算法驗證數(shù)碼k,p,g的相容性-通過h表示一個數(shù),使得2h除盡g的相對于p的秩,而2h+1不能除盡它,-h是從勒讓德記號(g|p)及從等于CG(p)中第2t單位原根的數(shù)碼b計算的,·如果(g|p)=-1則h=t·如果(g|p)=+1且t=1,則h=0·如果(g|p)=+1且t>1,則密鑰<(p-1+2t)/2t+1,p>施加于G,結(jié)果w這樣獲得··如果w=+g,則 h=0··如果w=p-g,則h=+1,··否則,實施以下計算子模數(shù),通過使變量c初始化將值b賦予它,然后對于i從t-1到2的值疊代以下步驟步驟1密鑰<2i,p>施加于w/g(modp),*如果所得結(jié)果等于+1,則進到步驟2,*如果所得結(jié)果等于-1,則將值i賦予h,而w由w·c(modp)代替,步驟2c由c2(modp)代替,所尋求的h的值這樣獲得,即根據(jù)步驟1最后一次施加密鑰<2i,p>,產(chǎn)生等于-1的結(jié)果,(可能回顧起-當(dāng)h>1時并當(dāng)k+h>t+1時,則k,g,p是相容的,-當(dāng)h=0或1時,不論k的值如何,或者當(dāng)h>1時并當(dāng)k+h≤t+1時,則k,g,p是相容的),(在所述的算法中,勒讓德記號和t具有在說明中所定義的意義)。
7.根據(jù)權(quán)利要求6的過程,使得為了測試第二個條件,進行一個檢驗,即至少一個集合{δi,1...δi,f}是變量或零,(δ具有在說明中所定義的意義)。
8.根據(jù)權(quán)利要求7的過程,使得為了測試第三個條件,進行一個檢驗,即從g1到gm有一個基數(shù)gi使得f個勒讓德記號(gi|p1)到(gi|pf)都等于+1或者f個勒讓德記號(-gi|p1)到(-gi|pf)都等于+1。
9.根據(jù)權(quán)利要求1到8的任何之一的過程,使得為了計算私人值Q1,Q2,...Qm(Qi,j≡Qimod pj)的f·m私人分量Qi,j,其中Gi≡Qivmod n,過程如下-如果t=1(即如果pj≡3(mod4))·計算一個數(shù)sj使得sj≡((pj+1)/4k(mod(pj-1)/2),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于Gi,·于是有w≡Gisj(modpj),Qi,j的兩個可能的值是w,pj-w,-如果t=2(即如果pj≡5(mod8))·計算一個數(shù)sj使得sj≡((pj+3)/8)k(mod(pj-1)/4),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于Gi,·于是有w≡Gisj(modpj),且w’≡w·z(mod pj),·Qi,j的四個可能的值是w,pj-w,w’,pj-w’(z具有在說明中所定義的意義),-如果t>2(即如果pj≡2t+1(mod2t+1)),且如果h=0或h=1,·計算一個數(shù)sj使得sj≡((pj-1+2t)/2t+1)k(mod(pj-1)/2t),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于Gi,·于是有w≡Gisj(modpj)?!i,j的2min(k,t)個可能的值等于w乘以CG(pj)中單位第2min(k,t)根任何之一的乘積。-如果t>2(即如果pj≡2t+1(mod2t+1)),h>1及如果h+k≤t+1,·計算sj使得sj≡((pj-1+2t)/2t+1)k+h-1(mod(pj-1)/2t),·其密鑰<sj,pj>被推導(dǎo)出,·密鑰<sj,pj>施加于2h-1次冪Gi,·于是獲得w,·Qi,j的2k個可能的值屬于w乘以CG(pj)中單位第2k+h-1原根的所有乘積。
10.根據(jù)權(quán)利要求9的過程,使得為了計算私人分量Qi,j,其中Gi·Qiv≡1·mod n,在密鑰<sj,pj>中sj由((pj-1)/2t)-sj代替。
11.應(yīng)用根據(jù)權(quán)利要求1到8任何之一的過程的一個過程,允許產(chǎn)生f個素因子p1,p2,...pf或m個基數(shù)g1,g2,...gm所述過程是要證明控制器實體,-實體的真實性和/或-與這一實體相關(guān)的消息M的完整性,借助于私人的Q1,Q2,...Qm和公開的G1,G2,...Gm值的m對(m大于或等于1)或從它們推導(dǎo)出的參數(shù),特別是借助于私人分量Qi,j根據(jù)以下步驟所述過程實現(xiàn)稱為證人的實體;所述證人實體具有f個素因子pi,和/或素因子的中國余數(shù)值的參數(shù),和/或公開模數(shù)n,和/或m個私人值Qi,和/或f·m個私人值Qi的私人分量Qi,j及公開指數(shù)v。-證人計算在整數(shù)模n環(huán)中的委托R每一委托計算如下·或者通過進行以下類型的運算R≡rvmod n其中r是隨機數(shù),使得0<r<n,·或者··通過進行以下類型的運算Ri≡rivmod pi其中ri是與素因子pi相關(guān)的隨機數(shù),使得0<ri<pi,每一ri屬于隨機數(shù){r1,r2,到ri}的集合,··然后通過施加中國余數(shù)的方法;-證人接收一個或多個查詢d;每一查詢d包括以下稱為基本查詢的m個整數(shù)di;證人從每一查詢d計算一個響應(yīng)D,·或者通過以下類型的運算D≡r·Q1d1·Q2d2到Qmdmmod n·或者·通過進行以下類型的運算Di≡r·Qi,1d1·Qi,2d2...Qi,mdmmod pi··然后應(yīng)用中國余數(shù)的方法;所述過程使得有與查詢d及委托R同樣多的響應(yīng)D,每一組數(shù)碼R,d,D構(gòu)成一個三元組,標(biāo)記為{R,d,D}。
全文摘要
本發(fā)明涉及為證明實體的真實性或消息的完整性而設(shè)計的特別密鑰集。證明是由一密鑰集實現(xiàn)的,密鑰集包括:m(≥1)對私人Q
文檔編號H04L9/32GK1387714SQ0081528
公開日2002年12月25日 申請日期2000年9月29日 優(yōu)先權(quán)日1999年10月1日
發(fā)明者路易斯·圭勞, 讓-亞奎斯·奎斯瓦特 申請人:法國電信公司, 法國電視傳播公司, 馬思·里茲克