本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)中保密通信領(lǐng)域,具體涉及一種面向多群組的廣播加密方法。
背景技術(shù):
廣播加密是一種在不安全信道實(shí)現(xiàn)一對(duì)多保密通信的加密體制。在一般的廣播加密系統(tǒng)中,廣播者對(duì)其系統(tǒng)內(nèi)的用戶廣播加密后的信息,任何用戶監(jiān)聽(tīng)該廣播均能獲得加密后的信息,只有在授權(quán)用戶集合中的用戶才能利用其私鑰解密廣播密文,恢復(fù)出相應(yīng)的明文信息。若所有的非授權(quán)用戶合謀也無(wú)法解密廣播信息,則該廣播加密系統(tǒng)具有完全抗合謀特性。目前,廣播加密作為一種常用的加密手段已廣泛應(yīng)用于付費(fèi)電視、數(shù)字版權(quán)管理、衛(wèi)星通信、電視電話會(huì)議以及無(wú)線傳感網(wǎng)絡(luò)中。
廣播加密有效的實(shí)現(xiàn)了一對(duì)多的保密通信,但是在目前的應(yīng)用中,隨著網(wǎng)絡(luò)與通信技術(shù)的不斷發(fā)展,廣播者所要廣播的信息量與日俱增,廣播者所要面對(duì)的用戶群體也變得愈加復(fù)雜多變。如在付費(fèi)電視系統(tǒng)中,電視運(yùn)營(yíng)商可根據(jù)用戶訂購(gòu)業(yè)務(wù)或繳納費(fèi)用的不同,將電視用戶劃分為不同的授權(quán)用戶群組,不同的用戶群組獲取的節(jié)目信息也不盡相同。目前而言,運(yùn)營(yíng)商針對(duì)不同的用戶群組單獨(dú)地發(fā)送對(duì)應(yīng)的密文信息,這也就意味著運(yùn)營(yíng)商所要發(fā)送的密文信息與用戶的群組成線性的關(guān)系。然而隨著目前廣播電視節(jié)目的多樣化,廣播電視用戶的多元化,用戶選擇的訂購(gòu)業(yè)務(wù)也越來(lái)越復(fù)雜多樣,因此所構(gòu)成的廣播用戶群組數(shù)目也越來(lái)越多,電視運(yùn)營(yíng)商作為廣播者所要廣播的信息也越來(lái)越多,廣播中心的負(fù)擔(dān)也越來(lái)越重,性能瓶頸問(wèn)題也隨之出現(xiàn),限制了廣播系統(tǒng)的應(yīng)用。因此,傳統(tǒng)的簡(jiǎn)單一對(duì)多的廣播加密已不能滿足上述應(yīng)用環(huán)境,設(shè)計(jì)針對(duì)多用戶群組環(huán)境下的廣播加密具有十分重要的意義。
fiat與naor在1994年首先提出了廣播加密的概念,隨后一系列的廣播加密方案相繼被提出,但是這些方案的密文長(zhǎng)度均與用戶的數(shù)目成線性關(guān)系。在2005年,boneh等人利用雙線性對(duì)構(gòu)造的bgw方案,密文長(zhǎng)度與用戶私鑰長(zhǎng)度均為常數(shù),delerablee等人提出了基于身份的動(dòng)態(tài)廣播加密方案dpp07、gentry等人構(gòu)造了一種具有適應(yīng)性安全、密文長(zhǎng)度短的廣播加密方案gw09,但是這些方案的公鑰長(zhǎng)度與用戶的數(shù)目成線性關(guān)系。這樣,隨著用戶數(shù)目的增加,其公鑰長(zhǎng)度隨之增加,將會(huì)增加廣播系統(tǒng)的存儲(chǔ)開(kāi)銷。為降低公鑰開(kāi)銷,boneh等人利用多線性映射構(gòu)造了低開(kāi)銷的廣播加密方案,在保證其密文與用戶私鑰長(zhǎng)度均為常數(shù)的前提下,公鑰長(zhǎng)度僅為o(log(n))(bonehd,watersb,zhandrym.lowoverheadbroadcastencryptionfrommultilinearmaps[c]//internationalcryptologyconference.springerberlinheidelberg,2014:206-223.);其他如基于身份的廣播加密方案、可撤銷的廣播加密方案、基于證書(shū)的廣播加密方案等也相繼被提出。bz14利用不可區(qū)分混淆,構(gòu)造了第一個(gè)低開(kāi)銷的具有接收者隱私保護(hù)的廣播加密方案。在方案的靈活性上,ohtake等人提出了bepm方案實(shí)現(xiàn)了廣播者與用戶間一對(duì)一的私密通信ohtakeg,hanaokag,ogawak.efficientbroadcastencryptionwithpersonalizedmessages[c]//internationalconferenceonprovablesecurity.springerberlinheidelberg,2010:214-228.),xu等人利用多線性映射構(gòu)造了一個(gè)基于身份的bepm方案,但是這些方案在多用戶環(huán)境下會(huì)造成較大的密文與計(jì)算開(kāi)銷,設(shè)計(jì)針對(duì)多用戶群組環(huán)境下的廣播加密具有很好的應(yīng)用價(jià)值。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的廣播加密方法在多用戶環(huán)境下造成的較大的密文與計(jì)算的開(kāi)銷問(wèn)題,本發(fā)明提供了一種面向多群組的廣播加密方法。本發(fā)明要解決的技術(shù)問(wèn)題通過(guò)以下技術(shù)方案實(shí)現(xiàn):
一種面向多群組的廣播加密方法,包括以下步驟:
步驟一:廣播加密系統(tǒng)根據(jù)廣播加密系統(tǒng)安全參數(shù)λ建立廣播用戶集合空間并生成廣播加密系統(tǒng)的公鑰pk以及主私鑰msk,并將公鑰pk公開(kāi);
步驟二:私鑰生成中心為每個(gè)廣播授權(quán)接收用戶生成用戶私鑰skij并秘密發(fā)送至廣播授權(quán)接收用戶;
步驟三:廣播發(fā)布方生成廣播對(duì)稱加密公有密鑰k、廣播發(fā)布方與廣播授權(quán)接收用戶群組私密通信的對(duì)稱加密私有密鑰ki以及廣播密文頭hdr,然后根據(jù)公有密鑰k的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶的公有信息m進(jìn)行加密并生成公有密文ek(m),以及根據(jù)私有密鑰ki的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶群組的私有信息mi進(jìn)行加密并生成私有密文
所述公有密鑰k的對(duì)稱加密算法和所述私有密鑰ki的對(duì)稱加密算法為相同的對(duì)稱加密算法;
步驟四:廣播授權(quán)接收用戶在接收到所述公有密文ek(m)、私有密文
進(jìn)一步的,所述步驟一的具體步驟為:廣播加密系統(tǒng)運(yùn)行廣播加密系統(tǒng)建立算法,首先,隨機(jī)選擇生成元g,h∈g和α∈zp,生成
然后,選擇隨機(jī)數(shù)β,γ∈zp,生成v=gγ,y=gβ;
最后,得到主私鑰為:msk=(α,β,γ),
公鑰為:pk=(g,g1,…,gn,gn+2,…,g2n,v,y);
其中,n表示廣播授權(quán)接收用戶群組的數(shù)目,g,gt構(gòu)成階為素?cái)?shù)p的雙線性映射群,g和h表示乘法循環(huán)群g的生成元,α表示循環(huán)群zp中的隨機(jī)數(shù),β,γ表示循環(huán)群zp中的隨機(jī)數(shù),zp表示模p的循環(huán)群。
進(jìn)一步的,所述步驟二的具體步驟為:選擇一個(gè)隨機(jī)數(shù)si∈zp,i∈[1,n],私鑰生成中心生成每個(gè)廣播授權(quán)接收用戶群組i的群組公鑰為:
(1)選擇隨機(jī)數(shù)mj∈zp,nj∈zp,使si=(mj+nj)modp;
(2)生成
(3)生成
每個(gè)廣播授權(quán)接收用戶pj的用戶私鑰為:skij=(di,dij1,dij2);
其中,s表示為每個(gè)廣播授權(quán)接收用戶群組i選擇的一個(gè)隨機(jī)數(shù),i∈[1,n],j表示自然數(shù);g和h表示乘法循環(huán)群g的生成元,β,γ表示循環(huán)群zp中的隨機(jī)數(shù)。
進(jìn)一步的,所述步驟三的具體步驟為:首先,選擇一個(gè)隨機(jī)數(shù)t∈zp,廣播加密系統(tǒng)生成公有密鑰為:k=e(gn+1,g)t=e(gn,g1)t,其中g(shù)1=gα,
其次,生成私有密鑰為:
再次,生成廣播密文頭
然后,根據(jù)公有密鑰k的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶的公有信息m進(jìn)行加密并生成公有密文ek(m),以及根據(jù)私有密鑰ki的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶群組的私有信息mi進(jìn)行加密并生成私有密文
最后,廣播發(fā)布方將公有密文ek(m)、私有密文
其中,t循環(huán)群zp中的隨機(jī)數(shù),g表示乘法循環(huán)群g的生成元,s表示廣播授權(quán)接收用戶群組的集合。
進(jìn)一步的,所述步驟四的具體步驟為:廣播加密系統(tǒng)運(yùn)行解密算法,廣播授權(quán)接收用戶接收到公有密文ek(m)、私有密文
恢復(fù)每個(gè)廣播授權(quán)接收用戶群組i的私有密鑰為:
廣播授權(quán)接收用戶再根據(jù)所述公有密鑰k的對(duì)稱加密算法將公有密文ek(m)進(jìn)行解密,以及根據(jù)所述私有密鑰ki的對(duì)稱加密算法將私有密文
其中,hdr=(c0,c1,c2),c0=gt,c1=y(tǒng)t,
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
(1)面向多用戶群組環(huán)境:本發(fā)明不僅僅能夠向一個(gè)接收者的用戶集合發(fā)送加密的消息,更重要的是可以同時(shí)向多個(gè)用戶群組發(fā)送信息。
(2)廣播系統(tǒng)的存儲(chǔ)開(kāi)銷低:本發(fā)明的密文長(zhǎng)度與用戶私鑰長(zhǎng)度均為常量、公鑰長(zhǎng)度也與用戶數(shù)量無(wú)關(guān),僅與系統(tǒng)中的用戶群組數(shù)目相關(guān)。
(3)計(jì)算效率高,本發(fā)明采用了密鑰封裝技術(shù),在對(duì)具體的消息進(jìn)行加密時(shí)使用的是對(duì)稱加密,提高了加解密效率。在生成廣播對(duì)稱加密公有密鑰k和廣播發(fā)布方與廣播授權(quán)接收用戶群組私密通信的對(duì)稱加密私有密鑰ki時(shí),重復(fù)利用了廣播密文頭hdr中的信息,減少密文量。
(4)安全性高:本發(fā)明具有機(jī)密性、抗合謀攻擊性和選擇明文攻擊安全性。
附圖說(shuō)明
圖1是本發(fā)明加解密過(guò)程的流程示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
本實(shí)施例所述的標(biāo)準(zhǔn)模型下、抗選擇明文攻擊安全的,廣播發(fā)布方利用廣播信道發(fā)送密文信息,廣播授權(quán)接收用戶接收密文信息后,利用自身私鑰,解密信息恢復(fù)出相應(yīng)的明文信息。
一種面向多群組的廣播加密方法,包括以下步驟:
步驟一:廣播加密系統(tǒng)根據(jù)廣播加密系統(tǒng)安全參數(shù)λ建立廣播用戶集合空間并生成廣播加密系統(tǒng)的公鑰pk以及主私鑰msk,并將公鑰pk公開(kāi);
步驟二:私鑰生成中心為每個(gè)廣播授權(quán)接收用戶生成用戶私鑰skij并秘密發(fā)送至廣播授權(quán)接收用戶;廣播授權(quán)接收用戶可以分類為不同的廣播授權(quán)接收用戶群組。
步驟三:廣播發(fā)布方生成廣播對(duì)稱加密公有密鑰k、廣播發(fā)布方與廣播授權(quán)接收用戶群組私密通信的對(duì)稱加密私有密鑰ki以及廣播密文頭hdr,然后根據(jù)公有密鑰k的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶的公有信息m進(jìn)行加密并生成公有密文ek(m),以及根據(jù)私有密鑰ki的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶群組的私有信息mi進(jìn)行加密并生成私有密文
所述公有密鑰k的對(duì)稱加密算法和私有密鑰ki的對(duì)稱加密算法為相同的對(duì)稱加密算法;公有密鑰k的對(duì)稱加密算法和私有密鑰ki的對(duì)稱加密算法均可以采用des(數(shù)據(jù)加密標(biāo)準(zhǔn))或aes(高級(jí)加密標(biāo)準(zhǔn)),以及其他現(xiàn)有的對(duì)稱加密算法。公有信息m為所有授權(quán)用戶都可以接收的基礎(chǔ)信息,私有信息mi為只有廣播授權(quán)接收用戶群組可以接收的信息。
步驟四:廣播授權(quán)接收用戶在接收到所述公有密文ek(m)、私有密文
上述步驟的具體流程為:
1、系統(tǒng)建立setup(n):廣播加密系統(tǒng)運(yùn)行廣播加密系統(tǒng)建立算法,令n為廣播授權(quán)接收用戶群組的數(shù)目,g,gt構(gòu)成階為素?cái)?shù)p的雙線性映射群,首先,隨機(jī)選擇生成元g,h∈g和α∈zp,生成
然后,選擇隨機(jī)數(shù)β,γ∈zp,生成v=gγ,y=gβ;
最后,得到主私鑰為:msk=(α,β,γ),
公鑰為:pk=(g,g1,…,gn,gn+2,…,g2n,v,y);
其中,g和h表示乘法循環(huán)群g的生成元,α表示循環(huán)群zp中的隨機(jī)數(shù),β,γ表示循環(huán)群zp中的隨機(jī)數(shù),zp表示模p的循環(huán)群。
2、密鑰生成keygen(msk,pk):對(duì)于每個(gè)廣播授權(quán)接收用戶群組i,(i∈[1,n])選擇一個(gè)隨機(jī)數(shù)si∈zp,i∈[1,n],私鑰生成中心生成每個(gè)廣播授權(quán)接收用戶群組i的群組公鑰為:
(1)選擇隨機(jī)數(shù)mj∈zp,nj∈zp,使si=(mj+nj)modp;
(2)生成
(3)生成
最終,每個(gè)廣播授權(quán)接收用戶pj的用戶私鑰為:skij=(di,dij1,dij2);
其中,s表示為每個(gè)廣播授權(quán)接收用戶群組i選擇的一個(gè)隨機(jī)數(shù),i∈[1,n],j表示自然數(shù);g和h表示乘法循環(huán)群g的生成元,β,γ表示循環(huán)群zp中的隨機(jī)數(shù)。
3、加密enc(pk,s):首先,該算法選擇一個(gè)隨機(jī)數(shù)t∈zp,廣播加密系統(tǒng)生成廣播對(duì)稱加密公有密鑰為:k=e(gn+1,g)t=e(gn,g1)t,其中g(shù)1=gα,
其次,生成廣播發(fā)布方與廣播授權(quán)接收用戶群組私密通信的對(duì)稱加密私有密鑰為:
再次,生成廣播密文頭
然后,根據(jù)公有密鑰k的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶的公有信息m進(jìn)行加密并生成公有密文ek(m),以及根據(jù)私有密鑰ki的對(duì)稱加密算法將廣播發(fā)布方發(fā)送的廣播授權(quán)接收用戶群組的私有信息mi進(jìn)行加密并生成私有密文
最后,廣播發(fā)布方將公有密文ek(m)、私有密文
其中,t循環(huán)群zp中的隨機(jī)數(shù),g表示乘法循環(huán)群g的生成元,s表示廣播授權(quán)接收用戶群組的集合。
4、解密dec(s,i,j,skij,hdr,pk):令hdr=(c0,c1,c2),則由上述可知c0=gt,c1=y(tǒng)t,
恢復(fù)每個(gè)廣播授權(quán)接收用戶群組i的私有密鑰為:
廣播授權(quán)接收用戶再根據(jù)公有密鑰k的對(duì)稱加密算法將公有密文ek(m)進(jìn)行解密,以及根據(jù)私有密鑰ki的對(duì)稱加密算法將私有密文
其中,hdr=(c0,c1,c2),c0=gt,c1=y(tǒng)t,
本方法是一個(gè)標(biāo)準(zhǔn)模型下抗選擇明文攻擊安全的廣播加密方案。當(dāng)攻擊者猜測(cè)密文對(duì)應(yīng)的明文信息時(shí),這里用awin表示攻擊者a能夠正確的猜測(cè)出密文對(duì)應(yīng)的明文信息。bwin來(lái)表示仿真算法b能夠解決本方案所基于的數(shù)學(xué)困難問(wèn)題,τ表示解決該數(shù)學(xué)困難問(wèn)題的可能性。s表示廣播授權(quán)接收用戶群組的集合,|s|表示集合s中所有元素的數(shù)量。那么攻擊者猜測(cè)正確的可能性為:
猜測(cè)錯(cuò)誤的可能性為:
因此,猜測(cè)正確與錯(cuò)誤的可能性相差pr[bwin]-pr′[bwin]=τ/2。由于τ是可以忽略的,因此猜測(cè)正確與錯(cuò)誤的可能性相同,故無(wú)法猜測(cè)出對(duì)應(yīng)的明文信息。
本發(fā)明的方法執(zhí)行效率具體包括計(jì)算效率和存儲(chǔ)效率兩個(gè)方面。計(jì)算效率上,加密時(shí)僅需做3次模指數(shù)運(yùn)算,解密共用了4次雙線性對(duì)運(yùn)算,與其它同類方案比,本發(fā)明的設(shè)計(jì)簡(jiǎn)單高效。存儲(chǔ)效率上,密文長(zhǎng)度與用戶私鑰長(zhǎng)度均為常量、系統(tǒng)公鑰長(zhǎng)度也與用戶的數(shù)目無(wú)關(guān),僅和廣播系統(tǒng)中的廣播授權(quán)接收用戶群組數(shù)相關(guān)。綜上所述,本發(fā)明的方法安全高效。
本發(fā)明利用廣播加密技術(shù)與群加解密技術(shù),拓展了廣播加密的應(yīng)用范圍,使得廣播加密可應(yīng)用于多用戶群組的環(huán)境。利用雙線性映射等技術(shù),降低了廣播系統(tǒng)的密文量、系統(tǒng)公私鑰的開(kāi)銷,減少了用戶的計(jì)算量,降低了廣播發(fā)布方的運(yùn)算負(fù)擔(dān)。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。