安全KNN

文章目录

  • 构造安全KNN加密函数的要求——非距离可恢复
  • 一个简单的KNN构造
  • 能抵抗选择密文攻击的KNN构造
    • Random Asymmetric Splitting
    • 将d维向量扩展为d'维

构造安全KNN加密函数的要求——非距离可恢复

安全KNN_第1张图片
满足以下条件,就不是距离可恢复加密了,便可以用于构造安全KNN
安全KNN_第2张图片
上面的定义就要求,E(q)!=E(p),即使q==p

最简单的构造是这样的:
p和q的标量积可以表示为pTIq=(pTM)(M-1q),那么我们让p’=ET(p,K)=MTp,同时q’=EQ(q,K)=M-1q

那么满足要求(i)p’Tq’=pTMM-1q = pTq
同时满足要求(ii)p1’Tp2’=p1TMMTp2 != pTq

一个简单的KNN构造

安全KNN_第3张图片
比较方法:
安全KNN_第4张图片
这两个(d+1)维点的标量积可以表示为
在这里插入图片描述在这里插入图片描述
但是这种方案不能对抗选择密文攻击
证明如下:
安全KNN_第5张图片

能抵抗选择密文攻击的KNN构造

Random Asymmetric Splitting

将查询向量q或者数据点p一分为二,假如
安全KNN_第6张图片

将d维向量扩展为d’维

将d维向量扩展为d’维,(d

你可能感兴趣的:(安全,安全,SSE)