Privacy protection joint query method for power system in cloud environment

By using the privacy protection joint query method of Blonde filter and proxy re-encryption algorithm in the cloud environment, the problems of high computing complexity, large communication overhead and low result accuracy in the smart grid are solved, and efficient, secure and accurate joint query is achieved.

CN119892402APending Publication Date: 2025-04-25YUNNAN POWER GRID CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411811450.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-10
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The existing joint privacy protection query method has problems such as high computational complexity, large communication overhead and low result accuracy, which is difficult to meet the requirements of smart grids for real-time and accuracy.

Method used

The privacy protection joint query method for power systems in the cloud environment is adopted, and the original data is compressed through the Bloom filter to reduce the data transmission and storage burden, and the homomorphic addition calculation task is handed over to the cloud server for completion, avoiding the query party from performing complex encryption calculations.

Benefits of technology

It improves query efficiency, reduces computing overhead and communication overhead, and ensures data security and privacy, so as to provide comprehensive data support to the query party without revealing the data privacy of the data holder.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119892402A_ABST
    Figure CN119892402A_ABST
Patent Text Reader

Abstract

The invention discloses a privacy protection joint query method for a power system in a cloud environment, and relates to the technical field of trusted data management, and the method comprises the following steps: initializing a system, and carrying out data encryption outsourcing by a data holder; the cloud server generates a proxy re-encryption key, and a query party generates an encrypted query request; and the cloud server carries out ciphertext query, and a query party carries out decryption and obtains a query result. According to the method, the original data is compressed through the Bloom filter, so that the data transmission and storage burden is reduced, and the query efficiency is improved; through the proxy re-encryption algorithm using the addition homomorphic property, a homomorphic addition calculation task is handed over to the cloud server to be completed, so that a query party is prevented from performing complex encryption calculation, and the calculation overhead is reduced; the encrypted data is converted through the cloud server by using the proxy re-encryption key without contacting plaintext data, so that the query efficiency is improved and the data security is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of trusted data management, and in particular to a privacy-preserving joint query method for power systems in a cloud environment. Background Art

[0002] With the rapid development of cloud computing and big data technologies, the construction of smart grids has put forward higher requirements for data storage, analysis and application. Traditional database systems are difficult to meet the processing needs of massive power data, and distributed databases and big data technologies have emerged. However, smart grid data involves user privacy and commercial secrets. How to perform efficient joint queries while ensuring data security has become an urgent problem to be solved. Existing privacy-preserving joint query methods are mainly based on technologies such as homomorphic encryption, secure multi-party computing and differential privacy. However, these methods have problems such as high computational complexity, high communication overhead and low result accuracy, which make it difficult to meet the real-time and accuracy requirements of smart grids.

[0003] Homomorphic encryption technology allows computing operations to be performed on encrypted data, but the computational complexity is high, which limits its application in large-scale data processing. Secure multi-party computing allows multiple parties to collaborate on data computing, but the communication and computing overhead is large, resulting in long query processing time. Differential privacy technology protects privacy by adding noise, but it will reduce data precision and affect the accuracy of analysis results. Therefore, developing an efficient, secure and accurate privacy-preserving joint query method is of great significance to the construction and development of smart grids. Summary of the invention

[0004] In view of the above-mentioned problems, the present invention is proposed.

[0005] Therefore, the technical problem solved by the present invention is: the existing privacy-preserving joint query method has the problems of high computational complexity, large communication overhead, and low result accuracy, and the problem of how to perform efficient joint query while ensuring data security.

[0006] To solve the above technical problems, the present invention provides the following technical solutions: a privacy-preserving joint query method for power systems in a cloud environment, including system initialization, data encryption outsourcing by the data holder; the cloud server generates a proxy re-encryption key, and the query party generates an encrypted query request; the cloud server performs a ciphertext query, and the query party decrypts and obtains the query result.

[0007] As a preferred solution of the privacy-preserving joint query method for power systems under a cloud environment described in the present invention, the system initialization includes system initialization, data holder initialization and query party initialization; the system initialization includes, in the system initialization stage, the system randomly inputs a security parameter λ, and randomly generates a large prime number p according to the security parameter, selects cyclic groups G1 and G2 of order p and a bilinear map e:G1×G2→G2, and outputs a public parameter par=(g,e(g,g)), where g∈G1, e(g,g)∈G2; the data holder initialization includes, after the system starts running, data holders A and B register, select a hash function H(·) that meets the requirements as a public parameter, and generate a public-private key pair according to the public parameters of the system; the data holder DO A Select random number Calculate the public-private key pair (pk a ,sk a )←(g a ,a);Data holder DO B Select random number Calculate the public-private key pair (pk b ,sk b )←(g b ,b); The query party initialization includes, after the system starts running, the query party selects a random number Calculate the public-private key pair (pk q ,sk q )←(g q ,q).

