欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多授權(quán)屬性加解密方法與流程

文檔序號:11778172閱讀:468來源:國知局

本發(fā)明涉及加解密領(lǐng)域,具體地說是一種多授權(quán)屬性加解密方法。



背景技術(shù):

作為一種新型的密碼體制算法,基于屬性的加密方法在云存儲技術(shù)、社交網(wǎng)絡(luò)、在線點(diǎn)播等領(lǐng)域得到了廣泛關(guān)注與應(yīng)用。相比于傳統(tǒng)的加密算法來說,基于屬性的加密算法不僅實(shí)現(xiàn)了細(xì)粒度的訪問控制,還可以制定更加靈活的訪問控制策略。

基于屬性的加密算法(attributebasedencryption,abe),它將用戶的一系列身份信息看作是數(shù)據(jù)加解密的輸入,只有滿足數(shù)據(jù)擁有者所制定的訪問控制策略的用戶才可以獲得數(shù)據(jù)信息,從而解決了以往加密算法無法實(shí)現(xiàn)一對多通信的難題,同時數(shù)據(jù)擁有者還可以針對數(shù)據(jù)接受者的一系列身份信息(用戶屬性)制定靈活的授權(quán)策略,因此基于屬性的加密算法得到了廣泛的關(guān)注。

之前所提出的abe方案大多是單一授權(quán)結(jié)構(gòu)的,但由于網(wǎng)絡(luò)通信量的快速增長,單一授權(quán)機(jī)構(gòu)的工作效率漸漸難以滿足用戶的需求;同時,在多屬性授權(quán)機(jī)構(gòu)方案中中央授權(quán)機(jī)構(gòu)(centralauthority,ca)往往掌握全局的主密鑰(masterkey,mk),一旦ca受到攻擊,全局的mk將遭到泄露從而導(dǎo)致系統(tǒng)的不安全。針對以上問題,有學(xué)者提出了一種去中心的多授權(quán)機(jī)構(gòu)abe方案,在該方案中,存在多個ca和多個屬性授權(quán)機(jī)構(gòu)(attributeauthorities,aa),在實(shí)現(xiàn)授權(quán)時由多個ca合作授權(quán)用戶身份密鑰;但該方案中隱藏了密文中的授權(quán)訪問結(jié)構(gòu),所以必須將所有屬性授權(quán)機(jī)構(gòu)所包含的屬性全部參與計(jì)算,雖然保證了密文的長度恒定,但卻對大規(guī)模屬性系統(tǒng)實(shí)現(xiàn)困難。在大規(guī)模屬性加密系統(tǒng)中,用戶所指定的訪問策略所包含的屬性規(guī)模往往遠(yuǎn)小于系統(tǒng)提供的屬性規(guī)模,這里稱之為“訪問結(jié)構(gòu)稀疏”或是“smallandgates”。

所以針對上述問題,本發(fā)明提出了一種新型的多授權(quán)屬性加解密方法。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是提供一種多授權(quán)屬性加解密方法,解決在大型屬性加密系統(tǒng)中訪問結(jié)構(gòu)稀疏所帶來的加解密運(yùn)算消耗大,存儲空間占用率高的問題。

本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是一種多授權(quán)屬性加解密方法,包括以下步驟:

步驟一、系統(tǒng)初始化:包括層級屬性機(jī)構(gòu)屬性訪問樹γ的構(gòu)建、系統(tǒng)參數(shù)生成、中央授權(quán)機(jī)構(gòu)初始化和屬性授權(quán)機(jī)構(gòu)初始化四個方面;

(1)系統(tǒng)參數(shù)生成:在系統(tǒng)內(nèi)輸入一個安全參數(shù)1λ,系統(tǒng)調(diào)用群生成算法生成兩個階為素?cái)?shù)p的乘法循環(huán)群g和gt,群g的生成元為g,存在雙線性映射e:g×g→gt,同時,選取一個存在性不可偽造的簽名算法σsign=(kengen,sign,verify),輸出全局公開參數(shù)δ=(e,g,g,gt,p,σsign);

