新四季網

一種基於屬性的BGN型密文解密外包方案的製作方法

2023-05-29 19:59:41

本發明屬於信息安全技術領域,具體涉及一種基於屬性的bgn型密文解密外包方案。



背景技術:

雲計算概念的提出,將信息產業的發展帶入了快車道。雲服務在給用戶提供海量的存儲服務和強大的計算能力的同時,也推動了經濟的發展,公共雲主要由不可信的第三方服務提供商來維護和運行,雲計算伴生的安全問題也日益凸顯。雲的安全問題被認為是雲服務實際應用面臨諸多困難中最大的挑戰,也是雲服務亟待解決的最大難題。如果用戶以明文形式將敏感數據保存到雲伺服器,由於雲端可能會複製甚至篡改這些信息,而用戶根本無法得知雲端的非授權行為,從而造成不可估計的損失,所以雲是不能被無條件信任的。為了防止敏感數據的惡意洩露和非法訪問,用戶可以以密文形式對數據進行外包。

傳統的雲計算加解密模型,無法實現對計算結果的細粒度訪問控制。shamir在1984年提出了基於身份的加密,用戶的公鑰是由與其身份相關的唯一標識生成,訪問時伺服器端不需要再查詢用戶的公鑰證書。基於屬性的加密由sahai和waters提出,可以看做是對基於身份的加密的推廣,在這種加密體制中,用戶的密鑰和密文與屬性關聯起來,只有屬性滿足訪問控制策略時,用戶才能合法解密,從而實現了對密文的細粒度訪問控制。

在基於屬性的加密系統中,用戶的密鑰和密文分別關聯著描述性屬性集和訪問策略。只有相關聯的屬性和訪問策略相互匹配,一個特定的密鑰才能夠解密一個特定的密文。目前,有兩種基於屬性的加密方法已經被提出,包括密鑰策略的基於屬性的加密(kp-abe)和密文策略的基於屬性的加密(cp-abe)。在kp-abe中,訪問策略被嵌入在私鑰中,而在cp-abe中,訪問策略被嵌入在密文中。基於屬性的加密abe提供了一種安全的方式,使得數據擁有者在不可信的伺服器上共享外包數據,而不是在有著特定用戶的可信伺服器上進行。這一優勢使得abe這種方法在雲存儲上大受歡迎,因為雲存儲需為屬於不同組織的大量用戶提供安全的訪問控制。

儘管如此,基於屬性的加密abe卻在效率上有一個主要的缺陷,即密鑰分發和解密階段的計算代價會隨著訪問模式的複雜性的增長而增長。密文大小和解密所需時間隨訪問公式的複雜而增加,這對資源受限的移動用戶而言無疑是個巨大的挑戰。為了保證遠端資源受限的移動用戶也能安全高效的解密,外包的abe這一概念被提出來,它使得加解密可以外包給第三方服務提供商。abe解密外包的核心就是修改密鑰產生算法,生成兩個鑰匙,一個是由用戶保存的短的elgamal密鑰,一個是變形鑰匙tk。對於滿足訪問函數的密文ct,可以先在雲端使用tk將ct轉化為簡單而短小的elgamal密文ct』。用戶只需要一個簡單的指數運算就可以進行解密。這種外包解密方案相較於傳統的基於屬性的加密方案,提高了系統的解密效率,降低了接收者的存儲開銷。然而,這一方案中對密文的解密有一部分是由雲端進行的,這要求對外包伺服器信任,密文、轉換密鑰tk都存在被非法讀取的可能。

因此,設計一種不僅可以提高解密外包過程中信息安全性,同時又不增加用戶解密難度的密文解密外包方案具有重要價值。



技術實現要素:

為了提高現有技術中cp-abe方案的解密外包方案解密外包過程中信息安全性,同時又不增加用戶解密難度,本發明提供了一種基於屬性的bgn型密文解密外包方案。本發明提供了基於屬性的bgn型密文解密外包方案,按照本方案的加密方法得到的密文,可允許伺服器對密文數據進行多次加法同態及一次乘法同態操作,從而在不增加用戶解密難度的同時大大提升了用戶信息的cpa安全性。

本發明要解決的技術問題通過以下技術方案實現:

一種基於屬性的bgn型密文解密外包方案,包括以下步驟:

步驟(1):設定系統參數,產生加密密鑰,主密鑰msk和公鑰pk;

步驟(2):發送方選擇一個訪問結構,對消息進行加密,並輸出密文ct;

