Page 464 - 《软件学报》2026年第2期
P. 464

毕昌兵 等: 5G  车联网中基于区块链的半分布式消息认证加密方案                                                943



                            发送者               VMC i                区块链                   接收者
                                         各方 VMC 共识协商出
                  系
                  统                      τ, E, p, q, seed 和 H 1 , H 2 , H 3 , h
                  初                      各 VMC 生成自己的公/私钥
                  始                        VMC 1  上传: SP, 部署合约
                  化                                             信誉值更新合约
                                         生成信誉票证集合 CT i
                                  {RID}
                                              获取 Addr
                                          Addr
                             *
                     选择 x ∈ Z q
                     计算 X=xP    {Addr, X}
                                                 *
                  密                       选择 y ∈ Z q  计算 Y=yP
                  钥                       计算 py=y+skH 1  (Addr, X,
                  生                       Y, P Pub )
                  成                       加密得 cpy=py⊕H 3  (yX)
                                         {Y, cpy}
                     解密 py=cpy⊕H 3 (xY)
                     计算 SK=(x, py)       生成初始信誉值 RS
                     计算 PK=(X, Y)        上传: <Addr, PK, RS>
                                           {CT i }
                            *
                     选择 l ∈ Z q , 计算 L=lP
                  加  计算 β=H 2 (X, Y, L, m, t)
                  密  计算 C₁=L⊕CTᵢ, C 2 =m⊕CTᵢ
                  签  计算 σ=l+(x+py)β
                  名            {Addr, C 1 , C 2 , σ, t}
                                                                               检查 t 的有效性
                  解
                                                                               计算 L=CT i ⊕C 1 , m=CT i ⊕C 2
                  密                                                            计算 α=H 1 (Addr, X, Y, P Pub )
                  验                                                            计算 β=H 2 (X, Y, L, m, t)
                  证
                                                                               验证: σP=L+β(X+Y)+αβP Pub
                  信                                                            反馈消息的有用性
                  誉
                  更                       收集反馈数据并上传
                  新                                             信誉值更新合约

                                                      图 2 方案流程图

                                                      表 2 符号定义

                                       符号                                 描述
                                       P Pub-i                      区域   i 中  VMC i  的公钥
                                        sk i                        区域   i 中  VMC i  的私钥
                                                                         k
                                       RID i,k                   区域  i 中第   个车辆的真实身份
                                                                        k
                                       Addr i,k                 区域  i 中第   个车辆的区块链地址
                                   SK i,k = (x i,k , py i,k )      区域  i 中第   个车辆的私钥
                                                                           k
                                     PK i = (X i ,Y i )            区域  i 中第   个车辆的公钥
                                                                           k
                                        m i                               消息
                                        σ i                           对消息  m i  的签名
                                                                         信誉票证
                                        CT i
                                                                             k
                                       RS i,k                      区域  i 中车辆   的信誉值
                                                                          时间戳
                                        t i

                    2)   VMC i  为   RID i,k  分配区块链地址  Addr i,k , 允许其作为轻节点加入区块链.
                    3)   V i,k  选择随机数   x i,k ∈ Z  作为秘密值, 计算   X i,k = x i,k P, 并发送   X i,k  和   Addr i,k  给本地  VMC i .
                                       ∗
                                       q
   459   460   461   462   463   464   465   466   467   468   469