CN115563634B - 一种检索方法、装置、设备及介质 - Google Patents
一种检索方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115563634B CN115563634B CN202211199591.0A CN202211199591A CN115563634B CN 115563634 B CN115563634 B CN 115563634B CN 202211199591 A CN202211199591 A CN 202211199591A CN 115563634 B CN115563634 B CN 115563634B
- Authority
- CN
- China
- Prior art keywords
- value
- ciphertext
- character
- retrieval
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种检索方法、装置、设备及介质,适用于信息安全技术领域,用以提高数据检索过程中的数据安全性,提高数据检索的准确性,减少了计算和存储负担,避免了内存资源的浪费。该方法包括:接收第一请求,第一请求包括检索字段,第一请求用于获取原文数据集合中与检索字段对应的目标原文数据;根据检索字段中的至少一个字符和第一加密算法确定检索字段的检索密文;将检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符;根据目标索引密文的第一标识符确定目标原文数据,并输出目标原文数据。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种检索方法、装置、设备及介质。
背景技术
为了提高数据安全性,数据库中的数据通常以加密的方式进行存储,在对已加密的信息进行检索时,现有技术一般有以下两类方案:
第一类方案是:分别针对每条密文数据进行解密运算,将所有解密后的数据放到内存中进行数据检索。此方案对内存的要求过高;由于硬件限制,单次可检索的数据量会受到很大限制;最主要的问题在于,由于该方案需要进行全量解密的操作,导致检索的效率很低。
另一类方案则是:预先对加密前的原文进行分词,对分词后的数据进行加密存储;检索时,先检索分词密文,再根据检索结果集,通过映射关系得到目标密文集合;由于得到的目标密文集合并不完全是符合检索结果的密文,因此需要在对该目标密文集合进行全量解密后,再进行二次检索,从而得到最终结果。此方案相对与第一类方案来说,有一定程度的优化,但是仍然存在以下问题,一是如果存储原文的内容较长,则分词数量就会成量级增加,对存储资源造成大量浪费,同时降低了检索效率;二是在进行二次检索时,虽然缩小了检索范围,但是仍然存在非最终结果的目标密文的解密操作,对计算资源造成一定的浪费。
针对上述两种方案的弊端,有必要提出一种能够在保证信息安全的基础上,进一步提升检索速度的方法。
发明内容
本申请提供了一种检索方法、装置、设备及介质,用以提高数据检索过程中的数据安全性。
第一方面,本申请提供了一种检索方法。以检索系统为执行主体为例,该方法包括:接收第一请求,第一请求包括检索字段,第一请求用于获取原文数据集合中与检索字段对应的目标原文数据;根据检索字段中的至少一个字符和第一加密算法确定检索字段的检索密文;将检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符,索引密文是根据原文数据中的至少一个字符和第一加密算法确定的,第一标识符为索引密文的唯一标识;根据目标索引密文的第一标识符确定目标原文数据,并输出目标原文数据。
基于该方法,通过对原文数据逐字符进行加密处理,保证了索引密文的可直接检索的特性,同时,原文数据的索引密文具备唯一性,从而可以提高检索的准确性。此外,由于本申请所示的方法中一条原文数据仅对应一条索引密文,不需要将一条原文数据拆分成多个子字符串,因此,减少了计算和存储负担,避免了内存资源的浪费。
在一种可能的设计中,第一加密算法是根据函数确定的;其中,在函数上,任一横坐标的值在同一象限中存在唯一对应的纵坐标的值。
在一种可能的设计中,根据检索字段中的至少一个字符和第一加密算法确定检索字段的检索密文,包括:确定检索字段中的第一字符的第一值,第一值为第一字符的Unicode的十进制的数值;将第一值作为横坐标带入函数,将函数的纵坐标的值作为第一字符的第二值;对第二值进行加密,确定第一字符的密码串,密码串的长度为固定值;根据第一字符的密码串确定检索字段的检索密文。
采用该设计,检索密文的生成采用了新的实现方案,能够提高数据安全性和检索效率。
在一种可能的设计中,该方法还包括:根据原文数据中的第二字符确定第三值,第三值为第二字符的Unicode的十进制的数值;将第三值作为横坐标带入函数,将函数的纵坐标的值作为第二字符的第四值;对第四值进行加密,确定第二字符的密码串,密码串的长度为固定值;根据第二字符的密码串确定原文数据的索引密文。
在一种可能的设计中,根据目标索引密文的第一标识符确定目标原文数据,包括:基于加盐加密算法和信息摘要算法,对目标索引密文的第一标识符进行计算,确定目标密文数据的第二标识符,目标密文数据和目标原文数据之间存在映射关系,第二标识符为目标密文数据的唯一标识;根据映射关系在原文数据集合中确定目标原文数据。
采用该设计,能够对索引密文和原文数据之间映射关系进行加密处理,提高数据安全性。
第二方面,本申请还提供了一种检索装置,装置包括通信模块和处理模块。
该通信模块可用于接收第一请求,第一请求包括检索字段,第一请求用于获取原文数据集合中与检索字段对应的目标原文数据。该处理模块可用于根据检索字段中的至少一个字符和第一加密算法确定检索字段的检索密文。该处理模块还用于:将检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符,索引密文是根据原文数据中的至少一个字符和第一加密算法确定的,第一标识符为索引密文的唯一标识。该处理模块还用于:根据目标索引密文的第一标识符确定目标原文数据;该通信模块还用于:输出目标原文数据。
在一种可能的设计中,第一加密算法是根据函数确定的;其中,在函数上,任一横坐标的值在同一象限中存在唯一对应的纵坐标的值。
在一种可能的设计中,该处理模块具体用于:确定检索字段中的第一字符的第一值,第一值为第一字符的Unicode的十进制的数值;将第一值作为横坐标带入函数,将函数的纵坐标的值作为第一字符的第二值;对第二值进行加密,确定第一字符的密码串,密码串的长度为固定值;根据第一字符的密码串确定检索字段的检索密文。
在一种可能的设计中,该处理模块还用于:根据原文数据中的第二字符确定第三值,第三值为第二字符的Unicode的十进制的数值;将第三值作为横坐标带入函数,将函数的纵坐标的值作为第二字符的第四值;对第四值进行加密,确定第二字符的密码串,密码串的长度为固定值;根据第二字符的密码串确定原文数据的索引密文。
在一种可能的设计中,处理模块还可用于:基于加盐加密算法和信息摘要算法,对目标索引密文的第一标识符进行计算,确定目标密文数据的第二标识符,目标密文数据和目标原文数据之间存在映射关系,第二标识符为目标密文数据的唯一标识;根据映射关系在原文数据集合中确定目标原文数据。
第三方面,本申请还提供了一种电子设备,电子设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述第一方面及其任一可能的设计所述检索方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面及其任一可能的设计所述检索方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如第一方面及其任一可能的设计所述检索方法的步骤。
另外,第二方面至第五方面所带来的技术效果可参见上述第一方面的描述,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种检索方法的流程示意图;
图2为本申请实施例提供的另一种检索方法的流程示意图;
图3为本申请实施例提供的另一种检索方法的流程示意图;
图4为本申请实施例提供的一种检索装置的模块化结构示意图;
图5为本申请实施例提供的另一种检索装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)统一码(Unicode):也叫万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
(2)信息摘要算法(Message Digest Algorithm MD5):一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
(3)加盐加密:加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令跟一个n位随机数相关联,这个n位随机数叫做“盐”(salt)。
为了提高数据检索过程中的数据安全性,本申请实施例提供了一种检索方法、装置、设备及介质。该方法可由检索系统执行。检索系统可以是用于执行本申请所示方法的计算机系统,或者可以是计算机系统中用于执行本申请所示方法的处理装置,如处理器或处理模块等,不具体限定。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1为本申请实施例提供的一种检索方法的流程示意图。本申请实施例中,通过对检索字段的处理得到检索密文,并通过映射关系找到目标索引密文,从而找到目标原文数据。以执行主体是检索系统为例,该流程包括以下步骤:
S101:检索系统接收第一请求,第一请求包括检索字段,第一请求用于获取原文数据集合中与检索字段对应的目标原文数据。其中,原文数据用CES表示。
可选的,检索字段可以是由汉字、字母、数字和/或其他字符构成,本申请不做限定。
示例性的,检索系统接收第一请求,第一请求中包括的检索字段为“祖国”,第一请求用于获取原文数据集合中与“祖国”对应的目标原文数据。
可选的,当检索模式为精确检索时,目标原文数据可以是与检索字段中每个字符一一对应的数据;或者,当检索模式为模糊检索时,目标原文数据可以是包括检索字段中每个字符的数据。可选的,一个检索字段可以对应一个或多个目标原文数据,本申请中不做限定。
以检索字段为“祖国”为例,当检索模式为精确检索时,目标原文数据为“祖国”;当检索模式为模糊检索时,目标原文数据可以是“祖国”、“我的祖国”或者“我爱祖国”等等。
S102:检索系统根据检索字段中的至少一个字符和第一加密算法确定检索字段的检索密文。其中,检索密文用FES表示。
可选的,检索系统可以根据任意一个字符和第一加密算法确定该字符的密码串;检索系统还可以根据检索字段中每个字符的密码串确定该检索字段的检索密文。其中,字符的密码串的长度相同;字符的密码串唯一。也就是说,任意两个字符的密码串的长度相同;任意两个字符的密码串均不相同。
仍以检索字段为“祖国”为例,检索系统可以对检索字段进行逐字符分割。显然,该检索字段中包括两个字符,分别是“祖”和“国”。检索系统可以根据“祖”和第一加密算法确定字符“祖”的密码串;检索系统可以根据“国”和第一加密算法确定字符“国”的密码串;从而根据该密码串确定检索字段的检索密文。这样,由于检索密文是通过对检索字段中的每个字符进行运算得到的,因此既能保证字符之间的关联性,还可以确保检索的准确性。同时,由于每个字符的密码串的长度相同,因此能够确保检索字段的检索密文可以同时用于精确检索和模糊检索。
在一种可能的设计中,第一加密算法是根据函数确定的;其中,在函数上,任一横坐标的值在同一象限中存在唯一对应的纵坐标的值。例如,第一加密算法可以是将函数的纵坐标的值作为函数的横坐标进行加密运算的结果,任意两个横坐标对应的纵坐标的值均不同。这样,第一加密算法只能正向加密,不能逆向运算,提高了数据的安全性。
可选的,函数在同一象限中为单调函数。这样,能够确保函数横坐标的值在同一象限中存在唯一与之对应的纵坐标的值,从而能够保证加密结果的唯一性。
可选的,该函数可以是椭圆曲线的函数。例如,椭圆函数为利用椭圆函数该椭圆曲线以坐标(0,0)为原点,焦点在X轴上,长半轴为70000,即a=70000,短半轴为5000,即b=5000。需要说明的是,本申请实施例中,将椭圆曲线的函数用于第一加密算法的方法仅为示例,并不构成本申请实施例提供的方法可以适用业务的限定。
在步骤S102的一种可能的设计中,检索系统可以根据检索字段中每个字符的密码串确定检索字段的检索密文。如图2所示,本申请实施例提供了另一种检索方法的流程示意图,该流程包括以下步骤:
S201:检索系统确定检索字段中的第一字符的第一值,第一值为第一字符的Unicode的十进制的数值。其中,第一值用U表示。
继续以检索字段为“祖国”为例,检索系统可以将检索字段中的字符“祖”作为第一字符,字符“祖”的Unicode为\u7956,字符“祖”的Unicode的十六进制部分为7956,则字符“祖”的Unicode的十进制数值为31062,也就是说,字符“祖”的第一值为31062,即U1=31062。
同理,检索字段可以将字符“国”作为第一字符,从而确定字符“国”的第一值为22269,即U1=22269,为了避免重复,此处不再赘述。
S202:检索系统将第一值作为横坐标带入函数,将函数的纵坐标的值作为第一字符的第二值。其中,第二值用UY表示。
可选的,以函数为前述椭圆函数为例,检索系统可以将第一字符的第一值U作为椭圆曲线的X轴坐标,将椭圆函数在第一象限内的取值作为第一字符的第二值UY。
可选的,第二值的取值可以保留小数点后Z位,Z为正整数。
示例性的,当Z=6,a=70000,b=5000时,检索系统可以确定字符“祖”的第二值为4480.7707951,即UY1=4480.7707951;检索系统可以确定字符“国”的第二值为4740.2378950,即UY2=4740.2378950。
S203:检索系统对第二值进行加密,确定第一字符的密码串,密码串的长度为固定值。其中,密码串用M表示。
可选的,检索系统可以采用32位的信息摘要算法对第二值进行加密,确定第一字符的密码串。
示例性的,检索系统对字符“祖”的第二值UY1=4480.7707951进行两次信息摘要算法加密,得到的密码串为d03d5c847166876e667873cdf6c6c5b7,即M1=d03d5c847166876e667873cdf6c6c5b7;检索系统对字符“国”的第二值UY2=4740.2378950进行两次信息摘要算法加密,得到的密码串为5de115b93889b5ca40ad5796cf1eb638,即M1=5de115b93889b5ca40ad5796cf1eb638。
S204:检索系统根据第一字符的密码串确定检索字段的检索密文。
可选的,检索系统可以根据多个第一字符的密码串确定第一检索字段的检索密文。
示例性的,检索字段可以直接拼接字符“祖”和字符“国”的密码串得到检索密文,即检索字段“祖国”的检索密文为d03d5c847166876e667873cdf6c6c5b75de115b93889b5ca40ad5796cf1eb638。
S103:检索系统将检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符,索引密文是根据原文数据中的至少一个字符和第一加密算法确定的,第一标识符为索引密文的唯一标识。其中,索引密文表可以用K表示,索引密文表K中包括多条索引密文和多条第一标识符之间的映射关系,目标索引密文为该多条索引密文中的至少一条索引密文。这样,由于第一加密算法只能正向加密,不能逆向运算,因此,无法直接通过索引密文表得到原文数据集合,提高了原文数据的安全性。
可选的,在执行步骤S103所示的动作之前,检索系统可以获取索引密文表,其中,索引密文表中的索引密文是根据原文数据中的至少一个字符和第一加密算法确定的,索引密文表中的每一个索引密文都存在与之唯一对应的第一标识符,第一标识符用SRP表示。
示例性的,检索系统可以将检索密文与索引密文表中的索引密文匹配,确定符合条件的目标索引密文的第一标识符。
可选的,当检索模式为精确检索时,目标索引密文与检索密文完全一致;或者,当检索模式为模糊检索时,目标索引密文可以包括检索字段。
以前述确定的检索密文为例,假设检索模式为模糊检索,目标索引密文可以是c2cca27256537c32d823dce949d4def9b51fb8731dc8d5b9e8e756cea813b152c2cca27256537c32d823dce949d4def991aa47992229e10087dcf21abbb4cdcad03d5c847166876e667873cdf6c6c5b75de115b93889b5ca40ad5796cf1eb638。
可选的,检索系统可以确定一个或多个目标索引密文。
S104:检索系统根据目标索引密文的第一标识符确定目标原文数据,并输出目标原文数据。
可选的,检索系统可以根据前述确定的一个或多个目标索引密文的第一标识符,获取目标原文数据。
在一种可能的设计中,检索系统基于加盐加密算法和信息摘要算法,对目标索引密文的第一标识符进行计算,确定目标密文数据的第二标识符,目标密文数据和目标原文数据之间存在映射关系,第二标识符为目标密文数据的唯一标识;检索系统根据映射关系在原文数据集合中确定目标原文数据。其中,第二标识符用RP表示。
可选的,检索系统可以根据目标索引密文的第一标识符的集合,确定第二标识符的集合。其中,第二标识符为密文数据表中密文数据的唯一标识符。其中,密文数据用CEE表示,密文数据表用R表示。
可选的,目标密文数据和目标原文数据之间的映射关系可以是通过加解密算法确定的。
示例性的,检索系统根据目标索引密文的第一标识符的集合,采用加盐加密算法和信息摘要算法确定第二标识符的集合;进一步的,检索系统根据第二标识符的集合确定目标密文数据的集合,并通过对每一个目标密文数据进行解密得到目标原文数据的集合;检索系统输出该目标原文数据的集合。
在确定目标密文数据的第二标识符之前,检索系统可以获取密文数据表,该密文数据表包括密文数据和第二标识符。
可选的,密文数据表中的密文数据是根据原文数据集合中的原文数据加密得到的。
可选的,检索系统可以根据原文数据和AES可逆加密算法确定密文数据。相应的,检索系统还可以根据密文数据和AES可逆加密算法确定原文数据。
采用这样的方法,根据检索字段的检索密文和索引密文表中的索引密文,确定目标索引密文的第一标识符,从而确定目标原文数据。无需对外暴露原文数据集合,提高了数据安全性。
传统的检索方法中,为了保证字符之间的关联性,往往通过对一个原文数据中的字符进行顺序组合,得到多个子字符串,将多个子字符串处理后的数据存储在数据库中用于检索。例如原文数据为“我爱我的祖国”,其中包括五个字符,根据该方法,需要将分别对应的索引密文拆分成“我”、“我爱”、“我爱我”、“我爱我的”、“我爱我的祖”、“我爱我的祖国”、“爱”、“爱我”、“爱我的”、“爱我的祖”、“爱我的祖国”、“我”、“我的”、“我的祖”、“我的祖国”、“的”、“的祖”、“的祖国”、“祖”、“祖国”和“国”;进一步将该多个子字符串处理后的数据存储在数据库中用于检索。显然,由于一个原文数据被拆分成21个子字符串,占用了较大的计算资源,且大大增加了数据库的存储负担。
为了避免巨大的数据存储负担,减少计算资源的浪费,本申请中只需要对原文数据进行逐字符拆分和加密,从而确定原文数据对应的索引密文。如图3所示,本申请实施例提供了另一种检索方法的流程示意图,用于确定索引密文表。图3所示的方法可以在执行图1所示的检索方法之前执行;或者,也可以在执行步骤S103所示的方法之前执行。以执行主体是检索系统为例,该流程包括以下步骤:
S301:检索系统根据原文数据中的第二字符确定第三值,第三值为第二字符的Unicode的十进制的数值。
可选的,检索系统可以采用和步骤S201相同的方法确定第二字符的第三值。
仍以原文数据为“我爱我的祖国”为例,检索系统按照逐个字符进行分割得到多个第二字符,分别为:“我”、“爱”、“我”、“的”、“祖”、“国”。检索系统确定每个字符的Unicode,分别为:\u6211、\u7231、\u6211、\u7684、\u7956、\u56fd;检索系统确定前述各个Unicode的十六进制部分的数字,分别为:6211、7231、6211、7684,7956、56fd;检索系统将所有十六进制数据转换为十进制数字,即为第二字符的第三值,分别为:25105、29233、25105、30340、31062、22269。
S302:检索系统将第三值作为横坐标带入函数,将函数的纵坐标的值作为第二字符的第四值。
可选的,检索系统可以采用和步骤S202相同的方法确定第二字符的第四值。
继续前述示例,检索系统利用椭圆函数的公式,将多个第二字符的第三值分别作为X轴的数值,分别计算得到对应的Y轴的数值,保留小数点后Z位(例如6位),则前述多个第二字符的第四值分别为:4667.3742646,4543.1220223,4667.3742646,4505.9396175,4480.7707951,4740.2378950。
S303:检索系统对第四值进行加密,确定第二字符的密码串,密码串的长度为固定值。
可选的,检索系统可以采用和步骤S203相同的方法确定第二字符的密码串。
继续前述示例,检索系统通过信息摘要算法对上述计算得到的第四值进行两次加密,得到多个第二字符的密码串,分别为:c2cca27256537c32d823dce949d4def9,b51fb8731dc8d5b9e8e756cea813b152,c2cca27256537c32d823dce949d4def9,91aa47992229e10087dcf21abbb4cdca,d03d5c847166876e667873cdf6c6c5b7,5de115b93889b5ca40ad5796cf1eb638。
S304:检索系统根据第二字符的密码串确定原文数据的索引密文。
可选的,检索系统可以采用和步骤S204相同的方法确定第二字符的密码串。
继续前述示例,检索系统将上述密码串依次拼接,最终索引密文为:c2cca27256537c32d823dce949d4def9b51fb8731dc8d5b9e8e756cea813b152c2cca27256537c32d823dce949d4def991aa47992229e10087dcf21abbb4cdcad03d5c847166876e667873cdf6c6c5b75de115b93889b5ca40ad5796cf1eb638。
可选的,检索系统可以对原文数据集合中的部分或全部原文数据进行处理,从而得到索引密文。
可选的,检索系统可以将得到的索引密文存储在索引密文表中。
采用这样的方法,通过对原文数据逐字符进行加密处理,保证了索引密文的可直接检索的特性,同时,原文数据的索引密文具备唯一性,从而可以提高检索的准确性。此外,由于本申请所示的方法中一条原文数据仅对应一条索引密文,不需要将一条原文数据拆分成多个子字符串,因此,减少了计算和存储负担,避免了内存资源的浪费。
基于上述内容和相同构思,本申请提供一种检索装置。图4所示为本申请实施例提供的一种检索装置的模块化结构示意图。该装置可包括通信模块401和处理模块402。
示例性的,通信模块401可用于接收第一请求,第一请求包括检索字段,第一请求用于获取原文数据集合中与检索字段对应的目标原文数据。处理模块402可用于根据检索字段中的至少一个字符和第一加密算法确定检索字段的检索密文。该处理模块402还用于:将检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符,索引密文是根据原文数据中的至少一个字符和第一加密算法确定的,第一标识符为索引密文的唯一标识。该处理模块402还用于:根据目标索引密文的第一标识符确定目标原文数据;该通信模块401还用于:输出目标原文数据。
在一种可能的设计中,第一加密算法是根据函数确定的;其中,在函数上,任一横坐标的值在同一象限中存在唯一对应的纵坐标的值。
在一种可能的设计中,该处理模块402具体用于:确定检索字段中的第一字符的第一值,第一值为第一字符的Unicode的十进制的数值;将第一值作为横坐标带入函数,将函数的纵坐标的值作为第一字符的第二值;对第二值进行加密,确定第一字符的密码串,密码串的长度为固定值;根据第一字符的密码串确定检索字段的检索密文。
在一种可能的设计中,该处理模块402还用于:根据原文数据中的第二字符确定第三值,第三值为第二字符的Unicode的十进制的数值;将第三值作为横坐标带入函数,将函数的纵坐标的值作为第二字符的第四值;对第四值进行加密,确定第二字符的密码串,密码串的长度为固定值;根据第二字符的密码串确定原文数据的索引密文。
在一种可能的设计中,处理模块402还可用于:基于加盐加密算法和信息摘要算法,对目标索引密文的第一标识符进行计算,确定目标密文数据的第二标识符,目标密文数据和目标原文数据之间存在映射关系,第二标识符为目标密文数据的唯一标识;根据映射关系在原文数据集合中确定目标原文数据。
图5示出了本申请实施例提供的一种检索装置结构示意图。
本申请实施例中的电子设备可包括处理器501。处理器501是该装置的控制中心,可以利用各种接口和线路连接该装置的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的检索系统所执行的步骤可以直接由硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以用于执行前述由检索系统执行的通信过程。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例中,该装置还可以包括通信接口503,电子设备可以通过该通信接口503传输数据。例如电子设备为检索系统,通信接口503可用于执行接收第一请求的动作,或者用于执行输入目标原文数据的动作。
可选的,可由图5所示处理器501(或处理器501和存储器502)实现图4所示的通信模块401和/或处理模块402,也就是说,可以由处理器501(或处理器501和存储器502)执行通信模块401和/或处理模块402的动作。
基于相同的申请构思,本申请实施例还提供一种计算机可读存储介质,其中可存储有指令,当该指令在计算机上运行时,使得计算机执行上述方法实施例提供的操作步骤。该计算机可读存储介质可以是图5所示的存储器502。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种检索方法,其特征在于,所述方法包括:
接收第一请求,所述第一请求包括检索字段,所述第一请求用于获取原文数据集合中与所述检索字段对应的目标原文数据;
根据所述检索字段中的至少一个字符和第一加密算法确定所述检索字段的检索密文;
将所述检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符,所述索引密文是根据原文数据中的至少一个字符和所述第一加密算法确定的,所述第一标识符为所述索引密文的唯一标识;所述目标索引密文为多条所述索引密文中的至少一条索引密文;
根据所述目标索引密文的第一标识符确定所述目标原文数据,并输出所述目标原文数据;
所述第一加密算法是根据函数确定的;其中,在所述函数上,任一横坐标的值在同一象限中存在唯一对应的纵坐标的值;
所述根据所述检索字段中的至少一个字符和第一加密算法确定所述检索字段的检索密文,包括:
确定所述检索字段中的第一字符的第一值,所述第一值为所述第一字符的统一码Unicode的十进制的数值;
将所述第一值作为横坐标带入所述函数,将所述函数的纵坐标的值作为第一字符的第二值;
对所述第二值进行加密,确定所述第一字符的密码串,所述密码串的长度为固定值;
根据所述第一字符的密码串确定所述检索字段的检索密文。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述原文数据中的第二字符确定第三值,所述第三值为所述第二字符的Unicode的十进制的数值;
将所述第三值作为横坐标带入所述函数,将所述函数的纵坐标的值作为所述第二字符的第四值;
对所述第四值进行加密,确定所述第二字符的密码串,所述密码串的长度为固定值;
根据所述第二字符的密码串确定所述原文数据的索引密文。
3.如权利要求1所述的方法,其特征在于,所述根据所述目标索引密文的第一标识符确定所述目标原文数据,包括:
基于加盐加密算法和信息摘要算法,对所述目标索引密文的第一标识符进行计算,确定目标密文数据的第二标识符,所述目标密文数据和所述目标原文数据之间存在映射关系,所述第二标识符为所述目标密文数据的唯一标识;
根据所述映射关系在所述原文数据集合中确定所述目标原文数据。
4.一种检索装置,其特征在于,所述装置包括:
通信模块,所述通信模块用于:接收第一请求,所述第一请求包括检索字段,所述第一请求用于获取原文数据集合中与所述检索字段对应的目标原文数据;
处理模块,所述处理模块用于:根据所述检索字段中的至少一个字符和第一加密算法确定所述检索字段的检索密文;
所述处理模块还用于:将所述检索密文与索引密文表中的索引密文匹配,确定目标索引密文的第一标识符,所述索引密文是根据原文数据中的至少一个字符和所述第一加密算法确定的,所述第一标识符为所述索引密文的唯一标识;所述目标索引密文为多条所述索引密文中的至少一条索引密文;
所述处理模块还用于:根据所述目标索引密文的第一标识符确定所述目标原文数据;
所述通信模块还用于:输出所述目标原文数据;
所述第一加密算法是根据函数确定的;其中,在所述函数上,任一横坐标的值在同一象限中存在唯一对应的纵坐标的值;
所述处理模块具体用于:确定所述检索字段中的第一字符的第一值,所述第一值为所述第一字符的Unicode的十进制的数值;将所述第一值作为横坐标带入所述函数,将所述函数的纵坐标的值作为第一字符的第二值;对所述第二值进行加密,确定所述第一字符的密码串,所述密码串的长度为固定值;根据所述第一字符的密码串确定所述检索字段的检索密文。
5.如权利要求4所述的装置,其特征在于,所述处理模块还用于:
根据所述原文数据中的第二字符确定第三值,所述第三值为所述第二字符的Unicode的十进制的数值;
将所述第三值作为横坐标带入所述函数,将所述函数的纵坐标的值作为所述第二字符的第四值;
对所述第四值进行加密,确定所述第二字符的密码串,所述密码串的长度为固定值;
根据所述第二字符的密码串确定所述原文数据的索引密文。
6.如权利要求4所述的装置,其特征在于,所述处理模块还用于:
基于加盐加密算法和信息摘要算法,对所述目标索引密文的第一标识符进行计算,确定目标密文数据的第二标识符,所述目标密文数据和所述目标原文数据之间存在映射关系,所述第二标识符为所述目标密文数据的唯一标识;
根据所述映射关系在所述原文数据集合中确定所述目标原文数据。
7.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-3中任一项所述的方法包括的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211199591.0A CN115563634B (zh) | 2022-09-29 | 2022-09-29 | 一种检索方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211199591.0A CN115563634B (zh) | 2022-09-29 | 2022-09-29 | 一种检索方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115563634A CN115563634A (zh) | 2023-01-03 |
CN115563634B true CN115563634B (zh) | 2023-08-15 |
Family
ID=84743314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211199591.0A Active CN115563634B (zh) | 2022-09-29 | 2022-09-29 | 一种检索方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115563634B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118542A (zh) * | 2006-07-31 | 2008-02-06 | 西门子通信技术(北京)有限公司 | 一种中文字符的转换方法及其系统 |
CN101600023A (zh) * | 2009-06-30 | 2009-12-09 | 中兴通讯股份有限公司 | 终端短信息搜索方法及其装置 |
CN102843372A (zh) * | 2012-08-28 | 2012-12-26 | 西安交通大学 | 一种基于随机区间划分的保序加密方法 |
CN104376067A (zh) * | 2014-11-13 | 2015-02-25 | 北京海泰方圆科技有限公司 | 一种索引文件的录入和基于该索引文件的检索方法 |
CN106844701A (zh) * | 2017-01-03 | 2017-06-13 | 宁波亿拍客网络科技有限公司 | 一种可基于计算机视觉感知识别的特定标记及使用方法 |
CN107491497A (zh) * | 2017-07-25 | 2017-12-19 | 福州大学 | 支持任意语言查询的多用户多关键词排序可搜索加密系统 |
CN109040090A (zh) * | 2018-08-17 | 2018-12-18 | 北京海泰方圆科技股份有限公司 | 一种数据加密方法及装置 |
CN109858263A (zh) * | 2019-01-21 | 2019-06-07 | 北京城市网邻信息技术有限公司 | 数据存储检索方法、装置、电子设备及存储介质 |
CN110347723A (zh) * | 2019-07-12 | 2019-10-18 | 税友软件集团股份有限公司 | 一种数据查询方法、系统及电子设备和存储介质 |
CN111475543A (zh) * | 2020-03-27 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 一种模糊搜索方法、装置、计算机设备及存储介质 |
WO2022093994A1 (en) * | 2020-10-27 | 2022-05-05 | Titaniam, Inc. | Data entanglement for improving the security of search indexes |
CN114584362A (zh) * | 2022-02-28 | 2022-06-03 | 北京启明星辰信息安全技术有限公司 | 一种防止unicode编码绕过的检测方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962638B2 (en) * | 2007-03-26 | 2011-06-14 | International Business Machines Corporation | Data stream filters and plug-ins for storage managers |
CN104462990B (zh) * | 2013-09-13 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 字符串加解密方法和装置 |
US11763021B2 (en) * | 2020-10-19 | 2023-09-19 | Duality Technologies, Inc. | Efficient secure string search using homomorphic encryption |
-
2022
- 2022-09-29 CN CN202211199591.0A patent/CN115563634B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118542A (zh) * | 2006-07-31 | 2008-02-06 | 西门子通信技术(北京)有限公司 | 一种中文字符的转换方法及其系统 |
CN101600023A (zh) * | 2009-06-30 | 2009-12-09 | 中兴通讯股份有限公司 | 终端短信息搜索方法及其装置 |
CN102843372A (zh) * | 2012-08-28 | 2012-12-26 | 西安交通大学 | 一种基于随机区间划分的保序加密方法 |
CN104376067A (zh) * | 2014-11-13 | 2015-02-25 | 北京海泰方圆科技有限公司 | 一种索引文件的录入和基于该索引文件的检索方法 |
CN106844701A (zh) * | 2017-01-03 | 2017-06-13 | 宁波亿拍客网络科技有限公司 | 一种可基于计算机视觉感知识别的特定标记及使用方法 |
CN107491497A (zh) * | 2017-07-25 | 2017-12-19 | 福州大学 | 支持任意语言查询的多用户多关键词排序可搜索加密系统 |
CN109040090A (zh) * | 2018-08-17 | 2018-12-18 | 北京海泰方圆科技股份有限公司 | 一种数据加密方法及装置 |
CN109858263A (zh) * | 2019-01-21 | 2019-06-07 | 北京城市网邻信息技术有限公司 | 数据存储检索方法、装置、电子设备及存储介质 |
CN110347723A (zh) * | 2019-07-12 | 2019-10-18 | 税友软件集团股份有限公司 | 一种数据查询方法、系统及电子设备和存储介质 |
CN111475543A (zh) * | 2020-03-27 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 一种模糊搜索方法、装置、计算机设备及存储介质 |
WO2022093994A1 (en) * | 2020-10-27 | 2022-05-05 | Titaniam, Inc. | Data entanglement for improving the security of search indexes |
CN114584362A (zh) * | 2022-02-28 | 2022-06-03 | 北京启明星辰信息安全技术有限公司 | 一种防止unicode编码绕过的检测方法和装置 |
Non-Patent Citations (1)
Title |
---|
保留格式加密的双扰工作模式;张玉安等;信息技术与网络安全;第411卷(第6期);22-25+35 * |
Also Published As
Publication number | Publication date |
---|---|
CN115563634A (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200366460A1 (en) | Homomorphic data decryption method and apparatus for implementing privacy protection | |
US10284372B2 (en) | Method and system for secure management of computer applications | |
CN107819569B (zh) | 登录信息的加密方法及终端设备 | |
US7406174B2 (en) | System and method for n-dimensional encryption | |
Chen et al. | A modified chaos-based joint compression and encryption scheme | |
CN106610995B (zh) | 一种创建密文索引的方法、装置及系统 | |
CN111310222B (zh) | 文件加密方法 | |
US20140233727A1 (en) | Method for secure substring search | |
WO2024077948A1 (zh) | 匿踪查询方法、装置和系统及存储介质 | |
WO2020192366A1 (zh) | 一种基于动态白盒的数据处理方法、装置及设备 | |
CN107534549B (zh) | 可读存储介质、用于数据流字块加密的方法及系统 | |
CN106789058B (zh) | 一种代理重加密算法描述及解析方法 | |
GB2498063A (en) | Checking acceptance of a string by automaton | |
CN114218582A (zh) | 一种数据库的数据加密方法及终端 | |
CN110830261A (zh) | 加密方法、装置、计算机设备及存储介质 | |
CN115563634B (zh) | 一种检索方法、装置、设备及介质 | |
CN114124359A (zh) | 保留格式加密数据的方法、装置、电子设备及存储介质 | |
CN111967026A (zh) | 兑换码的加密和解密方法及装置及计算机设备 | |
CN109951275B (zh) | 密钥生成方法、装置、计算机设备及存储介质 | |
CN117093964A (zh) | 一种源代码的加密方法、装置、存储介质及电子设备 | |
CN108512657B (zh) | 一种密码生成方法及装置 | |
US20230169186A1 (en) | Method to secure computer code | |
CN110505051B (zh) | 字符串哈希处理方法及装置 | |
CN113935051A (zh) | 一种轻量级文本快速加密及解密方法 | |
CN114143014B (zh) | 媒体文件加密方法、解密方法、传输方法、装置和系统 |
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 |