[0008] As a preferred solution of the privacy protection joint query method for power system in cloud environment described in the present invention, the data encryption outsourcing includes data compression of the data holder and encryption outsourcing of the data holder; the data compression of the data holder includes that each piece of data of the data holder is represented by a two-dimensional vector (x i ,y i ) indicates that the data holder compresses the database data before outsourcing the data; assuming that the data holder DO A Holds dataset X A =((x1,y1),...,(x n ,y n )), for X A All elements (x i ,y i ), calculate the hash value a i = hash(x i ,y i ), get the hash value set S a ={a1,a2,...,a n}, set the Bloom filter size and the number of hash functions according to the amount of data, and hash all elements in the collection into the Bloom filter through a set of hash functions of the Bloom filter to obtain BF A ; Among them, the data holder DO A A set of hash functions H passed through the Bloom filter a , expressed as:

[0009]

[0010] Assume that the data holder DO B Holds dataset X B =((x1,z1),...,(x n ,z n )), for X B Perform the same hash calculation on all elements in to obtain the element set S b ={b1,b2,...,b n}, set the Bloom filter size and the number of hash functions according to the amount of data, and use a set of hash functions of the Bloom filter to hash all elements in the collection into the Bloom filter to obtain BF B ; Among them, the data holder DO B A set of hash functions H passed through the Bloom filter b , expressed as:

[0011]

[0012] The encryption outsourcing of the data holder includes: A ,DO B Encrypt the Bloom filter with the public key held respectively to get Enc pka (BF A ) and Enc pkb (BF B );DO A For each BF A [i], select a random number Get the ciphertext It is expressed as:

[0013]

[0014] in, Represents the encrypted data of the ith element of the Bloom filter; the data holder DO A Encrypt the Bloom filter with the public key to get Enc pka (BF A ), expressed as:

[0015]

[0016] Data holder DO A Enc pka (BF A ) outsourced to cloud servers; DO B For each BF B [j], select a random number Perform the same calculation to get the data holder DO B Enc encrypted by public key to Bloom filter pkb (BF B ), expressed as:

[0017]

[0018] Data holder DO B Enc pkb (BF B ) is outsourced to cloud servers.

[0019] As a preferred solution of the privacy protection joint query method for power system in cloud environment of the present invention, wherein: the cloud server generates the proxy re-encryption key including the cloud server communicating with the data holder DO A ,DO B Interactively generate the conversion key rk a→q and RK b→q ; The cloud server generates a random number r a and r b ,calculate and And send T1 and T2 to DO respectively A and DO B ;Data holder DO A Calculate C1←T1 using the private key 1 / ska , and sends it back to the cloud server; the data holder DO B Calculation using private key And send it back to the cloud server; the cloud server calculates the received results Then we get the conversion key (rk a→q ,rk b→q )=(g q / a ,g q / b ).

[0020] As a preferred solution of the privacy-preserving joint query method for power systems in a cloud environment of the present invention, the querying party generates an encrypted query request including assuming that the querying party holds data (x i ,y i ,z i), the query party cuts the query data and obtains ((x i ,y i ),(x i ,z i )), encrypt the query according to the public hash function H(·) and get (q a ,q b )←(hash(x i ,y i ),hash(x i ,z i )), (q a ,q b ) is sent to the cloud server.

[0021] As a preferred solution of the privacy protection joint query method for power system in cloud environment described in the present invention, wherein: the cloud server performs ciphertext query including: after the cloud server receives the query request sent by the query party, it runs the joint query operation under the ciphertext, and sends the result Enc pka (R a ) and Enc pkb (R b ) is returned to the querying party; the cloud server uses DO A The k1 hash functions of the Bloom filter are q a Calculate and get c qa , expressed as:

[0022]

[0023] Adopt DO B The k2 hash functions of the Bloom filter are q b Calculate and get c qb , expressed as:

[0024]

[0025] The cloud server responds to the request c qa The element Enc corresponding to the Bloom filter position pka (BF A [i]) Perform dynamic summation to obtain Enc pka (T a ), expressed as:

