引入基于安全两方计算(2PC)的单边近邻检测协议。在后面可以看到,在ABY框架下,该协议不仅适用于单边,也容易结合几何学推广到非对称的多边检测模型
针对 ABY 框架介绍:ABY是针对安全多方计算需求而设计的编程框架,其核心在于将实现安全函数的过程形象地演绎为搭建布尔电路(基于图灵完备),而电路之间传递的单元抽象的定义为 Sharing。该框架实现了三种 Sharing (Arithmetic, Boolean, Yao),分别使用于三种电路(circuit),编程上可以通过选择电路来决策要使用的安全多方计算算法。同时由于不同的算法具有不同的优势,在ABY框架可以通过转换门(convention gate)来实现 Sharing的转变和电路的过渡,我们混合共享的算法的实现也是得益于这一特性。
根据使用算法(电路)上的差异,我们的协议分为两种,(纯)混淆电路(`ABY\_Y^C`)和混合电路(`ABY\_(AY)^C` )。
此协议只使用一种形式的门电路(混淆电路),并在此范围内优化。考虑二维情形(不失一般性),我们计算的平方距离函数为:
`d=x_0^2+x_1^2-2*x_0*x_1+y_0^2+y_1^2-2*y_0*y_1=(x_0-x_1)^2+(y_0-y_1)^2`
然后通过比较门电路计算 的值。(协议中描述的变量在ABY框架下作为 Sharing 的形式在电路中传递,意味着中间变量和计算过程的对参与方是保密的。)
(1)使用距离公式的组合形式(第二种)而不是展开式;
(2)使用条件置换门(CondSwap)替代多路复用门 (MUX);
(3)基于对称性的优化:输入序偶和条件,当条件成立时,交换序偶内的元素顺序并返回。由于条件置换门是双输出的,一次就能筛选出我们想要的最大值和最小值,在该情形下明显更具有专用性。
为了评价协议的效能,我们进行一定的复杂度建模(将基础的 门作为开销单元),总计需要的与门开销为:
`6*l+4*σ^2-σ=61512AND gates=528384 bytes`
混合电路技术实现的要点在于使用ABY框架提供的电路转换,兼顾克服多项短板,从而发挥多种共享算法的各自的优势。上述混淆电路协议在乘法计算上有一定压力,而对于算术共享协议,乘法计算上则要容易很多,下面的算法考虑使用展开式作为距离计算函数,并将其重构为算术共享电路实现。
该协议消耗的门电路为:
`6MUL\_A(σ)+A2Y(σ)+GT(σ)`