(2)層級屬性訪問樹γ的構(gòu)建:每一個屬性授權(quán)機(jī)構(gòu)將域內(nèi)屬性進(jìn)行編碼,使每一個屬性都有自己的索引indexi,然后建立一個平衡二叉樹,該平衡二叉樹的非葉結(jié)點(diǎn)t[i...j]中,開始的序號為該非葉結(jié)點(diǎn)下對應(yīng)的最左端葉節(jié)點(diǎn)的索引值,結(jié)束的序號為該非葉結(jié)點(diǎn)最右端葉節(jié)點(diǎn)所對應(yīng)的屬性值,在非偶數(shù)個屬性出現(xiàn)時,二叉樹的最右端將補(bǔ)充一個表達(dá)值恒為的空屬性,保持屬性樹中所有非葉子結(jié)點(diǎn)的平衡;對于特定屬性授權(quán)機(jī)構(gòu)aak所建立的屬性訪問樹定義為γk,k表示特定屬性授權(quán)機(jī)構(gòu)aak的索引;

(3)中央授權(quán)機(jī)構(gòu)初始化:存在若干個中央授權(quán)機(jī)構(gòu)ca,ca={ca1,ca2,...,cal},l表示ca的個數(shù),每個中央授權(quán)機(jī)構(gòu)獨(dú)立運(yùn)行初始化算法,隨機(jī)選擇yd,yd為cad的主密鑰,存在令y=e(g,g)y,其中y為公開加密參數(shù),調(diào)用簽名算法得到驗(yàn)證簽名密鑰verifykeyd,cad的簽名算法公私鑰對capvd,verifykeyd=μd,capvd=(signkeyd,μd);

(4)屬性授權(quán)機(jī)構(gòu)初始化:存在若干個屬性授權(quán)機(jī)構(gòu)aa,aa={aa1,aa2,...,aat},t表示aa的個數(shù),aa負(fù)責(zé)向用戶提供用戶的屬性相關(guān)密鑰,每一個aaj都負(fù)責(zé)管理一個屬性域uj,與任意的aai都有這使得每個屬性僅屬于一個aa管理,每個aa所管理的屬性是互不沖突的。對于全局屬性集全局屬性授權(quán)機(jī)構(gòu)隨機(jī)選取其中m為全局屬性域所包含的屬性個數(shù);同時,對于某個特定的屬性授權(quán)機(jī)構(gòu)aak當(dāng)中的非葉結(jié)點(diǎn)x=[i...j]將隨機(jī)選取并存在得出屬性公開參數(shù)∪zk,i、屬性隱含參數(shù)∪zk,i以及aak所對應(yīng)的公開隨機(jī)參數(shù)rk,其中∪zk,i=zk,1,...,zk,3n,∪zk,i=zk,1,...,zk,3n,存在其中k=(1,2,...,t)為屬性授權(quán)機(jī)構(gòu)索引;

步驟二、數(shù)據(jù)加密:將欲加密的明文數(shù)據(jù)m、全局公開參數(shù)δ和用戶指定的訪問策略w作為輸入,遍歷屬性授權(quán)機(jī)構(gòu)建立的屬性訪問樹γ進(jìn)行加密算法,得到加密數(shù)據(jù)ct;

步驟三、密鑰分發(fā),包括用戶身份密鑰分發(fā)和用戶屬性密鑰分發(fā):

用戶身份密鑰分發(fā):用戶向中央授權(quán)機(jī)構(gòu)cad提供一個唯一身份標(biāo)識gid,cad將屬性授權(quán)機(jī)構(gòu)aa生成的參數(shù)r和用戶的唯一身份標(biāo)識信息gid作為輸入,輸出身份密鑰skca和屬性密鑰生成參數(shù)ξ;

用戶屬性密鑰分發(fā):用戶向?qū)傩允跈?quán)機(jī)構(gòu)aak申請屬性密鑰,屬性授權(quán)機(jī)構(gòu)aak驗(yàn)證用戶提供的身份信息是否正確,如果正確,屬性授權(quán)機(jī)構(gòu)aak將rk和∪zk,i作為輸入,為用戶輸出一組屬性密鑰skaa,如果不正確將終止屬性密鑰的分發(fā);

步驟四、解密密文:授權(quán)用戶將系統(tǒng)提供的用戶屬性密鑰skaa、用戶身份密鑰skca和加密密文ct作為輸入,系統(tǒng)根據(jù)用戶所提供的信息運(yùn)行解密算法;如果用戶符合訪問策略輸出數(shù)據(jù)m,否則解密失敗終止系統(tǒng)。

本發(fā)明所述步驟二中對明文數(shù)據(jù)m加密的具體方法為:

給定明文數(shù)據(jù)m,為其選定一個首次加密隨機(jī)參數(shù)得到加密的明文c=m·ys和c′=gs,用戶設(shè)置一個訪問控制策略其中為全局屬性集合,給定一個訪問控制結(jié)構(gòu)遍歷平衡二叉樹γ進(jìn)行加密:

