Anti-frequency analysis searchable encryption method and system

Through the certificate-free encryption system and probability trap generation algorithm, the problems of certificate management and key hosting in traditional encryption solutions are solved, and the system's frequency analysis resistance is improved to ensure data privacy and security.

CN120567407APending Publication Date: 2025-08-29GUIZHOU UNIV
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510555950.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-08-29

AI Technical Summary

Technical Problem

There are certificate management problems and secret key hosting problems in traditional public key search encryption solutions. Malicious users are prone to obtain target keyword privacy information through frequency analysis and keyword guessing attacks.

Method used

A certificate-free encryption system is adopted, and a probability trap gate generation algorithm is introduced. A certificate-free key is generated through the key generation center. The data owner and receiver generate keyword ciphertext and trap gate, and the cloud server makes matching judgments.

Benefits of technology

In scenarios with limited computing resources, the system's resistance to frequency analysis attacks is improved, data privacy and security are ensured, and the risk of secret key hosting is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120567407A_ABST
    Figure CN120567407A_ABST
Patent Text Reader

Abstract

According to the anti-frequency analysis searchable encryption method and system, a certificateless encryption system is introduced, for a scene with limited computing resources, the scheme is ensured to be safe and suitable for the scene with the limited computing resources, meanwhile, a trap door algorithm is designed based on a probability trap door generation algorithm, and the security of the scheme is improved. The method improves the resistance of a system to frequency analysis attacks, solves the problem of secret key trusteeship due to the fact that identity information and secret key distribution are concentrated in a private key generation center in a traditional encryption scheme, and improves the encryption efficiency. The technical problem that malicious users are easy to obtain the privacy information of the target keyword by performing frequency analysis on trap doors and initiating keyword guessing attacks is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data encryption technology, and in particular to a frequency analysis-resistant searchable encryption method and system. Background Art

[0002] With the rapid development of information technology, the Internet of Things (IoT) is increasingly being applied across multiple sectors. The Industrial Internet of Things (IIoT), an extension of IoT technology in the industrial sector, is leading a new round of industrial revolution. By integrating advanced sensors, communications technologies, data analytics, and automation equipment into traditional industrial systems, the IIoT enables intelligent interconnection of equipment, factories, and supply chains, significantly improving the efficiency, flexibility, and productivity of industrial systems. As the number of IIoT devices increases, the amount of data generated is growing exponentially. Uploading and storing data on cloud servers can reduce IIoT storage costs. During industrial production, IIoT data is collected by sensors and uploaded to cloud servers via the internet. Cloud servers are responsible for storing IIoT data, allowing authorized users to access and analyze it. However, when large amounts of data are uploaded to the cloud, the risk of data leakage increases significantly. The centralized storage of data in cloud environments makes them high-value targets for cyberattacks. Furthermore, it is crucial to ensure that cloud server providers are not malicious. Therefore, to protect data privacy, data is often encrypted before being uploaded to cloud servers.

[0003] However, since encrypted data destroys the association between data and keywords, how to retrieve encrypted data becomes a tricky problem.

[0004] Public Key Encryption with Keyword Search (PEKS) offers the unique advantage of enabling data searches within encrypted data. In a PEKS system, the data owner extracts keywords from the encrypted data. The data owner then uses the data recipient's public key to generate a ciphertext of the keywords, which is then linked to the encrypted data and uploaded to a cloud server. When searching, the data user specifies the keywords and uses their private key to generate a search trapdoor, which they then send as a search query to the cloud server. Upon receiving the search request, the cloud server performs a match test and returns the matching ciphertext to the cloud server.

[0005] However, traditional public-key searchable encryption schemes suffer from a significant problem: all schemes require the establishment of a trusted authentication center (CA), inevitably leading to certificate management issues. To address this, the identity-based encryption scheme PEKS was proposed. However, identity-based encryption schemes involve a private key generator (PKG). Since identity information and key distribution are centralized in the PKG, this encryption scheme suffers from key escrow issues. Furthermore, malicious users can easily obtain private information about target keywords by performing frequency analysis on trapdoors and launching keyword guessing attacks.

[0006] Therefore, when designing an encryption system, in addition to paying attention to certificate management and key hosting issues, it must also be able to resist keyword guessing attacks initiated by malicious users and the impact of frequency analysis to ensure the security and reliability of the entire system. Summary of the Invention