步驟(3):接收方輸入主密鑰msk和屬性s,隨機選擇參數,輸出轉換密鑰tk和私鑰sk;

步驟(4):發送方通過公開信道向雲端發送密文數據ct;

步驟(5):接收方向雲端發送轉換密鑰tk;

步驟(6):雲端利用轉換密鑰tk對密文ct進行轉換計算得到部分密文ct』,並將所述部分密文ct』發送給接收方;

步驟(7):接收方利用私鑰sk對部分密文ct』進行解密,獲取消息;

在所述步驟(4)和步驟(5)之間還包括雲端對密文的同態計算操作步驟。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述步驟(1)具體為:

步驟(1-1):設定系統參數,輸入安全參數λ和屬性空間u,其中u={0,1}*;

步驟(1-2):運行算法ξ(λ),得到元組(q1,q2,g,g1,e)和雙線性映射e:g×g→g1,其中,q1,q2為素數,g,g1都是階為n=q1q2的群;

步驟(1-3):在群g中隨機選擇生成元k,u,並令則h是群g的q1階子群生成元,再隨機選擇階為p的素數階群g′和g′t,令g為群g′的一個生成元,得到雙線性映射e′:g′×g′→g′t;

步驟(1-4):隨機選擇由{0,1}*映射到g′的哈希函數f和由g′t映射到(0,1)的哈希函數,隨機選擇係數α,a∈zp,zp即為模p的整數域,則算法的主密鑰表示為:msk=(gα,pk);公鑰表示為:pk=(n,g,k,h,e,e′(g,g)α,ga,f,h,g,g1)。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述步驟(2)具體為:

步驟(2-1):發送方選擇lsss訪問結構(m,ρ),其中,m是一個與屬性有關的l×n的矩陣,ρ是與m的行元素mi相關的函數,i=1,2,…,l;

步驟(2-2):隨機選擇n個zp中的元素(s,y2,……,yn)∈zp,組成向量v,v=(s,y2,……,yn),其中,s為秘密共享參量,計算λi=mi·v,其中,mi是m的第i行元素所組成的向量,再隨機選擇l+1個zp中的元素(r,r1,……,rl)∈zp,輸出密文ct,密文ct包括以下三個部分:

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述步驟(3)具體為:

步驟(3-1):接收方輸入主密鑰msk和屬性s,隨機選擇t′∈zp,輸出

sk′=(pk,k′=gαgat′,l′=gt′,{kx′=f(x)t′}x∈s)

步驟(3-2):隨機選擇z∈zp,並令t=t′/z,得到轉換密鑰tk和接收方的私鑰sk:

tk為:

sk為:sk=(q1,z)。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述步驟(6)具體為:

步驟(6-1):雲端利用接收方發送的轉換密鑰tk對密文ct進行轉換計算,當接收方的屬性s不滿足訪問結構(m,ρ),則雲端輸出⊥,系統停止運行;

當接收方的屬性s滿足訪問結構(m,ρ),定義且滿足i={i:ρ(i)∈s},則存在常數集{ωi∈zp}i∈i,對於{λi}中的所有的值,計算∑i∈iωiλi=s即可恢復出秘密共享參量s,進而運行轉換算法計算,得到部分密文ct』,

所述轉換算法計算具體為:

步驟(6-2):雲端向接收方返回部分密文ct′=(c,q)。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述步驟(7)具體為:

步驟(7-1):接收方輸入私鑰sk=(q1,z)和部分密文ct′,利用(z,q)計算出e′(g,g)sα=qz;

步驟(7-2):接收方再利用部分私鑰q1計算

步驟(7-3):接收方通過pollard’slambda算法解密以為底的離散對數,即可獲取明文消息m。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述同態計算操作步驟為至少一次加法同態操作和最多一次乘法同態操作。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,步驟(4):發送方通過公開信道向雲端發送密文數據ct後,雲端對密文的同態計算操作步驟為至少一次加法同態操作,

雲端接收密文數據包含c1和c2:

和計算

則經過加法同態計算後的密文為:

c=gs,

步驟(5):接收方向雲端發送轉換密鑰tk;

步驟(6):雲端利用轉換密鑰tk對加法同態操作後的密文進行轉換計算,並將部分密文發送給接收方,步驟(6)具體過程如下:

步驟(6-1):雲端利用接收方發送的轉換密鑰tk對密文進行轉換計算,

當接收方的屬性s滿足訪問結構(m,ρ),定義且滿足i={i:ρ(i)∈s},則存在常數集{ωi∈zp}i∈i,計算∑i∈iωiλi=s即可恢復出秘密共享參量s,進而運算轉換算法計算,得到部分密文,