(1)若attk,i和attk,i+1為兩個葉子節(jié)點(diǎn),對應(yīng)的屬性值為i和i+1,對于每個都存在如下關(guān)系:如果i=+i,則有如果則有如果則有并將以上結(jié)果包含于密文當(dāng)中;如果則返回0;

(2)attk,i和attk,i+1為兩個非葉子節(jié)點(diǎn),規(guī)則如下:

如果兩個非葉結(jié)點(diǎn)attk,i和attk,i+1都返回1,則返回1;

如果兩個非葉結(jié)點(diǎn)attk,i和attk,i+1都返回0,則返回0;

如果兩個非葉結(jié)點(diǎn)attk,i和attk,i+1中,attk,i返回0而另attk,i+1返回1,則定義并將與所對應(yīng)的節(jié)點(diǎn)信息寫入密文當(dāng)中,返回1;

最后得出加密密文ct,

本發(fā)明所述步驟三中用戶身份密鑰分發(fā)的方法為:系統(tǒng)為用戶隨機(jī)選取使其與用戶一一對應(yīng),可得d*=gy-r,θ=1/ogid,最后得到ca的身份密鑰skca,skca=(d,d*,θ),運(yùn)行簽名算法,對(signkey,gid)進(jìn)行簽名得到用戶的簽名驗(yàn)證參數(shù)從而得到用戶屬性密鑰生成參數(shù)ξ,ξ只能用于aa生成屬性密鑰。

本發(fā)明所述步驟三中用戶屬性密鑰分發(fā)的方法為:

當(dāng)接收到屬性授權(quán)請求時,aak利用ud對ξ中的簽名驗(yàn)證信息進(jìn)行驗(yàn)證,如果驗(yàn)證失敗則授權(quán)終止;

為隨機(jī)參數(shù)且rgid,k,x=σrgid,k,i,其中i為x的子節(jié)點(diǎn),令用戶的屬性集合為存在屬性當(dāng)且僅當(dāng)可得i=+i;當(dāng)可得i=-i;當(dāng)屬性令該屬性密鑰為當(dāng)屬性時,令該屬性密鑰為當(dāng)時,令該屬性密鑰為對于非葉子節(jié)點(diǎn)x存在最后可得到屬性私鑰skaa,

本發(fā)明所述步驟四中解密密文的方法為:將加密密文用戶屬性密鑰和用戶身份密鑰skca=(d,d*)作為輸入,從加密密文ct中提取訪問控制結(jié)構(gòu)將用戶屬性集合與訪問控制結(jié)構(gòu)w做判斷,如果不滿足w則終止解密過程,否則對所有屬性進(jìn)行如下解密過程:

如果節(jié)點(diǎn)x為葉子節(jié)點(diǎn):

(1)如果屬性且屬性設(shè)置為

(2)如果屬性且屬性設(shè)置為

(3)如果屬性i設(shè)置為don'tcare,則

如果節(jié)點(diǎn)x為非葉子節(jié)點(diǎn),則

將上述結(jié)果帶入下式進(jìn)行計(jì)算:

由此得到:明文m為

本發(fā)明的有益效果是:本發(fā)明解決了大型屬性加密系統(tǒng)中訪問結(jié)構(gòu)稀疏所帶來的加解密運(yùn)算消耗大,存儲空間占用率高的問題,彌補(bǔ)了其他方案在這一方面的不足;同時在本發(fā)明中不僅解決了計(jì)算效率和數(shù)據(jù)存儲利用率的問題,還具有抗共謀攻擊和選擇明文攻擊的安全性。

附圖說明

圖1為本發(fā)明內(nèi)容流程示意圖。

具體實(shí)施方式

一種多授權(quán)屬性加解密方法,包括以下步驟:

步驟一、系統(tǒng)初始化:包括層級屬性機(jī)構(gòu)屬性訪問樹γ的構(gòu)建、系統(tǒng)參數(shù)生成、中央授權(quán)機(jī)構(gòu)初始化和屬性授權(quán)機(jī)構(gòu)初始化四個方面;

(1)系統(tǒng)參數(shù)生成:在系統(tǒng)內(nèi)輸入一個安全參數(shù)1λ,系統(tǒng)調(diào)用群生成算法生成兩個階為素?cái)?shù)p的乘法循環(huán)群g和gt,群g的生成元為g,存在雙線性映射e:g×g→gt,同時,選取一個存在性不可偽造的簽名算法σsign=(kengen,sign,verify),輸出全局公開參數(shù)δ=(e,g,g,gt,p,σsign);