[0007] The present application provides a frequency analysis-resistant searchable encryption method and system, which solves the technical problem in traditional encryption schemes where identity information and key distribution are concentrated in a private key generation center, resulting in a key custody problem. This makes it easy for malicious users to obtain target keyword privacy information by performing frequency analysis on trap doors and launching keyword guessing attacks.

[0008] In view of this, the first aspect of the present application provides a frequency analysis-resistant searchable encryption method, the method comprising:

[0009] S1. The key generation center initializes system parameters, which include: security parameter λ, confidential random number and three different secure hash functions Generate system master key s and system public key P pub , and announce the system parameters params = {λ, G, q, P, P pub ,H1,H2,H3}, where G is a cyclic additive group of prime numbers of order q, and P is a generator of group G;

[0010] S2. The data owner corresponds to the first client and the data receiver corresponds to the second client and randomly selects the first identity Second identity as the first secret value and the second secret value, and calculate and

[0011] S3. The key generation center generates a first private key and a first public key of the data owner corresponding to the first client, and a second private key and a second public key of the data recipient, respectively, based on the confidential random number, the first identity ID of the data owner, the second identity ID of the data recipient, and the system parameters;

[0012] S4. The data owner's corresponding first client encrypts the keyword w according to the system parameters, the data owner's first private key, and the data recipient's second public key to generate a keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage;

[0013] S5. The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner to generate a keyword trapdoor, and sends the keyword trapdoor to the cloud server;

[0014] S6. The cloud server matches the keyword trap sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result.

[0015] Optionally, step S3 specifically includes:

[0016] The key generation center is based on {s,ID O ,params}, where ID O ∈{0,1} * , randomly selected By calculation and Send to the first client corresponding to the data owner and

[0017] The data owner corresponds to the first client As the first private key, As the first public key;

[0018] The key generation center is based on {s,ID R ,params}, where ID R ∈{0,1} * , randomly selected By calculation and Send to data recipient and

[0019] The data receiver corresponds to the second client As the second private key, As the second public key.

[0020] Optionally, step S4 specifically includes:

[0021] The data owner corresponds to the first client based on system parameters params, ID O , ID R , as well as Select random number By calculation C1=r1P、 and Generate the keyword ciphertext CT = (C1, C2, C3, C4) of the keyword w, and send the keyword ciphertext to the cloud server for storage.

[0022] Optionally, step S5 specifically includes:

[0023] The data receiver corresponds to the second client based on the system parameters params, ID O , ID R , as well as Select random number By calculation T1=r3P、 and Generate a keyword trapdoor Tw'=(T1, T2, T3, T4) for the keyword w', and send the keyword trapdoor to the cloud server.

[0024] Optionally, step S6 specifically includes:

[0025] The cloud server matches the keyword trapdoor Tw'=(T1, T2, T3, T4) sent by the data receiver to the second client with the stored keyword ciphertext CT=(C1, C2, C3, C4) to determine whether the equation C2T4-C3T1=T2C4-T3C1 holds.

[0026] If the equation holds true, the cloud server returns the encrypted file to the second client corresponding to the data recipient; otherwise, the cloud server refuses to return the encrypted file to the second client corresponding to the data recipient.

[0027] A second aspect of the present application provides a frequency analysis-resistant searchable encryption system, the system comprising: a key generation center, a first client corresponding to a data owner, a second client corresponding to a data recipient, and a cloud server, wherein:

[0028] The key generation center initializes the system parameters, which include: security parameter λ, confidential random number and three different secure hash functions Generate system master key s and system public key P pub, and announce the system parameters params = {λ, G, q, P, P pub ,H1,H2,H3}, where G is a cyclic additive group of prime numbers of order q, and P is a generator of group G;

[0029] The data owner corresponds to the first client and the data receiver corresponds to the second client and randomly selects the first identity Second identity as the first secret value and the second secret value, and calculate and

[0030] The key generation center generates the first private key and first public key of the data owner corresponding to the first client and the second private key and second public key of the data receiver respectively according to the confidential random number, the first identity ID of the data owner, the second identity ID of the data receiver, and the system parameters;

[0031] The data owner's corresponding first client encrypts the keyword w according to the system parameters, the data owner's first private key, and the data recipient's second public key to generate the keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage;

[0032] The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner, generates a keyword trapdoor, and sends the keyword trapdoor to the cloud server;

