CN114491613B - 高效可搜索的代理隐私集合求交方法及装置 - Google Patents

高效可搜索的代理隐私集合求交方法及装置 Download PDF

Info

Publication number
CN114491613B
CN114491613B CN202111331349.XA CN202111331349A CN114491613B CN 114491613 B CN114491613 B CN 114491613B CN 202111331349 A CN202111331349 A CN 202111331349A CN 114491613 B CN114491613 B CN 114491613B
Authority
CN
China
Prior art keywords
user
cloud server
intersection
random
index
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
CN202111331349.XA
Other languages
English (en)
Other versions
CN114491613A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202111331349.XA priority Critical patent/CN114491613B/zh
Publication of CN114491613A publication Critical patent/CN114491613A/zh
Application granted granted Critical
Publication of CN114491613B publication Critical patent/CN114491613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种高效可搜索的代理隐私集合求交方法及装置,方法包括:将按关键词对用户数据集合进行分组,基于伪随机函数为分组后的每个子集合生成索引,并对每个关键词对应的子集合进行加密,将加密后的子集合和索引进行置换后上传到云服务器;将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给云服务器,根据映射找到不同用户的数据中待搜索关键词对应的子集合,对待搜索关键词对应的子集合进行求交,并将求交结果返回给发起交集计算用户。本申请的实施例在代理隐私集合求交中加入可搜索功能,同时保证了安全性和效率。

Description

