Page 245 - 《软件学报》2021年第12期
P. 245

周搏洋  等:全委托的公共可验证的外包数据库方案                                                         3909


                                 n
             ②  计算结果 y =    ()x = F  ∑ c x i ;
                                   i
                                i= 0
                                  n  i               n
             ③  计算相关的证据 π = ∏      W i x  ,其中,W =  i  U n i −  γ  ⋅  U n+  j c  1 j i −∏  +  ;
                              y
                                 i= 0              j=  0, j i ≠
             ④  将结果 y 和证据π y 发回给授权的用户.
             6)  验证算法.
             该算法用于对云服务器返回的查询结果进行验证.算法的主要步骤如下.
             ①  授权用户收到结果 y 和证据π y 后,首先将VK DB 分解为{σ DB ,{U j } j∈[2n+2]\{n+1} ,RK pp ,PRF(α,0)};
             ②  计算 ∏  n  U  x i  ;
                      i= 0  ni −
             ③  验证以下等式是否成立:
                                  ( e σ  , ∏ n  U  x i  ) =  e ( ,g π  ) (e PRF⋅  ( ,0),Uα  )  y⋅RK − pp 1  (3)
                                    DB  i= 0  ni −  y            n
             若成立,则接受并输出 1;否则,拒绝并输出 0.
             注:本方案亦可直接用于外包多项式的可验证计算,此时,多项式的更新效率为常量级.假设F为 n 阶的原外
         包多项式,F′为系数更新后的外包多项式, σ 对应上文中的σ DB , VK 对应上文中的VK DB 表示外包多项式的验
                                            F                 F
         证密钥,upd 为更新信息.具体更新算法为
                                       Update (VK RK pp , ′ →F  )  (upd ,VK F  ′ ).
                                                ,
                                               F
             该算法在保证多项式的阶不变的情况下,可高效地对多项式的任意系数进行更新.算法的主要步骤如下.
             ①  假设更新的系数位置为 i∈{0,…,n},令 upd =      (, , )i c c′ .其中,c i 为系数更改前的值, c′ 为更改后的值;
                                                                               i
                                                     i
                                                       i
             ②  计算σ  F  ′ = σ  F  PRF (, )iα  ( i c′ −  i c  ) / RK pp  ,并将 VK 更新为 VK F  ; ′
                                                F
             ③  外包多项式的用户将 upd 发送给云服务器,并将更新后的验证密钥 VK 重新发送给授权用户,即可实
                                                                         ′
                                                                        F
         现外包多项式的更新.
         3.3   正确性证明
             本节将基于公式(1)~公式(3)的正确性来证明整个方案的正确性.公式(1)、公式(2)可根据文献[31]来证明.
         而对于公式(3),其等式的左边(left-hand side,简称 LHS)有:
                                     ⎛    n   i ⎞  n           n
                                                                          i
                               LHS =  e σ  ⎜  , ∏  U ni −  x  =  ( e σ  ,U ni − ⎟  x i  ) = ∏  ∏  ( e σ  ,U n i−  ) ,
                                                                         x
                                     ⎝  DB  i=  0  ⎠  i=  0  DB  i=  0  DB
                                        ⎛   n    j+ 1  ⎞  x i
                                    i
                                          γ
                                    x
                            ( e σ DB ,U n i −  ) = e g ⋅ ∏  g  j c α  ,U n i −  ⎟  ⎟
                                        ⎜
                                        ⎜
                                        ⎝   j= 0      ⎠
                                       ⎛         ⎛  n     j+ 1  ⎞          ⎞  x i
                                                  =  ⎜  ( eg γ ,U  ) e ⋅  g  j c α ⋅  ,U  ⎟ ∏  ⋅ ⎜  ( e g  i c α ⋅  i+ 1 ,U  )⎟
                                       ⎜     n i −  ⎜        ni −  ⎟     ni −  ⎟
                                       ⎝          j=⎝  0, j i ≠  ⎠         ⎠
                                       ⎛        ⎛    n       j+ 1 ⎞  i+    ⎞  x i
                                                  =  eg  γ  ) e g ∏  U  j c α ⋅  ⋅ ⎟  ( eg  i c α⋅  1 ,U  )⎟
                                               ⋅ ⎜
                                                  ,
                                                ⎜
                                        ( ,U
                                       ⎜    ni −  ⎜      ni −  ⎟        ni −  ⎟
                                       ⎝           j= ⎝  0, j i ≠  ⎠       ⎠
                                       ⎛        ⎛    n   ni −+ 1  j+ 1 ⎞  i+  ni −+ 1 ⎞  x i
                                                  =  eg  γ  ) e g ∏  u α  ⋅  j c α  ⋅  ⎟  ⋅  ( eg  i c α ⋅  1  ,u α  )⎟
                                                  ,
                                        ( ,U
                                               ⋅ ⎜
                                                ⎜
                                       ⎜    ni −  ⎜             ⎟            ⎟
                                       ⎝           j= ⎝  0, j i ≠  ⎠         ⎠
                                       ⎛        ⎛    n    nj i+ 2 ⎞        ⎞  x  i
                                                           +−
                                                  =  eg  γ  ) e g ∏  u  j c α ⋅  ⎟  ⋅  ( eg α  i 1+  ,u α ni −  1 +  ) ⎟  i c  .
                                               ⋅ ⎜
                                                ⎜
                                                  ,
                                        ( ,U
                                       ⎜    ni −  ⎜           ⎟            ⎟
                                       ⎝           j= ⎝  0, j i ≠  ⎠       ⎠
   240   241   242   243   244   245   246   247   248   249   250