CN117574435A - 基于同态加密的多关键词匿踪查询方法、装置及系统 - Google Patents

基于同态加密的多关键词匿踪查询方法、装置及系统 Download PDF

Info

Publication number
CN117574435A
CN117574435A CN202410045962.2A CN202410045962A CN117574435A CN 117574435 A CN117574435 A CN 117574435A CN 202410045962 A CN202410045962 A CN 202410045962A CN 117574435 A CN117574435 A CN 117574435A
Authority
CN
China
Prior art keywords
matrix
queried
ciphertext
keyword
data
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.)
Granted
Application number
CN202410045962.2A
Other languages
English (en)
Other versions
CN117574435B (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.)
Cloud Array Hangzhou Internet Technology Co ltd
Original Assignee
Cloud Array Hangzhou Internet Technology Co ltd
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 Cloud Array Hangzhou Internet Technology Co ltd filed Critical Cloud Array Hangzhou Internet Technology Co ltd
Priority to CN202410045962.2A priority Critical patent/CN117574435B/zh
Publication of CN117574435A publication Critical patent/CN117574435A/zh
Application granted granted Critical
Publication of CN117574435B publication Critical patent/CN117574435B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

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

Abstract

本申请提供基于同态加密的多关键词匿踪查询方法、装置及系统,其中基于同态加密的多关键词匿踪查询方法应用于数据查询方,包括:获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据密文矩阵和各待查询关键词生成匿名矩阵;将密文矩阵和匿名矩阵发送至数据提供方,以使数据提供方根据密文矩阵和匿名矩阵生成密文查询结果;获得数据提供方返回的密文查询结果,并根据同态加密公钥对应的同态加密私钥解密密文查询结果,获得各待查询关键词对应的关键词查询结果。通过本申请提供的方法,使用矩阵的同态加密计算,节省了计算资源。

Description