所述轉換算法計算具體為:

步驟(6-2):雲端向接收方返回部分密文ct′=(c,q);

步驟(7):接收方利用私鑰sk對部分密文ct』進行解密,步驟(7)具體過程如下:

步驟(7-1):接收方輸入私鑰sk=(q1,z)和部分密文ct′,利用(z,q)進行一次指數運算,計算e′(g,g)sα=qz,得到e′(g,g)sα,從而得到h(e′(g,g)sα)的值;

步驟(7-2):接收方再利用部分私鑰q1計算:

步驟(7-3):接收方通過pollard’slambda算法解密以為底的離散對數,即可獲取明文消息m1+m2。

因為經過一次加法同態得到的密文中c′∈g,說明雲端接收密文ct後可以進行多次加法同態操作。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,步驟(4):發送方通過公開信道向雲端發送密文數據ct後,雲端對密文的同態計算操作步驟為一次乘法同態操作,

令k1=e(k,k),h1=e(k,h),則k1的階為n,h1的階為q1,並且一定有β∈z,使得z為有限整數域,計算

則經過一次乘法同態計算後的密文為:

c=gs,

步驟(5):接收方向雲端發送轉換密鑰tk;

步驟(6):雲端利用轉換密鑰tk對密文進行轉換計算,得到部分密文,並將所述部分密文發送給接收方,步驟(6)具體過程如下:

步驟(6-1):雲端利用接收方發送的轉換密鑰tk對密文進行轉換計算,當接收方的屬性s滿足訪問結構(m,ρ),定義且滿足i={i:ρ(i)∈s},則存在常數集{ωi∈zp}i∈i,計算∑i∈iωiλi=s即可恢復出秘密共享參量s,進而運算轉換算法計算,得到部分密文ct』,

所述轉換算法計算具體為:

步驟(6-2):雲端向接收方返回部分密文ct′=(c,q);

步驟(7):接收方利用私鑰sk對部分密文ct』進行解密,獲取消息,步驟(7)具體過程如下:

步驟(7-1):接收方輸入私鑰sk=(q1,z)和部分密文ct′,利用(z,q)進行一次指數運算,即計算e′(g,g)sα=qz,得到e′(g,g)sα,從而得到h(e′(g,g)sα)2的值;

步驟(7-2):接收方再利用部分私鑰q1計算:

步驟(7-3):接收方通過pollard’slambda算法解密以為底的離散對數,即可獲取明文消息m1m2。

更具體地,本發明所述的基於屬性的bgn型密文解密外包方案中,所述隨機選擇所指的參數產生算法具體為使用偽隨機數生成器隨機選擇512bit大小的兩個大素數q1、q2,g、g1都是階為n=q1q2的群,e:g×g→g1是雙線性映射。

下面對本發明所應用的數學理論作出說明:

本發明所述的「雙線性映射」即「雙線性對」,是指一種函數映射,將群g中的元素映射到群gt中去,其含義如下:

g,gt是兩個階為p的乘法循環群,g為g的生成元,則雙線性映射e:g×g→gt滿足下列性質:

(1)雙線性:對任意u,k∈g和a,b∈zp,都有e(ua,kb)=e(u,k)ab。

(2)非退化性:存在u,k∈g,使得e(u,k)≠1。

(3)可計算性:存在有效算法使得對任意u,k∈g,都可以計算出e(u,k)。

其中,zp為模p的整數域;

本發明所述的「訪問結構」具有如下含義:

假設{p1,p2,…,pn}是秘密共享的參與者集合,定義p=2{p1,p2,…,pn},訪問結構γ是{p1,p2,…,pn}的非空子集,即訪問結構的單調性定義如下:如果a∈γ且則b∈γ。同時,稱該子集為一個授權子集,不能重構出共享秘密的子集為非授權子集。

本發明所述的「lsss(linearsecretsharingscheme)訪問結構」具有如下含義:

一個定義在秘密共享參與者集合p上的線性秘密共享機制(linearsecretsharingscheme,lsss)π是指:

(1)所有參與者的份額組成一個zp上的向量。

(2)存在一個l×n的矩陣m,它是一個關於π的共享生成矩陣。m的第i行對應實體ρ(i),其中i=1,2,…,l,ρ是從{1,2,…,l}到p的映射函數。隨機選擇列向量其中s是共享秘密,那麼m·v就是利用π得到的關於s的l個共享組成的向量,並且(m·v)i屬於實體ρ(i)。