(2)層級屬性訪問樹γ的構(gòu)建:每一個屬性授權(quán)機(jī)構(gòu)將域內(nèi)屬性進(jìn)行編碼,使每一個屬性都有自己的索引indexi,然后建立一個平衡二叉樹,該平衡二叉樹的非葉結(jié)點(diǎn)t[i...j]中,開始的序號為該非葉結(jié)點(diǎn)下對應(yīng)的最左端葉節(jié)點(diǎn)的索引值,結(jié)束的序號為該非葉結(jié)點(diǎn)最右端葉節(jié)點(diǎn)所對應(yīng)的屬性值,在非偶數(shù)個屬性出現(xiàn)時,二叉樹的最右端將補(bǔ)充一個表達(dá)值恒為i的空屬性,保持屬性樹中所有非葉子結(jié)點(diǎn)的平衡;對于特定屬性授權(quán)機(jī)構(gòu)aak所建立的屬性訪問樹定義為γk,k表示特定屬性授權(quán)機(jī)構(gòu)aak的索引;

(3)中央授權(quán)機(jī)構(gòu)初始化:存在若干個中央授權(quán)機(jī)構(gòu)ca,ca={ca1,ca2,...,cal},l表示ca的個數(shù),每個中央授權(quán)機(jī)構(gòu)獨(dú)立運(yùn)行初始化算法,隨機(jī)選擇yd,yd為cad的主密鑰,存在令y=e(g,g)y,其中y為公開加密參數(shù),調(diào)用簽名算法得到驗(yàn)證簽名密鑰verifykeyd,cad的簽名算法公私鑰對capvd,verifykeyd=μd,capvd=(signkeyd,μd);

(4)屬性授權(quán)機(jī)構(gòu)初始化:存在若干個屬性授權(quán)機(jī)構(gòu)aa,aa={aa1,aa2,...,aat},t表示aa的個數(shù),aa負(fù)責(zé)向用戶提供用戶的屬性相關(guān)密鑰,每一個aaj都負(fù)責(zé)管理一個屬性域uj,都與任意的aai都有這使得每個屬性僅屬于一個aa管理,每個aa所管理的屬性是互不沖突的。對于全局屬性集全局屬性授權(quán)機(jī)構(gòu)隨機(jī)選取其中m為全局屬性域所包含的屬性個數(shù);同時,對于某個特定的屬性授權(quán)機(jī)構(gòu)aak當(dāng)中的非葉結(jié)點(diǎn)x=[i...j]將隨機(jī)選取并存在得出屬性公開參數(shù)∪zk,i、屬性隱含參數(shù)∪zk,i以及aak所對應(yīng)的公開隨機(jī)參數(shù)rk,其中∪zk,i=zk,1,...,zk,3n,∪zk,i=zk,1,...,zk,3n,存在其中k=(1,2,...,t)為屬性授權(quán)機(jī)構(gòu)索引;

步驟二、數(shù)據(jù)加密:將欲加密的明文數(shù)據(jù)m、全局公開參數(shù)δ和用戶指定的訪問策略w作為輸入,遍歷屬性授權(quán)機(jī)構(gòu)建立的屬性訪問樹γ進(jìn)行加密算法,得到加密數(shù)據(jù)ct;

步驟三、密鑰分發(fā),包括用戶身份密鑰分發(fā)和用戶屬性密鑰分發(fā):

用戶身份密鑰分發(fā):用戶向中央授權(quán)機(jī)構(gòu)cad提供一個唯一身份標(biāo)識gid,cad將屬性授權(quán)機(jī)構(gòu)aa生成的參數(shù)r和用戶的唯一身份標(biāo)識信息gid作為輸入,輸出身份密鑰skca和屬性密鑰生成參數(shù)ξ;

用戶屬性密鑰分發(fā):用戶向?qū)傩允跈?quán)機(jī)構(gòu)aak申請屬性密鑰,屬性授權(quán)機(jī)構(gòu)aak驗(yàn)證用戶提供的身份信息是否正確,如果正確,屬性授權(quán)機(jī)構(gòu)aak將rk和∪zk,i作為輸入,為用戶輸出一組屬性密鑰skaa,如果不正確將終止屬性密鑰的分發(fā);