高效可搜索的代理隐私集合求交方法及装置
技术领域
本申请涉及网络安全技术领域,特别涉及一种高效可搜索的代理隐私集合求交方法及装置。
背景技术
隐私集合求交(Private Set Intersection,PSI)是安全多方计算领域下的一个特定问题。对于两方的PSI协议,它可以在不泄漏除交集之外任何信息的情况下求出两个参与方集合的交集元素。PSI的典型应用场景如计算广告的投放效果:商家和广告投放平台分别计算购买相关商品的用户与看到广告和没看到广告的用户的交集,就可以知道广告对用户决策的影响,同时又不泄漏用户的信息。而随着云服务的发展,为了减少用户的计算开销,给用户带来更好的体验,代理隐私集合求交(Delegated PSI,DPSI)的概念被提出。代理PSI是指用户将处理过后的数据上传到云服务器,由云服务器进行PSI的计算,然后将计算结果返回给用户,在这一过程中不可信的云服务器无法获得任何与用户数据相关的有效信息。
另一方面,随着数据外包存储的发展,越来越多的用户选择将数据存储到云服务器上,为了保护用户的数据隐私,云存储数据都是经过加密的,并且为了满足数据库的搜索功能,一般采用可搜索加密技术(Searchable Encryption,SE)。可搜索加密是一种可在密文数据库中进行搜索的加密技术,用户可以根据需要查询的关键字构建陷门后发送给服务器进行查询,实现像搜索明文一样搜索密文的功能。云存储密文数据库具有广阔的应用场景,例如电子病历、邮件系统等对隐私信息要求较高的数据库场景。
在相关技术中,两个用户的数据都以密文形式存储在云服务器上,如果双方希望云服务器对包含一些关键词的两个数据库进行集合求交,由于加密后的数据并不能直接用来做代理PSI计算,相关技术的方法为是用户首先要向云服务器提出搜索请求,云服务器进行搜索后将结果返回给用户,然后由用户对结果进行解密,之后再进行代理PSI的计算。这种方法具有较高的通信复杂度,并且每次计算都需要用户进行解密和代理PSI的数据处理,耗费巨大的算力。
发明内容
本申请提供一种高效可搜索的代理隐私集合求交方法及装置,以解决相关技术中代理隐私集合求交方法具有较高的通信复杂度,并且每次计算都需要用户进行解密和代理PSI的数据处理,耗费巨大的算力等问题。
本申请第一方面实施例提供一种高效可搜索的代理隐私集合求交方法,包括以下步骤:初始化步骤:对每个用户的数据集合,将所述数据集合按关键词进行分组,将具有相同关键词的元素放到同一集合中,得到多个子集合,利用随机值将每个子集合填充为相同大小,基于伪随机函数为所述每个子集合生成索引,并对每个关键词对应的子集合运行作为子算法的代理隐私集合求交协议DPSI的初始化算法进行加密,得到加密后的子集合,利用伪随机置换将加密后的子集合和索引的顺序打乱,并将置换后的所有子集合和对应的索引上传到云服务器;交集计算步骤:将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给所述云服务器,利用所述云服务器根据所述映射找到不同用户的数据中所述待搜索关键词对应的子集合,通过DPSI中的交集计算算法对所述待搜索关键词对应的子集合进行求交,并将求交结果返回给所述发起交集计算用户。
可选地,在本申请的一个实施例中,所述初始化步骤进一步包括:对每个用户的数据集合进行分组,得到多个子集合;对所述子集合中的每个元素,计算其哈希值,根据哈希值对元素进行分组,为每个哈希桶生成一个布隆过滤器以存储所述哈希桶中所有的集合元素;利用多项式点值表示所述每个哈希桶,通过异或随机值对所述哈希表和所述布隆过滤器进行加密;基于伪随机函数生成索引,再利用伪随机置换进行置换;将每个分组子集合的哈希表及其对应的索引和布隆过滤器共同发送给云服务器。
可选地,在本申请的一个实施例中,所述交集计算步骤进一步包括:控制计算发起方的用户和计算参与方的用户准备;在所述云服务器,利用所述计算参与方的用户发送的映射找到每个用户和关键词对应的分组,利用从所述计算参与方的用户接收到的解密随机值和所述计算发起方的临时密钥计算得到一个中间结果,将中间结果和关键词对应哈希表的布隆过滤器发送给所述计算发起方;所述计算发起方利用其他参与方的解密随机值对所述云服务器的中间结果解密,得到解密向量,利用所述解密向量和所述云服务器在初始化阶段选择的向量恢复出一个多项式,对所述多项式求根,利用所述云服务器发来的布隆过滤器得到最终结果。
可选地,在本申请的一个实施例中,所述控制计算发起方的用户和计算参与方的用户准备,包括:在所述计算发起方的用户选择所述待搜索关键词之后,生成加密所述待搜索关键词对应分组子集合所用的加密随机值,并利用临时密钥,将所述加密随机值通过伪随机函数进行加密;将加密后的所述加密随机值、所述待搜索关键词明文及生成索引所用的伪随机函数密钥一同发送给其它计算参与方,将所述临时密钥发送给所述云服务器;在所述计算参与方收到发送的信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给所述云服务器,将另一部分解密随机值发送给所述计算发起方。
本申请第二方面实施例提供一种高效可搜索的代理隐私集合求交装置,包括:初始化模块,用于对每个用户的数据集合,将所述数据集合按关键词进行分组,将具有相同关键词的元素放到同一集合中,得到多个子集合,利用随机值将每个子集合填充为相同大小,基于伪随机函数为所述每个子集合生成索引,并对每个关键词对应的子集合运行作为子算法的代理隐私集合求交协议DPSI的初始化算法进行加密,得到加密后的子集合,利用伪随机置换将加密后的子集合和索引的顺序打乱,并将置换后的所有子集合和对应的索引上传到云服务器;交集计算模块,用于将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给所述云服务器,利用所述云服务器根据所述映射找到不同用户的数据中所述待搜索关键词对应的子集合,通过DPSI中的交集计算算法对所述待搜索关键词对应的子集合进行求交,并将求交结果返回给所述发起交集计算用户。
可选地,在本申请的一个实施例中,所述初始化模块,进一步用于,对每个用户的数据集合进行分组,得到多个子集合;对所述子集合中的每个元素,计算其哈希值,根据哈希值对元素进行分组,为每个哈希桶生成一个布隆过滤器以存储所述哈希桶中所有的集合元素;利用多项式点值表示所述每个哈希桶,通过异或随机值对所述哈希表和所述布隆过滤器进行加密;基于伪随机函数生成索引,再利用伪随机置换进行置换;将每个分组子集合的哈希表及其对应的索引和布隆过滤器共同发送给云服务器。
可选地,在本申请的一个实施例中,所述交集计算模块,进一步用于,控制计算发起方的用户和计算参与方的用户准备;在所述云服务器,利用所述计算参与方的用户发送的映射找到每个用户和关键词对应的分组,利用从所述计算参与方的用户接收到的解密随机值和所述计算发起方的临时密钥计算得到一个中间结果,将中间结果和关键词对应哈希表的布隆过滤器发送给所述计算发起方;所述计算发起方利用其他参与方的解密随机值对所述云服务器的中间结果解密,得到解密向量,利用所述解密向量和所述云服务器在初始化阶段选择的向量恢复出一个多项式,对所述多项式求根,利用所述云服务器发来的布隆过滤器得到最终结果。
可选地,在本申请的一个实施例中,所述控制计算发起方的用户和计算参与方的用户准备,包括:在所述计算发起方的用户选择所述待搜索关键词之后,生成加密所述待搜索关键词对应分组子集合所用的加密随机值,并利用临时密钥,将所述加密随机值通过伪随机函数进行加密;将加密后的所述加密随机值、所述待搜索关键词明文及生成索引所用的伪随机函数密钥一同发送给其它计算参与方,将所述临时密钥发送给所述云服务器;在所述计算参与方收到发送的信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给所述云服务器,将另一部分解密随机值发送给所述计算发起方。
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的高效可搜索的代理隐私集合求交方法。
本申请第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的高效可搜索的代理隐私集合求交方法。
本申请实施例的高效可搜索的代理隐私集合求交方法及装置,具有以下有益效果:
1)本申请将可搜索加密技术和隐私集合求交技术相结合,使得方案同时具有两种功能;
2)本申请适用于所有支持数据外包存储的代理隐私集合求交协议;
3)本申请并不会对原有代理PSI协议的线上效率造成影响,同时保证了安全性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种高效可搜索的代理隐私集合求交方法的流程图;
图2为根据本申请实施例提供的一种高效可搜索的代理隐私集合求交协议及系统流程示意图;
图3为根据本申请实施例提供的一种初始化阶段过程示意图;
图4为根据本申请实施例提供的一种搜索与交集计算阶段过程示意图;
图5为根据本申请实施例提供的一种云服务器初始化过程示意图;
图6为根据本申请实施例提供的一种用户初始化过程示意图;
图7为根据本申请一个具体实施例提供的一种搜索与交集计算阶段过程示意图;
图8为根据本申请实施例的高效可搜索的代理隐私集合求交装置的示例图;
图9为根据本申请实施例的一种电子设备示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
在相关技术中,用户首先要向云服务器提出搜索请求,云服务器进行搜索后将结果返回给用户,然后由用户对结果进行解密,之后再进行代理PSI的计算。这种方法具有较高的通信复杂度,并且每次计算都需要用户进行解密和代理PSI的数据处理,耗费巨大的算力。如果能在一开始就将数据处理好,使加密后的数据既能进行密文搜索,又能直接用来做PSI计算,将会大大降低通信复杂度和用户的计算复杂度。既能实现密文搜索又能在密文上进行代理PSI的协议。本申请将SE和代理PSI相结合,针对上述场景提出了一种新的方案,在解决问题的同时保证了效率和安全性,称之为可搜索的代理隐私集合求交协议。
本申请解决了已有的隐私集合求交协议在新场景下表现不佳的问题,提出了一个支持单关键词精确搜索的代理PSI协议框架S-PSI。S-PSI是基于倒排索引的思想实现的,包含一个代理PSI协议DPSI作为子算法,DPSI可以是任何支持数据外包存储的代理PSI协议,且不会对协议的线上阶段造成效率损失。除此之外,本申请使用Abadi在2020年提出的Feather协议作为S-PSI的实例,得到了半诚实敌手下安全可搜索的代理PSI协议S-Feather。S-Feather和Feather相比,线上阶段几乎没有效率损失,验证了S-PSI框架的可行性。
图1为根据本申请实施例提供的一种高效可搜索的代理隐私集合求交方法的流程图。
如图1所示,该高效可搜索的代理隐私集合求交方法包括以下步骤:
在步骤S101中,初始化步骤:对每个用户的数据集合,将数据集合按关键词进行分组,将具有相同关键词的元素放到同一集合中,得到多个子集合,利用随机值将每个子集合填充为相同大小,基于伪随机函数为每个子集合生成索引,并对每个关键词对应的子集合运行作为子算法的代理隐私集合求交协议DPSI的初始化算法进行加密,得到加密后的子集合,利用伪随机置换将加密后的子集合和索引的顺序打乱,并将置换后的所有子集合和对应的索引上传到云服务器。
具体地,初始化阶段,包括参数生成、数据集合分组、填充、索引生成、数据加密、置换和外包存储。参数生成包括伪随机函数、伪随机置换及其密钥的选择与生成。数据集合分组是指对每个用户的数据集合,将数据按照不同的关键词进行分组,每个分组对应一个关键词,分组包含了所有具有该关键词的数据。填充是指使用随机值对每个分组进行填充,直到它们的大小为一个相同常数。索引生成即使用伪随机函数为每个分组生成一个随机值作为索引。数据加密即对每一个关键词对应的分组使用DPSI中的初始化算法,加密每个分组。置换即使用伪随机置换将分组和索引的顺序打乱。外包存储即将置换后的所有分组和对应的索引上传到云服务器。
在步骤S102中,交集计算步骤:将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给云服务器,利用云服务器根据映射找到不同用户的数据中待搜索关键词对应的子集合,通过DPSI中的交集计算算法对待搜索关键词对应的子集合进行求交,并将求交结果返回给发起交集计算用户。
具体地,搜索与交集计算阶段,发起交集计算的用户将待搜索的关键词和伪随机置换的密钥发送给其他用户,收到密钥的其他用户通过计算找到两个用户相同关键词分组的索引值,并生成一个索引到索引的映射发送给云服务器。云服务器利用这些映射找到不同用户的数据中待搜索关键词对应的分组,然后使用DPSI中的交集计算算法对这些分组进行求交,最后将结果返回给用户。
S-Feather协议是将Abadi等人在2020年提出的Feather协议应用到S-PSI框架中的一个实例。协议的参与方可分为一个计算发起方和剩余的计算参与方。协议分为初始化阶段和搜索与交集计算阶段。
在本申请的一个实施例中,初始化步骤进一步包括:对每个用户的数据集合进行分组,得到多个子集合;对子集合中的每个元素,计算其哈希值,根据哈希值对元素进行分组,为每个哈希桶生成一个布隆过滤器以存储哈希桶中所有的集合元素;利用多项式点值表示每个哈希桶,通过异或随机值对哈希表和布隆过滤器进行加密;基于伪随机函数生成索引,再利用伪随机置换进行置换;将每个分组子集合的哈希表及其对应的索引和布隆过滤器共同发送给云服务器。
可以理解的是,初始化阶段的初始化分为云服务器初始化和用户初始化两部分。
云服务器初始化。云服务器选择一些参数并公开,包括用户集合大小的上界、哈希表的参数、两个伪随机函数、伪随机置换和一个分量两两不同且不为零的向量。
用户初始化。包括用户集合分组和填充、为每个分组生成哈希表和布隆过滤器并加密、生成索引、置换和外包存储。分组和S-PSI中的步骤相同。生成哈希表和布隆过滤器指的是对分组中的每个元素,计算其哈希值,根据哈希值对元素进行分组,然后为每个哈希桶生成一个布隆过滤器,该过滤器存储了哈希桶中所有的集合元素。加密是指用多项式点值表示出每个哈希桶,通过异或随机值对哈希表和布隆过滤器进行加密。生成索引和置换与S-PSI中的步骤相同,略有不同的是布隆过滤器也需要进行置换。最后用户将每个分组的哈希表及其对应的索引和布隆过滤器共同发送给云服务器。
在本申请的一个实施例中,交集计算步骤进一步包括:控制计算发起方的用户和计算参与方的用户准备;在云服务器,利用计算参与方的用户发送的映射找到每个用户和关键词对应的分组,利用从计算参与方的用户接收到的解密随机值和计算发起方的临时密钥计算得到一个中间结果,将中间结果和关键词对应哈希表的布隆过滤器发送给计算发起方;计算发起方利用其他参与方的解密随机值对云服务器的中间结果解密,得到解密向量,利用解密向量和云服务器在初始化阶段选择的向量恢复出一个多项式,对多项式求根,利用云服务器发来的布隆过滤器得到最终结果。
在本申请的一个实施例中,控制计算发起方的用户和计算参与方的用户准备,包括:在计算发起方的用户选择待搜索关键词之后,生成加密待搜索关键词对应分组子集合所用的加密随机值,并利用临时密钥,将加密随机值通过伪随机函数进行加密;将加密后的加密随机值、待搜索关键词明文及生成索引所用的伪随机函数密钥一同发送给其它计算参与方,将临时密钥发送给云服务器;在计算参与方收到发送的信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给云服务器,将另一部分解密随机值发送给计算发起方。
具体地,搜索与交集计算阶段。分为准备阶段、云服务器计算和用户恢复结果三部分。
准备阶段。分为计算发起方准备和计算参与方准备。发起方首先选择一个想要搜索的关键词,然后重新生成加密该关键词对应分组时所用的加密随机值,接着选择一个临时密钥,将这些加密随机值通过伪随机函数加密。最后,将加密后的加密随机值、待搜索的关键词明文及生成索引所用的伪随机函数密钥一块发送给其它参与方,将临时密钥发送给云服务器。计算参与方收到上述信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给云服务器,将另一部分解密随机值发送给计算发起方。
云服务器计算。云服务器利用用户发来的映射,找到每个用户和关键词对应的分组,即哈希表。然后利用从用户那接收到的解密随机值和计算发起方的临时密钥计算得到一个中间结果。最后将中间结果和关键词对应哈希表的布隆过滤器发送给计算发起方。
用户恢复结果。计算发起方利用其他参与方的解密随机值对云服务器的中间结果解密,得到一个向量。利用该向量和云服务器在初始化阶段选择的向量可以恢复出一个多项式。对多项式求根,然后再利用云服务器发来的布隆过滤器即可得到最终结果。
下面将结合附图和具体实施例详细介绍S-PSI框架和S-Feather协议。其中A1,…,AN,B是用户,A1,…,AN是计算参与方,B是计算发起方,C是云服务器。
本申请实施例详细阐述了S-PSI框架和S-Feather协议的细节,适用于所有支持数据外包存储的代理隐私集合求交协议,解决了现有协议在新场景下表现不佳的问题,在半诚实敌手模型下具备安全性且高效。
S-PSI框架
设DPSI是一个支持数据外包存储的代理PSI协议,包括初始化算法Setup和交集计算算法FPSI。Setup的输入为DPSI的安全参数λ1和用户集合SB,FPSI的输入为参与计算的用户的ID:/>IDB。设PRF是一个伪随机函数:/> 其中λ2和λ3是安全参数。设π是一个伪随机置换,密钥长度为λ2。记所有用户的关键词全集为{w1,w2,…,wq},用户I(I∈{A1,A2,…,AN,B})的集合为SI
1、初始化阶段
如图2和图3所示,对每个用户I∈{A1,A2,…,AN,B},将他的集合SI按关键词进行分组,将具有相同关键词的元素放到同一个集合中,即得到q个小集合/>然后利用自己的私钥lkI为每个小集合生成索引:/>
对每个关键词对应的集合运行一次DPSI的初始化算法Setup得到加密后的数据集/>即/>记/>用户I使用私钥pkI对CI和lI进行置换:然后将/>和/>发送给云服务器完成外包存储。
2、搜索与交集计算阶段
如图4所示,首先,用户B将待搜索的关键词wk,生成索引使用的密钥lkB和IDB发送给用户A1,…,AN。接着用户Aσ(1≤σ≤N)利用用户B的密钥lkB和自己的密钥生成索引其中/>将/>和/>一起发送给云服务器。然后云服务器利用收到的映射/>找到加密后的集合/>最后对这些集合计算/>得到结果/>
S-Feather协议
1、云服务器初始化
如图5所示,云服务器选择以下参数并公开:用户集合大小的上界c,每个关键词对应的哈希表的大小h,用于生成哈希表的哈希函数H,哈希表中每个哈希桶的容量d,用于生成加密随机值的两个伪随机函数PRF和PRF′,用于置换哈希表的伪随机置换π,分量两两不同且不为零的n=2d+1维向量
2用户初始化
如图6所示,对每个用户I∈{A1,A2,…,AN,B}和它的集合SI,|SI|<c,执行以下操作。
(a)集合元素分组
对于每个关键词wk(1≤k≤q),用户找到包含该关键词的所有元素,然后将它们放入同一个集合中,即/>这样就得到了q个集合,每个集合和一个关键词相对应。
(b)生成哈希表和布隆过滤器
首先对每个关键词wk(1≤k≤q)对应的集合生成一个哈希表/>具体步骤如下:对/>中的每一个元素,计算其哈希值,即/>计算H(s)=j(1≤j≤h),然后将s放入HTk的第j个桶/>中,并对那些元素数量不足d个的哈希桶用随机值进行填充,直至哈希桶内元素的数量达到d个。最终,每个关键词wk(1≤k≤q)对应的哈希表/>都由h个填充满的哈希桶/>组成。接着,用多项式点值的形式代表每一个哈希桶。对于用户I的每一个哈希桶/>生成一个以它内部的所有元素为根的多项式:
然后计算在/>每个分量的值/>即/>这样/>就可以由一个向量/>所表示。最后,为每一个哈希桶生成一个布隆过滤器。即对任意1≤k≤q,1≤j≤h,初始化/>然后将/>中的元素都插入到/>中。
(c)加密哈希表和布隆过滤器
用户I随机选择一个主密钥kI,然后使用伪随机函数PRF为每个哈希桶生成一个子密钥:
然后对于每个哈希桶,使用伪随机函数PRF和子密钥生成n个随机值,使用这n个随机值对多项式点值进行加密:
这样对于每一个哈希桶都得到了一个加密之后的向量
随机选择一个密钥bkI,然后使用伪随机函数PRF′对每一个哈希桶对应的布隆过滤器进行加密:
(d)生成索引
随机选择私钥lkI,使用伪随机函数PRF生成索引:
(e)置换
首先定义:
然后随机选择置换密钥pkI,使用伪随机置换π对进行置换:
(f)外包存储
用户I将置换后的哈希表、布隆过滤器和索引发送给云服务器。此时用户的数据完全存储在云服务器上,用户可以通过密钥kI,bkI将数据恢复,无需在本地存储。
搜索与交集计算阶段
如图7所示,该阶段可以分为准备阶段、云服务器计算阶段和用户恢复结果阶段。
1、准备阶段
(a)计算发起方准备
用户B选择一个想要搜索的关键词wk∈{w1,w2,…,wq}。首先利用主密钥kB和伪随机函数PRF重新生成h个子密钥:
然后利用这些子密钥和伪随机函数PRF重新生成加密随机值:
接着选择一个临时密钥tkB,并使用伪随机函数PRF生成h个子密钥:
然后再利用伪随机函数PRF和生成的子密钥对进行加密:
最后,用户B将关键词明文wk,生成索引使用的密钥lkB,加密后的加密随机值和自己的id:IDB发送给每个用户Aσ∈{A1,A2,…,AN},将临时密钥tkB发送给C。
(b)计算参与方准备
以Aσ∈{A1,A2,…,AN}为例,Aσ利用自己的密钥和从用户B处接收到的密钥lkB和伪随机函数PRF,重新生成索引:
从而得到一个映射
另一方面,Aσ利用主密钥和伪随机函数PRF重新生成h个子密钥:
然后利用这些子密钥和伪随机函数PRF重新生成加密随机值:
对每一对哈希桶Aσ生成随机化处理要用到的n个随机数和两个随机的d次多项式/>并用多项式点值的形式代表它们:
简记为/>记/>
接着Aσ进行解密随机值的计算,具体步骤如下。计算:
然后
最后,Aσ将解密随机值发送给用户B,将用户Aσ和用户B的id:IDA与IDB、映射随机值/>随机多项式/>和计算请求Compute发送给云服务器。
2、云服务器计算
对于每一个用户Aσ∈{A1,A2,…,AN},云服务器都利用从Aσ处收到的映射找到Aσ和B存储的数据中关键词wk对应的哈希表,即/>然后利用从Aσ处收到的随机数/>和随机多项式/>从B处收到的临时密钥tkB和伪随机函数PRF计算中间结果,
然后,云服务器利用映射找到用户B和关键词wk对应的布隆过滤器将/>和中间结果/>一起发送给B。
3、用户恢复结果
用户B利用从Aσ处收到的解密随机值对从云服务器处收到的中间结果/>进行解密,/>/>
由于/>都是d次多项式,所以/> 是2d次多项式。又因为n=2d+1,由拉格朗日插值定理,fi(x)可以由点值向量/>恢复。
另一方面,由于fj(x)是的线性组合,所以/> 的公共根是fi(x)的根,即/>因此,用户B可以通过以下步骤得到最后的交集。
(1)利用密钥bkB和伪随机函数PRF′将从云服务器处收到的布隆过滤器解密:
(2)求出多项式fj(x)的根,并找出那些在布隆过滤器Bk,j中的根,记为Rj={x|fj(x)=0∧x∈Bk,j};
(3)求Result=R1∪R2∪…∪Rh,Result即为最终结果。
根据本申请实施例提出的高效可搜索的代理隐私集合求交方法,结合了可搜索加密和隐私集合求交的新模型,在保护数据隐私的前提下,实现了外包数据后能同时进行可搜索加密存储和代理隐私集合求交计算。提出的S-PSI框架,是一个支持单关键词精确搜索的代理PSI协议框架。该框架适用于支持数据外包存储的任何代理PSI协议,且不会对协议的线上阶段造成效率损失。另一方面,使用Abadi在2020年提出的Feather协议作为实例,得到了半诚实敌手下安全可搜索的代理PSI协议S-Feather。S-Feather与Feather相比,线上效率相差无几,进一步验证了S-PSI框架的可行性。
其次参照附图描述根据本申请实施例提出的高效可搜索的代理隐私集合求交装置。
图8为根据本申请实施例的高效可搜索的代理隐私集合求交装置的示例图。
如图8所示,该高效可搜索的代理隐私集合求交装置10包括:初始化模块100和交集计算模块200。
其中,初始化模块100,用于对每个用户的数据集合,将数据集合按关键词进行分组,将具有相同关键词的元素放到同一集合中,得到多个子集合,利用随机值将每个子集合填充为相同大小,基于伪随机函数为每个子集合生成索引,并对每个关键词对应的子集合运行作为子算法的代理隐私集合求交协议DPSI的初始化算法进行加密,得到加密后的子集合,利用伪随机置换将加密后的子集合和索引的顺序打乱,并将置换后的所有子集合和对应的索引上传到云服务器。交集计算模块200,用于将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给云服务器,利用云服务器根据映射找到不同用户的数据中待搜索关键词对应的子集合,通过DPSI中的交集计算算法对待搜索关键词对应的子集合进行求交,并将求交结果返回给发起交集计算用户
可选地,在本申请的一个实施例中,初始化模块100,进一步用于,对每个用户的数据集合进行分组,得到多个子集合;对子集合中的每个元素,计算其哈希值,根据哈希值对元素进行分组,为每个哈希桶生成一个布隆过滤器以存储哈希桶中所有的集合元素;利用多项式点值表示每个哈希桶,通过异或随机值对哈希表和布隆过滤器进行加密;基于伪随机函数生成索引,再利用伪随机置换进行置换;将每个分组子集合的哈希表及其对应的索引和布隆过滤器共同发送给云服务器。
可选地,在本申请的一个实施例中,交集计算模块200,进一步用于,控制计算发起方的用户和计算参与方的用户准备;在云服务器,利用计算参与方的用户发送的映射找到每个用户和关键词对应的分组,利用从计算参与方的用户接收到的解密随机值和计算发起方的临时密钥计算得到一个中间结果,将中间结果和关键词对应哈希表的布隆过滤器发送给计算发起方;计算发起方利用其他参与方的解密随机值对云服务器的中间结果解密,得到解密向量,利用解密向量和云服务器在初始化阶段选择的向量恢复出一个多项式,对多项式求根,利用云服务器发来的布隆过滤器得到最终结果。
可选地,在本申请的一个实施例中,控制计算发起方的用户和计算参与方的用户准备,包括:在计算发起方的用户选择待搜索关键词之后,生成加密待搜索关键词对应分组子集合所用的加密随机值,并利用临时密钥,将加密随机值通过伪随机函数进行加密;将加密后的加密随机值、待搜索关键词明文及生成索引所用的伪随机函数密钥一同发送给其它计算参与方,将临时密钥发送给云服务器;在计算参与方收到发送的信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给云服务器,将另一部分解密随机值发送给计算发起方。
需要说明的是,前述对高效可搜索的代理隐私集合求交方法实施例的解释说明也适用于该实施例的高效可搜索的代理隐私集合求交装置,此处不再赘述。
根据本申请实施例提出的高效可搜索的代理隐私集合求交装置,结合了可搜索加密和隐私集合求交的新模型,在保护数据隐私的前提下,实现了外包数据后能同时进行可搜索加密存储和代理隐私集合求交计算。提出的S-PSI框架,是一个支持单关键词精确搜索的代理PSI协议框架。该框架适用于支持数据外包存储的任何代理PSI协议,且不会对协议的线上阶段造成效率损失。另一方面,使用Abadi在2020年提出的Feather协议作为实例,得到了半诚实敌手下安全可搜索的代理PSI协议S-Feather。S-Feather与Feather相比,线上效率相差无几,进一步验证了S-PSI框架的可行性。
图9为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器901、处理器902及存储在存储器901上并可在处理器902上运行的计算机程序。
处理器902执行程序时实现上述实施例中提供的高效可搜索的代理隐私集合求交方法。
进一步地,电子设备还包括:
通信接口903,用于存储器901和处理器902之间的通信。
存储器901,用于存放可在处理器902上运行的计算机程序。
存储器901可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器901、处理器902和通信接口903独立实现,则通信接口903、存储器901和处理器902可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现上,如果存储器901、处理器902及通信接口903,集成在一块芯片上实现,则存储器901、处理器902及通信接口903可以通过内部接口完成相互间的通信。
处理器902可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的高效可搜索的代理隐私集合求交方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (4)

