屯、提交身份信息。
[0076] 密鑰生成中屯、利用下式計(jì)算密鑰: W77]Did=S*HI(ID)
[0078] 其中,Did表示發(fā)送者和接收者的私鑰,ID表示發(fā)送者和接收者的身份信息,S表示 密碼系統(tǒng)主密鑰,*表示相乘操作,Hi(ID)表示發(fā)送者和接收者的公鑰。
[0079] 密鑰生成中屯、對外公布發(fā)送者和接收者的公鑰,并將發(fā)送者和接收者的私鑰分別 安全地發(fā)送給發(fā)送者和接收者。
[0080] 步驟3,發(fā)送者簽密。
[0081] 發(fā)送者選取已注冊的多個(gè)接收者,并建立注冊的接收者身份信息列表。
[0082] 發(fā)送者選取公鑰掩碼r,將公鑰掩碼r與發(fā)送者公鑰相乘,得到發(fā)送者的偽公鑰, 將公鑰掩碼與密碼系統(tǒng)參數(shù)中的密碼系統(tǒng)公鑰相乘得到密碼系統(tǒng)驗(yàn)證值,將公鑰掩碼與密 碼系統(tǒng)參數(shù)中加法循環(huán)群的生成元相乘得到群驗(yàn)證值,然后發(fā)送者選取偽公鑰隨機(jī)數(shù)a, 將偽公鑰隨機(jī)數(shù)a與發(fā)送者偽公鑰相乘得到偽公鑰驗(yàn)證值,其中,r表示公鑰掩碼,rGZq% £表示限定域符號,2。"^表示由發(fā)送者構(gòu)造的階為大素?cái)?shù)9的非零乘法群,9表示步驟(la) 中選定的大素?cái)?shù),a表示偽公鑰隨機(jī)數(shù),aGZq^^
[0083] 發(fā)送者使用密碼系統(tǒng)參數(shù)中的身份哈希函數(shù)Hi和每一個(gè)注冊的接收者身份信息, 按照公式Qi=HI(IDi)計(jì)算每一個(gè)接收者的公鑰,其中,Qi表示接收者公鑰,i表示計(jì)數(shù)游 標(biāo),i= 1,2,…,n,n表示接收到密文的接收者個(gè)數(shù),Hi(?)表示身份哈希函數(shù),IDi表示接 收者的身份信息。 陽084] 發(fā)送者按照公式Vi=Hz(e傅+J)),計(jì)算偽身份值Vi,其中,&(?)表示雙線性哈 希函數(shù),e表示密碼系統(tǒng)參數(shù)中的雙線性映射,Qi表示接收者公鑰,i表示計(jì)數(shù)游標(biāo),i= 1,2,…,n,n表示接收到密文的接收者個(gè)數(shù),J表示密碼系統(tǒng)驗(yàn)證值。
[00化]利用下式,密鑰生成中屯、計(jì)算接收者隱藏身份參數(shù): 巧 陽086] = - + 與) /=1
[0087] 其中,f(X)表示接收者隱藏身份參數(shù),X表示隱藏身份種子,n表示連乘操作,n表示接收到密文的接收者個(gè)數(shù),i表示計(jì)數(shù)游標(biāo),Vi表示偽身份值,P表示發(fā)送者隨機(jī)選擇 的正整數(shù)加權(quán)參數(shù),mod表示求模操作,q表示密碼系統(tǒng)參數(shù)中的大素?cái)?shù)。
[0088] 利用下式,密鑰生成中屯、計(jì)算接收者混合身份值:
[0089] A=f(1)
[0090] 其中,A表示接收者混合身份值,f( ?)表示接收者隱藏身份參數(shù)。 柳川發(fā)送者從由0和1組成的任意長的數(shù)串中任意選取一個(gè)數(shù)串5,按照公式r= ?打,(/.,)計(jì)算密鑰驗(yàn)證值V,按照公式K=電(S)計(jì)算密碼系統(tǒng)參數(shù)中的加密方法和 解密方法共用的密鑰K,其中,5表示發(fā)送者選取的任意長的數(shù)串,?表示異或操作,P表示 發(fā)送者隨機(jī)選擇的正整數(shù)加權(quán)參數(shù),& (?)表示加權(quán)哈希函數(shù),電(?)表示密鑰哈希函數(shù)。
[0092] 發(fā)送者利用步驟(If)所選取的密碼系統(tǒng)參數(shù)中的公鑰加密算法,對待加密的明 文消息進(jìn)行加密,得到消息密文。
[0093] 利用下式,發(fā)送者計(jì)算簽名驗(yàn)證值:
[0094] h=馬化U,Z,V,A) 陽0巧]其中,h表示簽名驗(yàn)證值,馬(?)表示驗(yàn)證哈希函數(shù),X表示偽公鑰驗(yàn)證值,U表示 群驗(yàn)證值,Z表示消息密文,V表示密鑰驗(yàn)證值,A表示接收者混合身份值。
[0096] 利用下式,發(fā)送者計(jì)算簽名參數(shù):
[0097] W= (a+h)卸蝴S
[0098] 其中,W表示簽名參數(shù),a表示偽公鑰隨機(jī)數(shù),h表示簽名驗(yàn)證值,*表示相乘操作,r表示密碼系統(tǒng)隨機(jī)數(shù),Dg表示發(fā)送者的私鑰。
[0099] 發(fā)送者利用W上結(jié)果構(gòu)成簽密密文C= <Y,U,X,Z,V,W,A>.,并對簽密密文進(jìn)行 廣播。
[0100] 步驟4,判斷簽密密文有效條件是否成立,若是,則簽密密文有效,執(zhí)行步驟5,否 貝1J,簽密密文無效,執(zhí)行步驟7。 陽101] 簽密密文有效條件如下: 陽 10引e(W,巧=e狂+hY,PpJ 陽103] 其中,e( ?)表示雙線性映射,W表示發(fā)送者的簽名參數(shù),P表示加法循環(huán)群的生成 元,X表示偽公鑰驗(yàn)證值,h表示簽名驗(yàn)證值,Y表示發(fā)送者偽公鑰,Ppub表示系統(tǒng)公鑰;
[0104] 步驟5,判斷權(quán)限驗(yàn)證條件是否成立,若是,接收者有權(quán)解密,則執(zhí)行步驟6,否則, 接收者無權(quán)解密,執(zhí)行步驟7。 陽1化]權(quán)限驗(yàn)證條件如下:
[0106]e(W,Q,) =e(X+hY,D,) 陽107] 其中,e( ?)表示雙線性映射,W表示發(fā)送者的簽名參數(shù),Q康示接收者公鑰,X表 示偽公鑰驗(yàn)證值,h表示簽名驗(yàn)證值,Y表示發(fā)送者偽公鑰,Di表示接收者公鑰。
[0108] 步驟6,接收者解簽密。
[0109] 按照下式,接收者計(jì)算偽身份值:
[0110] Vi=Hz(e值1,U))
[01川其中,V康示偽身份值,H2( ?)表示密碼單向哈希函數(shù),e( ?)表示系統(tǒng)參數(shù)中的 雙線性映射,Di表示接收者公鑰,i= 1,2,…,n,n表示接收到密文的接收者個(gè)數(shù),U表示群 驗(yàn)證值。
[0112] 按照下式,接收者計(jì)算加權(quán)參數(shù): 陽113]P=f(Vi)
[0114] 其中,P表示加權(quán)參數(shù),f( ?)表示接收者隱藏身份參數(shù),Vi表示偽身份值。
[0115] 按照下式,接收者計(jì)算數(shù)串: 陽116] d二
[0117] 其中,5表示密鑰種子,V表示密鑰驗(yàn)證值,#表示異或操作,&(?)表示密碼單 向哈希函數(shù),P表示加權(quán)參數(shù)。
[0118] 按照下式,接收者計(jì)算解密算法的密鑰: 陽119]K=Ha(S)
[0120] 其中,K表示公鑰解密算法的密鑰,電(?)表示密碼單向哈希函數(shù),5表示密鑰種 子。 陽121] 接收者利用步驟(If)所選取的密碼系統(tǒng)參數(shù)中的公鑰解密算法,對密文消息進(jìn) 行解密,得到明文消息。 陽122] 步驟7,退出解簽密。
【主權(quán)項(xiàng)】
1. 一種多接收者身份匿名簽密方法,本發(fā)明是在基于身份的密碼系統(tǒng)上實(shí)現(xiàn)的,具體 步驟包括: (1) 生成密碼系統(tǒng)參數(shù): (la) 密鑰生成中心根據(jù)密碼系統(tǒng)安全參數(shù)z選取一個(gè)大素?cái)?shù)q,其中z〈264且q>2 z; (lb) 密鑰生成中心構(gòu)造兩個(gè)階為q的加法循環(huán)群和乘法循環(huán)群; (lc) 密鑰生成中心將加法循環(huán)群映射到乘法循環(huán)群,得到一個(gè)雙線性映射,從加法循 環(huán)群中隨機(jī)選取生成元; (ld) 從加法循環(huán)群中隨機(jī)選取密碼系統(tǒng)的主密鑰,將加法循環(huán)群的生成元和密碼系統(tǒng) 主密鑰相乘的結(jié)果作為密碼系統(tǒng)公鑰,保存密碼系統(tǒng)主密鑰; (le) 密鑰生成中心分別構(gòu)造身份哈希函數(shù)H1: {0,1:T-G 1;雙線性哈希函數(shù)H2: G2- Z:;加權(quán)哈希函數(shù)Η3:Ζ:- {0, 1} w;密鑰哈希函數(shù)H4:{0, 1} w- {0, 1} |M|;驗(yàn)證哈希函 數(shù) H5A1XG1X {0, 1}WX {0, l}wXZq*- Zq*; (lf) 密鑰生成中心從現(xiàn)有的公鑰加密方法中任意選取一種,并選取與該公鑰加密方法 對應(yīng)的公鑰解密方法; (lg) 密鑰生成中心將生成的密碼系統(tǒng)參數(shù)保存并發(fā)布; (2) 發(fā)送者和接收者注冊: (2a)發(fā)送者和接收者向密鑰生成中心提交身份信息; (2b)密鑰生成中心利用下式計(jì)算私鑰: Did= Sffl1(ID) 其中,Did表示發(fā)