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 }.
                                                          ,
   429   430   431   432   433   434   435   436   437   438   439