A privacy protection method and system against key mixing match
By introducing new labels unknown to the decryptor during the encryption and decryption process, the problem of key mixing and matching attacks is solved, the security of multi-client inner product function encryption is enhanced, and the decryptor is prevented from obtaining additional information. It is suitable for privacy protection in scenarios such as machine learning.
Patent Information
- Application Number
- CN202411991869.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-12-31
AI Technical Summary
Existing multi-client inner product function encryption methods cannot resist key mixing and matching attacks, resulting in the risk of private inputs being inferred, affecting the privacy protection security in scenarios such as statistical analysis, outsourced computing, and machine learning.
New tags unknown to the decryptor are introduced during the encryption and decryption process. Tags and masks generated and distributed by the key manager are used to prevent the decryptor from obtaining additional inner product results through key mixing and matching attacks, thereby enhancing the security of multi-round encryption.
It effectively prevents decryptors from obtaining additional information through key mixing and matching attacks, enhances the security of multi-client inner product function encryption, and keeps the communication and computation costs of the original scheme low.
Smart Images

Figure CN119834973B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of information security technology, and in particular relates to a privacy protection method and system capable of resisting key mixing and matching. Background Art
[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.
[0003] With the rapid development of technologies such as big data, cloud computing, and the Internet of Things, information security has become increasingly prominent and a crucial issue in the digital age. As a core means of ensuring information security, the study of encryption technology has important theoretical and practical value. Inner Product Functional Encryption (IP-FE), an emerging cryptographic technology, has garnered widespread attention in academia in recent years. Compared to traditional encryption technologies, IP-FE provides more flexible access control in scenarios involving inner product calculations. IP-FE is of great significance for applications involving privacy-preserving inner product calculations and is suitable for scenarios such as statistical analysis, outsourced computing, and machine learning.
[0004] Inner product function encryption is a special function encryption that supports vector inner product calculation. Figure 3 As shown, given the ciphertext ( ) and with Associated decryption key , the decryptor can only obtain The value of Multi-Input Functional Encryption (MIFE) is an extension of its multi-participant function, allowing multiple participants to Input and encrypt vector Each component , and finally decryption calculation Multi-Client Functional Encryption (MCFE) supports multiple encryptors using private keys to encrypt private inputs. The decryptor can then decrypt a set of ciphertexts using the decryption key, obtaining the inner product of the vectors provided by both parties while protecting the privacy of the encryptor's input vectors. MCFE builds on MIFE by adding tags to ciphertexts, ensuring that only ciphertexts with the same tag can be combined for decryption. This solves the problem of mix-and-matching ciphertexts from different rounds still allowing decryption and potentially leaking additional information.
[0005] However, MCFE also has another mix-match attack, which is the mix-match of decryption keys and ciphertexts from different rounds. The decryptor receives the vector Ciphertext and decryption key , then he can call the Decrypt() algorithm to get the decrypted result Similarly, in the second round he will receive the vector Ciphertext and decryption key , after normal decryption, we get At this point, the decryptor has the ciphertext and key from the first two rounds, and the curious decryptor can try to use Decryption The ciphertext gets additional results .and This is not the result that both parties agreed to achieve.
[0006] For example, in the first round of encryption and decryption, the decryptor obtains the ciphertext E( ) and with vector =(3,2,4) associated decryption key , normal decryption can obtain the inner product result In the second round of encryption and decryption, the decryptor obtains the vector =(6,7,8) associated decryption key The decryptor can replace and decryption key Perform key mixing and matching, decryption and calculation of inner product results Since the vector 、 There is a certain proportional relationship, the decryptor can calculate -2 3. Get the vector The second item , which is the private input of the second encryptor.
[0007] As the number of encryption and decryption rounds increases, more inner product results will be generated. This additional information leakage may be used for inference. The plaintext information in the MCFE encryption is compromised, thus undermining the security of the MCFE encryption. Therefore, it is necessary to design a solution to prevent this key mixing and matching attack. However, current multi-client inner product function encryption methods cannot defend against this key mixing and matching attack, and therefore cannot provide privacy protection in scenarios such as statistical analysis, outsourced computing, and machine learning. Summary of the Invention
[0008] To overcome the shortcomings of the above-mentioned prior art, the present invention provides a privacy protection method and system that can resist key mixing and matching. To address the risk of inference of MCFE private inputs due to additional information leakage caused by mixing and matching keys and ciphertexts from different rounds, a method for preventing key mixing and matching in multi-client inner product function encryption is proposed. This method can prevent decryptors from performing key mixing and matching attacks without compromising the security of the original MCFE scheme, thereby enhancing the security of MCFE in multi-round encryption.
[0009] To achieve the above objectives, one or more embodiments of the present invention provide the following technical solutions:
[0010] A first aspect of the present invention provides a privacy protection method capable of resisting key mixing and matching.
[0011] A privacy-preserving method that is resistant to key mix-and-matching, including:
[0012] Multiple encryptors, decryptors, and key managers; each encryptor provides a vector The amount ; Decryptor provides vector ,The key manager is responsible for generating security parameters and providing decryption keys;
[0013] Step 1, Initialization phase: The key manager inputs security parameters, randomly generates a set of keys through the initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys;
[0014] Step 2, encryption phase: the key manager randomly generates a tag and , and label and Sent to all encryptors;
[0015] The encryptor receives the label of this round and , and calculate the label and tags mask;
[0016] The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor;
[0017] Step 3, Decryption key generation phase: The decryptor sends the vector to the key manager ;The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key and combine the decryption key and the current round label Return to the decryptor;
[0018] Step 4, Decryption phase: The decryptor receives the ciphertext set from all encryptors and the decryption key and label from the key manager. , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
[0019] A second aspect of the present invention provides a privacy protection system that can resist key mixing and matching.
[0020] A privacy protection system that is resistant to key mixing and matching, comprising:
[0021] Multiple encryptors, decryptors, and key managers; each encryptor provides a vector The amount ; Decryptor provides vector ,The key manager is responsible for generating security parameters and providing decryption keys;
[0022] The initialization module is configured as follows: the key manager inputs security parameters, randomly generates a set of keys through the initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys;
[0023] The encryption module is configured as follows: the key manager randomly generates a tag and , and label and Sent to all encryptors;
[0024] The encryptor receives the label of this round and , and calculate the label and tags mask;
[0025] The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor;
[0026] The decryption key generation module is configured to: the decryptor sends a vector to the key manager ;The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key and combine the decryption key and the current round label Return to the decryptor;
[0027] The decryption module is configured as follows: the decryptor receives the ciphertext set sent by all encryptors and the decryption key and label sent by the key manager , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
[0028] The third aspect of the present invention provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps in a method as described in the first aspect of the present invention are implemented.
[0029] A fourth aspect of the present invention provides a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements the steps of a method as described in the first aspect of the present invention.
[0030] A fifth aspect of the present invention provides a computer program product comprising instructions, which, when run on a computer, enables the computer program to be executed by a processor to implement the steps in a method as described in the first aspect of the present invention.
[0031] One or more of the above technical solutions have the following beneficial effects:
[0032] This invention is used to protect and encrypt privacy in machine learning scenarios. It introduces new labels, unknown to the decryptor, into the ciphertext and decryption key. This prevents decryptors from obtaining the inner product of an encrypted vector with another vector by replacing the decryption key and vector during decryption. This prevents decryptors from using decryption keys generated over multiple rounds to decrypt ciphertext from a single round and exploiting the additional inner product results to infer private inputs. This method enhances the security of MCFE multi-round encryption.
[0033] This invention solves the key mixing and matching problem by adding tags to ciphertext and decryption keys, preserving the security of the original MCFE solution while minimizing the added communication and computational costs. Compared to the original MCFE solution, this solution only requires the key manager to pass additional tag information to the encryptor during the encryption phase. When generating ciphertext and decryption keys, the encryptor and key manager each only need to perform one additional multiplication and one global hash calculation.
[0034] Advantages of additional aspects of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The accompanying drawings, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0036] Figure 1 This is a protocol flow chart of a privacy protection method capable of resisting key mixing and matching according to the first embodiment of the present invention;
[0037] Figure 2 This is an experimental test diagram of a privacy protection method capable of resisting key mixing and matching according to the first embodiment of the present invention;
[0038] Figure 3 Schematic diagram of the original multi-client inner product function method of embodiment 1 of the present invention. DETAILED DESCRIPTION
[0039] It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which the present invention belongs.
[0040] It should be noted that the terms used herein are for describing particular embodiments only and are not intended to limit the exemplary embodiments according to the present invention.
[0041] In the absence of conflict, the embodiments of the present invention and the features thereof may be combined with each other.
[0042] Example 1
[0043] This embodiment discloses a privacy protection method that can resist key mixing and matching. In order to address the risk of MCFE private input being inferred due to additional information leakage caused by the mixing and matching of keys and ciphertexts in different rounds during multi-client function encryption, a method for preventing multi-client inner product function encryption key mixing and matching is proposed. This method can prevent decryptors from performing key mixing and matching attacks without compromising the security of the original MCFE scheme, thereby enhancing the security of MCFE in multi-round encryption. Specifically, it includes:
[0044] Multiple encryptors, decryptors, and key managers; each encryptor provides a vector The amount ; Decryptor provides vector ,The key manager is responsible for generating security parameters and providing decryption keys;
[0045] Step 1, Initialization phase: The key manager inputs security parameters, randomly generates a set of keys through the initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys;
[0046] Step 2, encryption phase: the key manager randomly generates a tag and , and label and Sent to all encryptors;
[0047] The encryptor receives the label of this round and , and calculate the label and tags mask;
[0048] The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor;
[0049] Step 3, Decryption key generation phase: The decryptor sends the vector to the key manager ;The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key and combine the decryption key and the current round label Return to the decryptor;
[0050] Step 4, Decryption phase: The decryptor receives the ciphertext set from all encryptors and the decryption key and label from the key manager. , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
[0051] In order to explain this embodiment more clearly, Figure 1 As shown in Figure 2, the protocol flow of a privacy protection method that can resist key mixing and matching can be specifically described as follows:
[0052] In this embodiment, a client inner product function encryption method (MCFE) is specifically used. MCFE includes the following four algorithms:
[0053] : With safety parameters As input, the initialization algorithm output contains prime order groups , global hash function and hash functions Master public key , and contains the private key The master private key of the collection .
[0054] With private key ,vector The amount ,Label and As input, the encryption algorithm will Encrypted to ciphertext And output.
[0055] :With the master private key and vector As input, the decryption key generation algorithm outputs Associated decryption key .
[0056] : Decryption key ,Label and ciphertext set As input, the decryption algorithm outputs the decryption result = .
[0057] In this embodiment, three parties are involved: multiple encryptors (denoted as individuals), decryptors, and key managers.
[0058] Each encryptor provides a vector The amount , output ciphertext through encryption algorithm (ie Encrypt algorithm) .
[0059] Decryptor provides vector , using the decryption key Decrypt the ciphertext using the decryption algorithm (i.e., Decrypt algorithm) to obtain the inner product result .
[0060] The key manager is a trusted third party responsible for generating parameters and providing decryption keys.
[0061] The specific process is as follows:
[0062] Step 1, Initialization phase (SetUp phase):
[0063] The key manager inputs security parameters, randomly generates a set of keys through an initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys.
[0064] Specifically include:
[0065] (1) The key manager first enters the security parameters On, randomly generated Prime number of bit length , then construct additive cyclic group of order ,group The generator of .
[0066] Specifically, use the group generator and input the security parameter λ to obtain a 2λ-bit prime number p as the order of the group. Decompose p-1 into different prime factors , randomly select an integer P in [1, p-1], and for all prime factors of p-1 , , check whether the selected P does not satisfy , if it holds, P is a valid generator. If it does not hold, reselect P until a valid generator is obtained. Use the obtained generator P to construct a prime order group .
[0067] The entire group generation process adopts a general group generation algorithm and adopts the implicit representation of group elements. [a] is defined to represent the group Elements in .
[0068] When describing the encryption and decryption phases of function encryption, the mask 、ciphertext , decryption results etc. also use the implicit representation of group elements, indicating that the element is in the group The purpose is to make the expression more concise, so that it does not need to be written in the form of modulo the prime number p on the generator exponent.
[0069] (2) The key manager selects a global hash function , , which can map label input to group Choose a global hash function , , which can map label input to On the domain.
[0070] The global hash function randomly maps the label input to the required domain element. Specifically, the label hash is randomly mapped, the resulting binary is converted to an integer x, and then the integer x is converted to an element in the group or domain.
[0071] Convert the integer x to a group by the expression mod p, where g represents the generator of the group and p is the order of the group.
[0072] Converting the integer x to an element in the domain specifically refers to mapping modulo p to the domain of integers modulo p superior.
[0073] therefore, is the field of integers modulo a prime number p, and the prime order group is the same prime number p.
[0074] (3) The key manager randomly generates a set of keys ( ) and distribute the key to the corresponding encryptor. ) as the master public key , key set { } as the master private key .
[0075] Specifically, the key is generated by calling a pseudo-random number generation function to randomly generate an integer within the prime number p range. Indicates that the key is a two-dimensional vector, each component of the vector is an integer domain Elements on.
[0076] (4) The encryptor receives the key sent by the key manager , the key as your own encryption key.
[0077] In this embodiment, a global hash function is used to map the label input. A general hash function can map an input of any length to an output of a fixed length. Input, hash function : ,in Represents the number of digits and The global hash function maps an input of any length to an output of the same length as the input. Therefore, compared with ordinary hash functions, the use of global hash functions provides stronger anti-collision performance and can Inputs are mapped into other domains.
[0078] Step 2, Encryption phase (Encrypt phase):
[0079] The key custodian randomly generates a tag and , and label and Sent to all encryptors;
[0080] The encryptor receives the label of this round and , and calculate the label and tags mask;
[0081] The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor.
[0082] Specifically include:
[0083] (1) The key manager randomly generates tags for encryption and decryption operations , ,Label is a two-dimensional vector. And the label and Sent to all encryptors.
[0084] Among them, both tags are composed of arbitrary length 01 bits, only the tag It is two-dimensional.
[0085] (2) The encryptor receives the label of this round and , calculate the label Mask , calculate the label Mask .
[0086] Indicates the label Using a hash function The mask obtained, and the symbol [] indicates that it is a group Chinese elements. Similarly, for labels Using a hash function The resulting mask.
[0087] (3) The encryptor calculates the vector components Ciphertext, ciphertext , then the ciphertext Send to decryptor.
[0088] Ciphertext calculation 、 They are respectively represented as the masks obtained by hashing the labels, is the key of the i-th encryptor, For the data encrypted in this encryption, the entire calculation is based on the exponential of the generator and modulo the prime number p, so in [], the final ciphertext is in the group middle.
[0089] By introducing a new tag unknown to the decryptor in the ciphertext and decryption key, the decryptor cannot replace the decryption key and vector during decryption. To obtain the inner product of the encrypted vector and other vectors, we use the inner product to prevent attackers from using the decryption key generated by multiple rounds to decrypt the ciphertext of a single round, and to use the additional inner product results to infer the private input. This method enhances the security of MCFE multi-round encryption.
[0090] Moreover, only during the encryption phase does the key manager need to pass more tags to the encryptor. The encryptor and key manager need to perform one more multiplication and one more global hash calculation respectively when generating the ciphertext and decryption key, which can reduce the increased communication and computation costs without compromising the security of the original MCFE scheme.
[0091] Step 3, decryption key generation phase (DKeyGen phase):
[0092] The decryptor sends the vector to the key manager ;The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key and combine the decryption key and the current round label Return to the decryptor.
[0093] Specifically include:
[0094] (1) The decryptor sends the vector to the key manager .
[0095] in, It refers to the vector transpose.
[0096] (2) The key manager receives the vector sent by the decryptor , using the label of the current round randomly generated in step 2 Calculate the decryption key , the specific calculation method is as follows:
[0097] ;
[0098] The label Mask , is the key of the i-th encryptor, is a vector The i-th component of As in the previous ciphertext calculation, the tag Using a hash function The obtained mask and the calculated decryption key result is a two-dimensional vector.
[0099] (3) Decryption key and the label of the current round Return to the decryptor.
[0100] In this embodiment, in each round of encryption and decryption, the key manager only uses the label of the current round. For a single vector Generate decryption key , that is, the decryptor cannot obtain multiple decryption keys by submitting multiple vectors to the key manager in one round.
[0101] Step 4, Decryption phase (Decrypt phase):
[0102] The decryptor receives the ciphertext set from all encryptors and the decryption key and label from the key manager. , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
[0103] Specifically include:
[0104] (1) The decryptor receives the ciphertext set sent by all encryptors {} and the decryption key sent by the key manager and tags .
[0105] (2) The decryptor calculates the decryption result , the specific calculation method is as follows:
[0106] ;
[0107] Among them, the label Mask , decryption calculation is the ciphertext generated by the i-th encryptor, is a vector The i-th component of Same as the calculation during encryption, is the decryption key. The final decryption result Still in the group superior.
[0108] (3) The decryptor's decision on the decryption result Solve the discrete logarithm and get the vector and The inner product result of .
[0109] And verify the correctness of the inner product result. The specific expression is as follows:
[0110] ;
[0111] in, Indicates the decryption result; n indicates n encryptors; is the ciphertext generated by the i-th encryptor, which is The ciphertext of the i-th component of the vector will be decrypted with the vector The i-th component of Multiply, the outer layer has summation and finally eliminates other terms to get 、 vector inner product; It's a label Using a hash function The resulting mask is two-dimensional. The transposition operation was performed. Represents the decryption key; Represents the encryption key; Representation Label mask; Represents a vector The weight.
[0112] In this embodiment, this method was experimentally tested. Figure 2As shown in the figure, the experiment selects vectors of different dimensions for testing, and conducts multiple experiments on each vector dimension to obtain the average value. The vector dimension of 5 means that the vectors involved in the inner product operation are 、 Contains 5 components, of which the vector Each component of is provided by a different encryptor. Because encryption requires the vector Each component of is encrypted separately to generate ciphertext. As the vector dimension increases, the number of encryption calculations performed also increases, resulting in an increase in encryption time. The increased ciphertext generated by increasing vector dimension increases the computational complexity of decryption. Furthermore, larger decryption results make solving the discrete logarithm more difficult, so decryption time also increases with vector dimension. When the vector dimension is small, the decryption time accounts for a higher proportion; when the vector dimension is large, the encryption time accounts for a higher proportion. As the vector dimension increases, the total time increases nonlinearly, making MCFE more suitable for smaller computational scenarios.
[0113] And as Figure 3 The original multi-client inner product function method shown above allows the decryptor to replace and decryption key Perform key mixing and matching, decryption and calculation of inner product results . And since the vector 、 There is a certain proportional relationship, the decryptor can calculate -2 3. Get the vector The second item , which is the private input of the second encryptor. Therefore, as the number of encryption and decryption rounds increases, more inner product results will be generated. This additional information leakage may be used to infer The plaintext information of the MCFE is destroyed, which destroys the security of MCFE encryption.
[0114] However, compared to the original MCFE solution, this embodiment only requires the key manager to pass additional label information to the encryptor during the encryption phase. When generating the ciphertext and decryption key, the encryptor and key manager each need to perform one additional multiplication and one global hash calculation. By introducing a new label unknown to the decryptor, the decryptor cannot obtain the inner product of the encrypted vector and other vectors by replacing the decryption key and vector during decryption. This prevents the decryptor from using the decryption key generated by multiple rounds to decrypt the ciphertext of a single round. The additional inner product results are used to infer the private input, enhancing the security of MCFE multi-round encryption.
[0115] Example 2
[0116] The purpose of this embodiment is to provide a privacy protection system that can resist key mixing and matching, including:
[0117] Multiple encryptors, decryptors, and key managers; each encryptor provides a vector The amount ; Decryptor provides vector ,The key manager is responsible for generating security parameters and providing decryption keys;
[0118] The initialization module is configured as follows: the key manager inputs security parameters, randomly generates a set of keys through the initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys;
[0119] The encryption module is configured as follows: the key manager randomly generates tags for encryption and decryption operations and , and label and Sent to all encryptors;
[0120] The encryptor receives the label of this round and , and calculate the label and tags mask;
[0121] The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor;
[0122] The decryption key generation module is configured to: the decryptor sends a vector to the key manager ;The key manager receives the vector sent by the decryptor , using the label of the current round Calculate the decryption key and combine the decryption key and the label of the current round Return to the decryptor;
[0123] The decryption module is configured as follows: the decryptor receives the ciphertext set sent by all encryptors and the decryption key and label sent by the key manager , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
[0124] Example 3
[0125] The purpose of this embodiment is to provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above method when executing the program.
[0126] Example 4
[0127] The purpose of this embodiment is to provide a computer-readable storage medium.
[0128] A computer-readable storage medium stores a computer program, which, when executed by a processor, performs the steps of the above method.
[0129] Example 5
[0130] The purpose of this embodiment is to provide a computer program product containing instructions, which, when running on a computer, enables the computer to execute the methods and functions involved in any of the above embodiments.
[0131] The steps involved in the apparatus of the above embodiment correspond to those of the method embodiment 1. For detailed implementation, please refer to the relevant description of embodiment 1. The term "computer-readable storage medium" should be understood to mean a single medium or multiple media containing one or more instruction sets; it should also be understood to include any medium capable of storing, encoding, or carrying an instruction set for execution by a processor and causing the processor to perform any method of the present invention.
[0132] Those skilled in the art will appreciate that the modules or steps of the present invention described above can be implemented using a general-purpose computer device. Alternatively, they can be implemented using program code executable by a computing device, which can then be stored in a storage device and executed by the computing device. Alternatively, they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. The present invention is not limited to any specific combination of hardware and software.
[0133] Although the above describes the specific embodiments of the present invention in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art on the basis of the technical solution of the present invention without any creative work are still within the scope of protection of the present invention.
Claims
1. A privacy protection method capable of resisting key mixing and matching, characterized in that: include: Multiple encryptors, decryptors, and key managers; each encryptor provides a vector The amount ; Decryptor provides vector ,The key manager is responsible for generating security parameters and providing decryption keys; Step 1, Initialization phase: The key manager inputs security parameters, randomly generates a set of keys through the initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys; Step 2, encryption phase: the key manager randomly generates a tag and , and label and Sent to all encryptors; The encryptor receives the label of this round and , and calculate the label and tags mask; The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor; With private key ,vector The amount ,Label and As input, the encryption algorithm will Encrypted to ciphertext And output; Step 3, Decryption key generation phase: The decryptor sends the vector to the key manager ;The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key and combine the decryption key and the current round label Return to the decryptor; Step 4, Decryption phase: The decryptor receives the ciphertext set from all encryptors and the decryption key and label from the key manager. , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
2. A privacy protection method capable of resisting key mixing and matching according to claim 1, characterized in that: The key manager inputs security parameters, randomly generates a set of keys through an initialization algorithm, and distributes the keys to the corresponding encryptors, specifically including: The key manager first enters the security parameters On, randomly generated Prime number of bit length , then construct additive cyclic group of order ,group The generator of ; The key custodian selects a global hash function , label Input mapping to group Above; choose a global hash function , label Input is mapped to On the domain; The key manager randomly generates a set of keys and distributes them to the corresponding encryptors.
3. A privacy protection method capable of resisting key mixing and matching according to claim 1, characterized in that: During the encryption phase, the encryptor receives the current round label and , and calculate the label and tags The mask includes: The key manager randomly generates tags for encryption and decryption operations and , where the label is a two-dimensional vector, both labels are composed of arbitrary length 01 bits, and the label and Sent to all encryptors; The encryptor receives the label of this round and , calculate the label Mask , calculate the label Mask ; in, Indicates the label Using a hash function The mask obtained belongs to the group Medium elements, The same applies to labels Using a hash function The mask obtained belongs to Elements in the domain.
4. A privacy protection method capable of resisting key mixing and matching according to claim 1, characterized in that: The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key, including: The key manager receives the vector sent by the decryptor , using the randomly generated label of the current round Calculate the decryption key , calculated as follows: ; in, is the key of the i-th encryptor, is a vector The i-th component of It is a label Using a hash function The obtained mask and the calculated decryption key result is a two-dimensional vector.
5. The privacy protection method capable of resisting key mixing and matching according to claim 1, characterized in that: In each round of encryption and decryption, the key manager only uses the label of the current round. For a single vector Generate decryption keys, i.e., the decryptor cannot obtain multiple decryption keys by submitting multiple vectors to the key manager in one round.
6. A privacy protection method capable of resisting key mixing and matching according to claim 1, characterized in that: The decryptor receives the ciphertext set sent by all encryptors and the decryption key and label sent by the key manager , calculate the decryption result, including: The decryptor receives the ciphertext set from all encryptors and the decryption key from the key manager. and tags ; The decryptor calculates the decryption result by the following calculation method : Among them, the label Mask , decryption calculation represents the ciphertext generated by the i-th encryptor, Represents a vector The i-th component of is the decryption key.
7. A privacy protection system capable of resisting key mixing and matching, characterized in that: include: Multiple encryptors, decryptors, and key managers; each encryptor provides a vector The amount ; Decryptor provides vector ,The key manager is responsible for generating security parameters and providing decryption keys; The initialization module is configured as follows: the key manager inputs security parameters, randomly generates a set of keys through the initialization algorithm, and distributes the keys to the corresponding encryptors; the encryptors receive the keys sent by the key manager and use them as encryption keys; The encryption module is configured as follows: the key manager randomly generates a tag and , and label and Sent to all encryptors; with private key ,vector The amount ,Label and As input, the encryption algorithm will Encrypted to ciphertext And output; The encryptor receives the label of this round and , and calculate the label and tags mask; The encryptor calculates the vector components through the encryption algorithm The ciphertext is then sent to the decryptor; The decryption key generation module is configured to: the decryptor sends a vector to the key manager ;The key manager receives the vector sent by the decryptor , using this round label Calculate the decryption key and combine the decryption key and the current round label Return to the decryptor; The decryption module is configured as follows: the decryptor receives the ciphertext set sent by all encryptors and the decryption key and label sent by the key manager , calculate the decryption result; and solve the discrete logarithm of the decryption result to obtain the inner product result.
8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are performed.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.