Decentralized data aggregation sharing method and system based on secure inner product computation
By employing a decentralized secure inner product calculation method, utilizing KGC to generate public parameters and DOi to generate private keys (ski), and allowing only participants with the same label to recover the results, the problem of data privacy leakage caused by the high authority of the key generation center is solved, achieving efficient data aggregation and sharing as well as privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-27
- Publication Date
- 2026-03-27
AI Technical Summary
In existing technologies, key generation centers have high privileges, which leads to the risk of data privacy leakage. Furthermore, the verification algorithm steps are cumbersome and computationally expensive, making it impossible to effectively protect data privacy and computational efficiency.
A decentralized secure inner product calculation method is adopted. Initial public parameters are generated by the key generation center KGC, and the participating party DOi generates a private key ski. The encrypted verification and aggregation calculation are performed on the cloud server CS. Only the participating parties with the same label are allowed to recover the final result, thereby reducing the authority of the key generation center.
It achieves data privacy protection against dishonest cloud servers and external attacks, reduces computational overhead, ensures that only participants with the same tag can recover the aggregation results, and improves the security and efficiency of data sharing.
Smart Images

Figure CN115765980B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of information security, and relates to a decentralized multi-party data aggregation sharing method and system based on secure inner product computation, in particular to a method and system for aggregating and sharing data functions of multiple participants each holding a certain amount of data under the premise of privacy protection. BACKGROUND
[0002] With the wide deployment and application of big data computing environment on the cloud, great convenience is brought to the users of cloud services. Emerging cloud services provide users with continuous and reliable, scalable and high-throughput big data storage and computing services. However, it also brings privacy-related problems. In this outsourced big data computing environment, because the user's data ownership and usage right are separated, there is a risk of privacy data leakage in the data uploading, computing and output stages. Therefore, how to protect the privacy of sensitive data of cloud users in the big data environment has attracted a lot of attention from the academic and industrial circles. At the same time, ensuring the availability of data and the efficiency of computing has become one of the research hotspots in the field of big data privacy protection. Among them, function encryption as a new paradigm in public key encryption, the original decryption result is either plaintext or does not leak any plaintext information, while function encryption obtains the function value of secret data after decryption. This feature of function encryption allows users to finely control the amount of information revealed to the given recipient. This new cryptographic system can ensure data confidentiality while enabling effective data computation, retrieval and access control.
[0003] Therefore, when a group of users want to share the specific functions of their aggregated data, considering that their private data cannot be leaked to the other party and the cloud server, they hope that the encrypted data can be used by the cloud server to perform specific function aggregation computation, thereby reducing the local computing burden. In order to solve the problem of multi-user data sharing and privacy protection, the effective computation and fine ciphertext access control of function encryption are effective choices for data privacy computation. Through function encryption, multiple users can aggregate the specific functions of data without leaking private data, and perform secure computation on data, effectively solving some data privacy and computation problems.
[0004] Currently, there is also a scheme for protecting data privacy by function encryption. Someone proposes an outsourcing inner product calculation scheme. They discuss that after the data owner uploads the encrypted data, the data user generates a decryption key through a key generation center, and then generates an evaluation key through the decryption key to send the server to generate an intermediate value to the data user, and then the data user restores the final value. However, the key generation of the scheme is directly generated by the key generation center, which makes the key generation center have high authority and retains the ability to restore the ciphertext, thereby increasing the risk of leaking the inner product of the data. Moreover, the verification algorithm steps of the scheme are complicated, and the calculation overhead is large. Some schemes directly decrypt the inner product result on the server in the decryption stage, and then send it to the user, so that the inner product result data is not protected. SUMMARY
[0005] In order to solve the above technical problems, the present application provides a decentralized multi-party data aggregation sharing method and system based on secure inner product calculation.
[0006] The technical scheme adopted by the method of the present application is: a decentralized data aggregation sharing method based on secure inner product calculation, including a key generation center KGC, a cloud server CS, and a group of data owners DO i ; when there are m sharing participants, then DO i represents the i-th participant, and a group of participants in the system negotiate a same group label l. Only participants with the same label can participate in sharing and restore the final aggregated result, i∈{1,2,…,m};
[0007] The method comprises the following steps:
[0008] Step 1: KGC generates initial public parameters;
[0009] Step 2: DO i uses the public parameters and interacts to generate a private key sk i ;
[0010] Step 3: DO i encrypts and calculates the private data through sk i , and uploads the ciphertext to CS;
[0011] Step 4: upload the sub-decryption key generated by KGC to CS;
[0012] Step 5: CS verifies the ciphertext uploaded by all DO i with the same label, and verifies the sub-decryption key uploaded, to ensure that each participant is valid;
[0013] Step 6: Aggregation of ciphertexts, aggregation Compute the decryption key dk y , CS reuses dk y Compute on aggregated ciphertexts, return computed intermediate value to all DOs i ;
[0014] Step 7: Recover the intermediate value returned by CS to obtain the aggregated data result of the secure inner product computation.
[0015] The technical scheme of the system of the present application is: a decentralized data aggregation sharing system based on secure inner product computation, comprising a key generation center KGC, a cloud server CS, and a group of data holders DO for secure data aggregation sharing i ; when there are m sharing participants, then DO i represents the i-th participant, and a group of participants in the system agree on a same group label l, only participants with the same label can participate in sharing and recover the final aggregated result, i∈{1,2,…,m};
[0016] The system comprises the following modules:
[0017] Module 1 for KGC to generate initial public parameters;
[0018] Module 2 for DO i to generate a private key sk i by interacting with the public parameters;
[0019] Module 3 for DO i to encrypt private data by sk i and upload ciphertexts to CS;
[0020] Module 4 for CS to upload the sub-decryption key generated by KGC;
[0021] Module 5 for CS to verify the ciphertexts uploaded by all DOs with the same label i , and to verify the sub-decryption key uploaded by each participant to ensure that each participant is valid;
[0022] Module 6 for aggregation of ciphertexts, aggregation Compute the decryption key dk y , CS reuses dk y Compute on aggregated ciphertexts, return computed intermediate value to all DOs i ;
[0023] Module 7 is used for recovering the intermediate value returned by the CS to obtain the aggregated data result of the secure inner product calculation.
[0024] The application can ensure that the participants in the data sharing of the secure inner product calculation in the group can protect the original data privacy when performing data sharing under dishonest cloud servers and external attacks. The participants can ensure that the data is calculated without leaking the original data by performing data function aggregation through the secure inner product calculation, which has high practicability. The participants who jointly participate in the data aggregation of the secure inner product calculation have a same group label, and only the participants with the same label can finally recover the data aggregation result of the secure inner product calculation, which makes the participants of other groups unable to participate. Each participant generates a local key for encryption and participation in generating a sub-decryption key, compared with directly generating a decryption key by a key generation center, the decision of the decryption key generation is dispersed to each participant, so that the authority of the key generation center is greatly reduced, and only responsible for the calculation generation work, which achieves the effect of decentralization. The cloud server operates on the ciphertext and cannot interpret any useful information from the ciphertext. The decryption result of the ciphertext is not the final data inner product aggregation value, and only the participants with the group label can recover the final result, which further ensures the security of the aggregation result. The technology of the application can also be used in many scenes, such as a range of regional hospitals can share the disease data through the secure inner product calculation without leaking the patient privacy data, and by analyzing the data result under the secure inner product calculation, it will be of great help to the treatment of some infectious diseases in the region. Therefore, the application has high practicability and privacy protection. BRIEF DESCRIPTION OF DRAWINGS
[0025] Figure 1 : Method participant architecture diagram of the embodiment of the application;
[0026] Figure 2 : Method flowchart of the embodiment of the application;
[0027] Figure 3 : Specific flowchart of step 1 in the method of the embodiment of the application;
[0028] Figure 4 : Specific flowchart of step 3 in the method of the embodiment of the application;
[0029] Figure 5 : Specific flowchart of step 4 in the method of the embodiment of the application;
[0030] Figure 6 : Specific flowchart of step 5 in the method of the embodiment of the application;
[0031] Figure 7 : Specific flowchart of step 6 in the method of the embodiment of the application. DETAILED DESCRIPTION
[0032] For the convenience of those skilled in the art to understand and implement the present application, the present application is further described in detail below in conjunction with the drawings and examples, it should be understood that the implementation examples described herein are only used to illustrate and explain the present application, and are not used to limit the present application.
[0033] See Figure 1 , the present application is a kind of decentralized data aggregation sharing method based on secure inner product calculation, comprising the following steps:
[0034] Step 1: KGC generates initial public parameters;
[0035] See Figure 3 , the specific implementation of step 1 in the embodiment includes the following sub-steps:
[0036] Step 1.1: KGC inputs security parameter λ, data length parameter n, message boundary parameter X and vector boundary parameter Y, and generates a secure prime number Where p' and q' are large prime numbers satisfying p', q'>2 λ , the size boundary of the message satisfies ||x||<X, and the size boundary of the vector satisfies ||y||<Y; Let q be a large prime number greater than 2 λ , the size boundary of the message satisfies ||x||<X, and the size boundary of the vector satisfies ||y||<Y;
[0037] Step 1.2: define a bilinear mapping function e: (G1×G2→G T ), where G1, G2 and G T are cyclic groups containing q elements, and the group generators of groups G1 and G2 are g1 and g2 respectively, so that the operation of numbers on G1 and G2 results in a number on G T , and the calculation satisfies Where a and b are positive integers;
[0038] Step 1.3: randomly select m numbers in the range of {1, 2,..., N-1} and mark them as v i , calculate Then send v i to the corresponding participant DO i , where subscript i corresponds to the subscript index of the m participants, and then v i is no longer retained, only the value of V is retained; Wherein, i∈{1, 2,..., m};
[0039] Step 1.4: define three mapping functions: H1: {0, 1} n →{0, 1, 2,..., N 2 -1}, H2: G T→{0, 1, 2, ..., N 2 -1},H v {0, 1} n →G1 and H1 map n-bit numbers to numbers less than N bits. 2 A positive integer, H2 is the value of G T Numbers on a group are mapped to numbers less than N. 2 positive integers, H v It maps a number of n bits to a number in the G1 group;
[0040] Step 1.5: Randomly select a number from {1, 2, ..., q-1} and denote it as α, calculate... Let A be the abbreviation for e(g1, g2). α ∈G T Let it be B;
[0041] Step 1.6: Finally, KGC exposes the parameters mpk = {N, X, e, g1, g2, G1, G2, G...} T V, H1, H v ,H2,A,B}, keep msk={α,Y}.
[0042] Step 2: DO i Generate private key sk using public parameters and interactively. i ;
[0043] In this embodiment, step 2 is specifically implemented including the following sub-steps:
[0044] Step 2.1: Participant DO i Choose an n-dimensional vector s i ,satisfy Elements in the vector (s) i,1 s i,2 , ..., s i,n Let s be n numbers randomly selected from the range of positive integers Z. i,j (j∈[1,n]) represents the vector s i The j-th element in Then it represents a random number within the range of n positive integers Z, satisfying the standard deviation as... Let the positive integer discrete Gaussian distribution be the key ek. i =s i ;
[0045] Step 2.2: Participant DO i Interactive generation t i ;
[0046] For each participant, a one-dimensional vector of length n×m is first randomly generated, denoted as t′. iThen the value is randomly divided into m sub-values, and one sub-value is randomly sent to each of the remaining m-1 participants, and the sent sub-vector is denoted as t' i,j , and one is kept by the participant himself and denoted as t' i,i , where j represents the subscript of the recipient, that is, satisfies Each DO i receives m-1 sub-vectors t' j,i , j∈{1,2,...i-1,i+1,...,m}; and the finally generated satisfies
[0047] Step 2.3: The participant DO i The finally generated private key sk i =(s i , t i , v i ).
[0048] Step 3: DO i encrypts the private data by sk i and uploads the ciphertext to CS;
[0049] See Figure 4 , the specific implementation of step 3 in the embodiment includes the following sub-steps:
[0050] Step 3.1: DO i performs data encryption processing, where the private data is represented as an n-dimensional vector The elements in the vector are represented as integers in [0, N], where the group label l is an n-bit long number, the calculation of H1(l) is denoted as H, the calculation of H v (l) is denoted as I, and the calculation of H2(B l ) is denoted as δ;
[0051] Step 3.2: Calculate Cv i =v i ·H v (l)∈G1;
[0052] Step 3.3: Data encryption calculation
[0053] Step 3.4: DO i organizes the ciphertext C i =(C i1 ,C i2 ,C i3 ,C i4 )=(Cv i ,Cx i ,H,I) and uploads it to CS.
[0054] Step 4: Sub-decryption key dk generated by KGC yi Upload to CS;
[0055] See Figure 5 The specific implementation of Step 4 in this embodiment includes the following sub-steps:
[0056] Step 4.1: DO i Generate sub-decryption key by KGC Send private key and vector y to KGC i = (y i,1 , y i,2 , …, y i,n ), where the elements in the vector y i are integers in [0, N]; then KGC has y = (y1||y2||…||y m , || represents the connection of the two parts, and the vector y is a vector of n x m length;
[0057] Step 4.2: KGC calculates <s i , y i > + <t i , y> as
[0058] Step 4.3: Calculate as k i ;
[0059] Step 4.4: Organize sub-decryption key
[0060] Step 4.5: KGC sends sub-decryption key to DO i respectively;
[0061] Step 4.6: DO i Uploads sub-decryption key to CS respectively.
[0062] Step 5: CS verifies all DO i Uploads the ciphertext of the same label, and verifies the uploaded sub-decryption key to ensure that each participant is effective;
[0063] See Figure 6 The specific implementation of Step 5 in this embodiment includes the following sub-steps:
[0064] Step 5.1: CS receives the ciphertext of all DO i , then verifies and calculates the ciphertext;
[0065] CS first verifies the ciphertext, detects whether all participants send the ciphertext, verifies the calculation whether it is true, verifies all C i3 ,C i4 whether equal, equal to any i C3=C i3 , C4=C i4 , otherwise it is different under the label of the participants; if is not true, the participants do not participate in uploading the ciphertext, return to step 3.4, through the next step:
[0066] Step 5.2: CS receives all DO i The sub-decryption key, verify the sub-decryption key ;
[0067] CS first verifies the calculation whether it is true, if it is not true, check whether all participants upload, if there is a participant who has not uploaded, then wait for uploading; if the m sub-decryption key is received, the equation is still not true, there is a participant who has not uploaded the sub-decryption key or a participant who has uploaded maliciously, then terminate sharing; through the next step:
[0068] Step 5.3: CS sorts The vector y=(y1||y2||…||y m ).
[0069] Step 6: calculate the ciphertext aggregation, aggregate Calculate the decryption key dk y , CS uses dk y to calculate the aggregated ciphertext, and returns the calculation intermediate value to all DO i ;
[0070] See Figure 7 , the specific implementation of step 6 in this embodiment includes the following sub-steps:
[0071] Step 6.1: CS calculates the ciphertext of a single participant;
[0072]
[0073] The result of the single participant ciphertext calculation is denoted as d i ; x i is an n-dimensional private data vector, x i =(x i,1 ,x i,2 ,…,x i,n ), x i,j is the jth element (j∈[1,n]) in the vector x i ;
[0074] Step 6.2: CS aggregates the received sub-decryption keys to generate a decryption key dk y ;
[0075]
[0076] Step 6.3: CS aggregates and calculates the ciphertexts of all participants;
[0077]
[0078] Step 6.4: CS calculates D1 from the aggregation calculation result;
[0079]
[0080] Step 6.5: Calculate
[0081] Step 6.6: CS sends the calculation result D2 to the participants.
[0082] Step 7: Recover the intermediate value returned by the CS to obtain the aggregation data result of the secure inner product calculation;
[0083] The specific implementation of Step 7 in this embodiment includes the following sub-steps:
[0084] Step 7.1: Participants calculate the value δ = H2(B l ) through the label l;
[0085] Step 7.2: Calculate D2 / δ to obtain the aggregated inner product value of all participants:
[0086] The present application realizes a decentralized data aggregation sharing scheme based on multi-party secure inner product calculation based on the secure inner product function encryption algorithm and the DCR assumption. The scheme does not need to solve the discrete logarithm to obtain the secure inner product value on the decryption result, which will not make the value of the secure inner product only in a small range, not only reduces the calculation overhead but also increases the practical range, and also disperses the decryption key generation authority to all participants, reduces the authority of the key generation center, achieves the effect of decentralization, and verifies the uploaded ciphertext and key, ensures that only the participants who participate in the sharing upload completely and correctly can be correctly decrypted, and the final decryption result can only be recovered by the participants. The server decryption result is still an intermediate value, which not only protects the privacy of each party's data, but also protects the value of the aggregation result.
[0087] The application proposes a group of users to perform secure inner product computation data function aggregation sharing, and the initial users in the group are given specific labels, only the users with the same label can participate in the sharing in the group, the application considers that the key generation center has higher authority, the ability to recover the ciphertext is reserved, so a decentralized scheme is adopted, the authority of generating the key is distributed to each user, all users need to participate in generating the decryption key, and the uploaded key and ciphertext are also verified, to ensure that all users participate in the sharing, and the security is higher.
[0088] It should be understood that the above description of the preferred embodiments is more detailed, and should not be considered as a limitation on the scope of patent protection of the application, and those skilled in the art can make substitutions or modifications without departing from the scope of protection of the claims of the application, all of which fall within the scope of protection of the application, the scope of protection of the application should be subject to the appended claims.
Claims
1. A decentralized data aggregation and sharing method based on secure inner product computation, characterized in that: This includes a Key Generation Center (KGC), a Cloud Server (CS), and a group of data holders who perform secure data aggregation and sharing. When there is If there are multiple participating parties, then... Then it means the first Each participating party, and a group of participating parties agreed upon within the system, will share the same group tag. Only participants with the same label can participate in sharing and recovering the final aggregated result. ; The method includes the following steps: Step 1: KGC generates initial common parameters; specifically including the following steps: Step 1.4: Define three mapping functions: , , , It is Long bit numbers are mapped to numbers less than positive integers, It is Numbers on a group are mapped to less than positive integers, It is Long bit numbers mapped to Numbers in a group; Step 1.5: From A number is randomly selected from the data and denoted as . ,calculate Recorded as , Recorded as ; q is a large prime number; Step 2: Generate a private key using public parameters and interactively. ; Step 2.1: Participants Select n dimensional vector ,satisfy elements in a vector for n A number of positive integers A number randomly selected from the range. Then it represents a vector The first in One element, , Then it means n positive integers Random numbers within a range and satisfying a standard deviation of Let the positive integer discrete Gaussian distribution be the key vector. ; Step 2.2: Participants Interactive generation of zero-sum vectors ; Step 2.3: Participants The final generated private key , In order to be in Randomly selected within the range Number; Step 3: pass After encrypting and performing calculations on the private data, the ciphertext is uploaded to the CS. Step 4: Sub-decryption key generated by KGC Upload to CS; Step 4.1: Generating sub-decode keys using KGC Send private key and vector to KGC , where vector The elements in are represented as Integers in the set; then KGC has , This indicates that the two parts are connected, and the vector is... For one A long vector; Step 4.2: KGC Calculation Recorded as ; Step 4.3: Calculation Recorded as ; Step 4.4: Organize the sub-decode key ; Step 4.5: KGC will convert the sub-decryption keys separately. Send to ; Step 4.6: Sub-decryption keys respectively Upload to CS; Step 5: CS checks all instances of the same tag Verify the uploaded ciphertext and the uploaded sub-decryption key. Verification was conducted to ensure that all participants were effectively involved. Step 6: Perform aggregation calculations on the ciphertext. Calculate and generate the solution key CS reuse The ciphertext of the aggregation is computed, and the intermediate values of the computation are returned to all. ; Step 6.1: CS calculates the ciphertext for each participant; Step 6.2: CS aggregates the received sub-decryption keys to generate a decryption key. ; Step 6.3: CS performs aggregate computation on the ciphertext of all participants; Step 6.4: CS performs calculations on the aggregation results. ; Step 6.5: Calculation , = ; Step 6.6: CS outputs the calculation results Send to participants; Step 7: Recover the intermediate values returned by CS to obtain the aggregated data results of the safe inner product calculation; Step 7.1: Participants use tags Calculated value ; Step 7.2: Calculation Obtain the aggregate inner product value of all participants: .
2. The decentralized data aggregation and sharing method based on secure inner product calculation according to claim 1, characterized in that, The specific implementation of step 1 also includes the following steps: Step 1.1: KGC inputs security parameters Data length parameter Message boundary parameters and vector boundary parameters Generate safe prime numbers ,in and It is to satisfy Large prime numbers, ,make , large prime numbers The message size boundary satisfies The size boundary of the vector satisfies ; Step 1.2: Define a bilinear mapping function ,in , and All include A cyclic group of n elements, where the group and The group generators are respectively and , making The numbers on Number operations on the above result The numbers on the above, the calculation satisfies ,in is a positive integer; Step 1.3: In Random selection within the range The number is denoted as ,calculate , and then Send to the corresponding participants subscript correspond The index of each participant is then no longer retained. , only The value of is retained; where, ; Step 1.6: Finally, KGC publishes the parameters. As a public parameter, reserved As a non-public parameter.
3. The decentralized data aggregation and sharing method based on secure inner product calculation according to claim 2, characterized in that: In step 2.2, each participant is first randomly generated. A long one-dimensional vector is denoted as Then, its values are randomly divided into The remaining values are randomly assigned. Each participant sends a sub-value, and the sent sub-vector is denoted as . Keep a copy for yourself as a record ,in Indicates the subscript of the recipient, i.e., satisfies Each You will receive Subvectors , The final generated ,satisfy .
4. The decentralized data aggregation and sharing method based on secure inner product calculation according to claim 3, characterized in that, Step 3 includes the following steps: Step 3.1: Data encryption is performed, where private data is represented as a... dimensional vector Each element in the vector Represented as Integers in the group, where the labels are within the group for Number of bits, calculation Recorded as ,calculate Recorded as ,calculate Recorded as ; Step 3.2: Calculation ; Step 3.3: Data Encryption Calculation ;in, Represents an n-dimensional vector The j-th encrypted data in the middle, Represents the encryption key vector The j-th data in; Step 3.4: Organizing encrypted text And upload it to CS.
5. The decentralized data aggregation and sharing method based on secure inner product calculation according to claim 4, characterized in that, Step 5 includes the following steps: Step 5.1: CS receives all The ciphertext is then processed and verified. CS first verifies the ciphertext, checking if the participants are users in the same group, and verifies all users. Are they equivalent? Whether they are equivalent; if the verification passes, then for any... make , Conversely, participants under different labels are considered; further verification and calculation are required. If the verification equation passes, all users have participated in the encrypted text upload, and the next step is performed; otherwise, not all participants have participated in the encrypted text upload, and the remaining users must complete the encrypted text upload operation. Step 5.2: CS receives all Sub-decryption key, pair of sub-decryption keys Verification is required; CS first verifies the calculation If the condition is not met, check if all participants have uploaded their data. If any participant has not uploaded, wait for them to upload. If a request is received... m If the sub-decryption key equation still does not hold, then a participant has either failed to upload the sub-decryption key correctly or uploaded it maliciously, and the sharing process will terminate; otherwise, proceed to the next step. Step 5.3: CS Cleanup Obtain vector .
6. The decentralized data aggregation and sharing method based on secure inner product calculation according to claim 5, characterized in that, Step 6 includes the following steps: Step 6.1: CS calculates the ciphertext for each participant; The result of the ciphertext computation for a single participant is denoted as ; Represented as n Dimensional privacy data vectors, , Represented as a vector The Middle One element, Step 6.2: CS aggregates the received sub-decryption keys to generate a decryption key. ; Step 6.3: CS performs aggregate computation on the ciphertext of all participants; Among them, encryption key ; Step 6.4: CS performs calculations on the aggregation results. ; Step 6.5: Calculation ; Step 6.6: CS outputs the calculation results Send to participants.
7. A decentralized data aggregation and sharing system based on secure inner product computation, used to implement the method described in any one of claims 1-6; characterized in that: This includes a Key Generation Center (KGC), a Cloud Server (CS), and a group of data holders who perform secure data aggregation and sharing. When there is If there are multiple participating parties, then... Then it means the first Each participating party, and a group of participating parties agreed upon within the system, will share the same group tag. Only participants with the same label can participate in sharing and recovering the final aggregated result. ; The system includes the following modules: Module 1 is used by KGC to generate initial common parameters; Module 2, for Generate a private key using public parameters and interactively. ; Module 3, for pass After encrypting and performing calculations on the private data, the ciphertext is uploaded to the CS. Module 4, used for sub-decryption keys generated by KGC Upload to CS; Module 5, used by CS for all tags. Verify the uploaded ciphertext and the uploaded sub-decryption key. Verification was conducted to ensure that all participants were effectively involved. Module 6 is used for ciphertext aggregation calculations, aggregation Calculate and generate the solution key CS reuse The ciphertext of the aggregation is computed, and the intermediate values of the computation are returned to all. ; Module 7 recovers the intermediate values returned by CS to obtain the aggregated data results of the secure inner product calculation.