Page 448 - 《软件学报》2025年第8期
P. 448

张文琪 等: 鲁棒的前后向隐私联合对称可搜索加密方案                                                      3871


                 出, 并将该信息存储在映射        A  中, 算法  4  对游戏  G 2 进行了详细描述. 在游戏    G 2 中, 该字符串的生成与游戏       G 1 是
                 相同的, 因此, 游戏    G 1 与  G 2 是不可区分的, 从而游戏   G 2 满足下列等式:

                                                   Pr[G 1 = 1]−Pr[G 2 = 1] = 0.
                    游戏  G 3 : 除了使用哈希函数    H 2 , 该游戏与  G 2 没有区别, 推理过程与游戏     G 2 类似. 因此该游戏与     G 2 是不可区
                 分的. 从而该游戏满足下列等式:

                                                   Pr[G 2 = 1]−Pr[G 3 = 1] = 0.
                    游戏  G 4 : 同理, 除了使用哈希函数     H 3 , 该游戏与  G 3 是相同的, 因此该游戏与    G 3 是不可区分的. 从而该游戏满
                 足下列等式:

                                                   Pr[G 3 = 1]−Pr[G 4 = 1] = 0.
                 算法  4. 游戏  G 2 .

                 输入: 密钥  k t , sk, 联合查询  q, 集合  XSet 及其对应的操作  op;
                 输出:  ⊥.
                       ⊥ ⊥)
                 Setup(λ,  ,
                 Client:
                 1. XSet, A, TSet, UpdCnt ← Empty map
                 Update(k t , sk, w, XSet, op, ind; TSet)
                 Client:
                 2. t w  ← Tw[w]
                 3. c i+1  ← C[ind]
                 4. td = H 4 (t w , d)
                 5. A[t w ||c i+1 ] ←{0, 1} s
                 6. (st i , c i ) ← XSet[w]
                 7. IF op = add THEN
                 8.  IF (st i , c i ) = NULL THEN
                          $
                 9.        st 0 ←− {0, 1} λ
                 10.     u ← H 2 (t w ||st 0 )
                 11.     e ← H 3 (t w ||st 0 )  ⊕(c i+1 ||  ⊥)
                 12.  ELSE
                           $
                 13.     st i+1 ←− {0, 1} λ
                 14.    u ← H 2 (t w ||st i+1 )
                 15.    e ← H 3 (t w ||st i+1 ) ⊕(c i+1 ||st i )
                 16.  END IF
                 17.  SEND (u, e, A[t w ||c i+1 ], td) TO Server
                 18. ELSE
                 19.  SEND (A[t w ||c i+1 ], td) TO Server
                 20. END IF
                 Server:
                 21. (BF 1 , BF 2 ) ← Dic[td]
                 22. IF Dic[td] = NULL THEN
                 23.  Initialize two empty bloom filter BF 1  and BF 2  for td
   443   444   445   446   447   448   449   450   451   452   453