輸入公共參數(shù)PP,主密鑰MK,身份id,狀態(tài)STu,令V表示當(dāng)前累積器 中所有元素的索引構(gòu)成的集合,因此Fei/,給定i = Φ (id) e [η];
[0070] 步驟(2· 2)、首先計算矩陣
.,Ι?1
[0071] ___,這里記號11表示級聯(lián)運算;
[0072] 步驟(2.3)、抽樣向量A, ,同時滿足分布義》.0,使用私鑰TAfl
[0074] 證據(jù)"'?.:[0075] 步驟(2. 4)、更新累積器和狀態(tài)如下:[0076] Accv u "} = Acc V+Bi[0077] STuuill=IUUUhB1^sBJ[0078] 步驟(2· 5)、抽樣% e !2w,滿J
,其中 過程如夂-
[0073] H是滿秩差分映射,令Fld: = (AQ| IAjHacOC1), Fld · eld= u在A上,eid是均勻分布在 上,這里記號I I表示級聯(lián)運算;
[0079] 步驟(2. 6)、輸出私鑰 SK^=W, w;) e Z2m xZ2m,
[0080] 定義集合Vw表示當(dāng)證據(jù)W1被創(chuàng)建,包含在累積器中的元素,因此,V W對于每個用戶 是固定的,并且它是U的子集,密鑰權(quán)威把私鑰SKld和集合V ¥給用戶;
[0081] 步驟3、更新密鑰生成:
[0082] 具體按照以下步驟實施:
[0083] 步驟(3.1)、從集合V中刪除和上一個時間段t'相關(guān)的Γ = Φα');
[0084] 步驟(3. 2)、從集合V中刪除所有在RL中對應(yīng)于時間段C的j = Φ (id);
[0085] 步驟(3. 3)、更新累積器,即對于更新后的集合V,
[0086] 步驟4、解密密鑰生成:
[0087] 具體按照以下步驟實施:
[0088] 步驟(4. 1)、用戶對以下4點進(jìn)行檢測:
[0089] (a)、i = Φ (id),1 = Φ (t) e V,
[0090] (b) . (| , " .
[0091] (c)、計算
,檢測是召
,即 w, GAi(F5i);
[0092] (d)、最終驗證%是否檢測
[0093] 步驟(4. 2)、如果上述的4個驗證其中一個失敗,解密密鑰生成輸出終止,否則,解 密密鑰用最新的累積器來替換當(dāng)前的累積器,然后更新證據(jù)并且計算最新解密密鑰如下:
[0094] 如果i e V,并且計算:
[0095]
,否則終 止,設(shè)置解密密鑰DKld, t= (e ld,W1');
[0096] 步驟5、加密:
[0097] 具體按照以下步驟實施:
[0098] 步驟(5. 1)、給定消息M,包含當(dāng)前時間的最新累積器Accv;
[0099] 步驟(5. 2)、《
[0100]
這里記號11表示級聯(lián)運算
[0101] 步驟(5. 3)、隨機均勾選擇:,隨機均勾選擇mXm維矩陣 R二丨-丨丨丨'W = U,選擇噪音向量和,^2:[,:并且設(shè)置40琛#5;
[0102] 步驟(5. 4)、令,
輸出密 t 一 …-
, …
[0103] 步驟6、解密:
[0104] 具體按照以下步驟實施:
[0105] 步驟(6. 1)、輸入公共參數(shù)PP,解密密鑰DKl4t和密文CT ld,t= (c。,Cl,C2);
[0106] 步驟(6. 2)、計算 ;
[0107] 步驟(6· 3)、比較w 3
,則輸出1,否則,輸出〇 ;
[0108] 步驟7、撤銷:
[0109] 具體為:
[0110] 如果i = Φ (id) e STu,則添加(id, t)到撤銷列表RL。
[0111] 下面對本發(fā)明格上基于累積器的可撤銷的基于身份的加密方法的安全性進(jìn)行分 析:
[0112] (1)、正確性證明:
[0113] 本發(fā)明的正確性推導(dǎo)過程如下:
[0114]
[0115] 定理:上述正確性證明中的誤差項
妁界限為
[0116] 證明:為 了證明誤差項的界限,令 eid= (e i(U I eid,2),wj = (Wi,/,Wii2')其 中,ew> wu,wu e K,由左抽樣算法得到:||ei(/1 < σ·ν^",由尚斯抽樣算法得到:
[0117]
[0118]
[0119] 利用引理1,引理1描述如下:
[0120] 引理1 :令e是ζ,》中的向量,V二ψ=,則|eTv|的值為[0,q_l]中的整數(shù),并且以不 可忽略的概率滿足
[0121]
[0122] 誤差項被界定為
[0123]
[0125] 為了保證方案的正確性,通過設(shè)置參數(shù)q,n,m,σ,α,確保誤差項是小于q/5,方 案中的參數(shù)估計過程如下:
[0126] (a)誤差項小于q/5,也就是ij
[0127] (b)陷門生成算法需滿足m>2n log q,
[0128] (c)對于左抽樣算法和高斯抽樣算法,σ要保證是足夠大的,即
[0129] (d)根據(jù)學(xué)者Regev的約減過程,參數(shù)需滿足。
[0130] 為了滿足上述的要求,設(shè)置參數(shù)如下:
[0131] (a)m = 2n log q,
[0132]
[0133]
[0134] (d)模數(shù)q是一個素數(shù)并且滿足
[0135]
[0136] (2)、安全性證明:
[0137] 定理:如果存在一個概率多項式時間算法A在IND-sID-CPA下以優(yōu)勢ε >〇攻破 RIBE方案,則存在概率多項式時間算法B以ε的優(yōu)勢判定(Zii, ^fj-LWE問題。
[0138] 證明:如果敵手A以不可忽略的優(yōu)勢攻破方案,則挑戰(zhàn)者B可以借助敵手A來判 定(2一,LWE問題。證明過程是在一系列游戲之間進(jìn)行的,第一個游戲和安全模型 中的IND-sID-CPA游戲相同,在最后一個游戲中,敵手的優(yōu)勢A是0,只要證明一個概率多 項式時間敵手A是不能區(qū)分任意兩個游戲的,即證明了敵手以可忽略的優(yōu)勢贏得原始的 IND-sID-CPA 游戲。
[0139] 游戲0 :該游戲的安全模型是選擇明文攻擊及選擇身份攻擊下的不可區(qū)分的安全 模型(IND-sID-CPA)。挑戰(zhàn)者B選擇n+4個隨機矩陣
生成公共參數(shù)pp和主密鑰mk。在挑戰(zhàn)階段,挑戰(zhàn)者生成挑戰(zhàn)密文στ。令< ε卜ur?, 對于i = 1,2,表示創(chuàng)建密文使用的2個短暫的隨機矩陣。
[0140] 游戲1 :在游戲1中,挑戰(zhàn)者改變生成公共參數(shù)矩陣A1, A2的方式,令(id丨〇是 A要挑戰(zhàn)的身份時間對,Φ (icT) = Γ,Φ (〇 = Γ,挑戰(zhàn)者B在建立階段選擇隨機矩陣 = 1.2.,、并且構(gòu)造矩陣A1, A2如下:
[0141]
[0142]
[0143] 游戲中剩余的參數(shù)不變。注意到I /( e !-I Jr'_",i = l,:2是在建立階段提前選擇的, 并且關(guān)于挑戰(zhàn)身份icT和挑戰(zhàn)時間t $的知識是不需要的。
[0144] 引理2 :假設(shè)m>(n+l) log q+w(log n),q是素數(shù)。令是均勾選擇的,令 R是mXm維的矩陣,在{-l,l}mXm mod q上均勾選擇的。接著,對于所有的向量分 布(A,AR,RTw)是統(tǒng)計接近于分布(A,B,RTw)的。
[0145] 通過使用引理2,證明游戲0和游戲1是不可區(qū)分的。觀察在游戲1中,矩 陣又僅被用來構(gòu)造矩陣A1, A2以及構(gòu)造挑戰(zhàn)密文CT中用到的誤差向量 :? (<)T j。通過使用引理3,分布(Ai^AqRAz1)和(A1^C 1',Zl)是統(tǒng)計接近 的,分布(、,',。和^以^^是統(tǒng)計接近的以中以^/是^^上的均勻隨機 矩陣。因此,從敵手的角度來看,矩陣AidIVn是接近于均勻的,并且獨立于ζ,所以上面定義的 A1,八2是接近于均勻的。因此,A u A2在游戲1和游戲2中是不可區(qū)分的。
[0146] 游戲2 :在游戲2中,我們改變改變參數(shù)中u的選擇方式,并且挑戰(zhàn)者生成id = icf,t = C分別對應(yīng)的私鑰和更新密鑰如下:
[0147] 為了約減方便,我們把敵手分為兩種類型:
[0148] 類型1 :敵手選擇詢問挑戰(zhàn)身份icT的私鑰,但是icT在f時刻之前已經(jīng)被撤銷。
[0149] 類型2 :敵手在任意時間都不對挑戰(zhàn)身份icT的私鑰進(jìn)行詢問。
[0150] 如果挑戰(zhàn)者面對的是第一種類型中的敵手,則生成^ - SampkGauss(B. ,〇_,0), 并且令11 -卩;(1.6;(1,接著令叫'<-細(xì)耶域細(xì)188(82?,0,0),.瑪..'^.83丨11丨價〇£11?8(8: 1^,0),其中 1 = Φ (t),i = Φ (id)。因為icT在詢問C更新密鑰之前已經(jīng)撤銷,我們知道,在最新的累 積器中,已沒有icT的記錄。挑戰(zhàn)者用(eld,W1)作為關(guān)于icT的私鑰詢問的回答,用(W 1)作 為關(guān)于挑戰(zhàn)時間C的更新密鑰詢問的回答。
[0151] 如果挑戰(zhàn)者面對的是第二種類型的敵手,則生成W -SampIcGausMB' 5σ,0),其中 1 = Φ (t)。因為icT的私鑰從不被詢問,挑戰(zhàn)者用(W1)作為關(guān)于挑戰(zhàn)時間C的更新密鑰 詢問的回答。
[0152] 由引理1知,上述的Git0WhW1是從..%^上抽樣