[0033] The cloud server matches the keyword trap sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result.

[0034] Optionally, the key generation center generates a first private key and a first public key of the data owner corresponding to the first client and a second private key and a second public key of the data recipient according to the confidential random number, the first identity ID of the data owner, the second identity ID of the data recipient, and the system parameters, specifically including:

[0035] The key generation center is based on {s,ID O ,params}, where ID O ∈{0,1} * , randomly selected By calculation and Send to the first client corresponding to the data owner and

[0036] The data owner corresponds to the first client As the first private key, As the first public key;

[0037] The key generation center is based on {s,ID R ,params}, where ID R ∈{0,1} * , randomly selected By calculation and Send to data recipient and The data receiver corresponds to the second client As the second private key, As the second public key.

[0038] Optionally, the data owner corresponds to the first client and encrypts the keyword w according to the system parameters, the first private key of the data owner, and the second public key of the data recipient to generate a keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage. Specifically, the steps include:

[0039] The data owner corresponds to the first client based on system parameters params, ID O , ID R , as well as Select random number By calculation C1=r1P、 and Generate the keyword ciphertext CT = (C1, C2, C3, C4) of the keyword w, and send the keyword ciphertext to the cloud server for storage.

[0040] Optionally, the data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner to generate a keyword trapdoor, and sends the keyword trapdoor to the cloud server. Specifically, the process includes:

[0041] The data receiver corresponds to the second client based on the system parameters params, ID O , ID R , as well as Select random number By calculation T1=r3P、 and Generate a keyword trapdoor Tw'=(T1, T2, T3, T4) for the keyword w', and send the keyword trapdoor to the cloud server.

[0042] Optionally, the cloud server matches the keyword trapdoor sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result, specifically including:

[0043] The cloud server matches the keyword trapdoor Tw'=(T1, T2, T3, T4) sent by the data receiver to the second client with the stored keyword ciphertext CT=(C1, C2, C3, C4) to determine whether the equation C2T4-C3T1=T2C4-T3C1 holds.

[0044] If the equation holds true, the cloud server returns the encrypted file to the second client corresponding to the data recipient; otherwise, the cloud server refuses to return the encrypted file to the second client corresponding to the data recipient.

[0045] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:

[0046] In this application, a frequency analysis-resistant searchable encryption method and system are provided. By introducing a certificateless encryption system, the scheme is guaranteed to be secure while being applicable to scenarios with limited computing resources. At the same time, a trapdoor algorithm is designed based on a probabilistic trapdoor generation algorithm to enhance the system's resistance to frequency analysis attacks. This solves the technical problem in traditional encryption schemes where identity information and key distribution are concentrated in a private key generation center, resulting in a key custody problem. This makes it easy for malicious users to obtain target keyword privacy information by performing frequency analysis on the trapdoor and launching keyword guessing attacks. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Figure 1 This is a structural diagram of the frequency analysis-resistant searchable encryption system in an embodiment of the present application. DETAILED DESCRIPTION

[0048] In order to help those skilled in the art better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0049] This application designs a frequency analysis-resistant searchable encryption method and system, which solves the technical problem in traditional encryption schemes where identity information and key distribution are concentrated in the private key generation center, resulting in key custody problems. This makes it easy for malicious users to obtain target keyword privacy information by performing frequency analysis on trap doors and launching keyword guessing attacks.

[0050] For ease of understanding, the present embodiment provides a frequency analysis-resistant searchable encryption method, specifically:

[0051] S1. The key generation center initializes system parameters, which include: security parameter λ, confidential random number and three different secure hash functions Generate system master key s and system public key P pub , and announce the system parameters params = {λ, G, q, P, P pub ,H1,H2,H3}, where G is a cyclic additive group of prime numbers of order q, and P is a generator of group G;

[0052] It's important to note that the key generation center generates the system master key and system public key based on the security parameter λ, a secret random number, and three different secure hash functions. The system parameters are then published. These parameters include parameters such as the prime-order cyclic addition group and the group's generators. These system parameters are the foundation of the entire encryption method, and subsequent encryption and decryption operations rely on these parameters.

[0053] For example, assume the security parameter λ is 128, the secret random number is rand = 345678, and the three secure hash functions are H1, H2, and H3. The key generation center selects a prime cyclic addition group G with a generator of g = 3. Then, using the relevant key generation algorithm, it generates the system master key msk and the system public key pk. These parameters, along with the group G, generator g, and hash functions H1, H2, and H3, are published as system parameters. These parameters are accessible to all parties, including data owners, data recipients, and cloud servers, allowing for subsequent operations.

