無證書且無配對的基于身份的代理簽密方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例提供了一種無證書且無配對的基于身份的代理簽密方法和系統(tǒng)。該方法主要包括:發(fā)送者根據(jù)系統(tǒng)公共參數(shù)和自己的身份信息參數(shù)生成自己的私鑰和公鑰,利用自己的私鑰和公鑰生成代理信息,并將代理信息發(fā)送給代理者;代理者驗證代理信息通過后,生成代理密鑰,代理者利用代理密鑰、系統(tǒng)公共參數(shù)對需要發(fā)送的消息進行簽密處理得到簽密后的消息和中間參數(shù),將簽密后的消息和中間參數(shù)發(fā)送給接收者;接收者利用中間參數(shù)和系統(tǒng)公共參數(shù)對簽密后的消息進行恢復處理得到恢復后消息,并驗證恢復后的消息。本發(fā)明實施例提供的無證書且無配對的基于身份的代理簽密方案具有簽名和加密的雙重特性,而且具有代理的性質(zhì),密鑰生成中心只能生成用戶的部分私鑰,不需要證書,也解決了密鑰托管問題。
【專利說明】無證書且無配對的基于身份的代理簽密方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及密碼學【技術領域】,尤其涉及一種無證書且無配對的基于身份的代理簽密方法和系統(tǒng)。
【背景技術】
[0002]Diffie和Hellman于1976年將公鑰密碼體制引入密碼學,同時他們也提出了數(shù)字簽名的概念。在1977年由Rivest,Shamir和Adleman公開提出了 RSA密碼體制,公鑰密碼學開始得到廣泛應用,數(shù)字簽名可以自然地構造并應用。Shamir于1984年在CRYPTO’ 84中提出基于身份的密碼學,在2001年,Boneh、Franklin在CRYPTO 2001上使用橢圓曲線上雙線性配對給出了方案,自此基于身份的密碼學得到了廣泛發(fā)展,使用橢圓曲線上雙線性配對這一工具構造了許多加密方案和簽名方案。
[0003]加密和簽名在密碼學中起著不同的重要作用,簽密將簽名和加密結合起來,具有簽名和加密的特性,而且實現(xiàn)速度更為有效。使用橢圓曲線上雙線性配對可以構造許多基于身份的簽密方案。
[0004]在一個代理簽名方案中,原始簽名人(Original Signer)將簽名任務給代理簽名A(PiX)Xy Signer)就是代理簽名。為此,原始簽名人將代理信息交給代理簽名人,而代理簽名人根據(jù)代理信息生成代理密鑰,將消息簽名并發(fā)送給接收者。同樣使用橢圓曲線上雙線性配對可以構造許多的代理簽名方案。
[0005]在傳統(tǒng)的公鑰密碼體制中,需要公鑰密碼體制基礎設施來保證公鑰密碼體制的正常應用。每一個用戶都有一個證書,證書中有用戶的相關信息,其中包括公鑰。而在基于身份的密碼體制中,用戶的公鑰與其身份相聯(lián)系,從而可以免去證書,實現(xiàn)無證書的密碼體制。
[0006]橢圓曲線上的雙線性配對在基于身份的密碼學中發(fā)揮著重要的作用,但配對的計算比有限域中的運算和橢圓曲線曲線上面的點乘計算,花費較高。在現(xiàn)有技術中,還沒有有效的無證書且無配對的基于身份的代理簽密方案。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的實施例提供了一種無證書且無配對的基于身份的代理簽密方法和系統(tǒng),以實現(xiàn)有效的無證書且無配對的基于身份的代理簽密方案。
[0008]一種無證書且無配對的基于身份的代理簽密方法,包括:
[0009]發(fā)送者根據(jù)系統(tǒng)公共參數(shù)和自己的身份信息參數(shù)生成自己的私鑰和公鑰,利用自己的私鑰和公鑰生成代理信息,并將所述代理信息發(fā)送給代理者;
[0010]所述代理者驗證所述代理信息通過后,生成代理密鑰,所述代理者利用所述代理密鑰、系統(tǒng)公共參數(shù)對需要發(fā)送的消息進行簽密處理得到簽密后的消息和中間參數(shù),將所述簽密后的消息和中間參數(shù)發(fā)送給接收者;
[0011]所述接收者利用所述中間參數(shù)和所述系統(tǒng)公共參數(shù)對所述簽密后的消息進行恢復處理得到恢復后消息,并驗證所述恢復后的消息。
[0012]一種無證書且無配對的基于身份的代理簽密系統(tǒng),包括:
[0013]代理信息處理單元,用于通過發(fā)送者根據(jù)系統(tǒng)公共參數(shù)和自己的身份信息參數(shù)生成自己的私鑰和公鑰,利用自己的私鑰和公鑰生成代理信息,并將所述代理信息發(fā)送給代
理者;
[0014]消息簽密處理單元,用于通過所述代理者驗證所述代理信息通過后,生成代理密鑰,通過所述代理者利用所述代理密鑰、系統(tǒng)公共參數(shù)對需要發(fā)送的消息進行簽密處理得到簽密后的消息和中間參數(shù),將所述簽密后的消息和中間參數(shù)發(fā)送給接收者;
[0015]消息恢復處理單元,用于通過所述接收者利用所述中間參數(shù)和所述系統(tǒng)公共參數(shù)對所述簽密后的消息進行恢復處理得到恢復后消息,并驗證所述恢復后的消息。
[0016]由上述本發(fā)明的實施例提供的技術方案可以看出,本發(fā)明實施例提供的無證書且無配對的基于身份的代理簽密方案具有簽名和加密的雙重特性,而且具有代理的性質(zhì),密鑰生成中心只能生成用戶的部分私鑰,不需要證書,也解決了密鑰托管問題。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本發(fā)明實施例一提供的一種無證書且無配對的基于身份的代理簽密方法的處理流程示意圖;
[0019]圖2為本發(fā)明實施例一提供的一種無證書且無配對的基于身份的代理簽密系統(tǒng)的結構示意圖。
【具體實施方式】
[0020]為便于對本發(fā)明實施例的理解,下面將結合附圖以幾個具體實施例為例做進一步的解釋說明,且各個實施例并不構成對本發(fā)明實施例的限定。
[0021]實施例一
[0022]本發(fā)明實施例所述技術方案涉及的實體如下:
[0023](I)密鑰生成中心:密鑰生成中心負責根據(jù)安全參數(shù),生成系統(tǒng)參數(shù),選取主密鑰,結合用戶的身份,生成用戶的部分密鑰,并通過安全通道將部分密鑰發(fā)送給用戶。
[0024](2)發(fā)送者:發(fā)送者驗證自己的部分密鑰,并生成自己的全部密鑰。結合代理者的身份,使用私鑰生成代理信息,并將代理信息發(fā)送給代理者。
[0025](3)代理者:代理者驗證自己的部分密鑰,生成自己的全部密鑰。收到代理信息,驗證代理信息,驗證通過后,結合發(fā)送者的身份,使用自己的私鑰,生成代理密鑰,并使用代理密鑰,結合接收者的身份及公鑰,對消息進行簽密,把簽密消息發(fā)送給接收者。
[0026](4)接收者:接收者驗證自己的部分密鑰,生成自己的全部密鑰。收到簽密消息后,使用自己的私鑰以及發(fā)送者和代理者的身份和公鑰,恢復消息,并驗證有效性。
[0027]該實施例提供的一種無證書且無配對的基于身份的代理簽密方法的處理流程示意圖如圖1所示,包括如下的處理步驟:
[0028]步驟11、密鑰生成中心生成系統(tǒng)公共參數(shù)。
[0029]具體處理過程如下:
[0030]密鑰生成中心基于安全參數(shù)k,選取有限域Fp,選取Fp上的橢圓曲線E,取其橢圓曲線E上具有大素數(shù)階q的一點P,G為點P所生成的循環(huán)群。
[0031]密鑰生成中心隨機選取秘密參數(shù)SeZ:,將s作為密鑰生成中心的私鑰,并公開參數(shù) Ppub = sP ;
[0032]選取安全hash函數(shù)H1:
【權利要求】
1.一種無證書且無配對的基于身份的代理簽密方法,其特征在于,包括: 發(fā)送者根據(jù)系統(tǒng)公共參數(shù)和自己的身份信息參數(shù)生成自己的私鑰和公鑰,利用自己的私鑰和公鑰生成代理信息,并將所述代理信息發(fā)送給代理者; 所述代理者驗證所述代理信息通過后,生成代理密鑰,所述代理者利用所述代理密鑰、系統(tǒng)公共參數(shù)對需要發(fā)送的消息進行簽密處理得到簽密后的消息和中間參數(shù),將所述簽密后的消息和中間參數(shù)發(fā)送給接收者; 所述接收者利用所述中間參數(shù)和所述系統(tǒng)公共參數(shù)對所述簽密后的消息進行恢復處理得到恢復后消息,并驗證所述恢復后的消息。
2.根據(jù)權利要求1所述的無證書且無配對的基于身份的代理簽密方法,其特征在于,所述的方法還包括: 密鑰生成中心基于安全參數(shù)k,選取有限域Fp,選取Fp上的橢圓曲線E,取其橢圓曲線E上具有大素數(shù)階q的一點P,G為點P所生成的循環(huán)群; 所述密鑰生成中心隨機選取秘密參數(shù)$ ,將s作為密鑰生成中心的私鑰,并公開參數(shù) Ppub = sP ; 選取安全 hash 函數(shù) H1: {O,?} XG4Zty 5 H2: {0,1} xGxG Z ,H3: {O,1}*XGXG— {0, l}n, H4: {0,1}* ^Z;,所述Z:={1,……,q-1}? 所述密鑰生成中心生成并公開系統(tǒng)公共參數(shù)params, params= (Fp, E, P, Ppub, H1, H2, H3,H4),消息空間為M = {O, 1}η,私鑰為S。
3.根據(jù)權利要求1所述的無證書且無配對的基于身份的代理簽密方法,其特征在于,所述的發(fā)送者根據(jù)系統(tǒng)公共參數(shù)和自己的身份信息參數(shù)生成自己的私鑰和公鑰,利用自己的私鑰和公鑰生成代理信息,并將所述代理信息發(fā)送給代理者,包括: 密鑰生成中心為發(fā)送者選取G ,計算Ra = rAP,hA = H1 (IDA, Ra),其中IDa為發(fā)送者的身份,計算dA = rA+hAs,所述密鑰生成中心將所述dA通過安全通道傳送給所述發(fā)送者,公開參數(shù)Ra ; 所述發(fā)送者收到所述dA后,計算hA = H1 (IDa, Ra),并驗證dAP是否等于RA+hAPpub,驗證通過,則將dA作為自己的部分私鑰; 所述發(fā)送者隨機選取L ,公開參數(shù)Pa = sAP ; 則所述發(fā)送者的私鑰為(dA,sA),公鑰為(Ra,PA)。
4.根據(jù)權利要求1所述的 無證書且無配對的基于身份的代理簽密方法,其特征在于,所述的利用自己的私鑰和公鑰生成代理信息,并將所述代理信息發(fā)送給代理者,包括: 所述發(fā)送者隨機選取參數(shù);計算K = aP ;
計算 K = H2 (mw I I IDc, K, Ra) , h2 = H2 (mw | | IDc, K, PA), v = a+hA+h;^,其中 mw 為所述發(fā)送者給代理者的憑證,ID。為所述代理者的身份,I I表示為信息的連接。 所述發(fā)送者將代理信息\ — c= {IDa, Ra, Pa, IDc, mw, K, v}發(fā)送給所述代理者。
5.根據(jù)權利要求1所述的無證書且無配對的基于身份的代理簽密方法,其特征在于,所述的代理者驗證所述代理信息通過后,生成代理密鑰,包括: 所述代理者收到代理信息WA —。后,計算hA = H1^D, Ill = H2(mw| I ID。,K,Ra),h2 =H2 (mw I I IDc, K, PA);所述代理者驗證VP是否等于hi (RA+hAPpub)+K+h2PA,驗證通過則接受所述代理信息Wa^c; 代理者的密鑰產(chǎn)生過程與發(fā)送者相同,私鑰為(dc,sc),公鑰為(Rc,Pc),所述代理者計算 h3 = H2 (mw I I IDa, K, Rc), h4 = H2 (mw | | IDa, K, Pc),計算代理密鑰 dp = v+h3dc+h4sc。
6.根據(jù)權利要求5所述的無證書且無配對的基于身份的代理簽密方法,其特征在于,所述的代理者利用所述代理密鑰、系統(tǒng)公共參數(shù)對需要發(fā)送的消息進行簽密處理得到簽密后的消息和中間參數(shù),將所述簽密后的消息和中間參數(shù)發(fā)送給接收者,包括: 所述代理者需要給接收者發(fā)送消息m,所述接收者的密鑰產(chǎn)生過程與發(fā)送者相同,私鑰為(dB, sB),公鑰為(Rb, Pb); 所述代理者隨機選取參數(shù)GA eZ*,計算R1 = !^,R2 = r2P,計算K1 = A (RB+hBPpub), K2=r2PB,其中 hB = !(HbI,計算
7.根據(jù)權利要求6所述的無證書且無配對的基于身份的代理簽密方法,其特征在于,所述的接收者利用所述中間參數(shù)和所述系統(tǒng)公共參數(shù)對所述簽密后的消息進行恢復處理得到恢復后消息,并驗證所述恢復后的消息,包括: 所述的接收者計算 K1 = (IbR1, K2 = SbR2,恢復消息
8.一種無證書且無配對的基于身份的代理簽密系統(tǒng),其特征在于,包括: 代理信息處理單元,用于通過發(fā)送者根據(jù)系統(tǒng)公共參數(shù)和自己的身份信息參數(shù)生成自己的私鑰和公鑰,利用自己的私鑰和公鑰生成代理信息,并將所述代理信息發(fā)送給代理者; 消息簽密處理單元,用于通過所述代理者驗證所述代理信息通過后,生成代理密鑰,通過所述代理者利用所述代理密鑰、系統(tǒng)公共參數(shù)對需要發(fā)送的消息進行簽密處理得到簽密后的消息和中間參數(shù),將所述簽密后的消息和中間參數(shù)發(fā)送給接收者; 消息恢復處理單元,用于通過所述接收者利用所述中間參數(shù)和所述系統(tǒng)公共參數(shù)對所述簽密后的消息進行恢復處理得到恢復后消息,并驗證所述恢復后的消息。
9.根據(jù)權利要求8所述的無證書且無配對的基于身份的代理簽密系統(tǒng),其特征在于,所述的系統(tǒng)還包括: 系統(tǒng)參數(shù)生成單元,用于通過密鑰生成中心基于安全參數(shù)k,選取有限域Fp,選取Fp上的橢圓曲線E,取其橢圓曲線E上具有大素數(shù)階q的一點P,G為點P所生成的循環(huán)群; 通過所述密鑰生成中心隨機選取秘密參數(shù)<,將s作為密鑰生成中心的私鑰,并公開參數(shù)Ppub = sP ; 選取安全 hash 函數(shù) H1:
10.根據(jù)權利要求8所述的無證書且無配對的基于身份的代理簽密系統(tǒng),其特征在于:所述的代理信息處理單元,還用于通過所述密鑰生成中心為發(fā)送者選取rA^r,計算Ra = rAP, hA = H1 (IDa, Ra),其中IDa為發(fā)送者的身份,計算dA = rA+hA,通過所述密鑰生成中心將所述dA通過安全通道傳送給所述發(fā)送者,公開參數(shù)Ra ; 通過所述發(fā)送者收到所述dA后,計算hA = H1 (IDa, Ra),并驗證dAP是否等于RA+hAPpub,驗證通過,則將dA作為自己的部分私鑰,通過所述發(fā)送者隨機選取L e Z;,公開參數(shù)Pa = sAP,則所述發(fā)送者的私鑰為(dA,sA),公鑰為(Ra,PA)。
11.根據(jù)權利要求10所述的無證書且無配對的基于身份的代理簽密方法,其特征在于: 所述的代理信息處理單元,還用于通過所述發(fā)送者隨機選取參數(shù),計算K = a,計算 Ii1 = H2 (mw I I IDc, K, Ra) , h2 = H2 (mw | | IDc, K, PA), v = a+hA+h;^,其中 mw 為所述發(fā)送者給代理者的憑證,ID。為所述代理者的身份,I I表示為信息的連接; 通過所述發(fā)送者將代理信息\ — c= {IDa, Ra, Pa, IDc, mw, K,v}發(fā)送給所述代理者。
12.根據(jù)權利要求11所述的無證書且無配對的基于身份的代理簽密系統(tǒng),其特征在于: 所述的消息簽密處理單元,還用于通過所述代理者收到代理信息WA —。后,計算hA =H1 (IDa, Ra),Ii1 = H2 (mw | | IDc, K, Ra),h2 = H2 (mw | IDc, K, ΡΑ); 通過所述代理者驗證νΡ是否等于Ii1 (RA+hAPpub) +K+h2PA,驗證通過則接受所述代理信息Wa^c; 代理者的密鑰產(chǎn)生過程與發(fā)送者相同,私鑰為(dc,sc),公鑰為(Rc,Pc),通過所述代理者計算 h3 = H2 (mw I I IDa, K, Rc), h4 = H2 (mw | | IDa, K, Pc),計算代理密鑰 dp = v+h3dc+h4sc。
13.根據(jù)權利要求12所述的無證書且無配對的基于身份的代理簽密系統(tǒng),其特征在于: 所述的消息簽密處理單元,還用于當所述代理者需要給接收者發(fā)送消息m,所述接收者的密鑰產(chǎn)生過程與發(fā)送者相同,私鑰為(dB,sB),公鑰為(RB,Pb),通過所述代理者隨機選取參數(shù)5計算 Ri = T1P, R2 = r2P,計算 K1 = !T1 (RB+hBPpub), K2 = r2PB,其中 hB = ! (HbI,計算(.(//), Il //..)r Ii5計算 t = hdp+n,其中 h = H4 (m | IDa | IDc | IDb); 通過所述代理者將所述(IDa,Pa, Pa, K, IDc, Rc, Pc, mw, R1, R2, c, t)發(fā)送給所述接收者。
14.根據(jù)權利要求13所述的無證書且無配對的基于身份的代理簽密系統(tǒng),其特征在于: 所述的消息恢復處理單元,還用于通過所述的接收者計算K1 = (IbR1, K2 = SbR2,恢復消息丨/CU盡);通過所述的接收者計算 hA = H1 (IA, D, hc = H1 (IDc, Rc), Ii1 = H2 (mw IDc, K, Ra) , h2 =H2(mw| |lDc,K,PA),h3 = H2(mw| |lDA,K,Rc),h4 = H2(mw| |IDa,K,Pc),h = H4 (m| |IDa| |IDC| |IDb);通過所述的接收者驗證 tP 是否等于 h [K+h (RA+hAPpub) +h2PA+h3 (Rc+hcPpub) +h4Pc] +R1,如果等于,則驗證通過,接受恢復的消息;否則,所述的接收者不接受恢復的消息,流程終止。
【文檔編號】H04L9/30GK103905189SQ201210567106
【公開日】2014年7月2日 申請日期:2012年12月24日 優(yōu)先權日:2012年12月24日
【發(fā)明者】亓延峰, 郭寶安, 徐樹民, 田心, 王申, 張先強 申請人:航天信息股份有限公司