[0026]

[0027] The cloud server responds to the request c qb The element Enc corresponding to the Bloom filter position pkb (BF B [j]) Perform dynamic summation to obtain Enc pkb(T b ), expressed as:

[0028]

[0029] After dynamic summation, the cloud server uses the conversion key rk a→q and RK b→q Perform proxy re-encryption calculation and obtain T a and T b , expressed as:

[0030]

[0031] The cloud server integrates the results and obtains Enc pka (R a ) and Enc pkb (R b ), expressed as:

[0032]

[0033] As a preferred solution of the privacy protection joint query method for power systems under cloud environment of the present invention, wherein: the querying party decrypts and obtains the query result, including the querying party decrypting the encrypted result using the private key after receiving it, and obtaining R a and R b , expressed as:

[0034]

[0035] The query side calculates R a ×R b ,like If true, the query succeeds, otherwise the query fails.

[0036] Another object of the present invention is to provide a privacy-preserving joint query system for power systems in a cloud environment, which can solve the technical problems of high computational complexity, high communication overhead and low result accuracy in the current existing technology by adopting technical solutions such as proxy re-encryption and Bloom filters.

[0037] As a preferred solution of the privacy protection joint query system for power systems under the cloud environment described in the present invention, it includes: a data encryption outsourcing module, a re-encryption request module, and a joint query module; the data encryption outsourcing module is used for system initialization, and the data holder performs data encryption outsourcing; the re-encryption request module is used for the cloud server to generate a proxy re-encryption key, and the query party generates an encrypted query request; the joint query module is used for the cloud server to perform ciphertext query, and the query party decrypts and obtains the query result

[0038] A computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement a privacy-preserving joint query method for a power system in a cloud environment.

[0039] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of a privacy-preserving joint query method for a power system in a cloud environment.

[0040] Beneficial effects of the present invention: The privacy-preserving joint query method for the power system in a cloud environment provided by the present invention compresses the original data through a Bloom filter, reduces the burden of data transmission and storage, and improves the query efficiency; by using a proxy re-encryption algorithm with additive homomorphic properties, the homomorphic addition calculation task is handed over to the cloud server to complete, avoiding the query party from performing complex encryption calculations and reducing the calculation overhead; the cloud server uses a proxy re-encryption key to convert the encrypted data without contacting the plaintext data, thereby improving the query efficiency and ensuring the data security; the privacy of the data holder's data is jointly guaranteed by the Bloom filter, the hash function and the proxy re-encryption algorithm, and the cloud server cannot obtain any plaintext data; by encrypting the query party information before sending it to the cloud server, the cloud server cannot obtain any query-related information, thereby ensuring the privacy of the query party; by jointly querying historical power consumption data and real-time power supply data, data support can be provided for predicting power load conditions. The present invention achieves better results in providing data support, query efficiency and data security. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.

[0042] Figure 1 An overall flow chart of a privacy-preserving joint query method for power systems in a cloud environment provided by the first embodiment of the present invention.

[0043] Figure 2 An overall structural diagram of a privacy-preserving joint query method for power systems in a cloud environment provided by the first embodiment of the present invention.

[0044] Figure 3 An overall detailed flow chart of a privacy-preserving joint query method for power systems in a cloud environment provided by the first embodiment of the present invention.

[0045] Figure 4A time consumption graph of the operation of the ciphertext outsourcing phase of a privacy-preserving joint query method for power systems in a cloud environment is provided as a second embodiment of the present invention.

[0046] Figure 5 A running time consumption graph of the query phase of a privacy-preserving joint query method for power systems in a cloud environment is provided as a second embodiment of the present invention.

[0047] Figure 6 An overall communication overhead diagram of a privacy-preserving joint query method for power systems in a cloud environment provided by the second embodiment of the present invention.

[0048] Figure 7 An overall flow chart of a privacy protection joint query system for power systems in a cloud environment provided by the third embodiment of the present invention. DETAILED DESCRIPTION

[0049] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the drawings of the specification. Obviously, the described embodiments are part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary persons in the art without creative work should fall within the scope of protection of the present invention.

[0050] Example 1, reference Figure 1-Figure 3 , which is an embodiment of the present invention, provides a privacy-preserving joint query method for power systems in a cloud environment, including:

[0051] S1: System initialization, data holder outsources data encryption.

