格上主析取范式訪問策略的基于屬性加密方法
【技術領域】
[0001] 本發明屬于信息安全技術領域,具體涉及一種格上主析取范式訪問策略的基于屬 性加密方法。
【背景技術】
[0002] 基于屬性的加密是一個較新的研究方向,與傳統的密碼學相比,屬性加密提供了 更加靈活的加解密關系。從以往的一對一加密模式擴展到了一對多模式。并且基于屬性 的加密實現了對用戶訪問控制的功能:1.可以有效防止非法用戶訪問受保護的網絡資源; 2.允許合法用戶訪問受保護的網絡資源;3.防止合法用戶對受保護的網絡資源進行非授 權訪問。系統中的服務器只對加密后的資源進行管理,而不能真正訪問數據,保證用戶數據 的安全和隱私。這使得屬性加密得到了快速的發展,在付費電視系統,定向廣播加密等領域 有著良好的應用前景。特別是最近幾年,隨著云計算技術的發展和日益普及,越來越多的企 業和個人將自身的數據外包給云服務商。為保護用戶數據的安全性和隱私,屬性加密提供 了很好的解決途徑。
[0003] 目前基于屬性的加密大致可以分為兩類:第一類是從屬性加密出現(2005年)到 現在一直沿用的基于橢圓曲線的雙線性群設計的屬性加密系統,這一類的屬性加密系統已 經在方案的實用性,效率等方面都有了很大的突破。但是由于這一類系統在解密計算中往 往涉及到雙線性對的計算,而雙線性對計算在實現效率方面要遠低于其他運算(如線性運 算)。并且隨著量子計算機的出現,基于雙線性對技術的屬性加密的安全性也受到了威脅。 因此應用產生了第二類的屬性加密方案,那就是利用目前可以抵抗量子計算機的格密碼原 語來設計屬性加密方案。
[0004] 格密碼被認為是可以抵抗量子計算機攻擊的一種密碼機制,至今不存在可行的量 子計算機算法能夠破解格上的困難問題。同時,格上的運算簡單,計算量小,與傳統公鑰密 碼機制相比實現效率高。因此構造基于格的屬性加密方案也是近年來的熱點。
【發明內容】
[0005] 本發明的目的是提供一種格上主析取范式訪問策略的基于屬性加密方法,解決了 現有技術中存在的基于屬性加密方法速度慢,效率低的問題。
[0006] 本發明所采用的技術方案是,格上主析取范式訪問策略的基于屬性加密方法,其 特征在于,具體按照以下步驟實施:
[0007] 步驟1、系統建立;
[0008] 步驟2、密鑰生成;
[0009] 步驟3、消息加密;
[0010] 步驟4、消息解密。
[0011] 本發明的特點還在于,
[0012] 步驟1輸入安全參數A、q,屬性域U,生成系統公共參數pp和主私鑰msk,其中q =? (2A)是一個大素數,具體按照以下步驟實施:
[0013] 步驟(I. 1)、利用陷門生成算法TrapGen(Ix),生成一個均勻隨機矩陣AqeZ廠及
[0014] 步驟(1. 2)、隨機選擇n維的非零向量U2"eZf;
[0015] 步驟(1. 3)、對于每一個屬性Attr1GU,隨機選擇矩陣eZ廠;
[0017] 步驟2輸入公共參數pp,主私鑰msk,屬性列表L,生成關于屬性列表L的私鑰q, 具體按照以下步驟實施:
[0020]步驟(2. 3)、將私鑰q秘密發送給擁有屬性列表L的實體。
[0021]步驟3輸入公共參數pp、布爾訪問策略policy、以及待加密的消息MG{〇, 1},輸 出在訪問策略policy關于消息MG{0,1}的密文C,具體按照以下步驟實施:
[0022]步驟(3. 1)、首先將布爾訪問策略policy化成主析取范式f:令Ti表示析取范式 的每一個子部分,即f=AVf2Vf3-,其中每一個子部分匕均是不同屬性的合取的形式, 為了將一般的訪問策略表示成需要的主析取范式,允許同一個屬性出現多次,用Attr1^表 示標準范式中第i個子部分A中的第j個屬性,假設訪問策略policy共含有t個析取子部 分^(iG[t]),這里[t] = {1,2,…,t},并且每一個子析取部分匕中存在I1個屬性合取, 因此訪問策略policy表示成一個標準的主析取范式 f= /\Aftrl^ 以…aAttru')v(AttruaAtfr.,人…aAttr2hjv…V(JttrttaAttrl,a",aAttrt ,然后根據訪問策略f?對消息MG{〇, 1}進行加密,密文是根據訪問策略f?中的每一個子部 分/: = (.4叫」A/彳邱2A…A/彳邱,)分別進行加密的;
[0024]步驟(3. 3)、隨機選擇向量xeZiJ
[0025]步驟(3. 4)、根據高斯噪聲參數分布Pa隨機選擇低范數的高斯噪聲標量%。£2。, 根據參數分布隨機選擇各分量間獨立同分布的高斯噪聲向量其中
[0027] 步驟4具體按照以下步驟實施:
[0028] 輸入安全參數pp,屬性列表L的私鑰^以及密文C,如果屬性列表L與訪問策略f 中的某一個子部分A中的屬性一致,則屬性列表L滿足訪問策略f,假設屬性列表L中的屬 性與訪問策略A中的屬性一致,那么根據步驟2密鑰生成算法得力=?,因此F/;Ii =U,
[0029] 本發明的有益效果是,格上主析取范式訪問策略的基于屬性加密方法,將布爾公 式訪問轉化成主析取范式型訪問策略,利用主析取范式構造了一個新的基于屬性的加密 方案,本發明主析取范式訪問策略實現了與線性秘密共享(LSSS)訪問策略同樣的效果。
【具體實施方式】
[0030] 下面結合【具體實施方式】對本發明進行詳細說明。
[0031] 本發明格上主析取范式訪問策略的基于屬性加密方法,具體按照以下步驟實施:
[0032] 步驟1、系統建立:輸入安全參數A、q,屬性域U,生成系統公共參數pp和主私鑰 msk,其中q= ? (2A)是一個大素數,具體按照以下步驟實施:
[0033] 步驟(1. 1)、利用陷門生成算法TrapGen(Ix),生成一個均勻隨機矩陣AueZ廠1及
[0037] 步驟2、密鑰生成:輸入公共參數pp,主私鑰msk,屬性列表L,生成關于屬性列表L的私鑰A,具體按照以下步驟實施:
[0040] 步驟(2. 3)、將私鑰q秘密發送給擁有屬性列表L的實體。
[0041] 步驟3、消息加密:輸入公共參數pp、布爾訪問策略policy、以及待加密的消息 MG{〇,1},輸出在訪問策略policy關于消息MG{0,1}的密文C,具體按照以下步驟實 施::
[0042] 步驟(3. 1)、首先將布爾訪問策略policy化成主析取范式f:令Ti表示析取范式 的每一個子部分,即f=AVf2Vf3-,其中每一個子部分匕均是不同屬性的合取的形式。 為了將一般的訪問策略表示成需要的主析取范式,允許同一個屬性出現多次,用Attr1^表 示標準范式中第i個子部分A中的第j個屬性。假設訪問策略policy共含有t個析取子 部分fjiG[t]),這里[t] = {1,2,…,t},并且每一個子析取部分匕中存在"個屬性合 取,因此訪問策略policy表示成一個標準的主析取范式
,然后根據訪問策略f?對消息M G {〇, 1}進行加密,密文是根據訪問策略f?中的每一個子部 分./.; = (/彳/TV;」八.4"/::A.…八.4#,)分別進行加密的;
[0045] 步驟(3. 4)、根據高斯噪聲參數分布隨機選擇低范數的高斯噪聲標量X# Zq, 根據參數分布隨機選擇各分量間獨立同分布的高斯噪聲向量2GeZfm .,其中
[0047] 步驟4、消息解密:具體按照以下步驟實施:
[0048] 輸入安全參數pp,屬性列表L的私鑰^以及密文C。如果屬性列表L與訪問策略f 中的某一個子部分仁中的屬性一致,則屬性列表L滿足訪問策略f。假設屬性列表L中的屬 性與訪問策略A中的屬性一致,那么根據步驟2密鑰生成算法得& =巧,因此& =U,:
[0049] 下面驗證本發明格上主析取范式訪問策略的基于屬性加密方法的正確性與安全 性:
[0050] (1)正確性的驗證:
[0051] 如果屬性列表L滿足訪問策略f,不失一般性,那么假設屬性列表L與訪問策略f =f\Vf2VfV??中的第i個子部分仁相同,iG[t],那么就有&=巧, 因此