步驟四、解密密文:授權(quán)用戶將系統(tǒng)提供的用戶屬性密鑰skaa、用戶身份密鑰skca和加密密文ct作為輸入,系統(tǒng)根據(jù)用戶所提供的信息運(yùn)行解密算法;如果用戶符合訪問策略輸出數(shù)據(jù)m,否則解密失敗終止系統(tǒng)。

進(jìn)一步,所述步驟二中對明文數(shù)據(jù)m加密的具體方法為:

給定明文數(shù)據(jù)m,為其選定一個首次加密隨機(jī)參數(shù)得到加密的明文c=m·ys和c′=gs,用戶設(shè)置一個訪問控制策略其中為全局屬性集合,給定一個訪問控制結(jié)構(gòu)遍歷平衡二叉樹γ進(jìn)行加密:

(1)若attk,i和attk,i+1為兩個葉子節(jié)點(diǎn),對應(yīng)的屬性值為i和i+1,對于每個都存在如下關(guān)系:如果i=+i,則有如果i=-i,則有如果則有并將以上結(jié)果包含于密文當(dāng)中;如果則返回0;

(2)attk,i和attk,i+1為兩個非葉子節(jié)點(diǎn),規(guī)則如下:

如果兩個非葉結(jié)點(diǎn)attk,i和attk,i+1都返回1,則返回1;

如果兩個非葉結(jié)點(diǎn)attk,i和attk,i+1都返回0,則返回0;

如果兩個非葉結(jié)點(diǎn)attk,i和attk,i+1中,attk,i返回0而另attk,i+1返回1,則定義并將與所對應(yīng)的節(jié)點(diǎn)信息寫入密文當(dāng)中,返回1;

最后得出加密密文ct,

進(jìn)一步,所述步驟三中用戶身份密鑰分發(fā)的方法為:系統(tǒng)為用戶隨機(jī)選取使其與用戶一一對應(yīng),可得d*=gy-r,θ=1/ogid,最后得到ca的身份密鑰skca,skca=(d,d*,θ),運(yùn)行簽名算法,對(signkey,gid)進(jìn)行簽名得到用戶的簽名驗(yàn)證參數(shù)從而得到用戶屬性密鑰生成參數(shù)ξ,ξ只能用于aa生成屬性密鑰。

進(jìn)一步,所述步驟三中用戶屬性密鑰分發(fā)的方法為:

當(dāng)接收到屬性授權(quán)請求時,aak利用ud對ξ中的簽名驗(yàn)證信息進(jìn)行驗(yàn)證,如果驗(yàn)證失敗則授權(quán)終止;

為隨機(jī)參數(shù)且rgid,k,x=σrgid,k,i,其中i為x的子節(jié)點(diǎn),令用戶的屬性集合為存在屬性當(dāng)且僅當(dāng)可得i=+i;當(dāng)可得i=-i;當(dāng)屬性令該屬性密鑰為當(dāng)屬性時,令該屬性密鑰為當(dāng)時,令該屬性密鑰為對于非葉子節(jié)點(diǎn)x存在最后可得到屬性私鑰skaa,

進(jìn)一步,所述步驟四中解密密文的方法為:將加密密文用戶屬性密鑰和用戶身份密鑰skca=(d,d*)作為輸入,從加密密文ct中提取訪問控制結(jié)構(gòu)將用戶屬性集合與訪問控制結(jié)構(gòu)w做判斷,如果不滿足w則終止解密過程,否則對所有屬性進(jìn)行如下解密過程:

如果節(jié)點(diǎn)x為葉子節(jié)點(diǎn):

(1)如果屬性且屬性設(shè)置為i=+i,則

(2)如果屬性且屬性設(shè)置為i=-i,則

(4)如果屬性i設(shè)置為don'tcare,則

如果節(jié)點(diǎn)x為非葉子節(jié)點(diǎn),則

將上述結(jié)果帶入下式進(jìn)行計(jì)算:

由此得到:明文m為

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
无锡市| 莱西市| 津南区| 江源县| 三亚市| 静宁县| 广州市| 明星| 新蔡县| 左权县| 如皋市| 含山县| 黑山县| 乌什县| 高陵县| 韩城市| 将乐县| 策勒县| 华容县| 新乡县| 林西县| 祥云县| 年辖:市辖区| 乌拉特中旗| 大姚县| 奉节县| 苍梧县| 攀枝花市| 饶河县| 灵山县| 清原| 塘沽区| 灵丘县| 宝山区| 昆山市| 昌宁县| 玉树县| 浦东新区| 阿勒泰市| 夏邑县| 临洮县|