基于同态加密的多关键词匿踪查询方法、装置及系统
技术领域
本申请涉及计算机技术领域,特别涉及基于同态加密的多关键词匿踪查询方法。本申请同时涉及基于同态加密的多关键词匿踪查询装置及系统,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着科学技术的发展,人们的生活逐渐智能化,人们也开始越来越注重隐私生活。在当前的现实生活中,往往会出现用户需要向数据提供方查询数据的情况,当用户在数据库中检索信息时,现有的隐匿查询技术会采用一定的方法来阻止数据库服务器知晓用户查询的相关信息,从而保护用户的查询隐私。例如,医药数据库、专利数据库等,对检索隐私有着较高的要求。
在多关键词匿踪查询场景中,通信开销和计算开销随着关键词个数线性增长,当关键词个数较多的情况下,会消耗较大的通信开销和计算开销,因此,在多关键词匿踪查询场景下如何获得更好的查询效果,同时减少通信开销和计算开销就成为技术人员亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了基于同态加密的多关键词匿踪查询方法。本申请同时涉及基于同态加密的多关键词匿踪查询装置及系统,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
根据本申请实施例的第一方面,提供了一种基于同态加密的多关键词匿踪查询方法,应用于数据查询方,包括:
获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;
根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;
将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果;
获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
根据本申请实施例的第二方面,提供了一种基于同态加密的多关键词匿踪查询方法,应用于数据提供方,包括:
接收数据查询方发送的密文矩阵和匿名矩阵;
根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;
根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;
将所述密文查询结果发送至所述数据查询方。
根据本申请实施例的第三方面,提供了一种基于同态加密的多关键词匿踪查询系统,包括数据查询方和数据提供方;其中,
所述数据查询方,被配置为获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;将所述密文矩阵和所述匿名矩阵发送至数据提供方;
所述数据提供方,被配置为根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;将所述密文查询结果发送至所述数据查询方;
所述数据查询方,进一步被配置为根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
根据本申请实施例的第四方面,提供了一种基于同态加密的多关键词匿踪查询装置,应用于数据查询方,包括:
获取模块,被配置为获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;
生成模块,被配置为根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;
发送模块,被配置为将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果;
解密模块,被配置为获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
根据本申请实施例的第五方面,提供了一种基于同态加密的多关键词匿踪查询装置,应用于数据提供方,包括:
接收模块,被配置为接收数据查询方发送的密文矩阵和匿名矩阵;
查询模块,被配置为根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;
同态计算模块,被配置为根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;
发送模块,被配置为将所述密文查询结果发送至所述数据查询方。
根据本申请实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述基于同态加密的多关键词匿踪查询方法的步骤。
根据本申请实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述基于同态加密的多关键词匿踪查询方法的步骤。
本申请提供的基于同态加密的多关键词匿踪查询方法,应用于数据查询方,包括获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果;获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
本申请一实施例同态加密矩阵拼接算法,将数据查询从向量查询扩展为矩阵查询,结合同态加密的性质实现密文矩阵的压缩,同态加密和矩阵拼接相互补充,同态加密解决矩阵传输开销过大的问题,同时矩阵拼接解决同态计算复杂度过大和密文向量过多的问题,节省了计算资源。
附图说明
图1是本申请一实施例提供的一种基于同态加密的多关键词匿踪查询系统的应用场景示意图;
图2是本申请一实施例提供的一种应用于数据查询方的基于同态加密的多关键词匿踪查询方法的流程图;
图3是本申请一实施例提供的一种应用于数据提供方的基于同态加密的多关键词匿踪查询方法的流程图;
图4是本申请一实施例提供的一种基于同态加密的多关键词匿踪查询系统的结构示意图;
图5是本申请一实施例提供的一种应用于数据查询方的基于同态加密的多关键词匿踪查询装置的结构示意图;
图6是本申请一实施例提供的一种应用于数据提供方的基于同态加密的多关键词匿踪查询装置的结构示意图;
图7是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
匿踪查询(Private InformationRetrieval – PIR):也称隐私信息检索,是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。通常隐匿查询是一次查询单一数据,本文中多关键词隐匿查询是指一次查询多条数据。
不经意伪随机函数(Oblivious Pseudo Random Function - OPRF):两方执行的密码学协议,一方通过该协议获得自己数据对应的伪随机函数值,而另一方获得该伪随机函数的种子。其中接收方除了知道自己数据对应的伪随机函数值,不知道任何其他信息,同样接收方仅获得伪随机函数的种子,对于接收方的数据一无所知。
同态加密(Homomorphic Encryption - HE):一种加密技术,具有强大的计算能力。它允许在加密状态下对加密数据进行计算操作,而无需解密数据。这意味着可以对加密数据执行某种计算,并在不泄露明文数据的情况下获得结果。
明文(Plaintext):数据的原始形式,未经过加密的数据。
密文(Ciphertext):使用加密算法对明文进行处理后的结果,以保护数据的机密性。
加密函数(Encryption Function):将明文转换为对应密文的函数。
解密函数(Decryption Function):将密文转换回对应明文的函数。
加法同态性(Additive Homomorphism):指密文之间可以进行加法操作,其解密结果等于在对应明文上执行加法操作后的结果。
乘法同态性(Multiplicative Homomorphism):指密文之间可以进行乘法操作,其解密结果等于在对应明文上执行乘法操作后的结果。
完全全同态加密(Fully Homomorphic Encryption,简称FHE):一种拥有加法和乘法同态性质的全同态加密方案,允许在密文状态下对数据进行任意多次计算操作,并得到正确的加密结果。
全关键词获取难度:全关键词获取难度是指在一系列猜测中,成功获取所有关键词的困难程度。它可以通过以下方式计算:将每个关键词被猜中的概率相乘,然后取其倒数。这个值越大,表示获取所有关键词的难度越高;反之,值越小,表示获取所有关键词的难度越低。
匿踪查询是一种被广泛应用的隐私计算技术,它可以防止数据库服务器获得用户查询语句的相关信息,从而保护用户的查询隐私。在数据越来越重要的时代,数据的流通具有巨大的潜在价值,因此数据运营商需要提供或者流通有价值且有意义的数据,并确保没有不必要的信息泄漏。为了实现数据的安全性和有效性,隐私信息检索的发展和普及需要不断提高隐私保密技术,并增强人们对隐私保护的认知。在现实生活中,医药数据库、专利数据库等对检索隐私有较高要求的领域,隐匿查询具有广泛应用的空间。
目前被广泛应用于的匿踪查询方案包括:基于不经意伪随机函数(OPRF)匿踪查询方案和基于同态加密的匿踪查询方案。在数据方数据量较小时,这两种方案都可以构造基于数据方全量数据的匿踪查询方案,当数据量较大时采用构造一定安全强度的匿名空间,来保护查询信息,换句话说,数据量小时匿名空间为全量数据。不同的是,基于不经意伪随机函数匿踪查询方案数据方需要将匿名空间的数据进行加密,并将密文发送给查询方,若查询方想要获取其中数据,需要通过不经意伪随机函数获取查询关键词对应的伪随机数作为密钥,解密密文获取最终查询数据;而基于同态加密的匿踪查询方案,需要生成一个与匿名空间相同数据规模的密文向量,数据方通过密文同态计算,仅返回唯一密文。
基于不经意伪随机函数匿踪查询,主要优点是:无需同态密文计算,容易拓展为多关键词匿踪查询,而主要问题在于密文传输量过大,需要将全量数据加密返还到查询方,当数据量过大时很难实现;而基于同态加密匿踪查询方案,通信开销相对较低,通过同态计算仅需返还最终被查询关键词对应的数据密文,但需要注意的是,当同态加密匿踪查询方案拓展到多关键词匿踪查询时,效果不佳:同态匿踪查询方案通信开销由密态向量的长度和密文数据决定,密态向量和密文数据的个数会随查询关键词个数线性增长,这将导致通信开销也会线性增长;并且其计算开销主要由密文向量和被查询数据的密态“乘、和”计算构成,而其密态“乘、和”计算也会随查询关键词个数线性增长。
基于此,在本申请中,提供了基于同态加密的多关键词匿踪查询方法,本申请同时涉及基于同态加密的多关键词匿踪查询装置及系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种基于同态加密的多关键词匿踪查询系统的应用场景示意图。本申请实施例提供的基于同态加密的多关键词匿踪查询方法应用于终端,该终端可以是笔记本电脑、台式电脑、平板电脑、智能设备、服务器、云服务器、分布式服务器等。在本申请提供的实施例中,对终端的具体形式不做限定。数据提供方中保存有全量业务数据,通过某个关键词可以查询到对应的业务数据。
如图1所示,数据查询方要对N个待查询关键词进行查询,但是又不希望数据提供方知道自己想要查询哪些数据,可以基于待查询关键词生成两个矩阵,分别为匿名矩阵和密文矩阵,其中,匿名矩阵的维度为M*N,密文矩阵的维度为M*K,其中,M为查询中的匿名倍数,又可以称为查询不可区分度,查询不可区分度具体是指有在M条数据中,一次找到目标数据的困难度,M值越高,越不易查询到目标数据。K为N个待查询关键词划分为K个待查询关键词组。
具体的,数据查询方将N个待查询关键词划分为K个待查询关键词组,产生一个M*K的全0矩阵,在各矩阵列中随机选取一个位置Ki=1,Ki所在的列对应的其他元素均为0,生成关键词组标记矩阵,再通过同态加密公钥对关键词组标记矩阵的每个元素进行加密,获得密文矩阵。
再根据N个待查询关键词,生成M*N的空矩阵,根据密文矩阵中各待查询关键词所在的待查询关键词组的位置信息,将各待查询关键词填充到M*N的空矩阵中,生成初始查询矩阵,再将初始查询矩阵中为空元素随机填充扰动关键词,生成M*N的匿名矩阵。
数据查询方将匿名矩阵和密文矩阵发送至数据提供方,数据提供方根据匿名矩阵在数据库中查询匿名矩阵对应的业务数据矩阵,业务数据矩阵的维度为M*N,将业务数据矩阵和密文矩阵进行同态加密计算,生成密文查询结果,再将密文查询结果返回给数据查询方。
数据查询方根据同态加密公钥对应的同态加密私钥解密该密文查询结果,获得各关键词对应的关键词查询结果。从而完成基于关键词的匿踪查询。
通过本申请提供的基于同态加密的多关键词匿踪查询系统,通过同态加密矩阵拼接算法,将数据查询从向量查询拓展为矩阵查询,结合同态加密的性质实现密文矩阵的压缩,同态加密和矩阵拼接相互补充,同态加密解决矩阵传输开销过大的问题,同时矩阵拼接解决同态计算复杂度过大和密文向量过多的问题。
与传统的同态加密查询方式相比,本申请提供的方法打破了匿踪查询计算和通信复杂度随着关键词个数线性增长的问题,使得通信开销和计算开销不会随着关键词个数的增长而增长,在获得更好的查询效果的同时,还能减少通信开销和计算开销。
图2示出了根据本申请一实施例提供的一种应用于数据查询方的基于同态加密的多关键词匿踪查询方法的流程图,该方法应用于数据查询方,具体包括以下步骤:
步骤202:获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词。
其中,待查询关键词具体是指数据查询方在数据查询任务中,向数据提供方提供的数据查询依据,数据提供方根据待查询关键词为数据查询方提供相应的业务数据。
待查询关键词组具体是指将待查询关键词进行分组后生成的由至少一个待查询关键词组成的组。
在本申请提供的一具体实施方式中,获取至少一个待查询关键词组,包括:
接收至少一个待查询关键词;
根据预设分组规则,将各待查询关键词分为至少一个待查询关键词组。
预设分组规则具体是指将多个待查询关键词分为多个待查询关键词组的规则,在实际应用中,数据查询方会接收到多个待查询关键词,通过本申请提供的方法,将多个待查询关键词分为多个待查询关键词组。例如,以待查询关键词有N个为例,将N个待查询关键词划分为K个待查询关键词组,则每个待查询关键词组中包括有N/K个待查询关键词。
在实际应用中,每个待查询关键词组中的待查询关键词的数量可以相同,也可以不同。例如,以待查询关键词有100个为例,将100个待查询关键词分为20个待查询关键词组,则每个待查询关键词组可以有5个待查询关键词;又例如,以待查询关键词有100个为例,将100个待查询关键词分为3组,第一个待查询关键词组可以有30个待查询关键词,第二个待查询关键词组可以有50个待查询关键词,第三个待查询关键词组可以有20个待查询关键词。
优选的,在本申请提供的方法中,多个待查询关键词平均分配到多个待查询关键词组中,如果待查询关键词组的数量不能被待查询关键词整除,则某几个待查询关键词组中的待查询关键词组数量可以与其他待查询关键词组的待查询关键词组数量不同,例如,以待查询关键词有99个为例,将99个待查询关键词分为5个待查询关键词组,则前4个待查询关键词组中分别有20个待查询关键词,第5个待查询关键词组中有19个待查询关键词。
步骤204:根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵。
在将各待查询关键词进行分组,生成多个待查询关键词组之后,可以生成对应的密文矩阵和匿名矩阵,其中,密文矩阵具体是指经过同态加密公钥加密和预设匿名倍数加密、与各待查询关键词组对应的矩阵;匿名矩阵具体是指由各待查询关键词组成的、待查询关键词与待查询关键词组对应的矩阵。密文矩阵用于后续进行同态计算,匿名矩阵用于后续进行业务数据查询。
预设匿名倍数具体是指查询不可区分度,查询不可区分度具体是指有在多条数据中,一次找到目标数据的困难度。预设匿名倍数越高,越不易查询到目标数据。在本申请提供的具体实施方式中,预设匿名倍数可以用M表示。
在本申请提供的一具体实施方式中,根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,包括:
S2042、根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵。
具体的,在生成密文矩阵的过程中,先根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵,其中,关键词组标记矩阵具体是指用于标记关键词组位置信息的矩阵,在实际应用中,关键词组标记矩阵的维度根据预设匿名倍数和各待查询关键词组的数量确定。以预设匿名倍数为M,待查询关键词组的数量为K为例,则关键词组标记矩阵的维度为M*K,其中M为关键词组标记矩阵的行数,K为关键词组标记矩阵的列数。
具体的,根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵,包括:
根据预设匿名倍数和待查询关键词组的数量生成初始全零矩阵;
在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,并将各待查询关键词组对应的位置信息标记为1,生成关键词组标记矩阵。
在本申请提供的方法中,先根据预设匿名倍数M和待查询关键词组的数量K生成M*K的初始全零矩阵,在初始全零矩阵中,每个元素均为0。
之后,在初始全零矩阵中,确定各待查询关键词组对应的位置信息,在确定了各待查询关键词组对应位置信息后,将该位置信息标记为1,从而生成关键词组标记矩阵,关键词组标记矩阵为01矩阵。即关键词组标记矩阵中,标记为1的元素对应一个待查询关键词组。
在实际应用中,关键词组标记矩阵的列与待查询关键词组的数量相同,在生成关键词组标记矩阵的过程中,每一个矩阵列中只有一个元素被标记为1。相应的,在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,包括:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
在所述初始全零矩阵中确定所述目标待查询关键词组对应的待确定矩阵列,其中,所述待确定矩阵列为未标记有1的矩阵列;
在所述待确定矩阵列中确定所述目标待查询关键词组对应的目标位置信息。
在实际应用中,先在多个待查询关键词组中选取一个目标待查询关键词组,再从初始全零矩阵中为该目标待查询关键词组选取对应的待确定矩阵列,需要注意的是,待确定矩阵列中的所有元素需要均为0。再从待确定矩阵列中随机选取一个元素为目标待查询关键词组对应的目标位置信息,并将该目标位置信息的元素值改为1。
在所有的待查询关键词组都标记完成之后,生成关键词组标记矩阵。
以有10条待查询关键词为例进行解释说明,即N=10,将10个待查询关键词(D1、D2……D10)划分为5组,每个待查询关键词组中包括2个待查询关键词,即K=5,同时预设匿名倍数M=3。基于此,先生成如下述表1所示的M*K的初始全零矩阵。
表1
其中,每一列对应一个待查询关键词组,在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,并将各待查询关键词组对应的位置信息标记为1,生成如下述表2所示的M*K的关键词组标记矩阵。
表2
在实际应用中,关键词组标记矩阵中矩阵列的顺序可以与待查询关键词组的顺序相同,也可以不同,只需要保证关键词组标记矩阵中待查询关键词组的顺序与匿名矩阵中待查询关键词。
S2044、根据同态加密公钥加密所述关键词组标记矩阵,生成密文矩阵。
在获得了关键词组标记矩阵之后,再使用同态加密公钥加密该关键词组标记矩阵,生成密文矩阵。
在实际应用中,先生成同态加密公私钥对,即同态加密公钥和该同态加密公钥对应的同态加密私钥,同态加密公钥用于对数据进行加密,同态加密私钥用于对加密数据进行解密。
在本申请提供的方法中,用同态加密公钥对关键词组标记矩阵中的各个元素值进行加密,生成密文矩阵。
沿用上例,以同态加密公钥为Enc为例,用同态加密公钥对表2所示的关键词组标记矩阵进行加密,生成如下表3所示的密文矩阵。
表3
需要注意的是,在实际应用中,同态加密公钥Enc虽然都是对0或1进行加密,但是最终得到的密文是不同的,即同态加密公钥Enc对三个0进行加密,会得到三个不同的密文。
在本申请提供的一具体实施方式中,根据所述密文矩阵和各待查询关键词生成匿名矩阵,包括:
根据所述预设匿名倍数和各待查询关键词的数量生成初始空矩阵;
根据所述关键词组标记矩阵将各待查询关键词插入所述初始空矩阵,生成初始查询矩阵;
生成扰动关键词填充所述初始查询矩阵中的空元素,生成匿名矩阵。
在实际应用中,匿名矩阵具体是指隐藏有待查询关键词和扰动关键词的矩阵。当数据提供方得到该矩阵后,无法从匿名矩阵中获知数据查询方的真实查询意图。在生成匿名矩阵的过程中,需要参考密文矩阵。
具体的,根据与密文矩阵相同的预设匿名倍数和各待查询关键词的数量生成初始空矩阵。以预设匿名倍数为M,待查询关键词的数量为N为例,生成M*N的初始空矩阵。
根据关键词组标记矩阵可以将各待查询关键词插入到初始空矩阵中,生成初始查询矩阵,此时的初始查询矩阵,只有与关键词组标记矩阵对应位置上有各待查询关键词,其他元素还依然为空。最后,再生成扰动关键词,将初始查询矩阵中的空元素填充完毕,生成匿名矩阵。
其中,根据所述关键词组标记矩阵将各待查询关键词插入所述初始空矩阵,生成初始查询矩阵,包括:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
确定所述目标待查询关键词组对应的目标位置信息和各目标待查询关键词;
根据所述目标位置信息在所述初始空矩阵中确定各目标待查询关键词对应的目标关键词位置信息;
根据各目标待查询关键词对应的目标关键词位置信息填充至所述初始空矩阵,生成初始查询矩阵。
在根据关键词组标记矩阵将各待查询关键词插入到初始空矩阵的过程中,需要保证待查询关键词在初始空矩阵中的位置与待查询关键词组在关键词组标记矩阵中的位置是对应的。
具体的, 先确定一个目标待查询关键词组,这里的目标待查询关键词组可以是各待查询关键词组中的任一个。在确定了目标待查询关键词组后,确定目标待查询关键词组在关键词组标记矩阵中的目标位置信息,以及目标待查询关键词组对应的各目标待查询关键词。根据该目标位置信息在初始空矩阵中确定各目标待查询关键词的目标关键词位置信息,根据各目标待查询关键词的目标关键词位置信息将各目标关键词填充到初始空矩阵中,生成初始查询矩阵。
例如,如果待查询关键词组在关键词组标记矩阵中的位置是第1列,第1行,待查询关键词组对应有2个待查询关键词,则这两个待查询关键词在初始空矩阵中的位置是第1列,第1行和第2行。将第1个待查关键词插入到第1列,第1行的位置,将第2个待查询关键词插入到第1列,第2行的位置。
沿用上例,以有10条待查询关键词为例进行解释说明,即N=10,将10个待查询关键词(D1、D2……D10)划分为5组,每个待查询关键词组中包括2个待查询关键词,即K=5,同时预设匿名倍数M=3。先创建M*N的初始空矩阵,生成如下表4所示的维度为3*10的初始空矩阵。
表4
参见上述表2所示的关键词组标记矩阵,一共有5组待查询关键词组,每个待查询关键词组有2个待查询关键词,则第1个待查询关键词组对应初始空矩阵中的第1-2列,第2个待查询关键词组对应初始空矩阵中的第3-4列,第3个待查询关键词组对应初始空矩阵中的第5-6列,第4个待查询关键词组对应初始空矩阵中的第7-8列,第5个待查询关键词组对应初始空矩阵中的第9-10列。
对于第1个待查询关键词组,在关键词组标记矩阵中的位置信息为(1,1),第1组待查询关键词组对应的待查询关键词为(D1、D2),则D1对应的位置信息为(1,1),D2对应的位置信息为(1,2);对于第2个待查询关键词组,在关键词组标记矩阵中的位置信息为(2,2),第2组待查询关键词组对应的待查询关键词为(D3、D4),则D3对应的位置信息为(2,3),D4对应的位置信息为(2,4)……。
综上,将各待查询关键词填充到初始空矩阵中,生成如下表5所示的初始查询矩阵。
表5
在获得初始查询矩阵之后,生成扰动关键词填充至该初始查询矩阵中的各空元素,生成如下表6所示的匿名矩阵。
表6
其中,D*代表扰动关键词,为了便于表示,统一用D*表示,但是在实际应用中,每个D*的具体内容是不同的。
步骤206:将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果。
在生成了密文矩阵和匿名矩阵之后,将密文矩阵和匿名矩阵发送给数据提供方,以使数据提供方根据密文矩阵和匿名矩阵生成密文查询结果,在实际应用中,密文查询结果具体是指在数据提供方生成的,用于返回给数据查询方的加密业务数据结果。
步骤208:获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
数据提供方会向数据查询方返回密文查询结果,在实际应用中,密文查询结果会是一串加密字符串。可以使用同态加密公钥对应的同态加密私钥对其进行解密,从而获得各待查关键词对应的关键词查询结果。
具体的,根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果,包括:
根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得查询结果字符串;
根据预设标识符拆分所述查询结果字符串,获得各待查询关键词对应的关键词查询结果。
在实际应用中,密文查询结果是多个加密字符串,加密字符串的数量与待查询关键词组的数量相同,每个加密字符串就是对应待查询关键词组中各待查询关键词对应的查询结果。例如,对于K个待查询关键词组,会生成K个加密字符串,即密文查询结果为K个加密字符串。
使用同态加密公钥对应的同态加密私钥对各加密字符串进行解密,获得查询结果字符串,查询结果字符串具体是指各待查询关键词对应的查询结果组成的字符串。
再使用预设标识符,将查询结果字符串进行拆分,即可获得各待查询关键词对应的关键词查询结果。
例如,以密文查询结果为Enc(Value(D1)#Value(D2)#……)为例,使用同态加密公钥对应的同态加密私钥对密文查询结果进行解密,可以获得查询结果字符串Value(D1)#Value(D2)#……;其中“#”即为预设标识符,通过预设标识符“#”将查询结果字符串进行拆分,获得Value(D1)、Value(D2)、Value(D3)……,则Value(D1)即为待查询关键词D1的关键词查询结果,Value(D2)即为待查询关键词D2的关键词查询结果,Value(D3)即为待查询关键词D3的关键词查询结果……。
通过本申请提供的应用于数据查询方的基于同态加密的多关键词匿踪查询方法,将多个待查询关键词划分为多个待查询关键词组,并根据匿名倍数,生成对应的密文矩阵,在密文矩阵中包括0或1对应的密文信息,同时将待查询的多个待查询关键词和多个扰动关键词组成匿名矩阵,匿名矩阵中待查询关键词与密文矩阵中的1对应,通过密文矩阵和匿名矩阵可以得知哪些关键词是待查询关键词,哪些关键词是扰动关键词,这样,在将匿名矩阵和密文矩阵发送给数据提供方之后,数据提供方无法得知数据查询方想要查询的真正信息。可以很好的起到数据信息的隐匿功能。保证了数据的安全性。
图3示出了根据本申请一实施例提供的一种应用于数据提供方的基于同态加密的多关键词匿踪查询方法的流程图,该方法应用于数据提供方,具体包括以下步骤:
步骤302:接收数据查询方发送的密文矩阵和匿名矩阵。
数据查询方即上述实施例中的数据查询方,密文矩阵和匿名矩阵,即上述实施例中的密文矩阵和匿名矩阵。在本申请提供的一具体实施方式中,数据提供方与数据查询方建立通信连接,数据查询方通过该通信连接将密文矩阵和匿名矩阵发送给数据提供方,数据提供方接收到该密文矩阵和匿名矩阵。
步骤304:根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同。
匿名矩阵中为需要进行查询的待查询关键词,但是由于在匿名矩阵中存在有扰动关键词,因此,数据查询方也不清楚哪些是真正要查询的关键词,哪些是扰动关键词,只需要根据匿名矩阵中的关键词进行查询即可。在查询到相应的业务数据之后,可以根据密文矩阵的位置信息,将各个业务数据进行拼接,获得数据拼接矩阵。
数据拼接矩阵的维度与密文矩阵的维度相同,即将查询得到的业务数据按照密文矩阵中待查询关键词分组的规则进行分组拼接,获得数据拼接矩阵。以密文矩阵的维度为M*K为例,则数据拼接矩阵的维度也为M*K。
具体的,根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,包括:
根据所述匿名矩阵在预设数据库中进行查询,获得业务数据矩阵;
根据所述业务数据矩阵和所述密文矩阵,生成数据拼接矩阵。
在实际应用中,先根据匿名矩阵在预设数据库中进行查询,将查询到的业务数据按照匿名矩阵中各元素的顺序,生成对应的业务数据矩阵。业务数据矩阵即为匿名矩阵进行数据查询之后生成的矩阵。
在获得业务数据矩阵之后,根据密文矩阵的列数,将业务数据矩阵进行拼接,可以理解为按照密文矩阵中待查询关键词组对各业务数据进行拼接。使得同一个待查询关键词组对应的业务数据拼接到一个元素中。从而使得数据拼接矩阵的维度与密文矩阵的维度相同。
更进一步的,根据所述业务数据矩阵和所述密文矩阵,生成数据拼接矩阵,包括:
根据所述密文矩阵确定所述业务数据矩阵中各元素对应的分组规则;
根据各元素对应的分组规则和预设标识符拼接各元素,生成数据拼接矩阵。
在实际应用中,从密文矩阵中,可以获取到待查询关键词的分组规则,将待查询关键词的分组规则作为业务数据矩阵中各元素对应的分组规则,再利用预先规定的预设标识符,将各元素(即业务数据)进行拼接,生成数据拼接矩阵。
在本申请提供的一具体实施方式中,沿用上一实施例中的具体实例。数据查询方可以获得表3所示的密文矩阵和表6所示的匿名矩阵。
根据表6所示的匿名矩阵在预设数据库中进行查询,可以获得如下表7所示的业务数据矩阵。
表7
其中,V()表示关键词对应的业务数据,V(D1)即为关键词D1对应的业务数据。
在获得业务数据矩阵之后,根据表3所示的密文矩阵,使用预设标识符将业务数据矩阵中属于同一个待处理关键词组的业务数据进行拼接,生成如下述表8所示的数据拼接矩阵。
表8
其中,“#”即为预设标识符。
步骤306:根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果。
同态加密计算是基于数学难题和计算复杂性理论的密码学技术,对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
在获得了数据拼接矩阵和密文矩阵之后,将两者进行同态加密计算,利用同态加密计算的特性,可以获得密文查询结果。
具体的,根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果,包括:
根据所述数据拼接矩阵和所述密文矩阵进行矩阵相乘运算,获得密文乘矩阵;
将所述密文乘矩阵中的元素按矩阵列对应求和,获得密文查询结果。
在实际应用中,先将数据拼接矩阵和密文矩阵行矩阵相乘运算,即同态加密计算中的乘法同态,获得密文乘矩阵,再对密文乘矩阵中的各元素按照矩阵列为一组进行求和,即同态加密计算中的加法同态,获得密文查询结果。
在同态加密计算中包括有乘法同态和加法同态,乘法同态是指“E(x×y)=E(x) E(y)或者 xy=D(E(x) E(y))成立,并且不泄漏 x 和 y”,加法同态是指“E(x+y)=E(x)⊕E(y)或者 x+y=D(E(x)⊕E(y))成立,并且不泄漏 x 和 y”。
沿用上例子,将表8所示的数据拼接矩阵与表3所示的密文矩阵进行矩阵相乘运算,得到如下述表9所示的密文乘矩阵。
表9
以第1行第1列为例,表8中的值为“V(D1)# V(D2)”,表3中的值为Enc(1),两者相乘,表9中第1行第1列的值为Enc(V(D1)# V(D2)),即V(D1)# V(D2)的加密数据;以第1行第2列为例,表8中的值为“V(D*)#V(D*)”,表3中的值Enc(0),两者相乘,V(D*)#V(D*)与0相乘还为0,则表9中第1行第2列的值为Enc(0)。
需要注意的是,由于经过了乘法同态计算,表9中的Enc(0)与表3中的Enc(0)实际的密文展示是不相同的。
在获得了表9所示的密文乘矩阵之后,再将密文乘矩阵中各列中的元素进行加法同态。从而获得如下述表10所示的密文查询结果。
表10
需要注意的是,由于经过了加法同态计算,表10中的Enc(V(D1)# V(D2))与表9中的Enc(V(D1)# V(D2))实际的密文展示也是不相同的。
步骤308:将所述密文查询结果发送至所述数据查询方。
上述表10所示密文查询结果即为数据提供方最终生成的密文查询结果。数据查询方即可将该密文查询结果发送至数据查询方,以使数据查询方根据该密文查询结果进行解密,获得对应的关键词查询结果。
通过本申请提供的应用于数据查询方的基于同态加密的多关键词匿踪查询方法,在数据提供方根据匿名矩阵在预设数据库中进行查询,获得对应的数据拼接矩阵,再将数据拼接矩阵与密文矩阵进行同态加密计算,由于密文矩阵中是01加密矩阵,且密文矩阵标记为1的元素与数据拼接矩阵中真实业务数据是一一对应的,在经过同态加密相乘运算后,即可保留数据查询方想要查询的业务数据的密文数据,再将同一列的密文数据进行同态加密相加运算,即可生成密文查询结果,至此,即保留了数据查询方想要查询的业务数据的密文数据,数据提供方也无法从密文查询结果中得知数据查询方查询的哪些数据,保障了数据的安全,同时通过本申请提供的系统,极大的减少了计算复杂度和通信复杂度。
图4示出了根据本申请一实施例提供的一种基于同态加密的多关键词匿踪查询系统的结构示意图,包括数据查询方402和数据提供方404。
所述数据查询方402,被配置为获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;将所述密文矩阵和所述匿名矩阵发送至数据提供方;
所述数据提供方404,被配置为根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;将所述密文查询结果发送至所述数据查询方;
所述数据查询方402,进一步被配置为根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵;
根据同态加密公钥加密所述关键词组标记矩阵,生成密文矩阵。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
根据预设匿名倍数和待查询关键词组的数量生成初始全零矩阵;
在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,并将各待查询关键词组对应的位置信息标记为1,生成关键词组标记矩阵。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
在所述初始全零矩阵中确定所述目标待查询关键词组对应的待确定矩阵列,其中,所述待确定矩阵列为未标记有1的矩阵列;
在所述待确定矩阵列中确定所述目标待查询关键词组对应的目标位置信息。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
根据所述预设匿名倍数和各待查询关键词的数量生成初始空矩阵;
根据所述关键词组标记矩阵将各待查询关键词插入所述初始空矩阵,生成初始查询矩阵;
生成扰动关键词填充所述初始查询矩阵中的空元素,生成匿名矩阵。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
确定所述目标待查询关键词组对应的目标位置信息和各目标待查询关键词;
根据所述目标位置信息在所述初始空矩阵中确定各目标待查询关键词对应的目标关键词位置信息;
根据各目标待查询关键词对应的目标关键词位置信息填充至所述初始空矩阵,生成初始查询矩阵。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得查询结果字符串;
根据预设标识符拆分所述查询结果字符串,获得各待查询关键词对应的关键词查询结果。
在本申请提供的另一具体实施方式中,所述数据查询方402,进一步被配置为:
接收至少一个待查询关键词;
根据预设分组规则,将各待查询关键词分为至少一个待查询关键词组。
在本申请提供的另一具体实施方式中,所述数据提供方404,进一步被配置为:
根据所述匿名矩阵在预设数据库中进行查询,获得业务数据矩阵;
根据所述业务数据矩阵和所述密文矩阵,生成数据拼接矩阵。
在本申请提供的另一具体实施方式中,所述数据提供方404,进一步被配置为:
根据所述密文矩阵确定所述业务数据矩阵中各元素对应的分组规则;
根据各元素对应的分组规则和预设标识符拼接各元素,生成数据拼接矩阵。
在本申请提供的另一具体实施方式中,所述数据提供方404,进一步被配置为:
根据所述数据拼接矩阵和所述密文矩阵进行矩阵相乘运算,获得密文乘矩阵;
将所述密文乘矩阵中的元素按矩阵列对应求和,获得密文查询结果。
通过本申请提供的基于同态加密的多关键词匿踪查询系统,在数据查询方将多个待查询关键词划分为多个待查询关键词组,并根据匿名倍数,生成对应的密文矩阵,在密文矩阵中包括0或1对应的密文信息,同时将待查询的多个待查询关键词和多个扰动关键词组成匿名矩阵,匿名矩阵中待查询关键词与密文矩阵中的1对应,通过密文矩阵和匿名矩阵可以得知哪些关键词是待查询关键词,哪些关键词是扰动关键词,这样,在将匿名矩阵和密文矩阵发送给数据提供方之后,数据提供方无法得知数据查询方想要查询的真正信息。可以很好的起到数据信息的隐匿功能。保证了数据的安全性。
在数据提供方根据匿名矩阵在预设数据库中进行查询,获得对应的数据拼接矩阵,再将数据拼接矩阵与密文矩阵进行同态加密计算,由于密文矩阵中是01加密矩阵,且密文矩阵标记为1的元素与数据拼接矩阵中真实业务数据是一一对应的,在经过同态加密相乘运算后,即可保留数据查询方想要查询的业务数据的密文数据,再将同一列的密文数据进行同态加密相加运算,即可生成密文查询结果,至此,即保留了数据查询方想要查询的业务数据的密文数据,数据提供方也无法从密文查询结果中得知数据查询方查询的哪些数据,保障了数据的安全,同时通过本申请提供的系统,极大的减少了计算复杂度和通信复杂度。
与上述应用于数据查询方的基于同态加密的多关键词匿踪查询方法实施例相对应,本申请还提供了应用于数据查询方的基于同态加密的多关键词匿踪查询装置实施例,图5示出了本申请一实施例提供的一种应用于数据查询方的基于同态加密的多关键词匿踪查询装置的结构示意图。如图5所示,该装置包括:
获取模块502,被配置为获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;
生成模块504,被配置为根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;
发送模块506,被配置为将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果;
解密模块508,被配置为获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
可选的,所述生成模块504,进一步被配置为:
根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵;
根据同态加密公钥加密所述关键词组标记矩阵,生成密文矩阵。
可选的,所述生成模块504,进一步被配置为:
根据预设匿名倍数和待查询关键词组的数量生成初始全零矩阵;
在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,并将各待查询关键词组对应的位置信息标记为1,生成关键词组标记矩阵。
可选的,所述生成模块504,进一步被配置为:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
在所述初始全零矩阵中确定所述目标待查询关键词组对应的待确定矩阵列,其中,所述待确定矩阵列为未标记有1的矩阵列;
在所述待确定矩阵列中确定所述目标待查询关键词组对应的目标位置信息。
可选的,所述生成模块504,进一步被配置为:
根据所述预设匿名倍数和各待查询关键词的数量生成初始空矩阵;
根据所述关键词组标记矩阵将各待查询关键词插入所述初始空矩阵,生成初始查询矩阵;
生成扰动关键词填充所述初始查询矩阵中的空元素,生成匿名矩阵。
可选的,所述生成模块504,进一步被配置为:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
确定所述目标待查询关键词组对应的目标位置信息和各目标待查询关键词;
根据所述目标位置信息在所述初始空矩阵中确定各目标待查询关键词对应的目标关键词位置信息;
根据各目标待查询关键词对应的目标关键词位置信息填充至所述初始空矩阵,生成初始查询矩阵。
可选的,所述解密模块508,进一步被配置为:
根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得查询结果字符串;
根据预设标识符拆分所述查询结果字符串,获得各待查询关键词对应的关键词查询结果。
可选的,所述获取模块502,进一步被配置为:
接收至少一个待查询关键词;
根据预设分组规则,将各待查询关键词分为至少一个待查询关键词组。
通过本申请提供的应用于数据查询方的基于同态加密的多关键词匿踪查询装置,在数据查询方将多个待查询关键词划分为多个待查询关键词组,并根据匿名倍数,生成对应的密文矩阵,在密文矩阵中包括0或1对应的密文信息,同时将待查询的多个待查询关键词和多个扰动关键词组成匿名矩阵,匿名矩阵中待查询关键词与密文矩阵中的1对应,通过密文矩阵和匿名矩阵可以得知哪些关键词是待查询关键词,哪些关键词是扰动关键词,这样,在将匿名矩阵和密文矩阵发送给数据提供方之后,数据提供方无法得知数据查询方想要查询的真正信息。可以很好的起到数据信息的隐匿功能。保证了数据的安全性。
上述为本实施例的一种应用于数据查询方的基于同态加密的多关键词匿踪查询装置的示意性方案。需要说明的是,该应用于数据查询方的基于同态加密的多关键词匿踪查询装置的技术方案与上述的应用于数据查询方的基于同态加密的多关键词匿踪查询方法的技术方案属于同一构思,应用于数据查询方的基于同态加密的多关键词匿踪查询装置的技术方案未详细描述的细节内容,均可以参见上述应用于数据查询方的基于同态加密的多关键词匿踪查询方法的技术方案的描述。
与上述应用于数据提供方的基于同态加密的多关键词匿踪查询方法实施例相对应,本申请还提供了应用于数据提供方的基于同态加密的多关键词匿踪查询装置实施例,图6示出了本申请一实施例提供的一种应用于数据提供方的基于同态加密的多关键词匿踪查询装置的结构示意图。如图6所示,该装置包括:
接收模块602,被配置为接收数据查询方发送的密文矩阵和匿名矩阵;
查询模块604,被配置为根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;
同态计算模块606,被配置为根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;
发送模块608,被配置为将所述密文查询结果发送至所述数据查询方。
可选的,所述查询模块604,进一步被配置为:
根据所述匿名矩阵在预设数据库中进行查询,获得业务数据矩阵;
根据所述业务数据矩阵和所述密文矩阵,生成数据拼接矩阵。
可选的,所述查询模块604,进一步被配置为:
根据所述密文矩阵确定所述业务数据矩阵中各元素对应的分组规则;
根据各元素对应的分组规则和预设标识符拼接各元素,生成数据拼接矩阵。
可选的,所述同态计算模块606,进一步被配置为:
根据所述数据拼接矩阵和所述密文矩阵进行矩阵相乘运算,获得密文乘矩阵;
将所述密文乘矩阵中的元素按矩阵列对应求和,获得密文查询结果。
通过本申请提供的应用于数据查询方的基于同态加密的多关键词匿踪查询装置,在数据提供方根据匿名矩阵在预设数据库中进行查询,获得对应的数据拼接矩阵,再将数据拼接矩阵与密文矩阵进行同态加密计算,由于密文矩阵中是01加密矩阵,且密文矩阵标记为1的元素与数据拼接矩阵中真实业务数据是一一对应的,在经过同态加密相乘运算后,即可保留数据查询方想要查询的业务数据的密文数据,再将同一列的密文数据进行同态加密相加运算,即可生成密文查询结果,至此,即保留了数据查询方想要查询的业务数据的密文数据,数据提供方也无法从密文查询结果中得知数据查询方查询的哪些数据,保障了数据的安全,同时通过本申请提供的系统,极大的减少了计算复杂度和通信复杂度。
上述为本实施例的一种应用于数据提供方的基于同态加密的多关键词匿踪查询装置的示意性方案。需要说明的是,该应用于数据提供方的基于同态加密的多关键词匿踪查询装置的技术方案与上述的应用于数据提供方的基于同态加密的多关键词匿踪查询方法的技术方案属于同一构思,应用于数据提供方的基于同态加密的多关键词匿踪查询装置的技术方案未详细描述的细节内容,均可以参见上述应用于数据提供方的基于同态加密的多关键词匿踪查询方法的技术方案的描述。
图7示出了根据本申请一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720执行所述计算机指令时实现所述的基于同态加密的多关键词匿踪查询方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于同态加密的多关键词匿踪查询方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于同态加密的多关键词匿踪查询方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述基于同态加密的多关键词匿踪查询方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于同态加密的多关键词匿踪查询方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于同态加密的多关键词匿踪查询方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地区,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (10)

1.一种基于同态加密的多关键词匿踪查询方法,其特征在于,应用于数据查询方,包括:
获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;
根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;
将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果;
获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
2.如权利要求1所述的方法,其特征在于,根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,包括:
根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵;
根据同态加密公钥加密所述关键词组标记矩阵,生成密文矩阵;
相应的,根据所述密文矩阵和各待查询关键词生成匿名矩阵,包括:
根据所述预设匿名倍数和各待查询关键词的数量生成初始空矩阵;
根据所述关键词组标记矩阵将各待查询关键词插入所述初始空矩阵,生成初始查询矩阵;
生成扰动关键词填充所述初始查询矩阵中的空元素,生成匿名矩阵。
3.如权利要求2所述的方法,其特征在于,根据预设匿名倍数和各待查询关键词组生成关键词组标记矩阵,包括:
根据预设匿名倍数和待查询关键词组的数量生成初始全零矩阵;
在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,并将各待查询关键词组对应的位置信息标记为1,生成关键词组标记矩阵;
相应的,根据所述关键词组标记矩阵将各待查询关键词插入所述初始空矩阵,生成初始查询矩阵,包括:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
确定所述目标待查询关键词组对应的目标位置信息和各目标待查询关键词;
根据所述目标位置信息在所述初始空矩阵中确定各目标待查询关键词对应的目标关键词位置信息;
根据各目标待查询关键词对应的目标关键词位置信息填充至所述初始空矩阵,生成初始查询矩阵。
4.如权利要求3所述的方法,其特征在于,在所述初始全零矩阵中确定各待查询关键词组对应的位置信息,包括:
确定目标待查询关键词组,其中,所述目标待查询关键词组为各待查询关键词组中的任一个;
在所述初始全零矩阵中确定所述目标待查询关键词组对应的待确定矩阵列,其中,所述待确定矩阵列为未标记有1的矩阵列;
在所述待确定矩阵列中确定所述目标待查询关键词组对应的目标位置信息。
5.如权利要求1所述的方法,其特征在于,根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果,包括:
根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得查询结果字符串;
根据预设标识符拆分所述查询结果字符串,获得各待查询关键词对应的关键词查询结果。
6.一种基于同态加密的多关键词匿踪查询方法,其特征在于,应用于数据提供方,包括:
接收数据查询方发送的密文矩阵和匿名矩阵;
根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;
根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;
将所述密文查询结果发送至所述数据查询方。
7.如权利要求6所述的方法,其特征在于,根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,包括:
根据所述匿名矩阵在预设数据库中进行查询,获得业务数据矩阵;
根据所述业务数据矩阵和所述密文矩阵,生成数据拼接矩阵;
相应的,根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果,包括:
根据所述数据拼接矩阵和所述密文矩阵进行矩阵相乘运算,获得密文乘矩阵;
将所述密文乘矩阵中的元素按矩阵列对应求和,获得密文查询结果。
8.如权利要求7所述的方法,其特征在于,根据所述业务数据矩阵和所述密文矩阵,生成数据拼接矩阵,包括:
根据所述密文矩阵确定所述业务数据矩阵中各元素对应的分组规则;
根据各元素对应的分组规则和预设标识符拼接各元素,生成数据拼接矩阵。
9.一种基于同态加密的多关键词匿踪查询装置,其特征在于,应用于数据查询方,包括:
获取模块,被配置为获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;
生成模块,被配置为根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;
发送模块,被配置为将所述密文矩阵和所述匿名矩阵发送至数据提供方,以使所述数据提供方根据所述密文矩阵和所述匿名矩阵生成密文查询结果;
解密模块,被配置为获得所述数据提供方返回的密文查询结果,并根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
10.一种基于同态加密的多关键词匿踪查询系统,其特征在于,包括数据查询方和数据提供方;其中,
所述数据查询方,被配置为获取至少一个待查询关键词组,其中,各待查询关键词组中包括至少一个待查询关键词;根据同态加密公钥、预设匿名倍数和各待查询关键词组生成密文矩阵,根据所述密文矩阵和各待查询关键词生成匿名矩阵;将所述密文矩阵和所述匿名矩阵发送至数据提供方;
所述数据提供方,被配置为根据所述匿名矩阵进行查询,获得所述匿名矩阵对应的数据拼接矩阵,其中,所述数据拼接矩阵的维度与所述密文矩阵的维度相同;根据所述数据拼接矩阵和所述密文矩阵进行同态加密计算,获得密文查询结果;将所述密文查询结果发送至所述数据查询方;
所述数据查询方,进一步被配置为根据所述同态加密公钥对应的同态加密私钥解密所述密文查询结果,获得各待查询关键词对应的关键词查询结果。
CN202410045962.2A 2024-01-12 2024-01-12 基于同态加密的多关键词匿踪查询方法、装置及系统 Active CN117574435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410045962.2A CN117574435B (zh) 2024-01-12 2024-01-12 基于同态加密的多关键词匿踪查询方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410045962.2A CN117574435B (zh) 2024-01-12 2024-01-12 基于同态加密的多关键词匿踪查询方法、装置及系统

Publications (2)

Publication Number Publication Date
CN117574435A true CN117574435A (zh) 2024-02-20
CN117574435B CN117574435B (zh) 2024-04-23

Family

ID=89888407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410045962.2A Active CN117574435B (zh) 2024-01-12 2024-01-12 基于同态加密的多关键词匿踪查询方法、装置及系统

Country Status (1)

Country Link
CN (1) CN117574435B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790069A (zh) * 2016-12-21 2017-05-31 电子科技大学 基于向量同态加密的隐私保护k‑nn分类方法
CN111859421A (zh) * 2020-07-08 2020-10-30 中国软件与技术服务股份有限公司 一种基于词向量的多关键字密文存储、检索方法及系统
CN112632598A (zh) * 2020-12-09 2021-04-09 西安电子科技大学 一种加密数据检索与共享方法、系统、介质、设备及应用
WO2021109756A1 (zh) * 2019-12-03 2021-06-10 重庆交通大学 一种基于同态加密方案的代理型匿名通信方法
CN116346310A (zh) * 2023-04-10 2023-06-27 杭州安恒信息技术股份有限公司 基于同态加密的匿踪查询方法、装置和计算机设备
CN116506226A (zh) * 2023-06-27 2023-07-28 杭州金智塔科技有限公司 隐私数据处理系统以及方法
CN116502254A (zh) * 2023-06-29 2023-07-28 极术(杭州)科技有限公司 可查得统计的匿踪查询方法及装置
CN116756185A (zh) * 2023-04-26 2023-09-15 神州融安数字科技(北京)有限公司 基于同态加密的关键词匿踪查询方法和装置
CN117194756A (zh) * 2023-11-02 2023-12-08 北京信安世纪科技股份有限公司 数据处理方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790069A (zh) * 2016-12-21 2017-05-31 电子科技大学 基于向量同态加密的隐私保护k‑nn分类方法
WO2021109756A1 (zh) * 2019-12-03 2021-06-10 重庆交通大学 一种基于同态加密方案的代理型匿名通信方法
CN111859421A (zh) * 2020-07-08 2020-10-30 中国软件与技术服务股份有限公司 一种基于词向量的多关键字密文存储、检索方法及系统
CN112632598A (zh) * 2020-12-09 2021-04-09 西安电子科技大学 一种加密数据检索与共享方法、系统、介质、设备及应用
CN116346310A (zh) * 2023-04-10 2023-06-27 杭州安恒信息技术股份有限公司 基于同态加密的匿踪查询方法、装置和计算机设备
CN116756185A (zh) * 2023-04-26 2023-09-15 神州融安数字科技(北京)有限公司 基于同态加密的关键词匿踪查询方法和装置
CN116506226A (zh) * 2023-06-27 2023-07-28 杭州金智塔科技有限公司 隐私数据处理系统以及方法
CN116502254A (zh) * 2023-06-29 2023-07-28 极术(杭州)科技有限公司 可查得统计的匿踪查询方法及装置
CN117194756A (zh) * 2023-11-02 2023-12-08 北京信安世纪科技股份有限公司 数据处理方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张曼;咸鹤群;张曙光;: "加密数据库快速关键词查询技术", 计算机工程与应用, no. 13, 1 July 2018 (2018-07-01) *

Also Published As

Publication number Publication date
CN117574435B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
EP3058678B1 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
CN109450935B (zh) 云存储中可验证的语义安全的多关键词搜索方法
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
US9037846B2 (en) Encoded database management system, client and server, natural joining method and program
CN116502276B (zh) 匿踪查询方法及装置
CN116502254B (zh) 可查得统计的匿踪查询方法及装置
EP3959841B1 (en) Compression and oblivious expansion of rlwe ciphertexts
CN114443718B (zh) 一种数据查询方法及系统
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
CN117150557A (zh) 一种基于安全多方计算的支持压缩的隐私信息检索方法及系统
CN117077209B (zh) 大规模数据匿踪查询方法
Tong et al. Privacy-preserving Boolean range query with temporal access control in mobile computing
KR102290605B1 (ko) 메시지 송신 시스템, 통신 단말, 서버 장치, 메시지 송신 방법 및 프로그램
Gahi et al. Privacy preserving scheme for location-based services
CN117834132A (zh) 基于高维矩阵运算的隐匿查询方法、装置、设备及介质
CN116361344B (zh) 数据查询方法、装置、设备及介质
CN117574435B (zh) 基于同态加密的多关键词匿踪查询方法、装置及系统
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
KR100995123B1 (ko) 암호화 방법, 클라이언트의 데이터 처리 방법
CN113158087B (zh) 一种空间文本的查询方法及装置
Utsunomiya et al. LPCQP: Lightweight private circular query protocol with divided POI-table and somewhat homomorphic encryption for privacy-preserving k-NN search
CN116303551B (zh) 隐匿查询方法及设备
CN116506226B (zh) 隐私数据处理系统以及方法
Xue et al. Privacy-Preserving Location Sharing via LWE-based Private Information Retrieval

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