CN107885705B - 一种高效可扩展的安全的文档相似性计算方法和装置 - Google Patents

一种高效可扩展的安全的文档相似性计算方法和装置 Download PDF

Info

Publication number
CN107885705B
CN107885705B CN201710930206.8A CN201710930206A CN107885705B CN 107885705 B CN107885705 B CN 107885705B CN 201710930206 A CN201710930206 A CN 201710930206A CN 107885705 B CN107885705 B CN 107885705B
Authority
CN
China
Prior art keywords
party
document
gbf
fingerprint
bit string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710930206.8A
Other languages
English (en)
Other versions
CN107885705A (zh
Inventor
陈小军
于晓杰
时金桥
申立艳
文新
张闯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201710930206.8A priority Critical patent/CN107885705B/zh
Publication of CN107885705A publication Critical patent/CN107885705A/zh
Application granted granted Critical
Publication of CN107885705B publication Critical patent/CN107885705B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种高效可扩展的安全的文档相似性计算方法和装置。该方法使用MinHash文档指纹算法将文档表示成固定数量指纹的指纹集合,既可以较好衡量文档间的相似性,又控制了指纹集合的规模;将多个指纹集合存储到multi‑GBF中,不仅可以确定集合元素是否存在,还可以在查找时返回元素的多个来源ID;不经意多来源混淆布隆过滤器交集计算协议可以高效地在两方之间完成安全的文档相似性计算,又不互相暴露自己的私有数据给对方;采用本发明方法计算文档间的相似性的复杂度与文档集合的大小呈线性关系。

Description

一种高效可扩展的安全的文档相似性计算方法和装置
技术领域
本发明涉及信息处理技术领域,尤其涉及一种高效可扩展的安全的文档相似性计算方法和装置。
背景技术
长时间以来,文档相似性计算都是在假设文档集中于一方或分布于多方,但文档内容相互可见的情况下进行的,但这一假设在敏感文档相似性计算的场景下是不能成立的。
近几年,随着对保护数据安全的关注,已有一些关于安全的文档相似性计算的研究工作。这些工作主要分成两种技术路线,一种是将文档表示成向量的形式,然后借助安全的向量距离计算获得文档间的相似性。例如Murugesan等人(Jiang W,Murugesan M,Clifton C,et al.Similar document detection with limited informationdisclosure[C]//2008IEEE 24th International Conference on DataEngineering.IEEE,2008:735-743.)首次提出的安全的文档相似性计算,将文档表示成词频向量后使用安全的点积计算协议计算文档间的相似性;Buyrukbilen等人(BuyrukbilenS,Bakiras S.Secure similar document detection with simhash[C]//Workshop onSecure Data Management.Springer International Publishing,2013:61-75.)使用SimHash算法将文档表示成值为0和1的比特向量,然后通过安全的异或操作计算文档间的相似性。另一种技术路线将文档表示成指纹集合,然后借助安全的集合相似性计算得到文档间的相似性。例如Jiang等人(Jiang W,Samanthula B K.N-gram based secure similardocument detection[C]//IFIP Annual Conference on Data and ApplicationsSecurity and Privacy.Springer Berlin Heidelberg,2011:239-246.)将文档表示成n-gram集合后使用一种原创的安全Jaccard相似性协议计算文档间的相似性。Blundo等人(Blundo C,De Cristofaro E,Gasti P.EsPRESSo:efficient privacy-preservingevaluation of sample set similarity[M]//Data Privacy Management andAutonomous Spontaneous Security.[S.l.]:Springer,2013:89–103.)同样将文档表示成n-gram集合,但为了提高计算效率,使用MinHash文档指纹算法对n-gram选样后,借助隐私保护的集合交集基数计算(Private Set Intersection Cardinality)得到文档间的相似性。
当前的这些已有的技术大多聚焦在两个文档间的相似性计算,而在真实的应用场景中,两个文档集中的文档进行两两间相似性计算的需求普通存在,例如在两个学术会议间进行文章的一稿多投检测,两方均拥有一个文档集合需要进行相似性计算。直接应用当前这些技术,来获得包含r个文档的文档集间每对文档的相似性,大多需要进行r×r次文档间的计算,即呈现关于r的平方时间复杂度。
发明内容
本发明旨在提供一种高效可扩展的安全的文档相似性计算方法和装置,可以高效地在两方之间(例如服务端和客户端)进行文档集间的相似性计算而又不互相暴露自己的私有数据给对方,并且计算的复杂度与文档集合的大小呈线性关系。
本发明使用MinHash文档指纹算法提取文档的指纹集合,然后改进Dong等人(DongC,Chen L,Wen Z.When private set intersection meets big data:an efficient andscalable protocol[C]//Proceedings of the 2013 ACM SIGSAC conference onComputer&communications security.ACM,2013:789-800.)的工作,提出一种新的安全的交集计算协议——不经意多来源混淆布隆过滤器交集(Obvious Multi-Garbled BloomFilter Intersection)计算协议,进行安全的文档相似性计算。
不经意多来源混淆布隆过滤器交集计算协议基于一种新的数据结构——多来源混淆布隆过滤器(Multi-Garbled Bloom Filter,简称multi-GBF),该数据结构是布隆过滤器(Bloom Filter)的一个变种,既可以像Bloom Filter一样确定集合元素是否存在,还可以在查找时返回元素的多个来源ID。multi-GBF的组成部分和Bloom Filter类似,主要包括一个长度为m的存储空间和k个哈希函数,不同的是Bloom Filter的每个存储单元为一个比特位,而multi-GBF的存储单元为一个λ比特长的比特位串,请参考图1,该比特位串包含三部分:λ1比特长的元素标识(element),λ2比特长的来源ID标识(sid)和λ3比特长的next标识(next),且k和λ1是协议的安全参数。
请参考图2,添加元素构建multi-GBF时,若添加一个元素x1,先用k个哈希函数将元素x1映射到k个哈希位置,再用元素x1、当前来源ID
Figure GDA0002541873960000021
和一个next标识连接成一个λ比特长的比特位串
Figure GDA0002541873960000022
Figure GDA0002541873960000023
用基于异或的秘密共享分割成k份(如图中
Figure GDA0002541873960000024
该图中k=3)存储到上述k个哈希位置上。如果元素x1只有一个来源ID,则
Figure GDA0002541873960000025
中next位置填充null(null为一个规定的标志串,如可用λ个0表示);如果元素x1还有其他来源ID(如
Figure GDA0002541873960000026
),则
Figure GDA0002541873960000027
中next位置指向的是一个不会和所有元素的哈希位置冲突的空位,然后使用元素x1、新的来源ID
Figure GDA0002541873960000028
以及新的next标识构造一个新的λ比特长的比特位串
Figure GDA0002541873960000029
再用加密的哈希函数hkey(如SHA1等)求取
Figure GDA00025418739600000210
的哈希值作为密钥,对
Figure GDA00025418739600000211
进行异或加密后得到加密的比特串
Figure GDA00025418739600000212
存储到next位置(将这些next位置存储的比特位串称做next比特位串)。如果还有下一个来源时,继续重复这个过程。类似地,添加元素x2时,用x2、来源ID
Figure GDA0002541873960000031
和next标识构造比特串
Figure GDA0002541873960000032
然后将该比特串的k个秘密共享值存储到x2的k个哈希位置上;其中因为x2的一个哈希位置(下标为7的位置)已经被x1占据,所以
Figure GDA0002541873960000033
会继续复用这个位置上的值
Figure GDA0002541873960000034
作为它的一个秘密共享值,而只需要自己再生成两个秘密共享值
Figure GDA0002541873960000035
图2中0、1、2…11表示multi-GBF下标的i,其中i的范围为0到m-1。
查询过程类似,用相同的k个哈希函数将待查询元素y映射到k个哈希位置,收集这些哈希位置上的比特位串进行异或解密得到结果位串Y,若Y的前λ1比特和y相同,则认为y存在,收集当前来源ID信息,并根据next获取下一个哈希位置的比特位串。使用加密的哈希函数hkey作用到Y上得到哈希串Ykey,该Ykey作为密钥与next所在位置的比特位串异或解密,即得到新的结果位串Y’,若Y’的前λ1比特和y相同,则继续收集当前来源ID信息;当next为null时,查找结束。
基于multi-GBF并借助不经意传输协议OT(即不经意多来源混淆布隆过滤器交集计算协议),就可以进行隐私保护的交集计算,完成两方间的安全的文档相似性计算。请参考图3,本发明提供的一种高效可扩展的安全的文档相似性计算方法,其步骤包括:
1)服务端使用MinHash文档指纹算法求取文档集中所有文档的指纹集合并构建一个倒排索引S(下面用S指代服务端文档集),并根据S生成一个multi-GBF,记做multi-GBFS;客户端同样使用MinHash文档指纹算法求取文档集中所有文档的指纹集合后构建正排索引C(下面用C指代客户端文档集),并根据C生成一个Bloom filter,记做BFC。反之,服务端也可构建一个正排索引,而客户端构建一个倒排索引。
2)双方运行不经意传输协议,客户端为接收端,并使用BFC作为选择向量,向服务端发起请求,请求进行通信;服务端为发送端,接受客户端的请求并发送m对λ比特长的比特位串
Figure GDA0002541873960000036
其中
Figure GDA0002541873960000037
等于multi-GBFS[i],
Figure GDA0002541873960000038
等于multi-GBFr[i],若multi-GBFS[i]是next比特位串,则multi-GBFr[i]和multi-GBFS[i]的内容相同,否则multi-GBFr[i]是一个随机串。
3)根据不经意传输协议的特性,若BFC[i]等于0,则客户端接收到
Figure GDA0002541873960000039
若BFC[i]等于1,则客户端接收到
Figure GDA00025418739600000310
最终客户端将接收到的比特位串组合成一个C和S交集的multi-GBF,记做
Figure GDA00025418739600000311
4)对客户端文档集C中的第a个文档Ca,客户端在
Figure GDA00025418739600000312
中检索Ca的每一个指纹元素,最终获得多个交集
Figure GDA00025418739600000313
其中b是Ca的指纹元素在服务端的来源ID。根据交集即可求得客户端的文档Ca和服务端的文档Sb之间的相似度为
Figure GDA00025418739600000315
其中
Figure GDA00025418739600000316
为集合
Figure GDA00025418739600000317
中元素的数量,Sb为服务端文档集S的第b个文档,t为每个文档提取的MinHash指纹数量。
本发明还提供一种用于高效可扩展的安全的文档相似性计算的接收端装置,其包括:
Bloom filter构建模块,用于根据MinHash文档指纹算法将第一方文档集C中所有文档表示成固定数量指纹的指纹集合,并根据第一方文档集C构建一Bloom filter,记做BFC
请求模块,用于将BFC作为不经意传输协议的选择向量,并向第二方发送连接请求;
接收模块,用于接收第二方发送的m对λ比特长的比特位串;并通过不经意传输协议,根据选择向量BFC当前位i的取值是0还是1,选择接收第二方发送的m对λ比特长的比特位串中multi-GBFr或multi-GBFs的第i个比特串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure GDA0002541873960000041
所述multi-GBFS是指第二方根据第二方文档集S构建的multi-GBF,所述multi-GBFr是随机串;
相似度计算模块,用于在
Figure GDA0002541873960000042
中查询文档Ca的每一个指纹元素,得到若干个交集
Figure GDA0002541873960000043
其中Ca为第一方文档集C的第a个文档,
Figure GDA0002541873960000044
的下标b是Ca的指纹元素在第二方的来源ID;并根据上述交集
Figure GDA0002541873960000045
得到第一方的第a个文档Ca和第二方的文档Sb之间的相似度为
Figure GDA0002541873960000046
其中,
Figure GDA0002541873960000047
为集合
Figure GDA0002541873960000048
中元素的数量,Sb为第二方文档集S的第b个文档,t为每个文档提取的MinHash指纹数量。
本发明还提供一种用于高效可扩展的安全的文档相似性计算的发送端装置,其包括:
multi-GBF构建模块,用于根据MinHash文档指纹算法将第二方文档集S中所有文档表示成固定数量指纹的指纹集合,并根据第二方文档集S构建multi-GBF,记做multi-GBFS
接收请求模块,用于接收第一方发送的连接请求;
发送模块,用于向第一方发送m对λ比特长的比特位串,以便第一方通过不经意传输协议,根据选择向量BFC当前位i的取值是0还是1,选择接收m对λ比特长的比特位串中multi-GBFr或multi-GBFs的第i个比特串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure GDA0002541873960000049
进而便于第一方利用
Figure GDA00025418739600000410
计算第一方的文档和第二方的文档之间的相似度;所述BFC是第一方根据第一方文档集C构建的Bloom filter,所述multi-GBFS是指第二方根据第二方文档集S构建的multi-GBF,所述multi-GBFr是随机串。
本发明还提供一种高效可扩展的安全的文档相似性计算系统,其包括上面所述的接收端装置和发送端装置。
本发明基于MinHash文档指纹算法和不经意多来源混淆布隆过滤器交集计算协议,提供了一种高效可扩展的安全的文档相似性计算方法,其优点体现在:
1)使用MinHash文档指纹算法将文档表示成固定数量指纹的指纹集合,既可以较好衡量文档间的相似性,又控制了指纹集合的规模。
2)将多个指纹集合存储到multi-GBF中,不仅可以确定集合元素是否存在,还可以在查找时返回元素的多个来源ID。
3)不经意多来源混淆布隆过滤器交集计算协议可以高效地在两方之间完成安全的文档相似性计算,又不互相暴露自己的私有数据给对方。
4)采用本发明方法计算文档间的相似性的复杂度与文档集合的大小呈线性关系。
附图说明
图1为本发明multi-GBF的比特位串结构示意图。
图2为本发明构建multi-GBF的示意图。
图3为本发明一种高效可扩展的安全的文档相似性计算方法流程图。
图4为1×r的文档相似性计算的时间消耗对比图。
图5为r×r的文档相似性计算的时间消耗对比图。
图6为r×5000的文档相似性计算的时间消耗对比图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
以两方Alice和Bob间进行安全的文档相似性计算为例,两方均从维基百科语料库中随机选取r个文档进行如下操作:
1)使用MinHash文档指纹算法生成指纹集合。
每个文档首先生成其50-grams集合,然后使用100个哈希函数最终选出100个指纹作为文档的指纹集合。
2)Alice将自己所有文档的指纹集合构建正排索引A(下面用A指代Alice文档集),Bob将自己所有文档的指纹集合构建倒排索引B(下面用B指代Bob文档集)。
3)设置协议的安全参数k为80,即Bloom Filter和multi-GBF中的哈希函数数量k均为80个,并且multi-GBF的比特位串中λ1取值为80比特,λ2取值为16比特,λ3取值为32比特。Bloom Filter和multi-GBF的长度m根据文档集生成的所有指纹数量d按照最优参数公式m=k×d×log2e进行取值(e为自然底数)。根据以上设置,Alice使用A构建BloomFilter,记做BFA;Bob使用B构建multi-GBF,记做multi-GBFB
4)选用Y.Ishai等人提出的半诚实模型下的不经意传输扩展协议以及Naor-Pinkas不经意传输协议进行不经意传输,Alice以构造的BFA作为选择向量,Bob以m对λ比特长的比特位串
Figure GDA0002541873960000051
作为输入,其中
Figure GDA0002541873960000052
等于multi-GBFB[i],
Figure GDA0002541873960000053
等于multi-GBFr[i];若multi-GBFB[i]是next比特位串,则multi-GBFr[i]和multi-GBFS[i]的内容相同,否则multi-GBFr[i]被赋值为一个随机串。最终Alice接收到一个关于A和B交集的multi-GBF,记做
Figure GDA0002541873960000061
5)Alice使用A中的文档的指纹查询
Figure GDA0002541873960000062
就可以求出自己每个文档Aa与每个Bob文档Bb的交集
Figure GDA0002541873960000063
最后求得Alice的文档Aa和Bob的文档Bb之间的相似度为
Figure GDA0002541873960000064
其中Aa为Alice文档集A的第a个文档;Bb为Bob文档集B的第b个文档。
所有的程序均用C++实现,运行在环境为CentOS7.2的操作系统、2.60GHz的IntelXeon CPU、64GB内存的计算机上,网络环境为LAN。分别取不同的r后,得到最终的时间消耗如表1所示。
表1:不同的r的时间消耗
r取值 时间消耗(秒) r取值 时间消耗(秒)
10 0.53 60 2.55
20 0.88 70 2.73
30 1.29 80 3.31
40 1.75 90 3.92
50 2.11 100 4.04
由表1可知,随着文档集中文档数量的增加,时间消耗越来越大,但增长趋势与文档数量仅呈线性关系。
为评估本发明提出的安全的文档相似性计算方法,将本发明方法(记做multi-GBF)与Buyrukbilen等人提出的SimHash方法(记做SimHash)、Blundo等人提出的EsPRESSo方法(记做EsPRESSo)、Dong等人提出的garbled Bloom Filter方法(记做GBF)进行实验对比。
请参考图4,该图表示一方的1个文档与另一方的r个文档进行安全的文档相似性计算的时间消耗,从该图可以看出,四种方法的时间消耗均与r呈线性关系,其时间消耗从小到大的顺序为:SimHash<EsPRESSo<multi-GBF<GBF。
请参考图5,该图表示四种方法应用到两个规模都是r的文档集间进行安全的文档相似性计算时的时间消耗,可以明显看出,此时GBF方法和在图4中效果最好的SimHash方法,它们的时间消耗均与r呈现出平方关系;而EsPRESSo和multi-GBF两种方法,时间消耗依旧与r呈线性关系,并且multi-GBF要优于EsPRESSo。
请参考图6,该图表示EsPRESSo方法和multi-GBF方法进一步详细的对比,在该图中扩大了其中一方文档集的规模,一方的r个文档与另一方固定的5000个文档进行安全的文档相似性计算,从图6中可知,当r的取值较小时,EsPRESSo的表现要优于multi-GBF;但随着r增大,multi-GBF的时间消耗的增长要比EsPRESSo更加缓慢,最终优于EsPRESSo。
根据以上实验结果,可以得到结论:本发明提出的方法在文档集间进行安全的文档相似性计算要比已有的方法更加高效。
本发明的另一实施例,提供一种用于高效可扩展的安全的文档相似性计算的接收端装置,其包括:
Bloom filter构建模块,用于根据MinHash文档指纹算法将第一方文档集C中所有文档表示成固定数量指纹的指纹集合,并根据第一方文档集C构建一Bloom filter,记做BFC
请求模块,用于将BFC作为不经意传输协议的选择向量,并向第二方发送连接请求;
接收模块,用于接收第二方发送的m对λ比特长的比特位串;并通过不经意传输协议,根据选择向量BFC当前位i的取值是0还是1,选择接收第二方发送的m对λ比特长的比特位串中multi-GBFr或multi-GBFs的第i个比特串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure GDA0002541873960000071
所述multi-GBFS是指第二方根据第二方文档集S构建的multi-GBF,所述multi-GBFr是随机串;
相似度计算模块,用于在
Figure GDA0002541873960000072
中查询文档Ca的每一个指纹元素,得到若干个交集
Figure GDA0002541873960000073
其中Ca为第一方文档集C的第a个文档,
Figure GDA0002541873960000074
的下标b是Ca的指纹元素在第二方的来源ID;并根据上述交集
Figure GDA0002541873960000075
得到第一方的第a个文档Ca和第二方的文档Sb之间的相似度为
Figure GDA0002541873960000076
其中,
Figure GDA0002541873960000077
为集合
Figure GDA0002541873960000078
中元素的数量,Sb为第二方文档集S的第b个文档,t为每个文档提取的MinHash指纹数量。
本发明的另一实施例,提供一种用于高效可扩展的安全的文档相似性计算的发送端装置,其包括:
multi-GBF构建模块,用于根据MinHash文档指纹算法将第二方文档集S中所有文档表示成固定数量指纹的指纹集合,并根据第二方文档集S构建multi-GBF,记做multi-GBFS
接收请求模块,用于接收第一方发送的连接请求;
发送模块,用于向第一方发送m对λ比特长的比特位串,以便第一方通过不经意传输协议,根据选择向量BFC当前位i的取值是0还是1,选择接收m对λ比特长的比特位串中multi-GBFr或multi-GBFs的第i个比特串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure GDA0002541873960000079
进而便于第一方利用
Figure GDA00025418739600000710
计算第一方的文档和第二方的文档之间的相似度;所述BFC是第一方根据第一方文档集C构建的Bloom filter,所述multi-GBFS是指第二方根据第二方文档集S构建的multi-GBF,所述multi-GBFr是随机串。
本发明的另一实施例,提供一种高效可扩展的安全的文档相似性计算系统,其包括上面所述的接收端装置和发送端装置。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (9)

