Page 288 - 《软件学报》2021年第11期
P. 288
3614 Journal of Software 软件学报 Vol.32, No.11, November 2021
t i j t i j n
()ξ ∏ = ∑ s ∏ ξ = ∑ G a + 1,0 a 2,0 + ... a+ n ,0 ∑ = a ξ ,0 = . s
j
ξ 1 i = 1 i ≤≤ t i j ξ − ξ 1 i = 1 i ≤ j≤ t i j ξ − ξ = 1
j ξ ≠ , j I j ξ ∈ ≠ , j I
∈
进而得到:
⎛ ⎞
t i t i j ⎜ t i j ⎟
γ w δ = ξξ + ∑ u = id ∑ s h 1 id + u = id ⎜∏ s ξ ∏ h + 1 id u = ⎟∑ id sh + 1 id u id . □
ξ
ξ 1 i = ξ 1 i = 1 i ≤≤ t i j ξ ⎜ ξ 1 i = − 1 i ≤ j≤ t i j ξ − ⎟
j
j ξ ≠ , j I ⎝ j ξ ∈ ≠ , j I ⎠
∈
定理 2. 检验密文接收用户 ID J (1≤≤ ) ρ 身份合法的公式VP t′ J ′ − J A = s d′ J (P h + pub 1 s U s ) 成立.
i
R i R i R i R i
证明:V P t′ J ′ − J A = s d γ ′ J s P α s J ′ + − J A = s d γ ′ J s P t′ + J A − s t′ J A = s d γ ′ J s P = d′ J (P h + pub 1 s U s ). □
t P t′
R i R i R i R i R i R i R i R i R i R i
s
i
定理 3. 密文接收用户 ID J (1≤ ≤ ) ρ 解密消息后,检验消息完整性公式η′ J P = A h 1 J R i + U + s P h 成立.
1
pub
s
R i R i
证明:η J P γ′ s P α = + ID h 1 J R i P = sPh + 1 s u P + s A h 1 J R i = P h + pub 1 s U + s A h 1 J R i . □
s
s
R i S
定理 4. 执行 KGC 密钥更新操作之后,系统主密钥并没有改变.
n
证明:执行密钥更新操作之前 s = ∑ g i (0), 当 KS i 执行密钥更新操作后,设定 f ′ i ()x = g i ()x + f i (),x 系统主密钥
i= 1
n n n
为 s′ f ′ = i (0) = ∑ ( (0)g i + ∑ f i (0)) = g i (0) = ∑ , s 故更新 KGC 密钥信息后,系统主密钥并没有改变. □
i= 1 i= 1 i= 1
5 安全性分析
5.1 机密性
1
定理 5. 本方案具有攻击方式为 1 的选择密文攻击下的保密性.即在随机预言机模型下,敌手 以不可忽
І
1
略的优势ε赢得定义 1 中的游戏.如果在游戏中,敌手 最多进行ς次签密查询和ξ次私钥生成查询,则挑战者ℑ能
І
ξ ⎛ ε ⎞
c ()k > 1−
以不可忽略的优势 Adv ⎜ k ⎟ 解决 CDH 问题(其中,e 为自然对数的底数).
⎝ 2 ⎠ 1)
1 e(ς +
证明:令算法Γ的输入为 CDH 问题的挑战实例〈G,aG,bG〉,其中, ,ab∈ Z ,而且其值未知,算法Γ的目的就是
*
p
1
计算出 abG 的数值.算法Γ以敌手 为子程序来求解上述问题,并充当定义 1 中的挑战者ℑ .首先,挑战者ℑ 执行
І
ρ
Setup 步骤,令 P pub =aG,进而得到公共参数 Params = { , , , ,G p q P P pub ,H H H F index , ,||}⊕ ,该主密钥信息不被敌手
,
,
,
3
1
2
1
1
获知,然后将 Params 发送至敌手 .挑战者ℑ 维护列表 L 1 ,L 2 ,L 3 ,L sk ,L pk ,用于记录相关的询问结果.其中,L 1 跟
І
І
踪预言机 H 1 ,L 2 用于跟踪预言机 H 2 ,L 3 用于跟踪预言机 H 3 ,L sk 用于跟踪私钥生成询问结果,L pk 用于跟踪公钥生
成询问结果.上述列表初始化为空.
• 询问阶段
1
H 2 询问:挑战者ℑ 收到敌手 关于 H 2 (ID i ,ID j ,c j ,A i (X i ))的询问信息时,若存在 ID ID〈 , , , (c A X ),h′〉∈ L ,则
І i j j i i 2 2
返回 h 2 给敌手 ;否则,挑战者ℑ 选取满足 ID ID〈 , , , (c A X ),h′〉∉ L 的随机数 h 2 作为询问结果返回给敌手 ,
1
1
І i j j i i 2 2 І
并添加 ID ID〈 i , j , , (c A X i ),h′〉 2 到 L 2 中.
j
i
〈
H 3 询问:挑战者ℑ 收到敌手 关于 H 3 (ID i ,X i )的询问信息时,若存在 ID X h′〉∈ L ,则返回相应的 h′ 给敌
1
,
,
i
3
3
І
i
3
手 ;否则,ℑ 选取满足条件 ID X h′〉 〈 i , i , 3 ∉ L 的随机数 h′ ,并添加 ID X h′〉 到 L 3 中.
〈
1
,
,
i
3
3
i
3
І
1
公钥生成询问:挑战者ℑ 收到敌手 询问用户 ID i 对应的公钥信息时,ℑ 会查询列表 L pk :如果列表 L pk 存在
І
1
〈
元素 ID i ,U′ i ,ν 〉 i ,其中,ν i ∈{0,1},则返回公钥信息 U′ 给敌手 ;否则,ℑ 随机选择ν i ∈{0,1},且设定 Pr[c i =1]=δ,其
І
i
1
中, δ = ,然后,ℑ 根据ν i 的数值执行如下判断.
ς + 1