1.一种高效可搜索的代理隐私集合求交方法,其特征在于,包括以下步骤:
初始化步骤:对每个用户的数据集合,将所述数据集合按关键词进行分组,将具有相同关键词的元素放到同一集合中,得到多个子集合,利用随机值将每个子集合填充为相同大小,基于伪随机函数为所述每个子集合生成索引,并对每个关键词对应的子集合运行作为子算法的代理隐私集合求交协议DPSI的初始化算法进行加密,得到加密后的子集合,利用伪随机置换将加密后的子集合和索引的顺序打乱,并将置换后的所有子集合和对应的索引上传到云服务器;
交集计算步骤:将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给所述云服务器,利用所述云服务器根据所述映射找到不同用户的数据中所述待搜索关键词对应的子集合,通过DPSI中的交集计算算法对所述待搜索关键词对应的子集合进行求交,并将求交结果返回给所述发起交集计算用户;
所述初始化步骤进一步包括:
对每个用户的数据集合进行分组,得到多个子集合;
对所述子集合中的每个元素,计算其哈希值,根据哈希值对元素进行分组,为每个哈希桶生成一个布隆过滤器以存储所述哈希桶中所有的集合元素;
利用多项式点值表示所述每个哈希桶,通过异或随机值对哈希表和所述布隆过滤器进行加密;
基于伪随机函数生成索引,再利用伪随机置换进行置换;
将每个分组子集合的哈希表及其对应的索引和布隆过滤器共同发送给云服务器;
所述交集计算步骤进一步包括:
控制计算发起方的用户和计算参与方的用户准备;
在所述云服务器,利用所述计算参与方的用户发送的映射找到每个用户和关键词对应的分组,利用从所述计算参与方的用户接收到的解密随机值和所述计算发起方的临时密钥计算得到一个中间结果,将中间结果和关键词对应哈希表的布隆过滤器发送给所述计算发起方;
所述计算发起方利用其他参与方的解密随机值对所述云服务器的中间结果解密,得到解密向量,利用所述解密向量和所述云服务器在初始化阶段选择的向量恢复出一个多项式,对所述多项式求根,利用所述云服务器发来的布隆过滤器得到最终结果;
所述控制计算发起方的用户和计算参与方的用户准备,包括:
在所述计算发起方的用户选择所述待搜索关键词之后,生成加密所述待搜索关键词对应分组子集合所用的加密随机值,并利用临时密钥,将所述加密随机值通过伪随机函数进行加密;
将加密后的所述加密随机值、所述待搜索关键词明文及生成索引所用的伪随机函数密钥一同发送给其它计算参与方,将所述临时密钥发送给所述云服务器;
在所述计算参与方收到发送的信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给所述云服务器,将另一部分解密随机值发送给所述计算发起方。
2.一种高效可搜索的代理隐私集合求交装置,其特征在于,包括:
初始化模块,用于对每个用户的数据集合,将所述数据集合按关键词进行分组,将具有相同关键词的元素放到同一集合中,得到多个子集合,利用随机值将每个子集合填充为相同大小,基于伪随机函数为所述每个子集合生成索引,并对每个关键词对应的子集合运行作为子算法的代理隐私集合求交协议DPSI的初始化算法进行加密,得到加密后的子集合,利用伪随机置换将加密后的子集合和索引的顺序打乱,并将置换后的所有子集合和对应的索引上传到云服务器;
交集计算模块,用于将发起交集计算用户的待搜索关键词和伪随机置换密钥发送给其他用户,以使其他用户通过计算找到两个用户相同关键词子集合的索引值,并生成一个索引到索引的映射发送给所述云服务器,利用所述云服务器根据所述映射找到不同用户的数据中所述待搜索关键词对应的子集合,通过DPSI中的交集计算算法对所述待搜索关键词对应的子集合进行求交,并将求交结果返回给所述发起交集计算用户;
所述初始化模块,进一步用于,对每个用户的数据集合进行分组,得到多个子集合;对所述子集合中的每个元素,计算其哈希值,根据哈希值对元素进行分组,为每个哈希桶生成一个布隆过滤器以存储所述哈希桶中所有的集合元素;利用多项式点值表示所述每个哈希桶,通过异或随机值对哈希表和所述布隆过滤器进行加密;基于伪随机函数生成索引,再利用伪随机置换进行置换;将每个分组子集合的哈希表及其对应的索引和布隆过滤器共同发送给云服务器;
所述交集计算模块,进一步用于,控制计算发起方的用户和计算参与方的用户准备;在所述云服务器,利用所述计算参与方的用户发送的映射找到每个用户和关键词对应的分组,利用从所述计算参与方的用户接收到的解密随机值和所述计算发起方的临时密钥计算得到一个中间结果,将中间结果和关键词对应哈希表的布隆过滤器发送给所述计算发起方;所述计算发起方利用其他参与方的解密随机值对所述云服务器的中间结果解密,得到解密向量,利用所述解密向量和所述云服务器在初始化阶段选择的向量恢复出一个多项式,对所述多项式求根,利用所述云服务器发来的布隆过滤器得到最终结果;
所述控制计算发起方的用户和计算参与方的用户准备,包括:
在所述计算发起方的用户选择所述待搜索关键词之后,生成加密所述待搜索关键词对应分组子集合所用的加密随机值,并利用临时密钥,将所述加密随机值通过伪随机函数进行加密;
将加密后的所述加密随机值、所述待搜索关键词明文及生成索引所用的伪随机函数密钥一同发送给其它计算参与方,将所述临时密钥发送给所述云服务器;
在所述计算参与方收到发送的信息之后,利用自己的密钥生成索引之间的映射和解密随机值,将映射和一部分解密随机值发送给所述云服务器,将另一部分解密随机值发送给所述计算发起方。
3.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1所述的高效可搜索的代理隐私集合求交方法。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1所述的高效可搜索的代理隐私集合求交方法。
CN202111331349.XA 2021-11-11 2021-11-11 高效可搜索的代理隐私集合求交方法及装置 Active CN114491613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111331349.XA CN114491613B (zh) 2021-11-11 2021-11-11 高效可搜索的代理隐私集合求交方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111331349.XA CN114491613B (zh) 2021-11-11 2021-11-11 高效可搜索的代理隐私集合求交方法及装置