1.一种高效可扩展的安全的文档相似性计算方法,其步骤包括:
第一方根据MinHash文档指纹算法将第一方文档集C中所有文档表示成固定数量指纹的指纹集合,并根据第一方文档集C构建一Bloom filter,即布隆过滤器,记做BFC;第一方文档集C的存储结构为正排索引;
第一方将BFC作为不经意传输协议的选择向量,并向第二方发送连接请求;其中所述第二方亦根据MinHash文档指纹算法将第二方文档集S中所有文档表示成固定数量指纹的指纹集合;第二方文档集S的存储结构为倒排索引,根据倒排索引生成一个multi-GBF,即多来源混淆布隆过滤器,记做multi-GBFS
第一方接收第二方发送的m对λ比特长的比特位串,通过不经意传输协议,第一方根据选择向量BFC当前位i的取值是0还是1,选择接收m对λ比特长的比特位串中multi-GBFr或multi-GBFS的第i个比特位串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure FDA0002620942990000011
所述multi-GBFr是随机串;
第一方在
Figure FDA0002620942990000012
中查询文档Ca的每一个指纹元素,得到若干个交集
Figure FDA0002620942990000013
其中Ca为第一方文档集C的第a个文档,
Figure FDA0002620942990000014
的下标b是Ca的指纹元素在第二方的来源ID;
根据上述交集
Figure FDA0002620942990000015
得到第一方的第a个文档Ca和第二方的文档Sb之间的相似度为
Figure FDA0002620942990000016
其中,
Figure FDA0002620942990000017
为集合
Figure FDA0002620942990000018
中元素的数量,Sb为第二方文档集S的第b个文档,t为每个文档提取的MinHash指纹数量。
2.如权利要求1所述的方法,其特征在于,在不经意传输过程中,第二方发送的m对λ比特长的比特位串的形式为
Figure FDA0002620942990000019
Figure FDA00026209429900000110
等于multi-GBFS[i],
Figure FDA00026209429900000111
等于multi-GBFr[i];其中所述multi-GBFS[i]中的i为multi-GBFS的第i个比特位,所述multi-GBFr[i]中的i为multi-GBFr的第i个比特位,且0≤i≤m-1。
3.如权利要求2所述的方法,其特征在于,当不经意传输协议的选择向量BFC[i]等于0时,第一方接收
Figure FDA00026209429900000112
当不经意传输协议的选择向量BFC[i]等于1时,第一方接收
Figure FDA00026209429900000113
其中BFC[i]中的i为BFC的第i个比特位,且0≤i≤m-1。
4.如权利要求2所述的方法,其特征在于,所述multi-GBF包含一个长度为m的存储空间和k个哈希函数,且multi-GBF的存储单元存储一个λ比特长的比特位串;所述λ比特长的比特位串包括λ1比特长的元素标识、λ2比特长的来源ID标识和λ3比特长的next标识;当multi-GBFS[i]是next比特位串时,multi-GBFr[i]和multi-GBFS[i]的内容相同;所述next比特位串是指next位置存储的比特位串。
5.如权利要求4所述的方法,其特征在于,构建multi-GBF的过程包括以下步骤:
1)根据k个哈希函数将待添加指纹元素x1映射到k个哈希位置;
2)将待添加指纹元素x1、待添加指纹元素x1的当前来源ID和一next标识组成一λ比特长的比特位串
Figure FDA0002620942990000021
基于异或的秘密共享将
Figure FDA0002620942990000022
分割成k份,并存储到上述k个哈希位置上;
3)若待添加指纹元素x1只有一个来源ID,则
Figure FDA0002620942990000023
中next位置填充null;
4)若待添加指纹元素x1至少有两个来源ID,则
Figure FDA0002620942990000024
中next位置指向一个不与所有指纹元素的哈希位置冲突的空位,并将待添加指纹元素x1、待添加指纹元素x1的一新的来源ID以及新的next标识构造一新的λ比特长的比特位串
Figure FDA0002620942990000025
5)根据加密的哈希函数hkey求取
Figure FDA0002620942990000026
的哈希值,将该哈希值作为密钥对
Figure FDA0002620942990000027
进行异或加密,并将加密后的
Figure FDA0002620942990000028
存储到next位置。
6.如权利要求5所述的方法,其特征在于,在
Figure FDA0002620942990000029
中查询待查询指纹元素y的步骤包括:
1)根据k个哈希函数将待查询指纹元素y映射到k个哈希位置;
2)将上述k个哈希位置上的比特位串进行异或解密,得到结果位串Y;
3)若Y的前λ1比特和待查询指纹元素y相同,则待查询指纹元素y在
Figure FDA00026209429900000210
中存在,收集待查询指纹元素y的当前来源ID,并根据next获取下一个哈希位置的比特位串;
4)将加密的哈希函数hkey作用到Y上得到哈希串Ykey,并将该Ykey作为密钥与next所在位置的比特位串异或解密,得到新的结果位串Y’;
5)若Y’的前λ1比特和待查询指纹元素y相同,则继续收集待查询指纹元素y的当前来源ID;当next为null时,查询结束。
7.一种用于高效可扩展的安全的文档相似性计算的接收端装置,其特征在于,包括:
Bloom filter构建模块,用于根据MinHash文档指纹算法将第一方文档集C中所有文档表示成固定数量指纹的指纹集合,并根据第一方文档集C构建一Bloom filter,即布隆过滤器,记做BFC;第一方文档集C的存储结构为正排索引;
请求模块,用于将BFC作为不经意传输协议的选择向量,并向第二方发送连接请求;
接收模块,用于接收第二方发送的m对λ比特长的比特位串;并通过不经意传输协议,根据选择向量BFC当前位i的取值是0还是1,选择接收第二方发送的m对λ比特长的比特位串中multi-GBFr或multi-GBFs的第i个比特位串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure FDA00026209429900000211
所述multi-GBFr是随机串;第二方文档集S的存储结构为倒排索引,根据倒排索引生成一个multi-GBF,即多来源混淆布隆过滤器,记做multi-GBFS
相似度计算模块,用于在
Figure FDA0002620942990000031
中查询文档Ca的每一个指纹元素,得到若干个交集
Figure FDA0002620942990000032
其中Ca为第一方文档集C的第a个文档,
Figure FDA0002620942990000033
的下标b是Ca的指纹元素在第二方的来源ID;并根据上述交集
Figure FDA0002620942990000034
得到第一方的第a个文档Ca和第二方的文档Sb之间的相似度为
Figure FDA0002620942990000035
其中,
Figure FDA0002620942990000036
为集合
Figure FDA0002620942990000037
中元素的数量,Sb为第二方文档集S的第b个文档,t为每个文档提取的MinHash指纹数量。
8.一种用于高效可扩展的安全的文档相似性计算的发送端装置,其特征在于,包括:
multi-GBF构建模块,用于根据MinHash文档指纹算法将第二方文档集S中所有文档表示成固定数量指纹的指纹集合,并根据第二方文档集S构建multi-GBF,即多来源混淆布隆过滤器,记做multi-GBFS;第二方文档集S的存储结构为倒排索引;
接收请求模块,用于接收第一方发送的连接请求;
发送模块,用于向第一方发送m对λ比特长的比特位串,以便第一方通过不经意传输协议,根据选择向量BFC当前位i的取值是0还是1,选择接收m对λ比特长的比特位串中multi-GBFr或multi-GBFs的第i个比特位串,接收的比特位串组成一个文档集C和文档集S的交集的multi-GBF,记做
Figure FDA0002620942990000038
进而便于第一方利用
Figure FDA0002620942990000039
计算第一方的文档和第二方的文档之间的相似度;所述BFC是第一方根据第一方文档集C构建的Bloom filter,即布隆过滤器,所述multi-GBFr是随机串;第一方文档集C的存储结构为正排索引。
9.一种高效可扩展的安全的文档相似性计算系统,其特征在于,包括权利要求7所述的接收端装置和权利要求8所述的发送端装置。
CN201710930206.8A 2017-10-09 2017-10-09 一种高效可扩展的安全的文档相似性计算方法和装置 Active CN107885705B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710930206.8A CN107885705B (zh) 2017-10-09 2017-10-09 一种高效可扩展的安全的文档相似性计算方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710930206.8A CN107885705B (zh) 2017-10-09 2017-10-09 一种高效可扩展的安全的文档相似性计算方法和装置

