從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法
【專利摘要】本發(fā)明公開了一種從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法。其具體過程為:從公鑰函數(shù)數(shù)據(jù)庫中隨機(jī)選取參數(shù),并生成證書公鑰系統(tǒng)和身份公鑰系統(tǒng)的系統(tǒng)公鑰和系統(tǒng)私鑰;根據(jù)系統(tǒng)參數(shù)和公、私鑰生成用戶的公、私鑰;利用雙線性對(duì)、證書公鑰系統(tǒng)用戶的私鑰和身份公鑰系統(tǒng)用戶的身份,對(duì)消息進(jìn)行匿名簽密,并把密文發(fā)送給接收者;接收者根據(jù)雙線性對(duì)和自身的私鑰,對(duì)收到的密文進(jìn)行解簽密,同時(shí)認(rèn)證發(fā)送者的身份。本發(fā)明具有實(shí)施過程簡(jiǎn)單、傳輸效率高的優(yōu)點(diǎn),可用于實(shí)現(xiàn)從證書公鑰系統(tǒng)向身份公鑰系統(tǒng)傳輸消息的機(jī)密性、認(rèn)證性和匿名性。
【專利說明】從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息安全【技術(shù)領(lǐng)域】,涉及匿名簽密,具體地說是一種高效的從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法,可用于實(shí)現(xiàn)從證書公鑰系統(tǒng)向身份公鑰系統(tǒng)傳輸消息的機(jī)密性、認(rèn)證性和匿名性。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)網(wǎng)絡(luò)和通信技術(shù)的快速發(fā)展,人們之間進(jìn)行的信息傳遞越來越頻繁。然而,由于所傳遞的信息往往涉及到一些敏感信息,而計(jì)算機(jī)網(wǎng)絡(luò)和無線通信網(wǎng)這樣的開放網(wǎng)絡(luò)又具有很大的脆弱性,因此信息安全問題日益凸顯。信息安全的理論基礎(chǔ)是現(xiàn)代密碼學(xué),機(jī)密性和認(rèn)證性是密碼學(xué)中兩個(gè)重要的安全目標(biāo)。消息的機(jī)密性可以通過加密技術(shù)來實(shí)現(xiàn),消息的認(rèn)證性可以通過數(shù)字簽名技術(shù)來實(shí)現(xiàn)。然而,很多實(shí)際應(yīng)用不但需要實(shí)現(xiàn)機(jī)密性,同時(shí)也需要實(shí)現(xiàn)認(rèn)證性,比如電子商務(wù)和電子郵件。
[0003]為了同時(shí)實(shí)現(xiàn)消息傳輸?shù)臋C(jī)密性和認(rèn)證性,可以采用傳統(tǒng)的“先簽名后加密”方法,然而這種方法的效率通常比較低。為了解決這一問題,Zheng在1997年提出了“簽密”的概念。簽密能夠在一個(gè)合理的邏輯步驟內(nèi)同時(shí)完成數(shù)字簽名和公鑰加密的功能,而其計(jì)算量和通信成本都要低于傳統(tǒng)的“先簽名后加密”方法,因而它是實(shí)現(xiàn)既保密又認(rèn)證地傳輸消息的較為理想的方法。
[0004]在1976年,Diffie和Hellman發(fā)表了關(guān)于密碼學(xué)的新方向的論文,首次提出了公鑰密碼的思想,開創(chuàng)了現(xiàn)代密碼學(xué)的新紀(jì)元?;跇?biāo)準(zhǔn)的數(shù)字簽名算法DSA(DigitalSignature Algorithm),韓國學(xué)者Shin, Lee和Shim在2002年提出了兩種實(shí)用的簽密方法。傳統(tǒng)的公鑰密碼系統(tǒng),即證書公鑰密碼系統(tǒng),雖然克服了對(duì)稱密碼系統(tǒng)的密鑰量問題和密鑰分發(fā)問題,而且用戶的私鑰只有用戶自己知道,保密性比較強(qiáng),但是證書公鑰系統(tǒng)也存在一個(gè)缺點(diǎn):需要管理大量證書,任務(wù)繁重。在證書公鑰系統(tǒng)中,一個(gè)用戶在向其他用戶發(fā)送消息之前,需要查找目標(biāo)用戶的公鑰證書,并對(duì)證書的合法性和有效性進(jìn)行驗(yàn)證。證書的查找、存儲(chǔ)、驗(yàn)證和撤銷等都會(huì)帶來較大的計(jì)算開銷和存儲(chǔ)開銷。為了克服證書公鑰系統(tǒng)的上述缺點(diǎn),Shamir于1984年提出了基于身份的密碼學(xué)。在身份公鑰系統(tǒng)中,用戶的身份即為公鑰,因此不需要證書。然而,直到2001年,才由Boneh和Franklin提出了第一個(gè)實(shí)用的基于身份的加密方案。在2002年,美國學(xué)者Lynn提出了第一個(gè)基于身份的簽密方案。英國學(xué)者Chen和Malone-Lee在2005年提出了一個(gè)效率更高的基于身份的簽密方案?;陔p線性對(duì),巴西學(xué)者Barreto等人構(gòu)造了一個(gè)更高效的基于身份的簽密方案。在2006年,中國學(xué)者Duan和Cao構(gòu)造了具有多接收者的基于身份的簽密方案。在2009年,印度學(xué)者Selvi, Vivek和Srinivasan提出了效率更高的具有多接收者的基于身份的簽密方案。
[0005]然而,已有的簽密方法大都只支持一種系統(tǒng),要么是證書公鑰系統(tǒng),要么是身份公鑰系統(tǒng)。在實(shí)際應(yīng)用中,不同的機(jī)構(gòu)可能采用不同的公鑰密碼系統(tǒng)。當(dāng)證書公鑰系統(tǒng)的用戶A想要給身份公鑰系統(tǒng)的用戶B發(fā)送消息時(shí),A首先要對(duì)消息做基于證書的簽名,再對(duì)簽名做基于身份的加密,或者需要在身份公鑰系統(tǒng)里申請(qǐng)一對(duì)公私鑰,然后再用基于身份的簽密技術(shù)對(duì)消息進(jìn)行簽密,把簽密密文發(fā)送給B,這兩種方法的效率都比較低,而且增加了系統(tǒng)的復(fù)雜性。在2010年,中國學(xué)者Sun和Li構(gòu)造了證書公鑰系統(tǒng)和身份公鑰系統(tǒng)之間的簽密方法。然而,在實(shí)際應(yīng)用中,為了保護(hù)自己的隱私,消息的發(fā)送者往往不想讓任何第三方獲悉消息的來源。在已有的從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的簽密方法中,由于發(fā)送者的公鑰直接被放在簽密密文中,因而已有技術(shù)不能實(shí)現(xiàn)傳遞消息的匿名性,泄露了用戶的隱私。
【發(fā)明內(nèi)容】
[0006]本發(fā)明目的在于提高從證書公鑰系統(tǒng)向身份公鑰系統(tǒng)傳輸消息的安全性和效率,提供一種從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法,是一種能簡(jiǎn)單高效的實(shí)現(xiàn)從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法,以簡(jiǎn)單高效地實(shí)現(xiàn)從證書公鑰系統(tǒng)向身份公鑰系統(tǒng)傳輸消息的機(jī)密性、認(rèn)證性和匿名性,簡(jiǎn)化系統(tǒng)、提高安全性和傳輸效率。
[0007]實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是:對(duì)證書公鑰系統(tǒng)用戶的公鑰進(jìn)行盲化,計(jì)算從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的雙線性對(duì),再用計(jì)算結(jié)果對(duì)消息進(jìn)行匿名簽密并傳輸。
[0008]具體過程如下:
[0009](I)系統(tǒng)初始化步驟:
[0010]證書公鑰系統(tǒng)和身份公鑰系統(tǒng)從公鑰函數(shù)數(shù)據(jù)庫中隨機(jī)選取一套參數(shù),包括兩個(gè)階為素?cái)?shù)q的循環(huán)群G和GT, G的生成元P, 一個(gè)雙線性對(duì)1:
【權(quán)利要求】
1.一種從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的匿名簽密方法,其特征在于:對(duì)證書公鑰系統(tǒng)用戶的公鑰進(jìn)行盲化,計(jì)算從證書公鑰系統(tǒng)到身份公鑰系統(tǒng)的雙線性對(duì),再用雙線性對(duì)的計(jì)算結(jié)果對(duì)消息進(jìn)行匿名簽密并傳輸。
2.如權(quán)利要求1所述的匿名簽密方法,其特征在于,包括: (1)系統(tǒng)初始化步驟: 證書公鑰系統(tǒng)和身份公鑰系統(tǒng)從公鑰函數(shù)數(shù)據(jù)庫中隨機(jī)選取一套參數(shù),包括兩個(gè)階為素?cái)?shù)q的循環(huán)群G和GT, G的生成元P,一個(gè)雙線性對(duì)?:GxG^ Gr,以及三個(gè)哈希函數(shù)H0: {O,I}*-G, H1: {O, I}" X C? Ζ;和迅:Gt {O, I}" χ {0,1}η χ Ζ;,這里,{0,1}*表示任意比特長(zhǎng)的二進(jìn)制序列組成的集合,η是明文消息的比特長(zhǎng)度,隊(duì)^表示η比特長(zhǎng)的二進(jìn)制序列組成的集合,Ζ; = { 1.…,<? —1}表示有限域Zq= {0,1,…,q-Ι}去掉元素零所得到的乘法群,根據(jù)選取的參數(shù),證書公鑰系統(tǒng)選取系統(tǒng)公鑰tpk和系統(tǒng)私鑰tsk,身份公鑰系統(tǒng)選取系統(tǒng)公鑰mpk和系統(tǒng)私鑰msk ; (2)用戶密鑰生成步驟: 證書公鑰系統(tǒng)的用戶A由自己生成公鑰Ya和私鑰xA ;身份公鑰系統(tǒng)的密鑰生成中心PKG把用戶B的身份IDb作為用戶B的公鑰 ,并根據(jù)IDb和msk計(jì)算出用戶B的私鑰Db ; (3)匿名簽密步驟: 根據(jù)自己的私鑰xA和身份公鑰系統(tǒng)的用戶B的身份IDb,證書公鑰系統(tǒng)的用戶A對(duì)消息m進(jìn)行匿名簽密得到簽密密文C,并將C發(fā)送給用戶B ; (4)解簽密步驟: 收到由證書公鑰系統(tǒng)的用戶A發(fā)送來的密文C后,身份公鑰系統(tǒng)的用戶B根據(jù)雙線性對(duì)的性質(zhì),利用自己的私鑰Db對(duì)密文C進(jìn)行解簽密,得到消息m,同時(shí)認(rèn)證發(fā)送者的身份。
3.根據(jù)權(quán)利要求2所述的匿名簽密方法,其特征在于,所述步驟(1)中的證書公鑰系統(tǒng)的系統(tǒng)公鑰tpk和系統(tǒng)私鑰tsk,以及身份公鑰系統(tǒng)的系統(tǒng)公鑰mpk和系統(tǒng)私鑰msk,按照如下方式生成: (3a)證書公鑰系統(tǒng)從中隨機(jī)選取一個(gè)元素作為系統(tǒng)私鑰tsk,并計(jì)算系統(tǒng)公鑰tpk=tsk.P,其中符號(hào)表示群G對(duì)應(yīng)的橢圓曲線上的點(diǎn)乘運(yùn)算; (3b)身份公鑰系統(tǒng)從中隨機(jī)選取一個(gè)元素s作為系統(tǒng)私鑰msk,并計(jì)算Ptl = s.P作為系統(tǒng)公鑰mpk。
4.根據(jù)權(quán)利要求2所述的匿名簽密方法,其特征在于,所述步驟(2)中的用戶A的公鑰Ya和私鑰xA,以及用戶B的私鑰Db,按照如下方式生成: (4a)證書公鑰系統(tǒng)的用戶A從%中隨機(jī)選取一個(gè)元素作為自己的私鑰xA,并將該私鑰與系統(tǒng)參數(shù)中G的生成元P相乘,計(jì)算出自己的公鑰Ya = xA.P ; (4b)根據(jù)系統(tǒng)私鑰s和用戶B的身份IDb,身份公鑰系統(tǒng)的PKG計(jì)算Db = s.Qb作為用戶B的私鑰,其中Qb = H0(IDb)。
5.根據(jù)權(quán)利要求2所述的匿名簽密方法,其特征在于,所述步驟(3)中的證書公鑰系統(tǒng)的用戶A利用xA和IDb對(duì)消息m進(jìn)行匿名簽密,計(jì)算出簽密密文C,按照如下過程進(jìn)行: (5a)用戶A從{0,1}η中隨機(jī)選取一個(gè)元素σ ;(5b)用戶A計(jì)算
6.根據(jù)權(quán)利要求2所述的匿名簽密方法,其特征在于,所述步驟(4)中的身份公鑰系統(tǒng)的用戶B利用自己的私鑰Db對(duì)密文C進(jìn)行解簽密,按照如下過程進(jìn)行: (6a)用戶B把密文C解析成C = (C0, C1); (6b)用戶 B 計(jì)算
【文檔編號(hào)】H04L9/32GK103746810SQ201310740351
【公開日】2014年4月23日 申請(qǐng)日期:2013年12月27日 優(yōu)先權(quán)日:2013年12月27日
【發(fā)明者】張應(yīng)輝, 鄭東, 趙慶蘭, 任方 申請(qǐng)人:西安郵電大學(xué)