[0052] Furthermore, the system initialization includes system initialization, data holder initialization and query party initialization; the system initialization includes, in the system initialization stage, the system randomly inputs a security parameter λ, and randomly generates a large prime number p according to the security parameter, selects cyclic groups G1 and G2 of order p and a bilinear map e:G1×G2→G2, and outputs a public parameter par=(g,e(g,g)), where g∈G1, e(g,g)∈G2; the data holder initialization includes, after the system starts running, data holders A and B register, select a hash function H(·) that meets the requirements as a public parameter, and generate a public-private key pair according to the public parameter of the system; the data holder DO A Select random number Calculate the public-private key pair (pk a ,sk a )←(g a ,a);Data holder DO BSelect random number Calculate the public-private key pair (pk b ,sk b )←(g b ,b); The query party initialization includes, after the system starts running, the query party selects a random number Calculate the public-private key pair (pk q ,sk q )←(g q ,q).

[0053] It should be noted that data encryption outsourcing includes data compression by the data holder and encryption outsourcing by the data holder; the data compression by the data holder includes using a two-dimensional vector (x i ,y i ) indicates that the data holder compresses the database data before outsourcing the data; assuming that the data holder DO A Holds dataset X A =((x1,y1),...,(x n ,y n )), for X A All elements (x i ,y i ), calculate the hash value a i = hash(x i ,y i ), get the hash value set S a ={a1,a2,...,a n}, set the Bloom filter size and the number of hash functions according to the amount of data, and hash all elements in the collection into the Bloom filter through a set of hash functions of the Bloom filter to obtain BF A ; Among them, the data holder DO A A set of hash functions H passed through the Bloom filter a , expressed as:

[0054]

[0055] Assume that the data holder DO B Holds dataset X B =((x1,z1),...,(x n ,z n )), for X B Perform the same hash calculation on all elements in to obtain the element set S b ={b1,b2,...,b n}, set the Bloom filter size and the number of hash functions according to the amount of data, and use a set of hash functions of the Bloom filter to hash all elements in the collection into the Bloom filter to obtain BF B ; Among them, the data holder DO B A set of hash functions H passed through the Bloom filter b , expressed as:

[0056]

[0057] The encryption outsourcing of the data holder includes: A ,DO B Encrypt the Bloom filter with the public key held respectively to get Enc pka (BF A ) and Enc pkb (BF B );DO A For each BF A [i], select a random number Get the ciphertext It is expressed as:

[0058]

[0059] in, Represents the encrypted data of the ith element of the Bloom filter; the data holder DO A Encrypt the Bloom filter with the public key to get Enc pka (BF A ), expressed as:

[0060]

[0061] Data holder DO A Enc pka (BF A ) Outsource to cloud servers; DO B For each BF B [j], select a random number Perform the same calculation to get the data holder DO B Enc encrypted by public key to Bloom filter pkb (BF B ), expressed as:

[0062]

[0063] Data holder DO B Enc pkb (BF B ) is outsourced to cloud servers.

[0064] It should also be noted that some parameters are disclosed during system initialization, such as bilinear mapping, generators, etc., which provide a basis for secure communication between participants; through security protocols, the key negotiation process between participants is ensured to be safe and reliable to prevent key leakage.

[0065] It should also be noted that outsourcing data compression and encryption is to convert the original data into a smaller data structure through the Bloom filter compression algorithm, reducing data storage space and transmission bandwidth requirements. The compressed data is easier to transmit and process between cloud servers, which speeds up the query speed and reduces the system operation cost. After the data is compressed, it is encrypted with the public key of the data holder to ensure the security of the data during transmission and storage. Even if the attacker obtains the encrypted data, it cannot easily decrypt and obtain the original data, which can effectively protect the privacy security of the data holder.

[0066] S2: The cloud server generates a proxy re-encryption key, and the querying party generates an encrypted query request.

[0067] Furthermore, the cloud server generates a proxy re-encryption key including the cloud server communicating with the data holder DO A ,DO B Interactively generate the conversion key rk a→q and RK b→q ; The cloud server generates a random number r a and r b ,calculate and And send T1 and T2 to DO respectively A and DO B ;Data holder DO A Calculate C1←T1 using the private key 1 / ska , and sends it back to the cloud server; the data holder DO B Calculation using private key And send it back to the cloud server; the cloud server calculates the received results Then we get the conversion key (rk a→q ,rk b→q )=(g q / a ,g q / b ).

