批處理屬性基加密方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種批處理屬性基加密方法和系統(tǒng)。
【背景技術(shù)】
[0002] 傳統(tǒng)的基于公鑰基礎(chǔ)設(shè)施的加密機(jī)制能夠保護(hù)通信數(shù)據(jù)的機(jī)密性。然而在通過(guò)上 述機(jī)制進(jìn)行加密的過(guò)程中,加密者必須獲得通信對(duì)象(即解密者)的公鑰證書,并且如果加 密者要對(duì)某個(gè)系統(tǒng)中的某一類解密者的數(shù)據(jù)進(jìn)行加密,也需要分別獲取每一個(gè)解密者的公 鑰,并分別進(jìn)行計(jì)算。
[0003] 目前,相關(guān)技術(shù)中提出了屬性基加密機(jī)制,通過(guò)該機(jī)制,加密者可利用解密者的屬 性對(duì)通信數(shù)據(jù)進(jìn)行加密,而無(wú)需獲取解密者的公鑰,并且如果多個(gè)解密者都含有相應(yīng)的屬 性,那么這些解密者都可以對(duì)通信數(shù)據(jù)進(jìn)行解密,這無(wú)疑能夠在一定程度上節(jié)省加密時(shí)的 計(jì)算開銷。
[0004] 在實(shí)際的通信過(guò)程中,加密者與解密者可分別具有對(duì)應(yīng)的認(rèn)證機(jī)構(gòu),認(rèn)證機(jī)構(gòu)可 監(jiān)管加密者與解密者的屬性,并可為加密者與解密者頒發(fā)屬性密鑰。在通信過(guò)程中,加密者 和解密者可涉及多個(gè)認(rèn)證機(jī)構(gòu),以學(xué)校為例,每個(gè)學(xué)校都可具有對(duì)應(yīng)的認(rèn)證機(jī)構(gòu)。在目前的 屬性基加密機(jī)制下,如果某一加密者需要與不同認(rèn)證機(jī)構(gòu)中屬性相同的解密者進(jìn)行通信, 則需對(duì)不同認(rèn)證機(jī)構(gòu)中的解密者的通信數(shù)據(jù)分別進(jìn)行加密。這無(wú)疑仍會(huì)存在重復(fù)的計(jì)算, 因此計(jì)算開銷較大、且計(jì)算速率較低。同時(shí),分別進(jìn)行的加密所生成的密文較多,因此通信 量較大。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。為此,本發(fā)明的 目的在于提出一種批處理屬性基加密方法,能夠節(jié)省加密時(shí)的計(jì)算開銷,提高計(jì)算速率,同 時(shí)能夠減小通信量。
[0006] 本發(fā)明的第二個(gè)目的在于提出一種批處理屬性基加密系統(tǒng)。
[0007] 根據(jù)本發(fā)明第一方面實(shí)施例的批處理屬性基加密方法,包括以下步驟:S1,根據(jù)輸 入的安全參數(shù),獲取多個(gè)認(rèn)證機(jī)構(gòu)中每個(gè)認(rèn)證機(jī)構(gòu)的主密鑰,其中,每個(gè)所述認(rèn)證機(jī)構(gòu)中包 括至少一個(gè)用戶,所述用戶包括加密者和解密者;S2,根據(jù)所述主密鑰和每個(gè)所述認(rèn)證機(jī)構(gòu) 中的每個(gè)解密者的屬性,獲取每個(gè)解密者的私鑰,其中,所述解密者的屬性的集合與訪問(wèn)控 制結(jié)構(gòu)相匹配;S3,所述加密者選擇具有相同屬性的目標(biāo)解密者,并根據(jù)所述目標(biāo)解密者所 屬的認(rèn)證機(jī)構(gòu)的主密鑰和所述目標(biāo)解密者的屬性將消息加密以得到密文,并將所述密文發(fā) 送至云服務(wù)器;S4,所述目標(biāo)解密者接收所述服務(wù)器的密文,在對(duì)所述密文進(jìn)行初步解密得 到明文文件后,根據(jù)所述明文文件判斷所述目標(biāo)解密者的屬性的集合是否與所述訪問(wèn)控制 結(jié)構(gòu)相匹配;S5,如果所述目標(biāo)解密者的屬性的集合與所述訪問(wèn)控制結(jié)構(gòu)相匹配,則根據(jù)所 述目標(biāo)解密者的私鑰對(duì)所述明文文件進(jìn)行進(jìn)一步解密以得到所述消息。
[0008] 根據(jù)本發(fā)明實(shí)施例的批處理屬性基加密方法,可根據(jù)每個(gè)認(rèn)證機(jī)構(gòu)中每個(gè)解密者 的屬性和每個(gè)認(rèn)證機(jī)構(gòu)的主密鑰獲取每個(gè)解密者的私鑰,加密者可選擇具有相同屬性的目 標(biāo)解密者,并根據(jù)目標(biāo)解密者所屬的認(rèn)證機(jī)構(gòu)的主密鑰和目標(biāo)解密者的屬性將消息加密以 得到密文,目標(biāo)解密者可根據(jù)其屬性和私鑰對(duì)密文進(jìn)行解密以得到加密者所發(fā)送的消息。 由此,在與多個(gè)認(rèn)證機(jī)構(gòu)中的用戶進(jìn)行通信時(shí),可同時(shí)對(duì)多個(gè)認(rèn)證機(jī)構(gòu)中屬性相同的用戶 的通信數(shù)據(jù)進(jìn)行加密,與相關(guān)技術(shù)相比,能夠在保證通信安全性的同時(shí),有效節(jié)省加密時(shí)的 計(jì)算開銷,提高計(jì)算速率,此外,通過(guò)本方法加密所得到的密文較短,大大減小了通信量。
[0009] 另外,根據(jù)本發(fā)明上述實(shí)施例的批處理屬性基加密方法還可以具有如下附加的技 術(shù)特征:
[0010] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述S1包括:輸入安全參數(shù)A,選擇與所述安全參數(shù)A對(duì) 應(yīng)的橢圓曲線,由所述橢圓曲線上的點(diǎn)構(gòu)成階數(shù)為P的乘法循環(huán)群G和GT,并構(gòu)造雙線性映 射運(yùn)算e: G X G-GT,其中,所述安全參數(shù)A越大,構(gòu)成所述乘法循環(huán)群G和GT的所述橢圓曲線 上的點(diǎn)越多;隨機(jī)選擇所述乘法循環(huán)群G中的生成元g;為多個(gè)認(rèn)證機(jī)構(gòu)所管理的每個(gè)屬性 分別隨機(jī)選取對(duì)應(yīng)的隨機(jī)數(shù)hl、h2、…、hU,并為每個(gè)所述認(rèn)證機(jī)構(gòu)選擇一個(gè)Z P*的元素ai, 其中,所述ZP表示集合{1,2,…,p-1};根據(jù)所述生成元g、所述隨機(jī)數(shù)hi、h2、…、hu和所述元 素^計(jì)算每個(gè)所述認(rèn)證機(jī)構(gòu)的公鑰,并進(jìn)一步得到每個(gè)所述認(rèn)證機(jī)構(gòu)的所述主密鑰。
[0011]進(jìn)一步地,所述公鑰為pa',. = g.m'r.a,I),所述主密鑰為MKi=(PKi, ai) 〇
[0012] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述S2包括:輸入訪問(wèn)控制結(jié)構(gòu)(W,f),其中,訪問(wèn)控制 矩陣W為1行m列的矩陣,f為與所述訪問(wèn)控制矩陣W中的行相對(duì)應(yīng)的函數(shù),其中,所述訪問(wèn)控 制矩陣W中的行與所述屬性一一對(duì)應(yīng),即所述解密者的屬性的集合與訪問(wèn)控制結(jié)構(gòu)相匹配; 選擇隨機(jī)向量vdcTp%.. ..,.3^)、,其中,y2,. ..,ym為所述Zp中的隨機(jī)數(shù);根據(jù)所述訪問(wèn)控制 結(jié)構(gòu)、所述隨機(jī)向量和所述主密鑰計(jì)算解密者1的私鑰:
[0013] Dt = g^1 h'j{l) ,Rt= gri & /3\ /(/), Qhd = ,
[0014] 其中,e表示訪問(wèn)控制矩陣W中出現(xiàn)的不同屬性的集合,4二為訪問(wèn)控制矩 陣W的第r行,r:為所述ZP中的隨機(jī)數(shù),e\X表示除了元素 x之外的集合0。
[0015] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述密文為:(^=(5,(^,(:',(^),其中, 媽=/?丄5,S為所述目標(biāo)解密者的屬性的集合,S為所述Zp 中的隨機(jī)數(shù),it為所述消息。
[0016] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述S5包括:定義函數(shù)v:v( Y )= n XEYhx,對(duì)于每個(gè)re I,所述目標(biāo)解密者計(jì)算D'r = Dr ? n XEY/fwQr,x,其中,/ £ ,I代表所述訪問(wèn)控制矩 陣W的行的編號(hào),r= {$:3re /./(r) = 4,y代表所述訪問(wèn)控制矩陣w的行對(duì)應(yīng)的屬性;得到 所述消息< =G /'e(g,g嚴(yán),其中,e(M-廣 是常數(shù)而且滿足=(丨,0,…,0)。 rel
[0017] 根據(jù)本發(fā)明第二方面實(shí)施例的批處理屬性基加密系統(tǒng),包括:初始化模塊,用于根 據(jù)輸入的安全參數(shù),獲取多個(gè)認(rèn)證機(jī)構(gòu)中每個(gè)認(rèn)證機(jī)構(gòu)的主密鑰,其中,每個(gè)認(rèn)證機(jī)構(gòu)中包 括至少一個(gè)用戶,所述用戶包括加密者和解密者;私鑰生成模塊,用于根據(jù)所述主密鑰和每 個(gè)所述認(rèn)證機(jī)構(gòu)中的每個(gè)解密者的屬性,獲取每個(gè)解密者的私鑰,其中,所述解密者的屬性 的集合與訪問(wèn)控制結(jié)構(gòu)相匹配;加密模塊,用于在所述加密者選擇具有相同屬性的目標(biāo)解 密者后,根據(jù)所述目標(biāo)解密者所屬的認(rèn)證機(jī)構(gòu)的主密鑰和所述目標(biāo)解密者的屬性將消息加 密以得到密文,并將所述密文發(fā)送至云服務(wù)器;解密模塊,用于在所述目標(biāo)解密者接收所述 服務(wù)器的密文后,對(duì)所述密文進(jìn)行初步解密得到明文文件,并根據(jù)所述明文文件判斷所述 目標(biāo)解密者的屬性的集合是否與所述訪問(wèn)控制結(jié)構(gòu)相匹配,如果所述目標(biāo)解密者的屬性的 集合與所述訪問(wèn)控制結(jié)構(gòu)相匹配,則根據(jù)所述目標(biāo)解密者的私鑰對(duì)所述明文文件進(jìn)行進(jìn)一 步解密以得到所述消息。
[0018] 根據(jù)本發(fā)明實(shí)施例的批處理屬性基加密系統(tǒng),可根據(jù)每個(gè)認(rèn)證機(jī)構(gòu)中每個(gè)解密者 的屬性和每個(gè)認(rèn)證機(jī)構(gòu)的主密鑰獲取每個(gè)解密者的私鑰,加密者可選擇具有相同屬性的目 標(biāo)解密者,并根據(jù)目標(biāo)解密者所屬的認(rèn)證機(jī)構(gòu)的主密鑰和目標(biāo)解密者的屬性將消息加密以 得到密文,目標(biāo)解密者可根據(jù)其屬性和私鑰對(duì)密文進(jìn)行解密以得到加密者所發(fā)送的消息。 由此,在與多個(gè)認(rèn)證機(jī)構(gòu)中的用戶進(jìn)行通信時(shí),可同時(shí)對(duì)多個(gè)認(rèn)證機(jī)構(gòu)中屬性相同的用戶 的通信數(shù)據(jù)進(jìn)行加密,與相關(guān)技術(shù)相比,能夠在保證通信安全性的同時(shí),有效節(jié)省加密時(shí)的 計(jì)算開銷,提高計(jì)算速率,此外,通過(guò)本系統(tǒng)加密所得到的密文較短,大大減小了通信量。
[0019] 另外,根據(jù)本發(fā)明上述實(shí)施例的批處理屬性基加密系統(tǒng)還可以具有如下附加的技 術(shù)特征:
[0020] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述初始化模塊包括:構(gòu)造單元,用于根據(jù)輸入的安全 參數(shù)A,選擇與所述安全參數(shù)A對(duì)應(yīng)的橢圓曲線,由所述橢圓曲線上的點(diǎn)構(gòu)成階數(shù)為p的乘法 循環(huán)群G和GT,并構(gòu)造雙線性映射運(yùn)算e: G X G-GT,其中,所述安全參數(shù)A越大,構(gòu)成所述乘 法循環(huán)群G和GT的所述橢圓曲線上的點(diǎn)越多;第一選擇單元,用于隨機(jī)選擇所述乘法循環(huán)群 G中的生成元g;第二選擇單元,用于為多個(gè)認(rèn)證機(jī)構(gòu)所管理的每個(gè)屬性分別隨機(jī)選取對(duì)應(yīng) 的隨機(jī)數(shù)hl、h2、…、hU,并為每個(gè)所述認(rèn)證機(jī)構(gòu)選擇一個(gè)Z P中的元素^,其中,所述ZP表示集 合{1,2,…,p-1};第一計(jì)算