線性重構性:假設π是一個關於訪問結構γ的lsss,令授權集s∈γ,定義i={i:ρ(i)∈s}且那麼就一定會存在這樣的一個常數集{wi∈zp}i∈i,使得∑i∈iwimi=(1,0,…,0)成立,從而有∑i∈iwimiv=s;而對於非授權集,則不存在這樣的{wi∈zp}i∈i。

本發明的有益效果:

1、本發明的解密外包方案中,信息在加密過程中產生的密文包括三個部分,其中一部分密文嵌入到bgn型密文中,可允許伺服器對該部分密文進行多次加法同態及一次乘法同態操作,這種處理結果與直接對明文進行同樣的運算再將結果加密一樣;因此,對密文進行類同態操作後,不僅可以大大提升數據安全性,同時並不增加用戶解密過程的難度。

2、同態計算操作可以在加密數據中進行諸如、檢索、比較等操作,得出正確結果,而在整個處理過程中無需對數據進行解密,也就是說伺服器不需讀取用戶敏感數據就可以處理數據信息。

3、本發明的解密外包方案利用雙線性映射技術,並使用國產哈希函數sm3算法,將方案的安全性歸約到子群判定問題困難假設,使其達到了cpa安全。

4、對雲端計算結果的訪問控制上,通過加入基於屬性的加密方法,實現了對同態運算結果解密權限的基於屬性的細粒度訪問控制;訪問規則由用戶指定,可以隨時進行訪問權限的變更,即共享生成矩陣式和消息綁定在一起生成密文的,所以可以隨時更改與共享生成矩陣相關聯的身份特徵集,而用戶的私鑰只與身份特徵集相關。

5、效率方面,在移動雲存儲環境下,用戶將屬性控制經過哈希處理之後嵌入到bgn型密文中,上傳到雲端存儲,再通過密文轉換步驟,將密文的部分解密外包到雲端進行,保證了數據在雲端的安全性,在不洩露明文數據的前提下,借外包解密代理強大的運算能力,加快解密速度,降低了接收者的存儲、解密開銷,提高了系統的解密效率。

以下將結合附圖及實施例對本發明做進一步詳細說明。

附圖說明

圖1是本發明基於屬性的bgn型密文解密外包方案的流程示意圖。

具體實施方式

為進一步闡述本發明達成預定目的所採取的技術手段及功效,以下結合附圖及實施例對本發明的具體實施方式、結構特徵詳細說明如下。

實施例1:基於屬性的bgn型密文解密外包方案

如圖1所示的基於屬性的bgn型密文解密外包方案,其具體步驟如下:

步驟(1):設定系統參數,產生加密密鑰,主密鑰msk和公鑰pk,步驟(1)具體過程如下:

步驟(1-1):設定系統參數,輸入安全參數λ和屬性空間u,其中u={0,1}*;所輸入的安全參數λ的取值比較大,本實施例中,λ選擇1024bit大小,足以保證方案的安全性。

步驟(1-2):運行算法ξ(λ),得到元組(q1,q2,g,g1,e)和雙線性映射e:g×g→g1,其中,q1,q2為素數,g,g1都是階為n=q1q2的群;ξ(λ)是公開的參數產生算法,q1,q2為大素數,本實施例中選擇q1,q2為512bit大小的素數。

步驟(1-3):在群g中隨機選擇生成元k,u,並令則h是群g的q1階子群生成元,再隨機選擇階為p的素數階群g′和g′t,令g為群g′的一個生成元,得到雙線性映射e′:g′×g′→g′t。

步驟(1-4):隨機選擇由{0,1}*映射到g′的哈希函數f和由g′t映射到(0,1)的哈希函數h,隨機選擇係數α,a∈zp,即α、a均在模p的整數域上隨機選擇,zp即為模p的整數域,則算法的主密鑰表示為:msk=(gα,pk);

公鑰表示為:pk=(n,g,k,h,e,e′(g,g)α,ga,f,h,g,g1)。

步驟(1)中所使用的哈希函數f和哈希函數h均為公開的國產哈希函數sm3算法。

步驟(2):發送方選擇一個訪問結構,對消息進行加密,並生成密文ct,步驟(2)具體過程如下:

步驟(2-1):發送方選擇lsss訪問結構(m,ρ),其中,m是一個與屬性有關的l×n的矩陣,ρ是與m的行元素mi相關的函數,表示可以將矩陣m的每一行對應到訪問結構中某一元素的映射,i=1,2,…,l。

