格上基于累積器的可撤銷的基于身份的加密方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全技術(shù)領(lǐng)域,具體涉及一種格上基于累積器的可撤銷的基于身 份的加密方法。
【背景技術(shù)】
[0002] 基于身份密碼體制克服了傳統(tǒng)的公鑰密碼體制中公鑰證書的維護(hù)、更新和撤銷等 問題?;谏矸莸拿艽a體制從根本上改變了傳統(tǒng)的公鑰體制架構(gòu)中證書的管理和運作?;?于身份的密碼系統(tǒng)與普通的公鑰系統(tǒng)相比不同之處在于,基于身份的密碼體制系統(tǒng)中實體 公開身份信息是實體的唯一標(biāo)識,用戶的公鑰可以通過身份信息導(dǎo)出。這些方案在一些企 事業(yè)單位中有良好的應(yīng)用前景,如個人與個人之間,個人與商家之間、商家與商家、企業(yè)與 企業(yè)之間的業(yè)務(wù)交流,或者是政府部門之間的電子政務(wù)來往等。
[0003] 為了保證擁有大量用戶的加密系統(tǒng)的安全性,身份撤銷機(jī)制是很必要的。系統(tǒng)用 戶公鑰被撤銷有多種原因:第一,用戶的私鑰泄露;第二,該用戶不再是一個合法的用戶, 這種情況下需要撤銷該用戶。比如在一個企業(yè)管理系統(tǒng)中,某個員工從該企業(yè)辭職,則需要 從該系統(tǒng)中撤銷該用戶,或者某個員工篡改數(shù)據(jù)或者泄露企業(yè)隱私,違反了該企業(yè)的規(guī)章 制度,也需要從該系統(tǒng)中撤銷該用戶。
[0004] 鑒于上述的實際問題,可撤銷的基于身份的加密方法研究是很實用的。在現(xiàn)實生 活中,像這樣的例子很多,比如像保密局、各類企業(yè)、商業(yè)、通信等等領(lǐng)域。在這些情況下,撤 銷公鑰-私鑰對并且用新的密鑰來代替是很重要的??沙蜂N的基于身份加密在基于身份加 密方案中提供了有效的撤銷方法,可信權(quán)威定期地發(fā)布非撤銷用戶的更新密鑰,并且只有 用戶擁有最新的更新密鑰,他才可以正確的解密密文。因此,隨著互聯(lián)網(wǎng)產(chǎn)品的快速發(fā)展以 及廣泛使用,研究可撤銷的基于身份加密有很好的發(fā)展前景。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供一種格上基于累積器的可撤銷的基于身份的加密方法,解決 了現(xiàn)有技術(shù)中存在的用戶私鑰泄露、難以抵抗量子攻擊的問題。
[0006] 本發(fā)明所采用的技術(shù)方案是,格上基于累積器的可撤銷的基于身份的加密方法, 具體按照以下步驟實施:
[0007] 步驟1、系統(tǒng)建立;
[0008] 步驟2、私鑰生成;
[0009] 步驟3、更新密鑰生成;
[0010] 步驟4、解密密鑰生成;
[0011] 步驟5、加密;
[0012] 步驟6、解密;
[0013] 步驟7、撤銷。
[0014] 本發(fā)明的特點還在于,
[0015] 步驟1具體按照以下步驟實施:
[0016] 步驟(1.1)、輸入安全參數(shù)λ,以及用戶的最大個數(shù)和時間周期個數(shù)之 和Ν,令用戶身份 W = …這里 Z疒丨0,1,···,9 時間段尤=?ι,··?}εΚ,定義φ為一對一的映射φ Qd)= d,Φ ⑴=1,d,I e {1,…,N},設(shè)置參數(shù) m = 2n log q,
',
);
[0017] 步驟(I. 2)、使用基于格的陷門生成算法TrapGen(q, η),生成一個隨機(jī)均勾的 ηXm維矩陣為e ,以及 <(為)的基2^,滿足I攻I卜O(^nlogq)
[0018] 步驟(1. 3)、選取2個隨機(jī)均勻矩陣A14C1, A2,C2 eZ:',以及2n-l個隨機(jī)均勻矩 P
,隨機(jī)均勻選擇一個η維向量:?二Z;;;
[0019] 步驟(1.4)、令U表示被添加到累積器中的所有元素的索引構(gòu)成的集合, 但是不必要包含在當(dāng)前的累積器中,令C/ = 0,設(shè)置累積器初始狀態(tài)Zcc0=O,狀 態(tài)=8? ={U,,·",式},撤銷列表RL初始設(shè)置為空,輸出公共參數(shù)和主密鑰:PP = (A〇, A1, A2, C1, C2, B1, - , Bn, u), MK = ?
[0020] 步驟2具體按照以下步驟實施:
[0021] 步驟(2. 1)、輸入公共參數(shù)PP,主密鑰MK,身份id,狀態(tài)STu,令V表示當(dāng)前累積器 中所有元素的索引構(gòu)成的集合,因此,給定i = Φ (id) e [η];
[0022] 步驟(2· 2)、首先計算矩陣
[0023]
?這里記號I I表示級聯(lián)運算;
[0024] 步驟(2. 3)、抽樣向量& €八^ )gZ二同時滿足分布^\>^〇,使用私鑰& 過程如下·
[0025]
[0026] 證據(jù) W 二 A,;
[0027] 步驟(2. 4)、更新累積器和狀態(tài)如下:
[0028] Accv u ⑴=Acc V+Bi
[0029] STuuili= {U U UhB1,…,BJ
[0030] 步驟(2. 5)、抽樣% e Z2ffi,滿足 ^ 其中 H是滿秩差分映射,令Fld: = (A。! IAfHacOC1), Fld · eld= 11在爲(wèi)上,eld是均勻分布在 上,這里記號I I表示級聯(lián)運算;
[0031] 步驟(2· 6)、輸出私鑰SK,
[0032] 定義集合Vw表示當(dāng)證據(jù)W1被創(chuàng)建,包含在累積器中的元素,因此,V W對于每個用戶 是固定的,并且它是U的子集,密鑰權(quán)威把私鑰SKld和集合V ¥給用戶。
[0033] 步驟3具體按照以下步驟實施:
[0034] 步驟(3.1)、從集合V中刪除和上一個時間段t'相關(guān)的Γ = Φα');
[0035] 步驟(3. 2)、從集合V中刪除所有在RL中對應(yīng)于時間段C的j = Φ (id);
[0036] 步驟(3. 3)、更新累積器,即對于更新后的集合V
[0037] 步驟4具體按照以下步驟實施:
[0038] 步驟(4. 1)、用戶對以下4點進(jìn)行檢測:
[0039] (a)、i = Φ (id),1 = Φ (t) e V,
[0040] (b)
[0041] (c)、計算 Fe, = [A0 ||A2 + C2 - (AccK - B;)] e K2w,檢測是否 1?,二 Omodf,即 w, G Aj (Ffi;);
[0042] (d)、驗證%是否滿足
[0043] 步驟(4. 2)、如果上述的4個驗證其中一個失敗,解密密鑰生成輸出終止,否則,解 密密鑰用最新的累積器來替換當(dāng)前的累積器,然后更新證據(jù)并且計算最新解密密鑰如下:
[0044] 如果 i e V,并且 F uFlt, c [/,計算:
[0045]
,否則終 止,設(shè)置解密密鑰DKld, t= (e ld,W1')。
[0046] 步驟5具體按照以下步驟實施:
[0047] 步驟(5. 1)、給定消息M,包含當(dāng)前時間的最新累積器Accv;
[0048] 步驟(5. 2)、4
[0049] . .. ,,這里記號I I表示級聯(lián)運算;
[0050] 步驟(5. 3)、隨機(jī)均勻選擇《,隨機(jī)均勻選擇mXm維矩陣 ......'q 戽二《一 = 1:,2s選擇噪音向量1幺2<,和712〉并且設(shè)置巧^]?心已·;
[0051] 步驟(5. 4)、令
輸出密
[0052] 步驟6具體按照以下步驟實施:
[0053] 步驟(6. 1)、輸入公共參數(shù)PP,解密密鑰DKldit和密文CT ld,t= (c。,C1, C2);
[0054] 步驟(6· 2)、計算Wtc0 :;
[0055] 步驟(6. 3)、比較w和
,則輸出1,否則,輸出〇。
[0056] 步驟7具體為:
[0057] 如果i = Φ (id) e STu,則添加(id, t)到撤銷列表RL。
[0058] 本發(fā)明的有益效果是,格上基于累積器的可撤銷的基于身份的加密方法,基于格 可以抵抗量子攻擊,并且具有較高的計算效率,選擇身份安全,并且本發(fā)明的更新密鑰的大 小是常數(shù),本發(fā)明添加了用戶身份撤銷機(jī)制,可以有效地實現(xiàn)用戶的身份管理,來保證整個 加密系統(tǒng)的安全性。
【具體實施方式】
[0059] 下面結(jié)合【具體實施方式】對本發(fā)明進(jìn)行詳細(xì)說明。
[0060] 本發(fā)明格上基于累積器的可撤銷的基于身份的加密方法,具體按照以下步驟實 施:
[0061] 步驟1、系統(tǒng)建立:
[0062] 具體按照以下步驟實施:
[0063] 步驟(1.1)、輸入安全參數(shù)λ,以及用戶的最大個數(shù)和時間周期個數(shù)之和 Ν,令用戶身份潘=丨4,…這里&={0,1,一^ 時間段定義φ為一對一的映射?: φ (id)= d,Φ ⑴=1,d,I e {1,…,N},設(shè)置參數(shù) m = 2n log q,
*
[0064] 步驟(L 2)、使用基于格的陷門生成算法TrapGen (q, η),生成一個隨機(jī)均勾的 nXm維矩陣為eZf%以及AfU))的基,滿1
[0065] 步驟(1. 3)、選取2個隨機(jī)均勻矩陣A1X15A25C2 €%"',以及2n-l個隨機(jī)均勻矩 P
' 隨機(jī)均勾選擇一個η維向量《 eZ:;
[0066] 步驟(1.4)、令U表示被添加到累積器中的所有元素的索引構(gòu)成的集合, 但是不必要包含在當(dāng)前的累積器中,令(/ = 0,設(shè)置累積器初始狀態(tài)= 狀 態(tài)SL =丨U,…,,撤銷列表RL初始設(shè)置為空,輸出公共參數(shù)和主密鑰:PP = (A。,A1, A2, C1, C2, B1,…,Bn,u),眶:又先;
[0067] 步驟2、私鑰生成:
[0068] 具體按照以下步驟實施:
[0069] 步驟(2. 1)、