Publications (2)

Publication Number Publication Date
CN114491613A CN114491613A (zh) 2022-05-13
CN114491613B true CN114491613B (zh) 2024-04-16

Family

ID=81492874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111331349.XA Active CN114491613B (zh) 2021-11-11 2021-11-11 高效可搜索的代理隐私集合求交方法及装置

Country Status (1)

Country Link
CN (1) CN114491613B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115563165A (zh) * 2022-10-24 2023-01-03 华东师范大学 一种安全高效的关键词搜索方法
CN116842561B (zh) * 2023-06-29 2024-05-24 上海零数众合信息科技有限公司 一种数据集可动态增删的隐私求交系统和方法
CN117010002B (zh) * 2023-09-28 2024-01-05 腾讯科技(深圳)有限公司 样本标识的对齐方法、装置、电子设备及存储介质
CN117077179B (zh) * 2023-10-11 2024-01-02 中国移动紫金(江苏)创新研究院有限公司 基于差分隐私排序的可搜索加密方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120108121A (ko) * 2011-03-23 2012-10-05 순천향대학교 산학협력단 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
KR101476039B1 (ko) * 2013-06-19 2014-12-23 세명대학교 산학협력단 데이터베이스 암호화 방법 및 이의 실시간 검색 방법
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
US9946720B1 (en) * 2015-12-04 2018-04-17 Ionu Security, Inc. Searching data files using a key map
WO2020133032A1 (zh) * 2018-12-27 2020-07-02 深圳技术大学(筹) 一种可防伪造的多用户密文搜索方法
WO2021068726A1 (zh) * 2019-10-08 2021-04-15 深圳前海微众银行股份有限公司 一种区块链中的交易哈希值存储和搜索方法及装置
CN113132345A (zh) * 2021-03-04 2021-07-16 北京航空航天大学 具有可搜索功能的代理隐私集合求交方法
CN113254955A (zh) * 2021-05-01 2021-08-13 西安电子科技大学 前向安全的连接关键词对称可搜索加密方法、系统及应用
CN113626484A (zh) * 2021-07-03 2021-11-09 西安电子科技大学 一种可灵活替换密文可搜索加密方法、系统及计算机设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120108121A (ko) * 2011-03-23 2012-10-05 순천향대학교 산학협력단 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
KR101476039B1 (ko) * 2013-06-19 2014-12-23 세명대학교 산학협력단 데이터베이스 암호화 방법 및 이의 실시간 검색 방법
US9946720B1 (en) * 2015-12-04 2018-04-17 Ionu Security, Inc. Searching data files using a key map
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
WO2020133032A1 (zh) * 2018-12-27 2020-07-02 深圳技术大学(筹) 一种可防伪造的多用户密文搜索方法
WO2021068726A1 (zh) * 2019-10-08 2021-04-15 深圳前海微众银行股份有限公司 一种区块链中的交易哈希值存储和搜索方法及装置
CN113132345A (zh) * 2021-03-04 2021-07-16 北京航空航天大学 具有可搜索功能的代理隐私集合求交方法
CN113254955A (zh) * 2021-05-01 2021-08-13 西安电子科技大学 前向安全的连接关键词对称可搜索加密方法、系统及应用
CN113626484A (zh) * 2021-07-03 2021-11-09 西安电子科技大学 一种可灵活替换密文可搜索加密方法、系统及计算机设备