步驟(2-2):隨機選擇n個zp中的元素(s,y2,……,yn)∈zp,組成向量v,v=(s,y2,……,yn),其中,s為秘密共享參量,計算λi=mi·v,其中,mi是m的第i行元素所組成的向量,再隨機選擇l+1個zp中的元素(r,r1,……,rl)∈zp,即在模p的整數域上隨機選擇r,r1,…,rl,輸出密文ct,ct包括以下三個部分:

步驟(3):接收方輸入主密鑰msk和屬性s,選擇隨機參數,輸出轉換密鑰tk和私鑰sk,步驟(3)具體過程如下:

步驟(3-1):接收方輸入主密鑰msk和屬性s,隨機選擇t′∈zp,輸出:

sk′=(pk,k′=gαgat′,l′=gt′,{kx′=f(x)t′}x∈s)。

步驟(3-2):隨機選擇z∈zp,並令t=t′/z,得到轉換密鑰tk和接收方的私鑰sk:

sk=(q1,z)。

步驟(4):發送方通過公開信道向雲端發送密文數據ct。

雲端接收到發送方發送的密文數據ct之後;可對密文進行同態計算操作步驟,同態計算操作步驟為至少一次加法同態操作和最多一次乘法同態操作;雲端接收到的按照本實施例方案進行加密得到的密文ct包括三個部分,其中第一部分密文c嵌入bgn,可允許伺服器對該部分密文進行多次加法同態及一次乘法同態操作。

步驟(5):接收方向雲端發送轉換密鑰tk。

步驟(6):雲端利用轉換密鑰tk對密文ct進行轉換計算,得到部分密文ct』,並將所述部分密文ct』發送給接收方,步驟(6)具體過程如下:

步驟(6-1):雲端利用接收方發送的轉換密鑰tk對密文ct進行轉換計算,當接收方的屬性s不滿足訪問結構(m,ρ),則雲端輸出⊥,系統停止運行;

當接收方的屬性s滿足訪問結構(m,ρ),定義且滿足i={i:ρ(i)∈s},即屬性集s中所有元素ρ(i)∈s通過映射ρ(.)對應到矩陣m的行標i的集合,則存在常數集{ωi∈zp}i∈i,使得∑i∈iwimi=(1,0,…,0)成立,對於{λi}中的所有的值,{λi}是秘密s的有效部分,則計算∑i∈iωiλi=s即可恢復出秘密共享參量s,進而運算轉換算法計算,得到部分密文ct』,

所述轉換算法計算具體為:

步驟(6-2):雲端向接收方返回部分密文ct′=(c,q)。

步驟(7):接收方利用私鑰sk對部分密文ct』進行解密,獲取消息,步驟(7)具體過程如下:

步驟(7-1):接收方輸入私鑰sk=(q1,z)和部分密文ct′,利用(z,q)進行一次指數運算,即計算e′(g,g)sα=qz。

步驟(7-2):接收方再利用部分私鑰q1計算:

步驟(7-3):接收方通過pollard’slambda算法解密以為底的離散對數,即可獲取明文消息m。

在本實施例的密文解密外包方案中,其中,步驟(3)的操作主體為接收方,與步驟(2)和步驟(4)不同,因此步驟(3)的順序可以有變化,步驟(3)不需要必須在步驟(2)和步驟(4)之間,只要在步驟(1)之後、步驟(5)之前即可。本發明方案中的「隨機選擇」所指的參數產生算法具體為使用偽隨機生成器隨機選擇512bit大小的兩個大素數q1、q2,g、g1都是階為n=q1q2的群,e:g×g→g1是雙線性映射。偽隨機數生成器不做具體指定,只要它能夠達到隨機選擇的目的即可,只要能夠實現隨機選擇,則對方案安全性不產生影響。

實施例2:基於屬性的bgn型密文解密外包方案

具體方案如下:

步驟(1):設定系統參數,產生加密密鑰,主密鑰msk和公鑰pk,步驟(1)具體過程如下:

步驟(1-1):設定系統參數,輸入安全參數λ和屬性空間u,其中u={0,1}*;所輸入的安全參數λ的取值比較大,本實施例中,λ選擇1024bit大小,足以保證方案的安全性。

步驟(1-2):運行算法ξ(λ),得到元組(q1,q2,g,g1,e)和雙線性映射e:g×g→g1,其中,q1,q2為素數,g,g1都是階為n=q1q2的群;ξ(λ)是公開的參數產生算法,q1,q2為大素數,本實施例中選擇q1,q2為512bit大小的素數。

