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

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

                 个线性关系;在协议 2 的后续执行中,又收到 Alice 发送的 w =              s  (u−  | X  | ) .当向量 X≠Y 时,Bob 根据得到的关
                                                                           2
                                                                 s −  2
                 系式 w =  s  (u−  | X  | ) 得不到向量 X 的任何信息(其中,s 是 Alice 的私有数据).因此,在协议 2 中,Alice 向量 X
                                 2
                        s −  2
                 的安全性与协议 1 一致.
                    下面再考虑 Bob 向量的安全性.在调用协议 1 的过程中,Alice 得到 Bob 向量 Y 1 (和 Y 2 )的任意 2 个分量的线
                                                                                     2
                 性关系式,得不到向量 Y 的信息.在协议 2 的后续执行中,Alice又获得 Bob 发送的 u=z−|Y| ,对于 Alice 而言,y 1 ,…,y n
                                        2
                 作为未知数,由关系式 u=z−|Y| 仅能获得关于 Y 的一个二次关系式.
                    根据上面的分析,在协议 2 的执行过程中,Bob 最多能得到 Alice 向量 X 的一个线性关系式,Alice 最多得到
                 关于 Bob 向量 Y 的一个二次关系式.根据有理数的稠密性,即使参与者有无限的计算能力,也无法得到对方的私
                 有向量.协议 2 的安全性与协议 1 类似,安全性很高.
                    关于协议 2 的安全性,仅叙述下面的定理 2.定理 2 的证明类似于定理 1,故从略.
                    定理 2.  向量相等保密判定协议 2 是安全的.

                 4    向量优势保密判定问题

                    向量优势保密判定问题.  假设有两个有理数向量 X=(x 1 ,…,x n )和 Y=(y 1 ,…,y n ),如果对于所有 i∈[1,n],关系
                 x i >y i 成立,则称向量 X 关于 Y 具有向量优势,并记为 X>Y;否则,称向量 X 关于 Y 不具有向量优势.向量 X 和 Y 的
                 优势保密判定问题,即是要保密判定是否有关系 X>Y 成立.
                    基本原理.  我们知道:判断向量 X>Y,即判断 Z=X−Y=(x 1 −y 1 ,…,x n −y n ):=(z 1 ,…,z n )中每个分量均大于 0,那么只
                 需判断向量 Z 中最小分量 min{z 1 ,…,z n }>0 即可.
                    为方便后面的叙述,定义二元谓词如下:
                                                          ⎧ 1,  如果 X >  Y
                                                   PX                .
                                                    (, )Y = ⎨
                                                          ⎩ 0, 否则
                    协议 3.  向量优势保密判定协议.
                    输入:Alice 输入有理数向量 X=(x 1 ,…,x n ),Bob 输入有理数向量 Y=(y 1 ,…,y n ).
                    输出:Alice 和 Bob 输出 P(X,Y).
                    1.   Alice 随机选取有理数向量 R=(r 1 ,…,r n ),r i >0,计算 Z 1 =X+R:=(z 11 ,…,z 1n ).将向量 Z 1 发送给 Bob.
                    2.   Bob 计算 Z 2 =Z 1 −Y:=(z 21 ,…,z 2n ),并随机选取有理数向量 K=(k 1 ,…,k n ),k i >0,计算 Z 3 =(k 1 z 21 ,…,k n z 2n ):=
                        (z 31 ,…,z 3n ).将向量 Z 3 发送给 Alice.
                                     ⎛  z  z ⎞
                    3.   Alice 计算 Z =  4  31  ,...,  3n  ⎟  : (z= ⎜  41 ,...,z 4n ) ,并随机选取有理数 s,计算 Z 5 =Z 4 +sE:=(z 51 ,…,z 5n ).将 Z 5 发送给
                                     ⎝  r 1  r n ⎠
                        Bob.
                    4.   Bob 计算 Z 6 =Z 5 −K:=(z 61 ,…,z 6n ),并选取向量 Z 6 中的最小分量 z min 发送给 Alice.
                    5.   Alice 比较 z min 和 s:当 z min >s 时,输出 P(X,Y)=1;否则,输出 P(X,Y)=0.
                    协议 3 的正确性.  由 Z 1 到 Z 5 的计算过程可知:
                                                      ⎛  kx  y  )   k  (x −  y  )  ⎞
                                                         ( −
                                         Z =  6  (z 61 ,...,z 6n ) =  1  1  1  + ⎜  s ,...,  n  n  n  +  s  ; ⎟
                                                      ⎝   r 1          r n    ⎠
                 进一步,由 z min 的定义可知:
                                                           ( −
                                                          kx   y  )
                                     i
                                               s
                                                                        i
                            z  >  s ⇔ ∀∈ [1, ],n z > ⇔ ∀∈ [1, ],n  i  i  i  >  0 ⇔ ∀∈ [1, ],n x −  y >  0 ⇔  X >  . Y
                                                    i
                                            6i
                            min
                                                             r                 i  i
                                                              i
                 因此,协议 3 是正确的.
                    协议 3 的安全性.  为了分析协议 3 的安全性,需要考察在协议执行过程中每个参与者的私密向量的安全性,
   305   306   307   308   309   310   311   312   313   314   315