Also Published As

Publication number Publication date
CN114491613A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114491613B (zh) 高效可搜索的代理隐私集合求交方法及装置
US20210377010A1 (en) Key management method and related device
Barsoum et al. On verifying dynamic multiple data copies over cloud servers
CN108632248A (zh) 数据加密方法、数据查询方法、装置、设备及存储介质
CN111526197B (zh) 一种云端数据安全共享方法
Yi et al. Efficient integrity verification of replicated data in cloud computing system
Rührmair et al. On the practical use of physical unclonable functions in oblivious transfer and bit commitment protocols
CN112131227A (zh) 一种基于联盟链的数据查询方法及装置
CN110392038A (zh) 一种多用户场景下可验证的多密钥可搜索加密方法
CN108038128A (zh) 一种加密文件的检索方法、系统、终端设备及存储介质
CN110175169A (zh) 一种加密数据去重方法、系统及相关装置
CN111368318B (zh) 一种面向多模态区块链交易的客体追踪方法
CN115102688A (zh) 数据处理方法、多项式计算方法及电子设备
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
CN115001730A (zh) 分布式场景下基于角色属性的访问控制系统及方法
CN113630250A (zh) 基于数据加密的模型训练方法及系统
CN116170142B (zh) 分布式协同解密方法、设备和存储介质
CN116010401A (zh) 基于区块链与不经意传输扩展的信息匿踪查询方法及系统
CN109936562A (zh) 一种面向雾计算的可扩展访问控制方法
CN113132345B (zh) 具有可搜索功能的代理隐私集合求交方法
KR101133988B1 (ko) 해쉬 트리 기반의 스트림 암호화 및 복호화 방법과 암호 파일 시스템
CN114020793A (zh) 一种多机构间隐私数据查询方法、装置、设备及存储介质
CN112583580B (zh) 一种量子密钥的处理方法及相关设备
CN112580061B (zh) 一种量子加解密应用接口的调用方法及相关设备
US11451518B2 (en) Communication device, server device, concealed communication system, methods for the same, and program

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