[0054] S2. The data owner corresponds to the first client and the data receiver corresponds to the second client and randomly selects the first identity Second identity as the first secret value and the second secret value, and calculate and

[0055] The first client corresponding to the data owner and the second client corresponding to the data receiver respectively randomly select their own identity IDs as secret values, and calculate corresponding ciphertexts based on system parameters and the selected identity IDs.

[0056] For example, the first client corresponding to data owner A randomly selects the first identity ID1 = "userA@domain.com", and the second client corresponding to data receiver B randomly selects the second identity ID2 = "userB@domain.com". Then, based on the hash function and other system parameters, they respectively calculate the corresponding ciphertexts, such as data_owner_ciphertext = H1(ID1) and data_receiver_ciphertext = H2(ID2). These two ciphertexts will be used in the subsequent private and public key generation process.

[0057] S3. The key generation center generates a first private key and a first public key of the data owner corresponding to the first client, and a second private key and a second public key of the data recipient, respectively, based on the confidential random number, the first identity ID of the data owner, the second identity ID of the data recipient, and the system parameters;

[0058] Furthermore, the step S3 specifically includes:

[0059] The key generation center is based on {s,ID O ,params}, where ID O ∈{0,1} * , randomly selected By calculation and Send to the first client corresponding to the data owner and

[0060] The data owner corresponds to the first client As the first private key, As the first public key;

[0061] The key generation center is based on {s,ID R ,params}, where ID R ∈{0,1} * , randomly selected By calculation and Send to data recipient and

[0062] The data receiver corresponds to the second client As the second private key, As the second public key.

[0063] It should be noted that the key generation center uses confidential random numbers, the identity IDs of the data owner and data recipient, and system parameters to generate the private key and public key of the first client corresponding to the data owner, and the private key and public key of the second client corresponding to the data recipient.

[0064] For example, after receiving the data owner's ID1 and the data recipient's ID2, the key generation center randomly selects r1 = 123456 for the data owner, calculates s1 = r1 × g (assuming × here represents some operation, such as modular multiplication), and s2 = H3(ID1) × r1. After obtaining s3, it sends s1 and s2 to the data owner. The data owner uses s1 as their first private key sk1 and s2 as their first public key pk1. Similarly, it generates a second private key sk2 and a second public key pk2 for the data recipient.

[0065] S4. The data owner's corresponding first client encrypts the keyword w according to the system parameters, the data owner's first private key, and the data recipient's second public key to generate a keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage;

[0066] Furthermore, the step S4 specifically includes:

[0067] The data owner corresponds to the first client based on system parameters params, ID O , ID R , as well as Select random number By calculation C1=r1P、 and Generate the keyword ciphertext CT = (C1, C2, C3, C4) of the keyword w, and send the keyword ciphertext to the cloud server for storage.

[0068] It should be noted that the first client corresponding to the data owner uses the system parameters, its own first private key and the second public key of the data recipient to encrypt the keyword, generate the keyword ciphertext, and send it to the cloud server for storage.

[0069] For example: the data owner's keyword is "industrial data". Based on the relevant parameters in the system parameters, such as selecting the random number ran = 7890, through calculation, using its own private key sk1 and the data recipient's public key pk2, according to the encryption algorithm, calculate the values ​​of c1, c2, c3, c4, c5, etc., to form the keyword ciphertext ciphertext_keyword = {c1, c2, c3, c4, c5}, and then send it to the cloud server. The cloud server stores the keyword ciphertext together with the corresponding ciphertext file for subsequent data recipients to search.

[0070] S5. The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner to generate a keyword trapdoor, and sends the keyword trapdoor to the cloud server;

[0071] Furthermore, the step S5 specifically includes:

[0072] The data receiver corresponds to the second client based on the system parameters params, ID O , ID R , as well as Select random number By calculation T1=r3P、 and Generate a keyword trapdoor Tw'=(T1, T2, T3, T4) for the keyword w', and send the keyword trapdoor to the cloud server.

[0073] It should be noted that the data recipient encrypts the keyword according to the system parameters, his / her own second private key and the data owner's first public key, generates a keyword trapdoor, and sends the trapdoor to the cloud server.

