论文笔记-secure kNN computation(安全)

支持安全向量内积计算的加密算法

该内容出自于论文
Wai Kit Wong, David Wai-lok Cheung, Ben Kao, and Nikos Mamoulis, “Secure kNN computation on encrypted databases,” 2009 ACM SIGMOD International Conference on Management of data (SIGMOD '09), 2009, pp. 139–152.


提示:读完论文之后做个笔记,如有异议,以原文为准


介绍

一篇论文的开头主要讨论两点内容:第一,这篇论文要解决什么问题;第二、这个问题现有的研究情况如何(指出现有的研究存在怎样怎样的挑战,你的工作就是要解决这些挑战)。本章将截取原文内容来介绍这两点。

问题描述

给定一个包含 n n n d d d维数据的数据库 D B = { p 1 , p 2 , ⋯   , p n } DB=\{p_1,p_2,\cdots,p_n\} DB={ p1,p2,,pn} k k k个最邻近邻居问题(K-nearest neighborhoods Problem,以下简称kNN问题)就是返回 k k k个距离查询点 q q q最近的数据 R = { p 1 , p 2 , ⋯   , p k } R=\{p_1,p_2,\cdots,p_k\} R={ p1,p2,,pk}。解法很简单,首先计算出 q q q与各个点之间的距离 d i = d ( p i , q ) d_i=d(p_i,q) di=d(pi,q),然后将距离升序排序取前 k k k个数据。

示例:以欧几里得距离为例,假设 n = 4 , d = 2 , k = 2 n=4, d=2, k=2 n=4,d=2,k=2,数据库 P = { p 1 = ( 1 , 2 ) , p 2 = ( 3 , 4 ) , p 3 = ( 5 , 6 ) , p 4 = ( 7 , 8 ) } P=\{p_1=(1,2), p_2=(3,4), p_3=(5,6), p_4=(7,8)\} P={ p1=(1,2),p2=(3,4),p3=(5,6),p4=(7,8)},查询点 q = ( 3 , 5 ) q=(3,5) q=(3,5),那么现在就是要从 p 1 , p 2 , p 3 , p 4 p_1,p_2,p_3,p_4 p1,p2,p3,p4中选出2个距离 q q q最近的点,计算过程如下:
d 1 = d ( p 1 , q ) = ( 1 − 3 ) 2 + ( 2 − 5 ) 2 = 3.61 d_1=d(p_1,q)=\sqrt{(1-3)^2+(2-5)^2}=3.61 d1=d(p1,q)=(13)2+(25)2 =3.61
d 2 = d ( p 2 , q ) = ( 3 − 3 ) 2 + ( 4 − 5 ) 2 = 1 d_2=d(p_2,q)=\sqrt{(3-3)^2+(4-5)^2}=1 d2=d(p2,q)=(33)2+(45)2 =1
d 3 = d ( p 3 , q ) = ( 5 − 3 ) 2 + ( 6 − 5 ) 2 = 2.24 d_3=d(p_3,q)=\sqrt{(5-3)^2+(6-5)^2}=2.24 d3=d(p3,q)=(53)2+(65)2 =2.24
d 4 = d ( p 4 , q ) = ( 7 − 3 ) 2 + ( 8 − 5 ) 2 = 5 d_4=d(p_4,q)=\sqrt{(7-3)^2+(8-5)^2}=5 d4=d(p4,q)=(73)2+(85)2 =5
因为 d 2 ≤ d 3 ≤ d 1 ≤ d 4 d_2\leq d_3\leq d_1\leq d_4 d2d3d1d4
所以返回结果为 p 2 , p 3 p_2,p_3 p2,p3

本地kNN问题通过明文计算能很好解决,但随着云存储和云计算的发展,越来越多的企业和机构将本地数据库转移到云服务器上。在隐私保护研究中,云服务器一直是被视为“诚实但好奇”(或者称为半诚实)的实体,云服务器可能会在未经授权的情况下访问并售卖用户数据(现实生活中存在的问题)。为了保护数据安全,一些研究者主张在将数据上传到云服务之前对其进行加密,以密文的形式上传。在这篇文章之前已经有研究者提出了一些加密方案,允许密文之间进行距离计算,这类加密方案被称为DRE(Distance-Recoverable Encryption)

定义1:假设 E E E表示加密函数, K K K表示密钥, E ( p , K ) E(p,K) E(p,K)表示点 p p p的密文格式。如果 E E E属于DRE方案,那么存在一个计算函数 f f f,对于 ∀ p 1 , p 2 ∈ P \forall p_1,p_2\in P p1,p2P,存在 d ( p 1 , p 2 ) = f ( E ( p 1 , K ) , E ( p 2 , K ) ) d(p_1,p_2)=f(E(p_1,K), E(p_2, K)) d(p1,p2)=f(

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值