Page 308 - 《软件学报》2021年第11期
P. 308

3634                               Journal of Software  软件学报 Vol.32, No.11, November 2021

                    (i)   S 2 首先任意选择有理数向量 X ′ =      ( ,...,x′  1  x′  n ) ,并随机选择有理数 a′ 和有理数向量 X ′  i  (x′ =  1 i  ,..., x′  in )
                                                                               i
                                                                                        +
                         (i∈[1,t]={1,…,t},2≤t≤n+1),使得 (F XY =  ′ , )  F ( , ),X Y X ′  a X ′ =  1  1 ′  +  ... a X ′ +  t  ′  t  且 a′ +  ... a′ ≠  t  0 .
                                                                                    1
                    (ii)  S 2 计算:
                                               z′  11  k X Y⋅  1  1 ′ =  1  r 1 ,...,z′ +  1t  k X Y⋅  1  t ′ =  1  +  1 , r
                                              z′  21  k X Y ⋅  2  1 ′ =  2  r 2 ,...,z′ +  2t  k X Y ⋅  2  ′ =  t  2  +  2 , r
                 以及
                                                        ( s az′ +
                                                    z′ =  ′′  ... az ′ ′  ),
                                                               +
                                                     1    1 11   t  1t
                                                    z′ =  2  ′′ 1 21  ... a z ′ ′ 2t ),
                                                               +
                                                        ( s a z′ +
                                                                  t
                            1
                 其中, s′ =       .
                        a′  ... a′ +  +
                         1     t
                    (iii)  S 2 计算:
                                                       (z′ −  ) r  (z′ −  r  )
                                                  z′ =  b  1  1  +  b  2  2  .
                                                      1        2
                                                         k 1      k 2
                    在协议执行中,
                                            view π ( , )XY =  ( ,(Y X 1 ,..., X t  ),( , ), ( , )),z z 2  F XY
                                               2
                                                                  1
                 而 S 2 在模拟过程中产生的信息序列为
                                          SY   2 ( , ))X Y  = ( ,(Y X ′ 1 ,..., X ′  t ),( , ), (z z′  1 ′  2  F X ′  , )).Y
                                            ( , f
                                           2
                                                                c   c              c              c
                    首先,由于 a i (i∈[1,t])为 Alice 任意选取的随机数,因此 a′≡   a i ,s′≡ ,故有 (X ′  1 ,..., X ′  t  ) (X≡  1 ,..., X t ), ( , ) ( , )z z′  1 ′  2  ≡  z z .
                                                                     s
                                                                                                      2
                                                                                                    1
                                                               i
                 又因为 F(X′,Y)=F(X,Y),因此,
                                                             c
                                            { ( ,SY f 2 ( , ))}X Y  , i x y i Q∈  ≡ {view π ( , )}X Y  , i x y i Q∈  .    □
                                              2
                                                                  2
                    注解 1.  设定 t=n+1,如果在协议 1 中 Alice 取 s=1,即 a 1 +…+a t =1,这时,协议输出结果为 F(X,Y)=X⋅Y,协议 1
                 成为一个点积协议.此时,Bob 收到 Alice 发送的数据 z 1 ,z 2 中不再包含未知数 s,Bob 最多可得到两个关系式:
                                                 z −  r 1  =  X Y ⋅  =  x y +  ... x y  ,
                                                 1
                                                                   +
                                                  k 1     1  1 11    n  1n
                                                z −  r
                                                 2  2  =  X Y⋅  =  x y +  ... x y+  ,
                                                 k        2  1 21    n  2n
                                                  2
                 且方程组(1)与 a 1 +…+a t =1 联立仍无法得到关于向量 X 的任何信息,所以 Alice 向量 X 仍是安全的.在此过程
                 中,Alice 收到 Bob 发送的数据(z 11 ,…,z 1t )和(z 21 ,…,z 2t )没有发生改变,因此向量 Y 的安全性没有受到影响.
                    注解 2.  由于利用向量分解的思想,协议 1 中参与方的向量至少需分解为两个随机向量,由此知:对于维数
                 n≥3 的向量点积问题,可直接利用本文协议 1 进行解决.对于维数 n=2 的向量点积问题,用本文协议 1,Bob 仍仅
                 得到关于 Alice 向量 X 的一个线性关系式;Alice 根据(z 11 ,z 12 )(或(z 21 ,z 22 ))无法消去随机数 k 1 ,r 1 (或 k 2 ,r 2 ),所以 Alice
                 得不到向量 Y 1 ,Y 2 的任何信息,即得不到向量 Y 的任何信息.因此,本文协议 1 适用于 n≥2 的向量点积问题.
                    如果参与计算的向量维数较小且限制各分量仅能取值 0 或 1 时,本文协议 1 不能安全的解决向量点积问题.
                 例如,当 n=3 且 x i ,y i ∈{0,1},i=1,2,3 时,向量 X=(x 1 ,x 2 ,x 3 )的可能取值仅有 8 种情形.Bob 得到的公式(3)中含有 3 个
                 未知数 x 1 ,x 2 ,x 3 ,通过直接代入 0 和 1 进行测试,可知(x 1 ,x 2 ,x 3 )的有些取值满足公式(3),有些不满足,因此就泄露了
                 向量 X 的部分信息.文献[27]基于可逆矩阵设计的共享点积协议也存在类似的安全性问题,当向量维数 n 较小且
                 限制各分量取值为整数时,任一方参与者可通过其获得的 n/2 个等式推导获取对方足够多的私有信息.文献[29]
                 设计的偶数维共享向量点积协议也存在安全性问题,参与者分别泄露其私密向量相邻分量之间的关系式 x 2k−1 +
                 x 2k 和 y 2k−1 +y 2k 的值.文献[28,30−34]中设计的共享点积协议,当向量维数较小且各分量限制取值为 0 或 1 时,每个
                 参与者都可在一定程度上推导获取对方向量的某些信息,只是信息泄露的程度有所不同.针对这种向量维数较
                 小且各分量限制取值为 0 或 1 的情形,可以利用公钥加密方案进行解决,且计算效率较高.因此,本文协议 1 适用
                 于向量维数 n≥2 且向量的分量取值无限制范围的情形.
   303   304   305   306   307   308   309   310   311   312   313