步驟(1-3):在群g中隨機選擇生成元k,u,並令則h是群g的q1階子群生成元,再隨機選擇階為p的素數階群g′和g′t,令g為群g′的一個生成元,得到雙線性映射e′:g′×g′→g′t。

步驟(1-4):隨機選擇由{0,1}*映射到g′的哈希函數f和由g′t映射到(0,1)的哈希函數h,隨機選擇係數α,a∈zp,即α、a均在模p的整數域上隨機選擇,zp即為模p的整數域,則算法的主密鑰表示為:msk=(gα,pk);

輸出公鑰表示為:pk=(n,g,k,h,e,e′(g,g)α,ga,f,h,g,g1)。

步驟(1)中所使用的哈希函數f和哈希函數h均為公開的國產哈希函數sm3算法。

步驟(2):發送方選擇一個訪問結構,對消息進行加密,並生成密文ct,步驟(2)具體過程如下:

步驟(2-1):發送方選擇lsss訪問結構(m,ρ),其中,m是一個與屬性有關的l×n的矩陣,ρ是與m的行元素mi相關的函數,表示可以將矩陣m的每一行對應到訪問結構中某一元素的映射,i=1,2,…,l。

步驟(2-2):隨機選擇n個zp中的元素(s,y2,……,yn)∈zp,組成向量v,v=(s,y2,……,yn),其中,s為秘密共享參量,計算λi=mi·v,其中,mi是m的第i行元素所組成的向量,再隨機選擇l+1個zp中的元素(r,r1,……,rl)∈zp,即在模p的整數域上隨機選擇r,r1,…,rl,輸出密文ct,ct包括以下三個部分:

步驟(3):接收方輸入主密鑰msk和屬性s,選擇隨機參數,輸出轉換密鑰tk和私鑰sk,步驟(3)具體過程如下:

步驟(3-1):接收方輸入主密鑰msk和屬性s,隨機選擇t′∈zp,輸出:

sk′=(pk,k′=gαgat′,l′=gt′,{kx′=f(x)t′}x∈s)。

步驟(3-2):隨機選擇z∈zp,並令t=t′/z,得到轉換密鑰tk和接收方的私鑰sk:

sk=(q1,z)。

步驟(4):發送方通過公開信道向雲端發送密文數據ct。

雲端接收到發送方發送的密文數據ct之後;可對密文進行同態計算操作步驟,同態計算操作步驟為至少一次加法同態操作和最多一次乘法同態操作。在本實施例中,進行一次加法同態操作:

雲端接收密文數據包含c1和c2:

和計算

經過加法同態計算後的密文為:

c=gs,

因為經過加法同態得到的密文中c′∈g,說明雲端接收密文ct後可以進行多次加法同態操作。

步驟(5):接收方向雲端發送轉換密鑰tk。

步驟(6):雲端利用轉換密鑰tk對加法同態操作後的密文進行轉換計算,得到部分密文ct』,並將所述部分密文ct』發送給接收方,步驟(6)具體過程如下:

步驟(6-1):雲端利用接收方發送的轉換密鑰tk對密文ct進行轉換計算,當接收方的屬性s不滿足訪問結構(m,ρ),則雲端輸出⊥,系統停止運行;

當接收方的屬性s滿足訪問結構(m,ρ),定義且滿足i={i∶ρ(i)∈s},則存在常數集{ωi∈zp}i∈i,對於{λi}中的所有的值,{λi}是秘密s的有效部分,也就是計算∑i∈iωiλi=s即可恢復出秘密共享參量s,進而運算轉換算法計算,得到部分密文ct』,

所述轉換算法計算具體為:

步驟(6-2):雲端向接收方返回部分密文ct′=(c,q)。

步驟(7):接收方利用私鑰sk對部分密文ct』進行解密,獲取消息,步驟(7)具體過程如下:

步驟(7-1):接收方輸入私鑰sk=(q1,z)和部分密文ct′,利用(z,q)進行一次指數運算,即計算e′(g,g)sα=qz,得到e′(g,g)sα,從而得到h(e′(g,g)sα)的值。

步驟(7-2):接收方再利用部分私鑰q1計算:

步驟(7-3):接收方通過pollard’slambda算法解密以為底的離散對數,即可獲取明文消息m1+m2。

雲端接收到的按照本實施例方案進行加密得到的密文ct包括三個部分,其中第一部分密文c嵌入到bgn型密文中,可允許伺服器對該部分密文進行多次加法同態操作,這種處理結果與直接對明文進行同樣的運算再將結果加密一樣;因此,對密文進行類同態操作後,可以大大提升數據安全性,同時並不增加用戶解密過程的難度。因為經過加法同態得到的密文中c′∈g,說明雲端接收密文ct後可以進行多次加法同態操作。

