应用私有集合交集的公钥加密的布隆过滤器的制作方法

文档序号:7855673阅读:199来源:国知局
专利名称:应用私有集合交集的公钥加密的布隆过滤器的制作方法
技术领域
本发明涉及应用私有集合交集的公钥加密的布隆过滤器。
背景技术
布隆(Bloom)过滤器是ー种具有良好空间效率的盖然论的(probabilistic)数据结构,用来测试ー个元素是否为ー个集合中的元素。布隆过滤器被提供为位阵列,当布隆过滤器为空时,姆个位被设定为O。提供多个不同的散列函数(hash functions),姆个散列函数以统ー的随机分布将ー些集合元素映射或散列(hashing)到阵列位置中的ー个。为了将集合的元素添加到布隆过滤器,所述元素被提供给每ー个散列函数,以得到多个相应的阵列位置。阵列位置中的每ー个被设定到I。为了确定元素是否在布隆过滤器中,再次将元素提供给每个散列函数,以再次确定阵列位置。如果在所述阵列位置处的任何位等于0,则所述元素不在所述集合中。如果在所述阵列位置处的所有位等于1,则所述元素在所述集合中,虽然可能存在误判(false positive)。私有集合交集(Private set intersection,PSI)能够使各參与方,例如客户端和服务方,计算包括在它们各自的集合中的元素的交集,而不会公开关于这些元素的任何信息。在此过程期间,客户端能够获知(Iearn)在集合内的元素的交集,而相反,服务方则不能获知在集合内的元素的交集。PSI具有许多应用,因此是许多基于搜索的计算技术的基础建造模块,比如搜索存储DNA档案的法庭数据库的执法系统,或涉及到具有多种角色的各參与方的供应链管理系统。一种检查在两个集合内的元素的交集的方案是使用布隆过滤器。而布隆过滤器的ー个缺点在于机密性(confidentiality)。

