Method and system for storing and querying secret database
By adopting composite encrypted data types and query mechanisms in cryptographic databases, the problems of wildcard support and high data bloating rates in cryptographic fuzzy queries are solved, and efficient ciphertext equivalent and fuzzy queries are realized, which improves system performance and security.
Patent Information
- Application Number
- CN202411716439.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-03-28
AI Technical Summary
Existing cryptographic databases cannot use wildcards when supporting fuzzy queries, and the data bloat rate caused by cryptographic fuzzy queries is high, affecting system performance and resource consumption.
A new encrypted data type is adopted. By converting the data to be encrypted into a preset composite data type, symmetric encryption and hash encryption are performed, and when storing and querying in a dense database, the corresponding encrypted data is selected according to the query category, supporting fuzzy queries of wildcard characters.
It realizes efficient support for equal value query and fuzzy query of ciphertext, reduces data bloat rate, improves query performance, and improves resource utilization efficiency while ensuring security.
Smart Images

Figure CN119720236A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of fuzzy query, and particularly relates to a method and system for storing and querying a ciphertext database. Background Art
[0002] The statements in this part only provide background technical information related to the present invention and do not necessarily constitute prior art.
[0003] Encrypting and protecting the data in the database is a commonly used data protection method at present. However, the problem is that it is very difficult to directly query and calculate the encrypted data. Currently, there are two methods: 1. Decrypt the encrypted data in memory and calculate the plaintext in memory. 2. Use ciphertext computing technology to directly calculate the ciphertext. For example, after encrypting "Zhang San" into "XA4E28D", when querying, directly search for the data with the value of "XA4E28D" and decrypt it when returning the result to obtain the original text "Zhang San".
[0004] The latter ciphertext computing technology can currently support equality queries and range queries well, but it has poor support for fuzzy queries. The most typical problem is that it does not support wildcards. Common wildcards include '_' and '%'. '_' means matching any one character, and '%' means matching any number of characters. Therefore, if using a fuzzy query to search for "Zhang_San", it means searching for names with three characters, starting with 'Zhang' and ending with 'San'. The use of '%' is the same.
[0005] Theoretically, after encrypting the data, it is not difficult to support fuzzy queries with wildcards. Decompose the plaintext information "ABCD" character by character and encrypt each character to obtain ciphertexts E(A), E(B), E(C), E(D). When performing a fuzzy query, replace the query "A%C" with "E(A)%E(C)" and perform a fuzzy query in the ciphertext. However, the biggest problem with this scheme is that it will cause significant data expansion, and the expansion rate is usually greater than 5 times. The problems brought by data expansion include huge storage space consumption and a large number of I / O accesses, which seriously affect system performance. Moreover, this part of the encrypted data can basically only be used for fuzzy queries of ciphertexts and does not support equality queries of ciphertexts. The huge resource consumption can only provide a single function, and additional encrypted storage needs to be provided for equality queries of ciphertexts, with extremely low cost performance.
[0006] For the above reasons, researchers have tried to reduce the data expansion of ciphertext fuzzy queries to achieve a balance among data security, query performance, and resource consumption. These schemes mainly try to reduce the expansion caused by encryption and improve query performance, but none of them support ciphertext fuzzy queries with wildcards.
[0007] Fuzzy search without wildcards is more similar to full-text search, similar to using Google or Baidu to search, enter one or more keywords to search, and return results if they are matched. Compared with fuzzy search with wildcards, full-text search is not precise enough and cannot specify the query results in detail. Summary of the invention
[0008] In order to solve the above problems, the present invention proposes a method and system for storing and querying a ciphertext database. The present invention can support equivalent query of ciphertext and has excellent ciphertext fuzzy query performance.
[0009] According to some embodiments, the present invention adopts the following technical solutions:
[0010] A method for storing a secret database comprises the following steps:
[0011] The character type of the data to be encrypted is converted into a preset composite data type inside the secret database, a part of the data to be encrypted is symmetrically encrypted, and the other part of the data is hashed;
[0012] The encrypted data is merged and stored in a preset composite data type.
[0013] As an optional implementation, the preset composite data type stores two types of encrypted data, one part is symmetric encrypted ciphertext, and the other part is hash encrypted ciphertext;
[0014] The content of the preset composite data type also includes a hash encryption length.
[0015] As an optional implementation, the process of performing hash encryption includes:
[0016] Obtain the owner of the table where the encrypted data is located; obtain the database password of the owner, use this password to perform SM3 hash encryption, and obtain hash ciphertext;
[0017] The obtained hash ciphertext is used as the initial vector of SM3 encryption and SM3 iterative compression is performed;
[0018] Dynamically adjust the hash ciphertext length.
[0019] As a further implementation, the process of dynamically adjusting the length of the hash ciphertext includes: obtaining an initial hash ciphertext length, hashing characters of the text and intercepting bytes of the initial hash ciphertext length as the hash ciphertext;
[0020] When a ciphertext collision occurs, the number of collisions is compared to see if it exceeds the set collision threshold. If it exceeds the collision threshold, the ciphertext length is increased by 1, and the subsequent characters are hashed using the new ciphertext length.
[0021] As an optional implementation, symmetric encryption uses the SM4 algorithm.
[0022] A method for querying a secret database, based on the above method, comprises the following steps:
[0023] Obtaining a ciphertext query request and determining a query category in the ciphertext query request;
[0024] Selecting and using corresponding encrypted data in a preset composite data type according to the query category;
[0025] If it is a hash-encrypted ciphertext, the fuzzy query conditions in the ciphertext query request are extracted, part of the information involved in the fuzzy query conditions is hash-encrypted, and a ciphertext fuzzy query is performed based on the encrypted fuzzy query conditions. If a matching result is found, the symmetric encrypted ciphertext in the composite data type corresponding to the matching result is decrypted and returned as the fuzzy query result.
[0026] A confidential database storage system, comprising:
[0027] A symmetric encryption module is configured to symmetric encrypt a portion of the data to be protected;
[0028] A hash encryption module is configured to perform hash encryption on another part of the data to be encrypted;
[0029] The storage module is configured to merge the encrypted data, convert the character type of the data to be encrypted and protected into a preset composite data type inside the secret database, and store it in the preset composite data type.
[0030] A confidential database query system, comprising:
[0031] A request acquisition module is configured to acquire a ciphertext query request and determine a query category in the ciphertext query request;
[0032] A selection module is configured to select and use corresponding encrypted data in a preset composite data type according to the query category;
[0033] The query module is configured to extract the fuzzy query conditions in the ciphertext query request if it is a hash-encrypted ciphertext, hash-encrypt part of the information involved in the fuzzy query conditions, and perform a ciphertext fuzzy query based on the encrypted fuzzy query conditions. If a matching result is found, the symmetric encrypted ciphertext in the composite data type corresponding to the matching result is decrypted and returned as the fuzzy query result.
[0034] Compared with the prior art, the present invention has the following beneficial effects:
[0035] The present invention supports fuzzy query of ciphertext containing wildcards. Most of the current fuzzy query technologies for ciphertext cannot support wildcards, but can only support queries for one or more keywords, which is inconsistent with the fuzzy query used in non-encrypted databases. The fuzzy query of traditional non-encrypted databases supports wildcards. The present invention allows fuzzy query of ciphertext to use wildcards.
[0036] In the existing ciphertext fuzzy query technology, the size of the encrypted data is greatly increased compared to the plaintext, and the data expansion rate exceeds 5; the ciphertext fuzzy query of the present invention has an overall data expansion rate of only 2, which is greatly improved.
[0037] The present invention uses a new encryption data type and realizes fuzzy query + equivalent query on ciphertext with only 2 times data expansion, while the prior art has no way to achieve the same effect at 2 times data expansion rate.
[0038] The present invention fully considers security and compliance. The encryption algorithm used is based on the national secret algorithm, and a random vector is added on the basis of the national secret hash algorithm, so that the same text produces different ciphertexts in different database systems, thereby improving security.
[0039] The ciphertext fuzzy query system provided by the present invention has been subjected to comparative tests and the fuzzy query performance of encrypted data is very close to that of non-encrypted (plaintext) data under the same equipment, the same data volume and the same query conditions. That is to say, the performance of the scheme of the present invention is extremely excellent.
[0040] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0042] Figure 1 is a schematic diagram of the overall query process of an embodiment;
[0043] Figure 2 is a schematic diagram of a data encryption storage process of an embodiment;
[0044] Figure 3 is a schematic diagram of a dynamic adjustment process of an embodiment;
[0045] Figure 4 The present invention is a schematic diagram of a ciphertext fuzzy query process of an embodiment. DETAILED DESCRIPTION
[0046] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0047] It should be noted that the following detailed descriptions are all illustrative and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present invention belongs.
[0048] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.
[0049] In the absence of conflict, the embodiments in this application and the features in the embodiments may be combined with each other.
[0050] Embodiment 1
[0051] like Figure 1 As shown, this embodiment creates a new data type in the database system, CipherText, which is a composite type. The composite type indicates that it does not store a single value. The composite type CipherText here stores two types of encrypted data, one is symmetric encrypted ciphertext, which is used for ciphertext equivalent query and result decryption; the other is hash encrypted ciphertext, which is used for ciphertext fuzzy query. When performing a ciphertext query, the secret database system will choose which encrypted data in CipherText to use according to the query type (ciphertext equivalent query or ciphertext fuzzy query).
[0052] There are many data types in the database, such as int, float, char, text, etc. You can use them to define the data type of the field when defining a data table. For example, when creating table t1 (id int, name text), an id field of type int and a name field of type text are created.
[0053] This embodiment adds a new data type CipherText. The character type (such as text) that the user wants to encrypt and protect will be converted into the CipherText type inside the encrypted database. For example, in the table t1 created above, if it is decided to encrypt and protect the name field, it is equivalent to using the create table t1 (id int, name CipherText) statement to create table t1 inside the encrypted database. Here, the actual data type of the name field inside the encrypted database is CipherText. When inserting data into the name field, the encrypted database will perform symmetrical encryption and hash encryption on the data and store it in the name field of the CipherText type.
[0054] The CipherText encryption type includes two types of encryption for a plaintext message, namely symmetric encryption and hash encryption. Its internal format is shown in Table 1:
[0055] Table 1
[0056] Hash encryption length Hash encrypted ciphertext Symmetric encryption ciphertext
[0057] The CipherText contains three parts: 1. Hash encryption length. Hash encryption length consists of two parts: one is the length of a single character hash encryption, which is 3 bytes in the initial case. The other is the total hash encryption ciphertext length of the hash-encrypted text.
[0058] For example, to hash the text "Jinan City, Shandong Province", it is necessary to hash each Chinese character separately and then assemble the hash ciphertexts of the six Chinese characters together. Initially, the hash encryption length of each character is 3 bytes, so the total length of the above six Chinese characters after encryption is 18 bytes. The "Hash Encryption Length" field records the encryption length 3 of each character and the total encryption length 18 of the entire text. The "Hash Encryption Length" field uses 2 bytes to record the above information. Then, the above six Chinese characters are stored in CipherText as 2 bytes of "Hash Encryption Length", 18 bytes of hash encryption ciphertext, and symmetric encryption ciphertext starting from the 21st byte. During the secret fuzzy query, different ciphertexts will be extracted based on the above information.
[0059] Similarly, when performing data queries, the cipher database will automatically select encrypted data using CipherText based on the query type (ciphertext equivalent query or ciphertext fuzzy query).
[0060] This embodiment improves the hash encryption algorithm for the ciphertext fuzzy query scenario of the confidential database.
[0061] One of the improvements is to add random vectors to improve security. The specific steps are:
[0062] Step S1. Obtain the owner of the table where the encrypted data is located (ie, the creator of the encrypted table in the database);
[0063] Step S2. Obtain the database password of the owner of this table (ie, a user of the database), use this password to perform conventional SM3 hash encryption, and obtain a 256-bit (8-byte) hash ciphertext.
[0064] Step S3: Use the 256-bit ciphertext obtained in step S2 as the initial vector for SM3 encryption. The iterative compression process of SM3 is V (i+1) =CF(V (i) ,B (i) ), where CF is the compression function of SM3, V is the iterative compression result obtained in each iteration (length is 256 bits), B is the message group (the length of each message group is 512 bits), SM3 uses the compression function CF to perform compression calculation on each message group, and uses the result as the V value for the next round of compression calculation. When performing the first CF compression calculation, the initial V value is required, that is, V 0 Here, the 256-bit ciphertext obtained in step S2 is used as V 0 , and perform subsequent CF compression iterations. This ensures that different database users can obtain different hash values for the same text when hashing it.
[0065] The second improvement is the adaptive hash ciphertext length. The length after SM3 encryption is 256 bits, or 32 bytes. Using the default length will lead to a huge data expansion. A Chinese character takes up 3 bytes, which expands to 32 bytes after hash encryption, and the amount of data has expanded 10 times. Therefore, the hash ciphertext must be truncated, for example, only the first 3 bytes of the hash ciphertext are taken, and the remaining 29 bytes are discarded. Theoretically, 3 bytes can accommodate 16,777,216 hash values, and there are about a few thousand commonly used Chinese characters. The probability of a collision is very small, and 3 bytes are enough. But in the real world, it is not enough to only consider Chinese characters.
[0066] For example, in a person's name, there may be minority characters, foreign characters of foreigners, etc. Therefore, under different character encoding ranges, the length of the hash ciphertext needs to be dynamically adjusted. The dynamic adjustment process is as follows: Figure 3 shown.
[0067] The initial hash ciphertext length is 3 bytes. The characters of the text are hashed and encrypted, and 3 bytes are intercepted as the hash ciphertext. When ciphertext collisions occur, it will be checked whether the number of collisions exceeds the collision threshold set by the user (if the collision threshold is set to 5, 5 ciphertext collisions are allowed). If the collision threshold is exceeded, the ciphertext length is incremented by 1, and then the subsequent characters are hashed and encrypted using the new ciphertext length.
[0068] Two types of encryption are used in CipherText, as Figure 2 shown. One is symmetric encryption, and the other is hash encryption. Symmetric encryption uses the standard SM4 algorithm to encrypt the plaintext as a whole, and the size of the encrypted ciphertext is the same as that of the plaintext. Hash encryption uses an improved SM3 algorithm. The improvement method is to add a random vector to the encrypted plaintext to enhance the confusion degree and reduce the collision rate. This invention mainly aims at fuzzy queries of Chinese. The encoding of Chinese characters generally occupies 3 bytes. After the improved SM3 algorithm of this invention performs hash encryption on Chinese characters, it still only occupies 3 bytes and no collisions will occur. In addition, because a random vector is added, the hash ciphertexts of the same Chinese character in different database systems are different, ensuring that the data cannot be reverse-inferred and enhancing security. The size of the hash-encrypted data of this invention is the same as the size of the encrypted plaintext.
[0069] Adopting this encryption algorithm meets the national security requirements, adds a random vector to SM3 to improve security, and the overall encrypted ciphertext size is twice that of the plaintext data, with a low data expansion rate. It can support equal-value queries and fuzzy queries of ciphertexts.
[0070] As Figure 4 shown, when performing a fuzzy query in the ciphertext database, fuzzy query conditions will appear in the query statement entered by the user, such as "name like '张%三'". The ciphertext database will perform the same hash encryption on the Chinese characters in this condition. The encrypted condition is "name like 'E(张)%E(三)'". This query condition is passed into the calculation engine of the ciphertext data, and the like function that originally performs fuzzy query calculation in the database is used to perform like calculation in the hash-encrypted data of CipherText. If a matching result is found, the symmetric encryption ciphertext corresponding to this result is decrypted and returned as the result.
[0071] When performing an equal-value query in the ciphertext database, directly perform an equal-value search in the symmetric encryption ciphertext.
[0072] Embodiment 2
[0073] A method for storing a ciphertext database includes the following steps:
[0074] The character type of the data to be encrypted is converted into a preset composite data type inside the secret database, a part of the data to be encrypted is symmetrically encrypted, and the other part of the data is hashed;
[0075] The encrypted data is merged and stored in a preset composite data type.
[0076] In this embodiment, the preset composite data type stores two types of encrypted data, one part is symmetric encrypted ciphertext, and the other part is hash encrypted ciphertext;
[0077] The content of the preset composite data type also includes a hash encryption length.
[0078] In this embodiment, the process of performing hash encryption includes:
[0079] Obtain the owner of the table where the encrypted data is located; obtain the database password of the owner, use this password to perform SM3 hash encryption, and obtain hash ciphertext;
[0080] The obtained hash ciphertext is used as the initial vector of SM3 encryption and SM3 iterative compression is performed;
[0081] Dynamically adjust the hash ciphertext length.
[0082] The process of dynamically adjusting the length of the hash ciphertext includes: obtaining an initial hash ciphertext length, performing hash encryption on characters of the text and intercepting bytes of the initial hash ciphertext length as the hash ciphertext;
[0083] When a ciphertext collision occurs, the number of collisions is compared to see if it exceeds the set collision threshold. If it exceeds the collision threshold, the ciphertext length is increased by 1, and the subsequent characters are hashed using the new ciphertext length.
[0084] In this embodiment, symmetric encryption uses the SM4 algorithm.
[0085] Embodiment 3
[0086] A method for querying a secret database comprises the following steps:
[0087] Obtaining a ciphertext query request and determining a query category in the ciphertext query request;
[0088] Selecting and using corresponding encrypted data in a preset composite data type according to the query category;
[0089] If it is a hash-encrypted ciphertext, the fuzzy query conditions in the ciphertext query request are extracted, part of the information involved in the fuzzy query conditions is hash-encrypted, and a ciphertext fuzzy query is performed based on the encrypted fuzzy query conditions. If a matching result is found, the symmetric encrypted ciphertext in the composite data type corresponding to the matching result is decrypted and returned as the fuzzy query result.
[0090] Embodiment 4
[0091] A confidential database storage system, comprising:
[0092] A symmetric encryption module is configured to symmetric encrypt a portion of the data to be protected;
[0093] A hash encryption module is configured to perform hash encryption on another part of the data to be encrypted;
[0094] The storage module is configured to merge the encrypted data, convert the character type of the data to be encrypted and protected into a preset composite data type inside the secret database, and store it in the preset composite data type.
[0095] Embodiment 5
[0096] A confidential database query system, comprising:
[0097] A request acquisition module is configured to acquire a ciphertext query request and determine a query category in the ciphertext query request;
[0098] A selection module is configured to select and use corresponding encrypted data in a preset composite data type according to the query category;
[0099] The query module is configured to extract the fuzzy query conditions in the ciphertext query request if it is a hash-encrypted ciphertext, hash-encrypt part of the information involved in the fuzzy query conditions, and perform a ciphertext fuzzy query based on the encrypted fuzzy query conditions. If a matching result is found, the symmetric encrypted ciphertext in the composite data type corresponding to the matching result is decrypted and returned as the fuzzy query result.
[0100] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0101] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0102] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0103] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0104] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made by those skilled in the art within the spirit and principle of the present invention without creative labor shall be included in the protection scope of the present invention.
Claims
1. A method for storing a secret database, characterized in that: The following steps are involved: The character type of the data to be encrypted is converted into a preset composite data type inside the secret database, a part of the data to be encrypted is symmetrically encrypted, and the other part of the data is hashed; The encrypted data is merged and stored in a preset composite data type.
2. A method for storing a secret database as claimed in claim 1, characterized in that: The preset composite data type stores two types of encrypted data, one part is symmetric encrypted ciphertext and the other part is hash encrypted ciphertext; The content of the preset composite data type also includes a hash encryption length.
3. A method for storing a secret database as claimed in claim 1, characterized in that: The hashing process includes: Obtain the owner of the table where the encrypted data is located; obtain the database password of the owner, use this password to perform SM3 hash encryption, and obtain hash ciphertext; The obtained hash ciphertext is used as the initial vector of SM3 encryption and SM3 iterative compression is performed; Dynamically adjust the hash ciphertext length.
4. A method for storing a secret database as claimed in claim 3, characterized in that: The process of dynamically adjusting the length of the hash ciphertext includes: obtaining an initial hash ciphertext length, performing hash encryption on characters of the text and intercepting bytes of the initial hash ciphertext length as the hash ciphertext; When a ciphertext collision occurs, the number of collisions is compared to see if it exceeds the set collision threshold. If it exceeds the collision threshold, the ciphertext length is increased by 1, and the subsequent characters are hashed using the new ciphertext length.
5. A method for storing a secret database as claimed in claim 1, characterized in that: Symmetric encryption uses the SM4 algorithm.
6. A method for querying a secret database, based on the method according to any one of claims 1 to 5, characterized in that: The following steps are involved: Obtaining a ciphertext query request and determining a query category in the ciphertext query request; Selecting and using corresponding encrypted data in a preset composite data type according to the query category; If it is a hash-encrypted ciphertext, the fuzzy query conditions in the ciphertext query request are extracted, part of the information involved in the fuzzy query conditions is hash-encrypted, and a ciphertext fuzzy query is performed based on the encrypted fuzzy query conditions. If a matching result is found, the symmetric encrypted ciphertext in the composite data type corresponding to the matching result is decrypted and returned as the fuzzy query result.
7. A confidential database storage system, characterized in that: include: A symmetric encryption module is configured to symmetric encrypt a portion of the data to be protected; A hash encryption module is configured to perform hash encryption on another part of the data to be encrypted; The storage module is configured to merge the encrypted data, convert the character type of the data to be encrypted and protected into a preset composite data type inside the secret database, and store it in the preset composite data type.
8. A confidential database query system, characterized in that: include: A request acquisition module is configured to acquire a ciphertext query request and determine a query category in the ciphertext query request; A selection module is configured to select and use corresponding encrypted data in a preset composite data type according to the query category; The query module is configured to extract the fuzzy query conditions in the ciphertext query request if it is a hash-encrypted ciphertext, hash-encrypt part of the information involved in the fuzzy query conditions, and perform a ciphertext fuzzy query based on the encrypted fuzzy query conditions. If a matching result is found, the symmetric encrypted ciphertext in the composite data type corresponding to the matching result is decrypted and returned as the fuzzy query result.
9. A computer-readable storage medium, characterized in that: Used to store computer instructions, which, when executed by a processor, complete the steps of the method according to any one of claims 1 to 6.
10. An electronic device, characterized in that: The method comprises a memory and a processor, and computer instructions stored in the memory and executed on the processor, wherein when the computer instructions are executed by the processor, the steps in the method according to any one of claims 1 to 6 are completed.