Publications (2)

Publication Number Publication Date
CN107885705A CN107885705A (zh) 2018-04-06
CN107885705B true CN107885705B (zh) 2020-12-15

Family

ID=61781154

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710930206.8A Active CN107885705B (zh) 2017-10-09 2017-10-09 一种高效可扩展的安全的文档相似性计算方法和装置

Country Status (1)

Country Link
CN (1) CN107885705B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083743B (zh) * 2019-03-28 2021-11-16 哈尔滨工业大学(深圳) 一种基于统一采样的快速相似数据检测方法
CN112232367B (zh) * 2020-09-10 2022-06-21 山东师范大学 一种网络行为相似性判断方法及系统
CN113032840B (zh) * 2021-05-26 2021-07-30 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及计算机可读存储介质
CN113779597B (zh) * 2021-08-19 2023-08-18 深圳技术大学 加密文档的存储和相似检索方法、装置、设备及介质
CN113722366B (zh) * 2021-09-14 2024-05-03 长沙理工大学 一种基于不经意密文倒排索引的安全数据检索方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067816A (ko) * 2008-12-12 2010-06-22 주식회사 케이티 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버
CN104424254A (zh) * 2013-08-28 2015-03-18 阿里巴巴集团控股有限公司 获取相似对象集合、提供相似对象信息的方法及装置
CN105630767A (zh) * 2015-12-22 2016-06-01 北京奇虎科技有限公司 一种文本相似性的比较方法以及装置
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN106372202A (zh) * 2016-08-31 2017-02-01 北京奇艺世纪科技有限公司 文本相似度计算方法及装置
CN106649221A (zh) * 2016-12-06 2017-05-10 北京锐安科技有限公司 重复文本的检测方法及装置
CN106681688A (zh) * 2016-12-28 2017-05-17 北京酷云互动科技有限公司 一种基于minhash的集合相似度计算方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067816A (ko) * 2008-12-12 2010-06-22 주식회사 케이티 프라이버시를 보호하는 개인화 추천 서비스 제공방법 및 제공서버
CN104424254A (zh) * 2013-08-28 2015-03-18 阿里巴巴集团控股有限公司 获取相似对象集合、提供相似对象信息的方法及装置
CN105630767A (zh) * 2015-12-22 2016-06-01 北京奇虎科技有限公司 一种文本相似性的比较方法以及装置
CN106326360A (zh) * 2016-08-10 2017-01-11 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN106372202A (zh) * 2016-08-31 2017-02-01 北京奇艺世纪科技有限公司 文本相似度计算方法及装置
CN106649221A (zh) * 2016-12-06 2017-05-10 北京锐安科技有限公司 重复文本的检测方法及装置
CN106681688A (zh) * 2016-12-28 2017-05-17 北京酷云互动科技有限公司 一种基于minhash的集合相似度计算方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Finding Similar Items using LSH and Bloom Filter;Sachendra Singh Chauhan等;《ICACCCT》;20141231;全文 *
隐私保护集合交集计算技术研究综述;申立艳等;《计算机研究与发展》;20170926;第54卷(第10期);全文 *