[0074] For example, a data receiver wants to search for the keyword "industrial data." Based on system parameters, it selects the random number ran.receiver = 45678, uses its own private key sk2 and the data owner's public key pk1, and calculates the values ​​of t1, t2, t3, t4, t5 through the trapdoor generation algorithm to form the keyword trapdoor_keyword = {t1, t2, t3, t4, t5}. This trapdoor is then sent to the cloud server, which matches the stored keyword ciphertext with the trapdoor to determine whether to return the corresponding ciphertext file.

[0075] S6. The cloud server matches the keyword trap sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result.

[0076] Furthermore, the step S6 specifically includes:

[0077] The cloud server matches the keyword trapdoor Tw'=(T1, T2, T3, T4) sent by the data receiver to the second client with the stored keyword ciphertext CT=(C1, C2, C3, C4) to determine whether the equation C2T4-C3T1=T2C4-T3C1 holds.

[0078] If the equation holds true, the cloud server returns the encrypted file to the second client corresponding to the data recipient; otherwise, the cloud server refuses to return the encrypted file to the second client corresponding to the data recipient.

[0079] It should be noted that after the cloud server receives the keyword trapdoor sent by the data recipient, it matches it with the stored keyword ciphertext and determines whether to return the ciphertext file to the data recipient by judging whether the equation is established.

[0080] For example, after receiving the trapdoor_keyword, the cloud server performs a term-by-term match calculation against the previously stored keyword ciphertext_keyword. For example, it checks whether c1×t1'+c2×t2'+... equals a specific value, where t1' and t2' may be transformed trapdoor values. If the equation holds, the keyword matches, and the cloud server returns the corresponding ciphertext file to the data recipient. Otherwise, it refuses to return the data to protect data privacy and security.

[0081] See also Figure 1 , Figure 1 This is a schematic diagram of the structure of the anti-frequency analysis searchable encryption system in the embodiment of the present application. Figure 1 As shown, it specifically includes: a key generation center, a first client corresponding to the data owner, a second client corresponding to the data receiver, and a cloud server, wherein:

[0082] The key generation center initializes the system parameters, which include: security parameter λ, confidential random number and three different secure hash functions Generate system master key s and system public key P pub , and announce the system parameters params = {λ, G, q, P, P pub ,H1,H2,H3}, where G is a cyclic additive group of prime numbers of order q, and P is a generator of group G;

[0083] The data owner corresponds to the first client and the data receiver corresponds to the second client and randomly selects the first identity Second identity as the first secret value and the second secret value, and calculate R IDO =x IDO P and R IDR =x IDR P;

[0084] The key generation center generates the first private key and first public key of the data owner corresponding to the first client and the second private key and second public key of the data receiver respectively according to the confidential random number, the first identity ID of the data owner, the second identity ID of the data receiver, and the system parameters;

[0085] The data owner's corresponding first client encrypts the keyword w according to the system parameters, the data owner's first private key, and the data recipient's second public key to generate the keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage;

[0086] The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner, generates a keyword trapdoor, and sends the keyword trapdoor to the cloud server;

[0087] The cloud server matches the keyword trap sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result.

[0088] Furthermore, the key generation center generates a first private key and a first public key of the data owner corresponding to the first client and a second private key and a second public key of the data receiver respectively according to the confidential random number, the first identity ID of the data owner, the second identity ID of the data receiver, and the system parameters, specifically including:

[0089] The key generation center is based on {s,ID O ,params}, where ID O ∈{0,1} * , randomly selected By calculation and Send to the first client corresponding to the data owner and

[0090] The data owner corresponds to the first client As the first private key, As the first public key;

[0091] The key generation center is based on {s,ID R ,params}, where ID R ∈{0,1} * , randomly selected By calculation and Send to data recipient and The data receiver corresponds to the second client As the second private key, As the second public key.

[0092] Furthermore, the data owner corresponds to the first client and encrypts the keyword w according to the system parameters, the first private key of the data owner and the second public key of the data recipient to generate a keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage. Specifically, the steps include:

[0093] The data owner corresponds to the first client based on system parameters params, ID O , ID R , as well as Select random number By calculation C1=r1P、 and Generate the keyword ciphertext CT = (C1, C2, C3, C4) of the keyword w, and send the keyword ciphertext to the cloud server for storage.