[0068] It should be noted that the querying party generates an encrypted query request including assuming that the querying party holds the data (x i ,y i ,z i ), the query party cuts the query data and obtains ((x i ,y i ),(x i ,z i)), encrypt the query according to the public hash function H(·) and get (q a ,q b )←(hash(x i ,y i ),hash(x i ,z i )), (q a ,q b ) is sent to the cloud server.

[0069] It should also be noted that the query request is to determine DO through a joint query A Do you have (x i ,y i ) and DO B Do you have (x i ,z i ), thereby confirming the querying party data (x i ,y i ,z i ) is consistent data for a certain user.

[0070] The query party will use the system's public hash function to process the query request and obtain (q a ,q b ) and sends it to the cloud server to request a joint query.

[0071] It should also be noted that the query party processes the query data using a hash function and sends the processed data to the cloud server, which can effectively hide the original query information and prevent the cloud server or attacker from obtaining the query party's private data. At the same time, the use of the hash function converts the query data into a smaller data structure, which avoids unnecessary ciphertext calculations for the cloud server and further improves query efficiency.

[0072] S3: The cloud server performs a ciphertext query, and the querying party decrypts and obtains the query result.

[0073] Furthermore, the cloud server performs a ciphertext query including executing a joint query operation under the ciphertext after receiving the query request sent by the querying party, and sending the result Enc pka (R a ) and Enc pkb (R b ) is returned to the querying party; the cloud server uses DO A The k1 hash functions of the Bloom filter are q a Calculate and get c qa , expressed as:

[0074]

[0075] Adopt DO B The k2 hash functions of the Bloom filter are q b Calculate and get c qb , expressed as:

[0076]

[0077] The cloud server responds to the request c qa The element Enc corresponding to the Bloom filter position pka (BF A [i]) Perform dynamic summation to obtain Enc pka (T a ), expressed as:

[0078]

[0079] The cloud server responds to the request c qb The element Enc corresponding to the Bloom filter position pkb (BF B [j]) Perform dynamic summation to obtain Enc pkb (T b ), expressed as:

[0080]

[0081] After dynamic summation, the cloud server uses the conversion key rk a→q and RK b→q Perform proxy re-encryption calculation and obtain T a and T b , expressed as:

[0082]

[0083] The cloud server integrates the results and obtains Enc pka (R a ) and Enc pkb (R b ), expressed as:

[0084]

[0085] It should be noted that the querying party decrypts and obtains the query result, including the querying party receiving the encrypted result and decrypting it with the private key to obtain R a and R b , expressed as:

[0086]

[0087]

[0088] The query side calculates Ra ×R b ,like If true, the query succeeds, otherwise the query fails.

[0089] It should also be noted that cloud servers only process encrypted data and cannot directly obtain the original data of the data holder, which prevents data leakage and abuse of data by cloud servers. Cloud servers can integrate encrypted data from different data holders and conduct joint queries, providing comprehensive data support to the querying party without leaking the data privacy of the data holder, thereby promoting the value mining of data.

[0090] Example 2, reference Figure 4-Figure 6 , which is an embodiment of the present invention, provides a privacy-preserving joint query method for power systems in a cloud environment. In order to verify the beneficial effects of the present invention, scientific demonstration is carried out through economic benefit calculation and simulation experiments.

[0091] Firstly, a computer with a 64-bit Windows 11 operating system, a 2.4 GHz Intel Core processor, and 32 GB of memory is selected to simulate the execution process of the protocol. Based on the method of the present invention, three objects are constructed using the Java development language, namely, the simulated query party, the cloud server, and the data holder.

[0092] The encrypted system security parameter λ is set to 512, and the misjudgment rate of the Bloom filter is set to 1%.

[0093] The feasibility of the method of the present invention is verified from three aspects: the running time of the data holder, the query time of the query party, and the calculation overhead of the data holder. The obtained experimental data analysis is as follows:

[0094] like Figure 4 The following is the experimental data obtained for the running time of the data holder. During the experiment, the original data volume was selected from 10 7 to 10 8 Tested by Figure 4 The curve shows that the average computation time increases with the amount of data. 8 The average running time of the outsourcing algorithm of the data holder is about 6 hours. Since the data outsourcing stage can be carried out offline, there is no need for real-time outsourcing calculation during query. Therefore, the time spent on data volume calculation by the data holder in the offline case is generally benign to the data holder.