在本實施例的密文解密外包方案中,其中,步驟(3)的操作主體為接收方,與步驟(2)和步驟(4)不同,因此步驟(3)的順序可以有變化,步驟(3)不需要必須在步驟(2)和步驟(4)之間,只要在步驟(1)之後、步驟(5)之前即可。

本發明方案中的「隨機選擇」所指的參數產生算法具體為使用偽隨機生成器隨機選擇512bit大小的兩個大素數q1、q2,g、g1都是階為n=q1q2的群,e:g×g→g1是雙線性映射。偽隨機數生成器不做具體指定,只要它能夠達到隨機選擇的目的即可,只要能夠實現隨機選擇,則對方案安全性不產生影響。

實施例3:基於屬性的bgn型密文解密外包方案

具體方案如下:

步驟(1):設定系統參數,產生加密密鑰,主密鑰msk和公鑰pk,步驟(1)具體過程如下:

步驟(1-1):設定系統參數,輸入安全參數λ和屬性空間u,其中u={0,1}*;所輸入的安全參數λ的取值比較大,本實施例中,λ選擇1024bit大小,足以保證方案的安全性。

步驟(1-2):運行算法ξ(λ),得到元組(q1,q2,g,g1,e)和雙線性映射e:g×g→g1,其中,q1,q2為素數,g,g1都是階為n=q1q2的群;ξ(λ)是公開的參數產生算法,q1,q2為大素數,本實施例中選擇q1,q2為512bit大小的素數。

步驟(1-3):在群g中隨機選擇生成元k,u,並令則h是群g的q1階子群生成元,再隨機選擇階為p的素數階群g′和g′t,令g為群g′的一個生成元,得到雙線性映射e′:g′×g′→g′t。

步驟(1-4):隨機選擇由{0,1}*映射到g′的哈希函數f和由g′t映射到(0,1)的哈希函數h,隨機選擇係數α,a∈zp,即α、a均在模p的整數域上隨機選擇,zp即為模p的整數域,則算法的主密鑰表示為:msk=(gα,pk);

輸出公鑰表示為:pk=(n,g,k,h,e,e′(g,g)α,ga,f,h,g,g1)。

步驟(1)中所使用的哈希函數f和哈希函數h均為公開的國產哈希函數sm3算法。

步驟(2):發送方選擇一個訪問結構,對消息進行加密,並生成密文ct,步驟(2)具體過程如下:

步驟(2-1):發送方選擇lsss訪問結構(m,ρ),其中,m是一個與屬性有關的l×n的矩陣,ρ是與m的行元素mi相關的函數,表示可以將矩陣m的每一行對應到訪問結構中某一元素的映射,i=1,2,…,l。

步驟(2-2):隨機選擇n個zp中的元素(s,y2,……,yn)∈zp,組成向量v,v=(s,y2,……,yn),其中,s為秘密共享參量,計算λi=mi·v,其中,mi是m的第i行元素所組成的向量,再隨機選擇l+1個zp中的元素(r,r1,……,rl)∈zp,即在模p的整數域上隨機選擇r,r1,…,rl,輸出密文ct,ct包括以下三個部分:

步驟(3):接收方輸入主密鑰msk和屬性s,選擇隨機參數,輸出轉換密鑰tk和私鑰sk,步驟(3)具體過程如下:

步驟(3-1):接收方輸入主密鑰msk和屬性s,隨機選擇t′∈zp,輸出:

sk′=(pk,k′=gαgat′,l′=gt′,{kx′=f(x)t′}x∈s)。

步驟(3-2):隨機選擇z∈zp,並令t=t′/z,得到轉換密鑰tk和接收方的私鑰sk:

sk=(q1,z)。

步驟(4):發送方通過公開信道向雲端發送密文數據ct。

雲端接收到發送方發送的密文數據ct之後;可對密文進行同態計算操作步驟,同態計算操作步驟為至少一次加法同態操作和最多一次乘法同態操作。在本實施例中,進行一次乘法同態操作:

令k1=e(k,k),h1=e(k,h),則k1的階為n,h1的階為q1,並且一定有β∈z,使得z為有限整數域,計算

經過一次乘法同態計算後的密文為:

c=gs,

經過乘法同態得到的密文中c′∈g1,由於不存在有效算法使得e:g1×g1→g成立,所以本方案只能進行一次乘法。

