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 拒绝接