[0094] Furthermore, the data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner to generate a keyword trapdoor, and sends the keyword trapdoor to the cloud server. Specifically, the steps include:

[0095] The data receiver corresponds to the second client based on the system parameters params, ID O , ID R , as well as Select random number By calculation T1=r3P、 and Generate a keyword trapdoor Tw'=(T1, T2, T3, T4) for the keyword w', and send the keyword trapdoor to the cloud server.

[0096] Furthermore, the cloud server matches the keyword trapdoor sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result, specifically including:

[0097] The cloud server matches the keyword trapdoor Tw'=(T1, T2, T3, T4) sent by the data receiver to the second client with the stored keyword ciphertext CT=(C1, C2, C3, C4) to determine whether the equation C2T4-C3T1=T2C4-T3C1 holds.

[0098] If the equation holds true, the cloud server returns the encrypted file to the second client corresponding to the data recipient; otherwise, the cloud server refuses to return the encrypted file to the second client corresponding to the data recipient.

[0099] In an embodiment of the present application, a frequency analysis-resistant searchable encryption method and system are provided. By introducing a certificateless encryption system, in the face of scenarios with limited computing resources, the scheme is guaranteed to be secure while being applicable to scenarios with limited computing resources. At the same time, a trapdoor algorithm is designed based on a probabilistic trapdoor generation algorithm to enhance the system's resistance to frequency analysis attacks. This solves the technical problem in traditional encryption schemes where identity information and key distribution are concentrated in a private key generation center, resulting in a key custody problem, which makes it easy for malicious users to obtain target keyword privacy information by performing frequency analysis on the trapdoor and launching keyword guessing attacks.

[0100] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0101] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0102] It should be understood that in this application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0103] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0104] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0105] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0106] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (English full name: Read-Only Memory, English abbreviation: ROM), random access memory (English full name: Random Access Memory, English abbreviation: RAM), magnetic disk or optical disk and other media that can store program code.

[0107] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A frequency analysis resistant searchable encryption method, characterized in that: include: S1. The key generation center initializes system parameters, which include: security parameter λ, confidential random number and three different secure hash functions Generate system master key s and system public key P pub , and announce the system parameters params = {λ, G, q, P, P pub ,H1,H2,H3}, where G is a cyclic additive group of prime numbers of order q, and P is a generator of group G; S2. The data owner corresponds to the first client and the data receiver corresponds to the second client and randomly selects the first identity ID Second identity ID as the first secret value and the second secret value, and calculate and S3. The key generation center generates a first private key and a first public key of the data owner corresponding to the first client, and a second private key and a second public key of the data recipient, respectively, based on the confidential random number, the first identity ID of the data owner, the second identity ID of the data recipient, and the system parameters; S4. The data owner's corresponding first client encrypts the keyword w according to the system parameters, the data owner's first private key, and the data recipient's second public key to generate a keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage; S5. The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner to generate a keyword trapdoor, and sends the keyword trapdoor to the cloud server; S6. The cloud server matches the keyword trap sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result.

2. The frequency analysis resistant searchable encryption method according to claim 1, characterized in that: The step S3 specifically includes: The key generation center is based on {s,ID O ,params}, where ID O ∈{0,1} * , randomly selected By calculation and Send to the first client corresponding to the data owner and The data owner corresponds to the first client As the first private key, As the first public key; The key generation center is based on {s,ID R ,params}, where ID R ∈{0,1} * , randomly selected By calculation and Send to data recipient and The data receiver corresponds to the second client As the second private key, As the second public key.

3. The frequency analysis resistant searchable encryption method according to claim 2, characterized in that: The step S4 specifically includes: The data owner corresponds to the first client based on system parameters params, ID O , ID R , as well as Select random number By calculation C1=r1P、 and Generate the keyword ciphertext CT = (C1, C2, C3, C4) of keyword w, and send the keyword ciphertext to the cloud server for storage.

4. The frequency analysis resistant searchable encryption method according to claim 3, characterized in that: The step S5 specifically includes: The data receiver corresponds to the second client based on the system parameters params, ID O , ID R , as well as Select random number By calculation T1=r3P、 and Generate a keyword trapdoor Tw'=(T1, T2, T3, T4) for the keyword w', and send the keyword trapdoor to the cloud server.