步驟(5):接收方向雲端發送轉換密鑰tk。

步驟(6):雲端利用轉換密鑰tk對密文進行轉換計算,得到部分密文ct』,並將所述部分密文ct』發送給接收方,步驟(6)具體過程如下:

步驟(6-1):雲端利用接收方發送的轉換密鑰tk對密文ct進行轉換計算,當接收方的屬性s不滿足訪問結構(m,ρ),則雲端輸出⊥,系統停止運行;

當接收方的屬性s滿足訪問結構(m,ρ),定義且滿足i={i:ρ(i)∈s},則存在常數集{ωi∈zp}i∈i,對於{λi}中的所有的值,{λi}是秘密s的有效部分,則計算∑i∈iωiλi=s即可恢復出秘密共享參量s,進而運算轉換算法計算,得到部分密文ct』,

所述轉換算法計算具體為:

步驟(6-2):雲端向接收方返回部分密文ct′=(c,q)。

步驟(7):接收方利用私鑰sk對部分密文ct』進行解密,獲取消息,步驟(7)具體過程如下:

步驟(7-1):接收方輸入私鑰sk=(q1,z)和部分密文ct′,利用(z,q)進行一次指數運算,即計算e′(g,g)sα=qz,得到e′(g,g)sα,從而得到h(e′(g,g)sα)2的值。

步驟(7-2):接收方再利用部分私鑰q1計算:

步驟(7-3):接收方通過pollard’slambda算法解密以為底的離散對數,即可獲取明文消息m1m2。

根據實施例3,雲端接收到的按照本實施例方案進行加密得到的密文ct包括三個部分,其中第一部分密文c嵌入到bgn型密文中,可允許伺服器對該部分密文進行一次乘法同態操作,這種處理結果與直接對明文進行同樣的運算再將結果加密一樣;因此,對密文進行類同態操作後,可以大大提升數據安全性,同時並不增加用戶解密過程的難度。

在移動雲存儲環境下,用戶將屬性控制經過哈希處理之後嵌入到bgn型密文中,上傳到雲端存儲,再通過密文轉換步驟,將密文的部分解密外包到雲端進行,保證了數據在雲端的安全性,在不洩露明文數據的前提下,借外包解密代理強大的運算能力,加快解密速度,降低了接收者的存儲、解密開銷,提高了系統的解密效率。

實施例4:對本發明的bgn型密文解密外包方案的安全性進行說明

本發明方案的安全性是建立在敵手算法α不能攻破子群判定問題的假設基礎上。假設存在某一算法β能夠以優勢ε攻破本方案的語義安全性,那麼就一定存在敵手算法α能夠以優勢ε解決子群判定問題假設。詳細的證明過程如下:

(1)敵手算法α隨機選擇g∈g,將公鑰(n,g,g1,e,g,x)發送給算法β。

(2)算法β隨機挑選兩個明文消息m0,m1發送給敵手算法α,算法α返回隨機挑戰密文其中

(3)算法β輸出關於b的猜測b′,如果b=b′,算法α輸出「1」,否則輸出「0」。

如果元素x是在群g中均勻分布,那麼挑戰密文c在群g中也是均勻分布,與b的選擇無關,即pr|b=b′|=1/2;如果x是群g的q1階子群中的元素,那麼根據假設就有pr|b=b′|>1/2+ε,所以sd-adva(τ)>ε,這就意味著敵手算法α解決子群判定問題假設的優勢ε是不可忽略的,與困難問題矛盾。

因此,方案在子群判定問題困難假設下達到了cpa安全。同時,需要注意到,解密者屬性的洩露不會影響密文的安全。因為如果攻擊者拿不到部分密鑰q1,那麼他即使知道加密者的屬性和隨機參數z,即攻擊者能夠算出e′(g,g)sα的值,但是不清楚部分密鑰q1的值,因而無法計算

所以還是不能得到正確的明文。另一方面,攻擊者即使只拿到了部分密鑰q1,但是由於他的屬性不滿足密文訪問策略,即攻擊者不能算出e′(g,g)sα的值,因此也不能解密得到明文。綜上所述,只有屬性滿足密文訪問策略的合法解密者才可以正常解密密文。

根據上述說明過程可知,本發明的解密外包方案利用雙線性映射技術,並使用國產哈希函數sm3算法,將方案的安全性歸約到子群判定問題困難假設,使其達到了cpa安全。

以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限於這些說明。對於本發明所屬技術領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬於本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