Page 346 - 《软件学报》2026年第4期
P. 346

苏航 等: 高效的区块链中可监管身份隐私保护方案                                                        1787


                    设  ElGamal 加密算法中使用的解密方公私钥对为             (pk a , sk a ), 加密的公钥明文为  pk r , 加密时使用的随机数为
                                     (               )
                                                    r e
                                           r e
                                                                                                 r t
                 r e , 加密得到的密文为   C = C 1 = g ,C 2 = pk r pk ; 一次性地址生成算法中生成的一次性地址为         P = pk r g , 生成一
                                                    a
                                     r t .
                 次性地址使用的随机数为
                    交易接收者身份一致性证明协议基于              Sigma 协议给出, 描述如下.
                    1) 共同输入
                    协议双方共有消息包括公开参数            pp, 解密方公钥   pk a , 交易接收者一次性地址    P 和交易接收者身份监管密文         C.
                    2) 证明者证据
                    证明者拥有     r t , r e .
                    3) 协议
                                               *         s e    s t  s e
                    a) P (证明者): 选取随机数    s t , s e ∈ Z , 计算  Q 1 = g , Q 2 = g pk , 将  Q 1 , Q 2  发送给验证者.
                                                                   a
                                               q
                                            *
                    b) V (验证者): 选取随机数    c ∈ Z , 将  c 发送给证明者.
                                            q
                    c) P (证明者): 计算  w t = s t −cr t , w e = s e +cr e .
                                     ′  w e  c  ′  w e  w t  c  c  ′    Q = Q 2 , 则交易接收者身份一致性证明验
                                                                         ′
                    d) V (验证者): 计算   Q = g /C , Q = pk g P /C , 若  Q = Q 1  并且   2
                                     1
                                            1
                                                          2
                                               2
                                                               1
                                                   a
                 证通过, 否则验证不通过.
                    (2) 非交互交易接收者身份一致性证明描述
                    基于交互式交易接收者身份一致性证明和               Fait-Shamir 转换方法, 非交互交易接收者身份一致性证明描述如下.
                    1) 身份一致性证明生成算法        ZK.ProofGen
                                                                              P, 交易接收者身份监管密文  , 生
                                                                                                    C
                    输入公开参数      pp, 公钥   pk a , 交易接收者公钥   pk r , 交易接收者一次性地址
                 成一次性地址使用的随机数          r t , 加密时使用的随机数  , 其中    pp 为  ElGamal 加密方案和一次性地址方案中的所有
                                                          r e
                 公开参数.
                                    *
                    选取随机数     s t , s e ∈ Z .
                                    q
                                    s t
                                       s e
                             s e
                    计算  Q 1 = g , Q 2 = g pk , h = H (g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q 2 ), w t = s t −hr t , w e = s e +hr e .
                                       a
                    输出身份一致性证明        π = (w t ,w e ,h).
                    2) 身份一致性证明验证算法        ZK.ProofVerif
                                                                                             C
                    输入公开参数      pp, 交易监管者公钥     pk a , 交易接收者一次性地址     P, 交易接收者身份监管密文  , 交易接收者
                 身份一致性证明      π.
                                                           (
                                                                                 )
                                      h
                                                  h
                                                    h
                                                                                ′
                                         ′
                                             w e
                               ′
                                                       ′
                                                                             ′
                                  w e
                                               w t
                    验证方计算     Q = g /C , Q = pk g P /C , h = H g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q ∥ Q .
                               1      1  2   a      2                        1  2
                          ′
                    若  h = h , 则交易接收者身份一致性证明验证通过, 否则验证不通过.
                    (3) 非交互交易接收者身份一致性证明分析
                    定理  1. 在随机预言机模型下, 非交互交易接收者身份一致性证明是零知识证明协议.
                    定理的证明由下述       3  个引理给出, 3  个引理分别表明该协议具备          (1) 完备性; (2) 可靠性; (3) 零知识性.
                    引理  1. 非交互交易接收者身份一致性证明具备完备性.
                    证明: 对于拥有证据      w = (r t ,r e ) ∈ R(x) 并且如实执行协议的诚实证明者, 其给出的证明验证过程如下:

                               
                                         h
                                Q = g /C = g s e +hr e /g r e h  s e
                                  ′
                                     w e
                                 1      1         = g = Q 1
                               
                               
                               
                                 ′   w e  w t  h  h  s e +hr e  s t −hr t  r t h  r e h  s t  s e
                                Q = pk g P /C = pk a  g  (pk r g ) /(pk r pk ) = g pk = Q 2  .
                                                                            a
                                  2
                                             2
                                      a
                                                                    a
                               
                               
                                    (                     )
                               
                                                           ′
                                                       ′
                                 ′
                                 h = H g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q ∥ Q = H (g ∥ pk a ∥ C 1 ∥ C 2 ∥ P ∥ Q 1 ∥ Q 2 ) = h
                                                       1   2
                    综上, 非交互交易接收者身份一致性证明满足完备性要求. 证毕.
                    引理  2. 交易接收者身份一致性证明协议满足可靠性.
                             ∀x = (pk a ,P,C) < L, 可归纳为以下两种情况.
                    证明: 对于
                    1) 交易发送者产生                         pk  不是监管者的公钥.
                                                         ′
                                              C  时使用的
                                   ElGamal 密文
                                                         a
                    在此种情况下,     pk a , pk , C 1 = g , C 2 = pk r pk . 验证方验证时计算:
                                      ′
                                                       ′r e
                                             r e

                                      a                a
   341   342   343   344   345   346   347   348   349   350   351