Page 434 - 《软件学报》2026年第3期
P. 434
张明川 等: 支持索引动态更新的高效可搜索属性加密方案 1397
(2) 离散对数问题 (DLP)
∗ a
令 G, G T 为满足双线性映射 e : G×G = G T 的乘法循环群, 生成元 g ∈ G, 阶为素数 p. 选取 a∈ R Z , 将 T = (g,g )
p
a ε 是可忽略的, 则称
B
发送给敌手 B, 若对于任意概率多项式时间敌手 , 通过 g 计算得到 a 的概率 DLP 是困难的.
(3) 计算型 Diffie-Hellman 假设 (CDH)
∗ a b
令 G, G T 为满足双线性映射 e : G×G = G T 的乘法循环群, 生成元 g ∈ G, 阶为素数 p. 选取 a, b∈ R Z , 将 T = (g,g ,g )
p
a b a·b ε 是可以忽略的, 则称 CDH
发送给敌手 B, 若对于任意概率多项式时间敌手 B, 通过 T = (g,g ,g ) 得到 g 的概率
假设是困难的.
2.3 BLS 短签名
选择素数阶为 p 的乘法循环群 G, G T , 生成元 g ∈ G , 双线性映射 e : G×G = G T , 抗碰撞的哈希函数 H : {0,
1} → G , BLS 短签名方案包含以下 3 个步骤.
∗
∗ κ
(1) 密钥生成: 签名者选取随机数 κ∈ R Z 作为私钥, 计算得 g 作为公钥.
p
∗ κ
(2) 签名算法: 对要签名的消息 m ∈ {0,1} 进行映射 H m = H(m) → G, 输出消息 m 的签名 H .
m
κ
κ
(3) 签名验证: 若 e(g,H ) = e(g ,H m ) 成立, 则签名验证成功, 否则验证失败.
m
2.4 策略复用及判定
策略复用是指预处理和保存常用的访问策略, 在后续加密时直接调用这些计算结果, 以降低加密开销. 当某个
访问策略需要在后续多个数据的加密过程中需要重复使用时, 考虑将该访问策略生成一个复用策略, 在后续数据
的加密过程中对其进行复用以减少重复计算, 从而提高密文的生成效率.
(1) 转换访问策略
若存在一个访问策略 Λ = (a 1 ∨(a 2 ∧(a 3 ∨a 4 ∨(a 5 ∧a 6 ∧a 7 ))))∨(b 1 ∧b 2 )∨(c 1 ∧c 2 ∧c 3 ), 其中 a 1 ,a 2 ,...,c 3 为数据
Λ 对应的常规访问控制树如图 1 的左半部分所示.
所有者设定的不同类别的属性, 访问策略
1/3
1/2 1 1 1/3
a 1 1 b 1 b 2 c 1 c 2 c 3 伪属性 1 1
a 2 1/3
b 1 b 2 c 1 c 2 c 3
a 3 1 a 4
a 5 a 6 a 7
图 1 转换访问策略
假定数据所有者需要重复使用虚线框内的策略加密不同的数据, 可以将这部分策略设为复用策略 Λ sub =
(a 1 ∨(a 2 ∧(a 3 ∨a 4 ∨(a 5 ∧a 6 ∧a 7 )))), 并将其对应的子树视为一个叶子节点, 随机选取一个伪属性对其进行替换. 如
图 1 右半部分所示.
(2) 对真子句构造布隆过滤器
① 对复用策略进行析取运算得到 4 个真子句:
Λ sub1 = (a 5 ∧a 6 ∧a 7 )∧a 2 , Λ sub2 = a 3 ∧a 2 , Λ sub3 = a 4 ∧a 2 , Λ sub4 = a 1 .
,
,
将真子句的属性集合分别记为: C 1 = {a 5 ,a 6 ,a 7 ,a 2 } C 2 = {a 3 ,a 2 } C 3 = {a 4 ,a 2 } C 4 = {a 1 }.
,