发明内容
通常,本公开的实施方式在于ー种方法,包括动作:从计算机可读存储器检索第一集合,第一集合包括多个元素;使用计算设备将第一集合的元素添加到第一布隆过滤器,第一布隆过滤器包括多个位;以及使用所述计算设备加密第一布隆过滤器的多个位中的每个位,以提供第一加密的布隆过滤器,加密使用同态的(homomorphic)、公钥加密来完成。在一些实施方式中,动作还包括对第一加密的布隆过滤器执行操作。在一些实施方式中,操作包括将元素添加到第一加密的布隆过滤器的元素添加、确定元素是否存在于第一加密的布隆过滤器中的元素包含验证、以及将第一加密的布隆过滤器的内容与第二布隆过滤器的内容进行比较中的至少ー个。在一些实施方式中,第二布隆过滤器包括第二加密的布隆过滤器。在一些实施方式中,动作还包括确定第一布隆过滤器对于操作的索引,所述操作包括添加操作,并且对于第一布隆过滤器的每个位,如果通过添加操作来设定位则将所述位设定为等于1,而如果不通过添加操作来设定位则对所述位进行随机化。在一些实施方式中,动作还包括确定与可能存在于第一布隆过滤器中的元素相对应的第一布隆过滤器的索引,所述操作包括测试操作,对于与所述索引相对应的每个设定的布隆过滤器、对密文进行扩展,以提供扩展的密文,使用同态性(homomorphism)对于所有设定的位计算逻辑与(AND)操作,以及生成扩展的密文是二次剰余(quadraticresidue)的零知识证明(zero knowledge proof, ZKP)。在一些实施方式中,操作是非交互(non-1nteractive)操作,从而所述操作能够被执行而无需解密第一加密的布隆过滤器。在一些实施方式中,所述同态的、公钥加密包括Goldwasser-Micali (GM)加密。在一些实施方式中,所述同态的、公钥加密包括Boneh、Goh、Nissim(BGN)加密。在一些实施方式中,加密包括基于第一布隆过滤器的许多散列函数生成公钥、私钥对。在一些实施方式中,使用公钥完成第一布隆过滤器的加密。在一些实施方式中,动作还包括传送第一加密的布隆过滤器,在计算设备处接收第一加密的返回集合,第一加密的返回集合基于第一加密的布隆过滤器和第二集合来生成,第二集合包括多个元素,使用计算设备解密第一加密的返回集合,以提供第一返回集合,以及确定第一集合和第一返回集合之间的交集。在一些实施方式中,在第一集合和第一返回集合之间的交集代表第一集合和第二集合之间的交集。在一些实施方式中,动作还包括将第一集合、第一布隆过滤器、以及第一加密的布隆过滤器传送到可信第三方,从可信第三方接收签名,以及将签名传送到实体,该实体是第ニ集合的拥有者。在一些实施方式中,动作还包括基于第一加密的布隆过滤器生成ZKP,以及将ZKP传送到实体,该实体是第二集合的拥有者。在一些实施方式中,传送第一加密的布隆过滤器包括将第一加密的布隆过滤器传送到服务提供者。在一些实施方式中,第一加密的返回集合由服务提供者基于第一加密的布隆过滤器和第二加密的布隆过滤器来生成,第二加密的布隆过滤器由实体提供到服务提供者,该实体是第二集合的拥有者。在一些实施方式中,基于生成第一加密的布隆过滤器的扩展的密文结果、对于第ニ集合中的每个元素评价测试功能、并计算在扩展的密文结果和测试功能的结果之间的异或(XOR)操作来生成第一加密的结果集合。本公开还提供耦接到一个或多个处理器的计算机可读存储介质,具有存储在其上的指令,当由一个或多个处理器执行指令吋,使得一个或多个处理器执行根据这里提供的方法的实施方式的操作。本公开还提供用于实现这里提供的方法的系统。该系统包括一个或多个处理器、以及耦接到一个或多个处理器的计算机可读存储介质,该计算机可读存储介质具有存储在其上的指令,当由一个或多个处理器执行指令时,使得ー个或多个处理器执行根据这里提供的方法的实施方式的操作。应该理解,根据本公开的方法能够包括这里所描述的各方面和特征的任意組合。也就是说,根据本公开的方法并不限于这里所具体描述的方面和特征的组合,而是还包括所提供的方面和特征的任意組合。
在附图和以下描述中阐述了本公开的ー个或多个实施例的细节。本公开的其它特征和优点将从描述和附图、以及从权利要求中清楚地看出。