[0095] like Figure 5 The following is the experimental data obtained for query time consumption of the query side. In the experiment, by simulating the query process of the query side, the data volume is also selected from 10 7 to 108 Tests were conducted to simulate the query success and query failure scenarios of the query party. Figure 5 It can be seen that the query time consumed by the querying party fluctuates around 112ms on average, which has a higher query efficiency compared with the existing technology.

[0096] like Figure 6 The experimental data shown is obtained by calculating the overhead for the data holder. During the experiment, the data holder sends the encrypted Bloom filter to the cloud service, and the cloud server stores it locally. Figure 6 It can be seen that as the amount of data held by the data holder increases, the communication overhead of the present invention also gradually increases. 8 When the data is transmitted, the communication overhead of the data holder does not exceed 160GB, which significantly reduces the computing overhead compared with the existing technology.

[0097] It can be seen that the method of the present invention greatly improves query efficiency and computing overhead while ensuring the data privacy and security of the data holder and the querying party.

[0098] Example 3, reference Figure 7 , which is an embodiment of the present invention, provides a privacy protection joint query system for power systems in a cloud environment, including a data encryption outsourcing module, a re-encryption request module, and a joint query module.

[0099] The data encryption outsourcing module is used for system initialization, and the data holder outsources data encryption; the re-encryption request module is used for the cloud server to generate a proxy re-encryption key, and the query party generates an encrypted query request; the joint query module is used for the cloud server to perform ciphertext queries, and the query party decrypts and obtains the query results.

[0100] If the function 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 invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0101] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in conjunction with such instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in conjunction with such instruction execution systems, devices or apparatuses.

[0102] More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be a paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering, or processing in another suitable manner as necessary, and then stored in a computer memory.

[0103] It should be understood that the various parts of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc. It should be noted that the above embodiments are only used to illustrate the technical solution of the present invention and are not limited. Although the present invention is described in detail with reference to the preferred embodiments, it should be understood by those skilled in the art that the technical solution of the present invention can be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of the present invention, which should be included in the scope of the claims of the present invention.

[0104] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present invention may be modified or replaced by equivalents without departing from the spirit and scope of the technical solutions of the present invention, which should all be included in the scope of the claims of the present invention.

Claims

1. A privacy-preserving joint query method for power systems in a cloud environment, characterized in that: include: System initialization, data holder outsources data encryption; The cloud server generates a proxy re-encryption key, and the querying party generates an encrypted query request; The cloud server performs a ciphertext query, and the querying party decrypts and obtains the query results.

2. The privacy-preserving joint query method for power systems in a cloud environment as claimed in claim 1, characterized in that: The system initialization includes system initialization, data holder initialization and query party initialization; The system initialization includes: in the system initialization stage, the system randomly inputs a security parameter λ, and randomly generates a large prime number p according to the security parameter, selects cyclic groups G1 and G2 of order p and a bilinear map e:G1×G2→G2, and outputs a public parameter par=(g,e(g,g)), where g∈G1, e(g,g)∈G2; The data holder initialization includes: after the system starts running, data holders A and B register, select a hash function H(·) that meets the requirements as a public parameter, and generate a public-private key pair according to the public parameters of the system; Data holder DO A Select random number Calculate the public-private key pair (pk a ,sk a )←(g a ,a); Data holder DO B Select random number Calculate the public-private key pair (pk b ,sk b )←(g b ,b); The query party initialization includes: after the system starts running, the query party selects a random number Calculate the public-private key pair (pk q ,sk q )←(g q ,q).

