Page 343 - 《软件学报》2021年第6期
P. 343

冯能先  等:基于理性信任模型的理性委托计算协议                                                         1917



                                                   TTP



                                                        P
                                             P            C
                                           C
                                             任务  ,函数    , )  约定时间
                                                D
                                                   F
                                                    (i
                                                     ( )
                                                  com ,F D
                                   委托方P                         计算方C
                                            若  接受结果,发送 WD   ( )
                                                        ( ) re f+
                                              P
                                                       1

                                   Fig.3    Rational delegation computing protocol
                                           图 3   理性委托计算协议
         3.1   预处理阶段
             首先,委托方 P 通过可信第三方 TTP 发布计算任务 D 和计算函数 F(⋅)以及相应的报酬 W(D),并等待 t″时间.
         在时间 t″内,希望取得此次计算任务的服务器 S i (i=1,2,…,n)向 TTP 进行响应.在时间 t″后,TTP 将已响应的服务
         器信息记录列表发送给委托方 P,委托方 P 根据已响应的服务器的信任值选择计算方 C.
                                                                                          −1
             然后,根据改进的 NTRU 公钥密码体制,委托方 P 与计算方 C 选取公私钥对(pk,sk),公钥 pk=δ= pgf 、私钥
         sk=h∈L h ,用于协议中对计算任务的加密(如图 4 所示).

                        1.  KeyGen(N,p,q,L h ,L g ,L φ )→(pk,sk).该过程为预处理阶段,算法由委托方执行以下步骤:

                           Step 1:委托方 P 通过 TTP 发布计算任务,并选择计算方 C;

                          Step  2:委托方 P 与计算方 C 选取密钥对(pk,sk).
                                   Fig.4    Formalization of the preprocessing stage
                                           图 4   预处理阶段形式化
         3.2   委托计算阶段

             委托方 P 将计算任务 D 和计算函数 F(⋅)通过改进的 NTRU 公钥加密体制加密后发送给计算方 C,计算方 C
         接收到计算任务 D 和计算函数 F(⋅)后,在 t 2 时间内利用自己的计算资源进行计算获得计算结果 F(D),并采用
                                                                                  ()
         Pedersen 承诺方案对计算结果 F(D)进行承诺.计算方选择随机数 r∈Z q ,计算承诺值 com =                g FD  g 1 r  modq ,然后将
         计算结果 F(D)和承诺值 com 发送给委托方 P(如图 5 所示).

                          2.  DelC(D,F)→(F(D)).该过程为委托计算阶段,由以下 3 个步骤组成:

                             Step  1:Enc(pk,D,F)→(c(D),c(F)).加密算法由委托方 P 执行,输入公钥 pk、
                                 计算任务 D 和函数 F,输出 D     和 F 对应的密文 c(D)和 c(F);
                             Step 2:Compute(D,F,M)→(F(D)).算法由计算方执行,计算方输入 D 和 F

                                 以及自己的计算资源 M 进行计算,得到计算结果 F(D).

                             Step 3:Commit(r,F(D))→(com).输入随机数 r 和函数值 F(D),输出承诺值 com.
                                 Fig.5    Formalization of delegating computing stage
                                          图 5   委托计算阶段形式化
         3.3   验证和支付阶段

             当委托方 P 在正常时间段接收到计算方 C 发送的计算结果和承诺时,委托方 P 在 t 时间内完成验证和支付.
                         ()
                                                    ()
         若承诺值 com 与 g   FD  g 1 r  modq 相等,输出 1,即 com =  g FD  g 1 r  modq ,则委托方 P 接受该计算结果,并将相应的酬金
                                                                         ()
                                           ()
         和奖励支付给计算方 C;若承诺值 com 与 g          FD  g 1 r  modq 不相等,输出 0,即 com ≠  g FD  g 1 r  modq ,则委托方 P 拒绝接
   338   339   340   341   342   343   344   345   346   347   348