图1是能够运行本公开的实施方式的示例系统体系结构的框图。图2是描绘包括违法物品的示例供应链的框图。图3是示出能够根据本公开的实施方式运行的示例过程的流程图。图4是示出能够根据本公开的实施方式运行的示例过程的流程图。图5是示出能够根据本公开的实施方式运行的示例过程的流程图。图6是能够使用来运行本公开的实施方式的示例计算机系统的示意图。在各个附图中相似的參考符号指示相似的元素。
具体实施例方式本公开的实施方式一般在于加密在关注机密性的应用中使用的布隆过滤器。根据本公开,布隆过滤器能够使用同态的、公钥加密来加密,从而只有私钥的持有者(即,加密布隆过滤器的实体)能够访问存储在布隆过滤器中的数据。为了使加密的布隆过滤器在应用中有用,公钥持有者能够将元素添加到布隆过滤器而无需进行交互(例如,解密和再次加密布隆过滤器),并且公钥持有者能够检验元素包含或不包含在加密的布隆过滤器内,同样无需进行交互。为了达成这一点,特定的零知识证明(ZKP)被实施。本公开还提供用于使用加密的布隆过滤器的私有集合交集(PSI)。PSI能够使各參与方(parties),例如供应链中的參与方和/或第三方,计算包括在各个集合中的元素的交集,而不公开关于元素的任何信息。在这些过程期间,參与方能够获知集合内元素的交集,同时保持数据机密性。因此,集合中所有元素的秘密(privacy)可以保持保密(private)。用于PSI实施方式的协议可以包括结合了加密的布隆过滤器的多种变化,加密的布隆过滤器作为ー种检查元素是否包含在集合中的具有空间效率和时间效率的(spaceefficient and time-efficient)手段,能够保护系统免受可能攻击系统的恶意方的危害。本公开的实施方式将在这样的示例的上下文中进行描述,包括:物品在供应链内的实体之间移动。但是,应该理解,本公开的实施方式也适用于其它的上下文。其它的示例上下文可以包括:数据库管理、网络管理、并且保密(privacy-preserving)执法(例如,与飞机乘客进行核对的禁飞名单;包括数据库搜索的刑事侦查)。在示例的上下文中,企业使用供应链将产品或服务从ー个或多个供应者(实体、合伙人或公司)转换并移动到客户。供应链是ー种可以涉及企业内外的各种组织和人员的系统。另外,供应链能够利用技木、活动以及信息,将自然资源、原材料以及组件从ー个或多个供应者转换为能够递送给客户的成品(finished product)。当产品通过供应链时,企业可以将产品在各个供应者之间移动。供应者能够与供应链共享产品相关数据。然而,供应者可能希望在企业将产品在供应者之间移动时保持与产品移动和转换相关的信息的机密性。这与具有动态改变的供应者的专用供应链特别相关。企业能够确定对于在供应链中共享信息的需求与机密信息不扩散到竞争者或供应链外的其它人之间的平衡。在供应链中的供应者之间共享信息可以使每个供应者提供附加的服务,这给产品制造带来益处。信息共享还可能导致制造过程的优化和改善,进而降低制造成本。在示例的上下文中,并且为了例示和清楚的目的,第一供应者可以看作客户端(C),而第二供应者可以看作服务方(S)。在一些实施方式中,在这里进ー步详细讨论的,集合信息(set information)在客户端和服务方之间通信,以执行在客户端集合和服务方集合之间的PSI。在一些实施方式中,还在这里进ー步详细讨论的,可信第三方(TTP)能够通过提供认证服务来支持PSI活动。在一些实施方式中,还在这里进ー步详细讨论的,PSI活动可以外包(outsourced)给服务提供者(SP),其中,集合信息在客户端和服务提供者、以及在服务方和服务提供者之间通信。图1是能够运行本公开的实施方式的示例系统100的框图。系统100使得n个实体(示例为实体114、116、118、120)能够通过网络102访问中心计算机106,该中心计算机106包括中心数据库112和中心服务方110。在图1的示例中,实体(例如,实体114、116、118、120)可以是公司、合伙人、组织或位于供应链122的供应者。例如,实体114在供应链122中位于实体116之前。实体118在供应链122中位于实体120之前。供应链122制造物品104。物品104与任何附加的组件一起,能够在制造过程期间被引入到供应链122中的每个实体。在图1的示例中,成品由实体120输出,随后递送给客户。在某些示例中,物品104能够包括附接的机器可读介质。在示出的示例中,机器可读介质包括RFID标签124。对于物品104,唯一识别号可以存储在RFID标签124上。供应链122中的每个实体能够在物品104被制造、或者由各个实体处理时,生成实体特有的数据(entity-specific data)并将实体特有的数据与物品104相关联。实体特有的数据可以与物品的唯一识别号相关联,用于存储在计算机可读介质中(例如,在各个实体处)。在一些实施方式中,中心计算机106位于服务提供者外部。在一些实施方式中,中心计算机106能够由提供认证服务的ー个或多个TTP来操作,如这里进ー步详细讨论的。在一些实施方式中,中心计算机106能够由能够执行PSI活动的ー个或多个SP来操作,如这里进ー步详细讨论的。例如,中心数据库112可以是云存储器,而中心计算机106可以是TTP或SP提供的(hosted)云计算系统。在一些实施方式中,并且如这里进ー步详细讨论的,SP能够执行PSI操作,同时对于基础数据(underlying data)是易忘的(oblivious),而保持其机密性。现在參考图2,有向图200描绘了示例的供应链。顶点202代表供应者,而边缘204代表供应者之间的运输链(transportation links)。为了检查供应链的完整性(integrity),在不公开除了在供应链上执行的操作的有效性(validity)以外的任何消息的同时,可以使用在供应链中进行物品级(item-level)跟踪的一般(generic)模型。当物品i前进通过供应链时,它能够被许多不同的供应者s处理(handled)。在一些实施方式中,供应链包括多个物品和多个供应者,其中,每个物品具有唯一标识符,而每个供应者具有唯一标识符。用I = Utl,..., ij代表物品集合,用S = {s0,..., SmI代表供应者集合。作为示例,图2示出了物品集合210, I = U1, i2, i3},以及供应者集合212, S = {s1; s2, s3,
S4,S5} O在一些实施方式中,可以提供数据结构ds,其包括处理物品i的供应者Si的集合210,并且在物品i移动通过供应链时随着物品i 一起运送。作为示例,图2示出了分别处理物品h、i2、和i3的供应者S1.S2和S3的集合210。在第一供应者将物品装运(ship)到第二供应者之前,第一供应者将第二供应者添加到数据结构ds。在某些示例中,ds的运送可以是电子形式的,并且包括在网络消息中(例如,高级装运通知),伴随物品移动通过供应链。在某些示例中,ds的运送可以是切实(tangible)形式的(例如,RFID标签),物理地伴随物品移动通过供应链。一旦提供了 ds,就可以对运送物品i的供应链过程执行许多简单的、有效的检查。在一些实施方式中,集合SJlO可以与已知的违犯者(violator)的黑名单Sbl进行比较。例如,这些违犯者可以是涉及到不期望的行业行为的公司:USbl‘s € Si( ^、例如,图2示出了处理物品i2的供应者S2的集合210不应该包括供应者s4。在一些实施方式中,集合SpiO可以与强制供应者(mandatory supplier)的白名单Swl进行比较。例如,这些供应 者可以是涉及到期望的行业行为的公司:ヒ-5V1-!"5 € Si(つ)例如,图2示出了处理物品I1的供应者S1的集合210应该包括供应者S20在一些实施方式中,可以提供数据结构Cl1,其包括已经由供应者s处理的物品208的集合Is。因此,在一个供应者处维持も。毎次供应者处理物品i,供应者将物品i添加到数据结构も。一旦提供了ー个或多个数据结构Cl1,就可以对运送物品i的供应链过程执行许多简单的、有效的检查。在一些实施方式中,分别在两个供应者S1和S2处的两个数据结杓和め3:可以相互比较,以确定它们是否包括相同的集合Is212。如果它们包括相同的集合Is,则=ら,并且在这两个供应者之间没有货物的流入或流出。作为示例,图2示出了供应者I1, I2, I3,14,和Is,的集合212,其中,例如,I1,= Iso为了确定两个集合之间的交集(即,为了检查元素是否包含在集合内),两个数据结构可以被比较。布隆过滤器是能够提供用于执行这种操作的具有良好空间效率的手段的数据结构。如果布隆过滤器未受保护,任何人都能够检查元素是否包含在集合中,并进而也许能够获知集合中的任何或所有元素。因而,保护布隆过滤器内容的机密性是在设计基于捜索的计算技术时可以考虑的ー个重要特征,比如设计用来管理图2中所示的示例供应链的系统,其中可能存在行业间谍的风险。给定数据结构,可以定义多个參与方,用来配置数据结构的安全特性。在某些示例中,可以定义授权机构(authority)。授权机构控制数据结构,并且可以是物品的制造方,或者甚至是独立组织,如行业协会。在某些示例中,可以定义供应者。供应者能够将元素添加到集合,并且,例如,将集合Si与黑名单Sbl进行比较,或者将集合レ与k进行比较;因此,供应者通过处理货物和检验供应链的完整性来參与到供应链中。一般,本公开的实施方式在于加密布隆过滤器,对加密的布隆过滤器执行ー个或多个操作。实施方式还提供使用加密的布隆过滤器,以确定集合之间的交集,以便保护系统免受恶意參与方的损害,如在供应链情况下免受恶意供应者的损害,而无需区分恶意供应者和诚实供应者。在一些实施方式中,假设所有的供应者都是恶意的,并且所有的供应者都能够对数据执行所有操作。在某些示例中,可以定义攻击者。攻击者可以具有对网络的完全控制,并且能够在任何示例的顶点(例如,图2中所示的顶点202)读和写任何数据结构。在一些实施方式中,当攻击者简单的损坏数据结构时,发生破坏攻击,由此破坏通信。为了解决破坏攻击,可以基于物品是否具有适当的安全检查做出默认的判断。在某些示例中,没有适当的安全检查的物品可以被认为是违法的。对于这种情况,破坏供应链的攻击者不能插入伪造的物品,但是攻击者能够执行动作,生成能够导致货物供应的破坏的误判。在某些示例中,没有适当的安全检查的物品可以被认为是合法的。这个判断可以防止由于误判导致的破坏,但是伪造问题仍然可能成功。在一些实施方式中,当攻击者简单地将信息从ー个数据结构复制到另ー个数据结构时,发生克隆攻击。在某些示例中,克隆攻击是防伪(ant1-counterfeiting)的共同问题。对于这种情况,没有物品级(标签上)的反制措施,但是从全局数据的角度看,防止也是可行的。在一些实施方式中,数据结构的内容应该保持保密。给定任何数据结构d,攻击者应该不能确定元素e是否在集合中(除了可以忽略的可能性)。即使给出关于元素ち包含或不包含的几次成功的检查,或者关于集合相等和不相等的额外的成功检查,攻击者也应该不能确定元素e'是否包括在集合中(VL e / e.)<,而且,攻击者应该不能在添加元素e之前或之后链接数据结构d。给定数据结构对Cltl和Cl1、元素e、以及添加了元素e的随机选择的数据结构db G {d0 U {e}, (I1 U {e}},攻击者应该不能从db确定随机选择b的身份(identity)(除了可以忽略的可能性)。这防止了攻击者跟踪物品经过供应链,并且加强了针对防止供应链间谍的保密措施(privacymeasures;。根据本公开的实施方式,PSI能够使得诸如第一供应者(称为客户端)和第二供应者(称为服务方)的參与方能够计算各自集合内包括的元素的交集,而不公开有关这些元素和/或集合的任何信息(例如,各自集合的大小)。在一些实施方式中,客户端能够获知集合内元素的交集,反之服务方不能获知集合内元素的交集。因此,不在交集中的所有元素的秘密能够被保持保密。在一些实施方式中,客户端集合的大小可能是很敏感的信息,并可能也对服务方隐藏。在某些示例中,客户端C具有大小为V的集合Ic1,...,cv},而服务方V具有大小为w的集合Iv1,...,vw}。执行所述计算为客户端提供了交集Ic1,...,cv} n Iv1,, vw},但是服务方并未获知交集。这里提供的PSI实施方式包括使用布隆过滤器和布隆过滤器的每个位的同态加密。在数据库团体中,使用布隆过滤器已经成为改善数据库中分布式加入的性能的制定的惯例(established practice)。虽然布隆过滤器在测试集合包含时允许误判,但是通过使用參数k( S卩,在布隆过滤器中使用的散列函数的数量)能够将得到误判的可能性降低到任意低的可能性。在某些示例中,集合(例如,客户端集合和/或服务方集合)被添加到各自的布隆过滤器,并且布隆过滤器可以使用同态的、公钥加密进行加密。示例的同态加密可以包括 Goldwasser Micali (GM)カロ密和 Boneh、Gob、Nissim(BGN)加密。根据本公开,可以对加密的布隆过滤器执行操作,其可以称为密文(ciphertext)。在一些实施方式中,所述操作时非交互操作,其中公钥持有者不需要解密和再次加密布隆过滤器。示例的操作可以包括元素添加、元素包含或不包含检验、以及过滤器内容比较(即,PSI)。在某些示例中,可以使用Sander Young Yung(SYY)来执行操作。在一些实施方式中,一种基础PSI (base PSI),称为半诚实PSI (sem1-honest PSI,PSIsh),可以通过使用加密的布隆过滤器来提供。在一些实施方式中,可以提供认证的PSI (authenticated PSI,APSI)。APSI使得客户端能够以TTP认证其集合。这样的认证通过将所有可能的元素包括在输入中,而防止客户端获得服务方的整个集合。而且,服务方能够在执行操作以支持PSI之前检验由客户端提交的数据的真实性(authenticity)。在ー些实施方式中,当认证不可用时,客户端能够执行ZKP以保持全面的保密。这样的实施方式可以称为恶意PSI模型(PSImai),如这里进ー步详细讨论的。在一些实施方式中,可以提供外包PSI (outsourced PSI,OPSI)。OPSI使得SP能够基于从客户端和服务方两者提供给SP的数据,执行操作以支持PSI。在OPSI内,仍然保持保密,因为SP不能提取关于输入或交集的任何信息。在某些示例中,服务方能够在服务提供者处存储其集合,然后客户端能够在服务方离线时查询数据库。用于PSI的协议可以包括多个实施方式。在一些实施方式中,能够利用半诚实模型(PSIsh),其使用布隆过滤器和同态加密来实现PSI。如这里所讨论的,可以使用布隆过滤器来提供用于检查元素是否包含在集合中的、具有良好空间效率和时间效率的手段。空布隆过滤器b包括m个位(所有位被设定为0),以及k个散列函数tv其中(0<i<k)。在一些实施方式中,散列函数不需要是随机预知(oracle)。对于布隆过滤器b的第j位(0彡j < m),布隆过滤器支持用于将集合的元素X添加到布隆过滤器的操作Add(X)。可以执行操作Test(X)以测试元素X是否包含在布隆过滤器中。执行操作Create(Hi)生成了设定为0的m个位的布隆过滤器:
权利要求
1.种计算机实现的方法,包括: 从计算机可读存储器检索第一集合,第一集合包括多个元素; 使用计算设备将第一集合的元素添加到第一布隆过滤器,第一布隆过滤器包括多个位;以及 使用所述计算设备加密第一布隆过滤器的多个位中的每个位,以提供第一加密的布隆过滤器,加密使用同态的、公钥加密来完成。
2.权利要求1所述的方法,还包括对第一加密的布隆过滤器执行操作。
3.权利要求2所述的方法,其中,所述操作包括将元素添加到第一加密的布隆过滤器的元素添加、确定元素是否存在于第一加密的布隆过滤器中的元素包含验证、以及将第一加密的布隆过滤器的内容与第二布隆过滤器的内容进行比较中的至少ー个。
4.权利要求3所述的方法,其中,第二布隆过滤器包括第二加密的布隆过滤器。
5.权利要求2所述的方法,还包括: 确定第一布隆过滤器对于所述操作的索引,所述操作包括添加操作;以及 对于第一布隆过滤器的每个位,如果通过添加操作来设定位则将所述位设定为等于1,而如果不通过添加操作来设定位则对所述位进行随机化。
6.权利要求2所述的方法,还包括: 确定与可能存在于第一布隆过滤器中的元素相对应的第一布隆过滤器的索引,所述操作包括测试操作; 对于与所述索引相对应的每个设定的布隆过滤器位对密文进行扩展,以提供扩展的密文; 使用同态性对于所有设定的位计算逻辑与(AND)操作;以及 生成扩展的密文是二次剩余的零知识证明(ZKP)。
7.权利要求2所述的方法,其中,所述操作是非交互操作,从而所述操作能够被执行而无需解密第一加密的布隆过滤器。
8.权利要求1所述的方法,其中,所述同态的、公钥加密包括Goldwasser-Micali(GM)加密。
9.权利要求1所述的方法,其中,所述同态的、公钥加密包括Boneh、Goh、Nissim(BGN)加密。
10.权利要求1所述的方法,其中,加密包括基于第一布隆过滤器的许多散列函数生成公钥、私钥对。
11.权利要求10所述的方法,其中,使用公钥完成第一布隆过滤器的加密。
12.权利要求1所述的方法,还包括: 传送第一加密的布隆过滤器; 在所述计算设备处接收第一加密的返回集合,第一加密的返回集合基于第一加密的布隆过滤器和第二集合来生成,第二集合包括多个元素; 使用所述计算设备解密第一加密的返回集合,以提供第一返回集合;以及 确定第一集合和第一返回集合之间的交集。
13.权利要求12所述的方法,其中,第一集合和第一返回集合之间的交集代表第一集合和第二集合之间的交集。
14.权利要求12所述的方法,还包括: 将第一集合、第一布隆过滤器、以及第一加密的布隆过滤器传送到可信第三方; 从所述可信第三方接收签名;以及 将所述签名传送到实体,所述实体是第二集合的拥有者。
15.权利要求12所述的方法,还包括: 基于第一加密的布隆过滤器生成零知识证明(ZKP);以及 将所述ZKP传送到实体,所述实体是第二集合的拥有者。
16.权利要求12所述的方法,其中,传送第一加密的布隆过滤器包括将第一加密的布隆过滤器传送到服务提供者。
17.权利要求16所述的方法,其中,第一加密的返回集合由所述服务提供者基于第一加密的布隆过滤器和 第二加密的布隆过滤器来生成,第二加密的布隆过滤器由实体提供到所述服务提供者,所述实体是第二集合的拥有者。
18.权利要求12所述的方法,其中,基于生成第一加密的布隆过滤器的扩展的密文结果、对于第二集合中的每个元素评价测试功能、并计算在扩展的密文结果和所述测试功能的结果之间的异或(XOR)操作来生成第一加密的结果集合。
19.种耦接到一个或多个处理器的计算机可读存储介质,具有存储在其上的指令,当由所述ー个或多个处理器执行所述指令吋,使得所述ー个或多个处理器执行操作,包括: 从计算机可读存储器检索第一集合,第一集合包括多个元素; 使用计算设备将第一集合的元素添加到第一布隆过滤器,第一布隆过滤器包括多个位;以及 使用所述计算设备加密第一布隆过滤器的多个位中的每个位,以提供第一加密的布隆过滤器,加密使用同态的、公钥加密来完成。
20.种系统,包括: 一个或多个计算机;以及 耦接到一个或多个计算机的计算机可读存储介质,具有存储在其上的指令,当由所述ー个或多个计算机执行所述指令吋,使得所述ー个或多个计算机执行操作,包括: 从计算机可读存储器检索第一集合,第一集合包括多个元素; 将第一集合的元素添加到第一布隆过滤器,第一布隆过滤器包括多个位;以及加密第一布隆过滤器的多个位中的每个位,以提供第一加密的布隆过滤器,加密使用同态的、公钥加密来完成。
全文摘要
公开了方法、系统、以及装置,包括编码在计算机存储介质上的计算机程序,用于从计算机可读存储器检索集合,该集合包括多个元素,使用计算设备将集合的元素添加到布隆过滤器,该布隆过滤器包括多个位,以及使用计算设备加密布隆过滤器的多个位中的每个位,以提供加密的布隆过滤器,加密使用同态的、公钥加密来完成。实施方式还在于对加密的布隆过滤器执行操作,并使用加密的布隆过滤器执行私有集合交集(PSI)。
文档编号H04L9/32GK103095453SQ20121023682
公开日2013年5月8日 申请日期2012年7月9日 优先权日2011年7月8日
发明者F.科施鲍姆 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1