3. The privacy-preserving joint query method for power systems in a cloud environment as claimed in claim 2, characterized in that: The data encryption outsourcing includes data compression by the data holder and encryption outsourcing by the data holder; The data compression of the data holder includes: each piece of data of the data holder is compressed into a two-dimensional vector (x i ,y i ) indicates that the data holder compresses the database data before outsourcing; Assume that the data holder DO A Holds dataset X A =((x1,y1),...,(x n ,y n )), for X A All elements (x i ,y i ), calculate the hash value a i = hash(x i ,y i ), get the hash value set S a ={a1,a2,...,a n }, set the Bloom filter size and the number of hash functions according to the amount of data, and hash all elements in the collection into the Bloom filter through a set of hash functions of the Bloom filter to obtain BF A ; Among them, the data holder DO A A set of hash functions H passed through the Bloom filter a , expressed as: Assume that the data holder DO B Holds dataset X B =((x1,z1),...,(x n ,z n )), for X B Perform the same hash calculation on all elements in to obtain the element set S b ={b1,b2,...,b n }, set the Bloom filter size and the number of hash functions according to the amount of data, and use a set of hash functions of the Bloom filter to hash all elements in the collection into the Bloom filter to obtain BF B ; Among them, the data holder DO B A set of hash functions H passed through the Bloom filter b , expressed as: The encryption outsourcing of the data holder includes: A ,DO B Encrypt the Bloom filter with the public key held respectively to get Enc pka (BF A ) and Enc pkb (BF B ); DO A For each BF A [i], select a random number Get the ciphertext It is expressed as: in, Represents the data after the encryption of the ith element of the Bloom filter; Data holder DO A Encrypt the Bloom filter with the public key to get Enc pka (BF A ), expressed as: Data holder DO A Enc pka (BF A ) Outsourcing to cloud servers; DO B For each BF B [j], select a random number Perform the same calculation to get the data holder DO B Enc encrypted by public key to Bloom filter pkb (BF B ), expressed as: Data holder DO B Enc pkb (BF B ) is outsourced to cloud servers.

4. The privacy-preserving joint query method for power systems in a cloud environment as claimed in claim 3, characterized in that: The cloud server generates a proxy re-encryption key including the cloud server communicating with the data holder DO A ,DO B Interactively generate the conversion key rk a→q and RK b→q ; The cloud server generates a random number r a and r b ,calculate and And send T1 and T2 to DO respectively A and DO B ; Data holder DO A Calculation using private key And send it back to the cloud server; Data holder DO B Calculation using private key And send it back to the cloud server; The cloud server calculates the received results Then we get the conversion key (rk a→q ,rk b→q )=(g q / a ,g q / b ).

5. The privacy-preserving joint query method for power systems in a cloud environment as claimed in claim 4, characterized in that: The querying party generates an encrypted query request including assuming that the querying party holds data (x i ,y i ,z i ), the query party cuts the query data and obtains ((x i ,y i ),(x i ,z i )), encrypt the query according to the public hash function H(·) and get (q a ,q b )←(hash(x i ,y i ),hash(x i ,z i )), (q a ,q b ) is sent to the cloud server.

6. The privacy-preserving joint query method for power systems in a cloud environment as claimed in claim 5, characterized in that: The cloud server performs ciphertext query including: after receiving the query request sent by the query party, the cloud server runs the joint query operation under the ciphertext, and sends the result Enc pka (R a ) and Enc pkb (R b ) is returned to the querying party; Cloud server uses DO A The k1 hash functions of the Bloom filter are q a Calculate and get c qa , expressed as: Adopt DO B The k2 hash functions of the Bloom filter are q b Calculate and get c qb , expressed as: The cloud server responds to the request c qa The element Enc corresponding to the Bloom filter position pka (BF A [i]) Perform dynamic summation to obtain Enc pka (T a ), expressed as: The cloud server responds to the request c qb The element Enc corresponding to the Bloom filter position pkb (BF B [j]) Perform dynamic summation to obtain Enc pkb (T b ), expressed as: After dynamic summation, the cloud server uses the conversion key rk a→q and RK b→q Perform proxy re-encryption calculation and obtain T a and T b , expressed as: The cloud server integrates the results and obtains Enc pka (R a ) and Enc pkb (R b ), expressed as:

7. The privacy-preserving joint query method for power systems in a cloud environment as claimed in claim 6, characterized in that: The querying party decrypts and obtains the query result, including the querying party receiving the encrypted result and decrypting it with the private key to obtain R a and R b , expressed as: The query side calculates R a ×R b ,like If true, the query succeeds, otherwise the query fails.

8. A system using the privacy protection joint query method for power systems in a cloud environment according to any one of claims 1 to 7, characterized in that: Including data encryption outsourcing module, re-encryption request module, joint query module; The data encryption outsourcing module is used for system initialization, and the data holder performs data encryption outsourcing; The re-encryption request module is used for the cloud server to generate a proxy re-encryption key, and the querying party to generate an encrypted query request; The joint query module is used for the cloud server to perform ciphertext query, and the querying party decrypts and obtains the query result.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the privacy-preserving joint query method for the power system in a cloud environment according to any one of claims 1 to 7 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the privacy-preserving joint query method for power systems in a cloud environment according to any one of claims 1 to 7 are implemented.