5. The frequency analysis resistant searchable encryption method according to claim 4, characterized in that: The step S6 specifically includes: The cloud server matches the keyword trapdoor Tw'=(T1, T2, T3, T4) sent by the data receiver to the second client with the stored keyword ciphertext CT=(C1, C2, C3, C4) to determine whether the equation C2T4-C3T1=T2C4-T3C1 holds. If the equation holds true, the cloud server returns the encrypted file to the second client corresponding to the data recipient; otherwise, the cloud server refuses to return the encrypted file to the second client corresponding to the data recipient.

6. A frequency analysis resistant searchable encryption system, characterized in that: include: The key generation center and the data owner correspond to the first client, the data recipient corresponds to the second client and the cloud server, where: The key generation center initializes the system parameters, which include: security parameter λ, confidential random number and three different secure hash functions Generate system master key s and system public key P pub , and announce the system parameters params = {λ, G, q, P, P pub ,H1,H2,H3}, where G is a cyclic additive group of prime numbers of order q, and P is a generator of group G; The data owner corresponds to the first client and the data receiver corresponds to the second client and randomly selects the first identity ID Second identity ID as the first secret value and the second secret value, and calculate and The key generation center generates the first private key and first public key of the data owner corresponding to the first client and the second private key and second public key of the data receiver respectively according to the confidential random number, the first identity ID of the data owner, the second identity ID of the data receiver, and the system parameters; The data owner's corresponding first client encrypts the keyword w according to the system parameters, the data owner's first private key, and the data recipient's second public key to generate the keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage; The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver, and the first public key of the data owner, generates a keyword trapdoor, and sends the keyword trapdoor to the cloud server; The cloud server matches the keyword trap sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result.

7. The frequency analysis resistant searchable encryption system according to claim 6, characterized in that: The key generation center generates a first private key and a first public key of the data owner corresponding to the first client and a second private key and a second public key of the data receiver according to the confidential random number, the first identity ID of the data owner, the second identity ID of the data receiver, and the system parameters. Specifically, the key generation center generates: The key generation center is based on {s,ID O ,params}, where ID O ∈{0,1} * , randomly selected By calculation and Send to the first client corresponding to the data owner and The data owner corresponds to the first client As the first private key, As the first public key; The key generation center is based on {s,ID R ,params}, where ID R ∈{0,1} * , randomly selected By calculation and Send to data recipient and The data receiver corresponds to the second client As the second private key, As the second public key.

8. The frequency analysis resistant searchable encryption system according to claim 7, characterized in that: The data owner corresponds to the first client and encrypts the keyword w according to the system parameters, the first private key of the data owner and the second public key of the data recipient to generate the keyword ciphertext, and sends the keyword ciphertext to the cloud server for storage. Specifically, the process includes: The data owner corresponds to the first client based on system parameters params, ID O , ID R , as well as Select random number By calculation C1=r1P、 and Generate the keyword ciphertext CT = (C1, C2, C3, C4) of the keyword w, and send the keyword ciphertext to the cloud server for storage.

9. The frequency analysis resistant searchable encryption system according to claim 8, characterized in that: The data receiver encrypts the keyword w' according to the system parameters, the second private key of the data receiver and the first public key of the data owner to generate a keyword trapdoor, and sends the keyword trapdoor to the cloud server. Specifically, the process includes: The data receiver corresponds to the second client based on the system parameters params, ID O , ID R , as well as Select random number By calculation T1=r3P、 and Generate a keyword trapdoor Tw'=(T1, T2, T3, T4) for the keyword w', and send the keyword trapdoor to the cloud server.

10. The frequency analysis resistant searchable encryption system according to claim 9, characterized in that: The cloud server matches the keyword trapdoor sent by the data recipient with the stored keyword ciphertext, and determines whether to return the ciphertext file to the data recipient based on the matching result, specifically including: The cloud server matches the keyword trapdoor Tw'=(T1, T2, T3, T4) sent by the data receiver to the second client with the stored keyword ciphertext CT=(C1, C2, C3, C4) to determine whether the equation C2T4-C3T1=T2C4-T3C1 holds. If the equation holds true, the cloud server returns the encrypted file to the second client corresponding to the data recipient; otherwise, the cloud server refuses to return the encrypted file to the second client corresponding to the data recipient.

Citation Information

Cited By

  • Image semantic communication security protection method and system based on semantic noise

    CN121056237A

  • A method and system for protecting image semantic communication security based on semantic noise

    CN121056237B