Page 439 - 《软件学报》2026年第3期
P. 439
1402 软件学报 2026 年第 37 卷第 3 期
MPK 发送给
系统建立阶段: 模拟器 B 执行 Setup(·) 算法得到系统主公钥 MPK 和系统主私钥 MSK, 将主公钥
A 1 .
敌手
询问阶段 1: 模拟器 B 构造一个初始为空的询问列表 , 一个空字典 D 及一个计数器 j = 0. 敌手 A 1 进行下列
T
自适应查询, 该过程可以重复多项式次.
Y
∗
属性密钥查询: 敌手 A 1 向模拟器 B 提交自己的标识号 Aid 和一个属性集合 , 其中 Y , Y . 当 Y 在询问列表
T 中时, 将组合 ( j,Aid,Y,UK Y ,TK Y ) 返回给敌手 A 1 . 否则, 模拟器 B 执行 KeyGen(·) 算法, 生成相应的属性密钥 UK Y
( j,Aid,Y,UK Y ,TK Y ) 添加到询问列表 , 计数器
T
和解密私钥 TK Y , 将属性密钥 UK Y 发送给敌手 A 1 . 并将组合
j = j+1.
i
腐败私钥查询: 敌手 A 1 对询问列表 T 中的第 项查询解密私钥, 模拟器 B 将组合 (i,Aid,Y,UK Y ,TK Y ) 返回给
i
敌手 A 1 , 更新字典 D = D∪Y . 若询问列表 T 中第 项不存在则算法终止.
∗ TK Y ∗ , 并
挑战阶段: 模拟器 B 对挑战属性集合 Y 运行 KeyGen(·) 算法, 生成相应的属性密钥 UK Y ∗ 和解密私钥
将属性密钥 UK Y ∗ 发送给敌手 A 1 .
询问阶段 2: 与询问阶段 1 相同, 但不允许对属性集合 Y 进行重复询问.
′ ′
输出阶段: 敌手 A 1 输出与属性密钥 UK Y ∗ 相关的解密私钥 TK ∗ , 若 TK ∗ = TK Y ∗, 则敌手 A 1 赢得游戏.
Y
Y
定义 1. 对于任意概率多项式时间内的敌手 A 1 , 若 A 1 输出正确解密私钥的概率是可忽略的, 则称该方案具有
解密私钥不可计算性.
(2) 中间密文不可区分性
通过模拟器 B 和敌手 A 2 之间的安全游戏描述中间密文在选择明文攻击下具有不可区分性.
∗ B.
初始化阶段: 敌手 A 2 定义一个挑战访问策略 Λ 发送给模拟器
系统建立阶段: 模拟器 B 执行 Setup(·) 算法得到系统主公钥 MPK 和系统主私钥 MSK, 将系统主公钥 MPK 发
送给敌手 A 2 .
询问阶段 1: 敌手 A 2 进行下列自适应查询, 该过程可以重复多项式次.
Y
∗
属性密钥查询: 敌手 A 2 向模拟器 B 提交自己的标识号 Aid 和一个属性集合 , 其中 Y ⊭ Λ . 当 Y 在询问列表
T 时, 将组合 ( j,Aid,Y,UK Y ,TK Y ) 返回给敌手 A 2 . 否则, 模拟器 B 执行 KeyGen(·) 算法, 生成相应的属性密钥 UK Y
和解密私钥 TK Y , 并将属性密钥 UK Y 发送给敌手 A 2 .
∗ UK Y . 模拟
中间密文查询: 敌手 A 2 向模拟器 B 提交一个明文 m、访问策略 Λ , Λ 和一个满足 Λ 的属性密钥
δ δ 执行外包解密
器 B 根据访问策略 Λ 对明文 m 执行 Encrypt(·) 得到密文 CT , 而后使用属性密钥 UK Y 对密文 CT
m m
Decrypt 1 (·) 得到中间密文 CT m . 最后将中间密文 CT m 发送给敌手 A 1 .
∗
∗
∗ Y ⊨ Λ . 模拟
挑战阶段: 敌手 A 2 将两个相同长度的明文消息 m 0 , m 1 和一个属性集合 Y 提交给模拟器 B, 其中
∗ Λ 执行
∗
器 B 对属性集合 Y 生成相应的属性密钥 UK Y ∗ , 而后随机选取一个明文消息 m ς , ς ∈ {0,1} 用挑战访问策略
δ CT mς . 最后, 模拟
加密算法 Encrypt(·) 得到密文 CT , 接着使用属性密钥 UK Y ∗ 执行 Decrypt 1 (·) 得到挑战中间密文
mς
器 B 将挑战中间密文 CT mς 发送给敌手 A 2 .
询问阶段 2: 与询问阶段 1 相同, 但不允许对属性集合 Y 和明文 m 进行重复询问.
ς
′
′
′
猜测阶段: 敌手 A 2 输出对 ς 的猜测结果 . 若 ς = ς, 则敌手 A 2 以 Adv A 2 = |Pr[ς = ς]−1/2| = ε 的优势赢得该
游戏.
定义 2. 对于任意概率多项式时间敌手 A 2 , 若 A 2 赢得游戏优势的概率是可忽略的, 则称方案在选择明文攻击
下具有中间密文不可区分安全性.
(3) 更新令牌的不可伪造性
初始化阶段: 模拟器 B 执行 Setup(·) 算法得到系统主公钥 MPK 和系统主私钥 MSK, 将系统主公钥 MPK 发送
给敌手 A 3 .
哈希询问阶段: 敌手 A 3 在该阶段最多进行 qH 次询问, 模拟器 B 随机选择 k ∈ {1,2,...,qH} 作为对敌手 A 3 伪
造更新令牌的猜测值. 构造一个初始为空的询问列表 Q list 存放敌手 A 3 的询问实例及结果. 若 i , k 则计算 H m i 回复