Also Published As

Publication number Publication date
CN107885705A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN107885705B (zh) 一种高效可扩展的安全的文档相似性计算方法和装置
CN108200063B (zh) 一种可搜索公钥加密方法、采用该方法的系统和服务器
CN106815350B (zh) 一种云环境中动态的密文多关键词模糊搜索方法
US9503432B2 (en) Secure linkage of databases
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
US20190020630A1 (en) Encrypted query-based access to data
CN105681280B (zh) 一种云环境中基于中文的可搜索加密方法
US10554385B2 (en) Method for providing encrypted data in a database and method for searching on encrypted data
CN113014563B (zh) 一种保障可搜索公钥加密检索完备性的方法及系统
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
CN103562851B (zh) 使用单向散列的数据扰乱和匿名化
CN105049196B (zh) 云存储中指定位置的多个关键词可搜索的加密方法
CN110334526A (zh) 一种支持验证的前向安全可搜索加密存储系统及方法
CN108400970A (zh) 云环境中相似数据消息锁定加密去重方法、云存储系统
CN107196840B (zh) 数据处理方法、装置及设备
CN108111587B (zh) 一种基于时间释放的云存储搜索方法
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
WO2014118230A1 (en) Method and system for providing encrypted data for searching of information therein and a method and system for searching of information on encrypted data
Rane et al. Multi-user multi-keyword privacy preserving ranked based search over encrypted cloud data
CN113157778B (zh) 分布式数据仓库的可代理查询方法、系统、设备及介质
CN108197491B (zh) 一种基于密文的子图检索方法
Rauthan et al. Homomorphic encryption approach for exploration of sensitive information retrieval
CN113779597B (zh) 加密文档的存储和相似检索方法、装置、设备及介质
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant