A privacy-preserving truth discovery method and system to resist collusion attacks
By introducing Paillier encryption and a trusted third party (TA) into the crowd intelligence sensing system, collusion attacks can be detected and user weights and truth values can be updated within the encrypted domain. This solves the problems of data leakage and calculation deviation caused by collusion attacks, and improves the security and accuracy of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-07
- Publication Date
- 2026-03-13
AI Technical Summary
Existing crowd intelligence sensing systems suffer from issues such as leakage of user privacy data and deviation of weight calculations from the true value when facing collusion attacks. Especially in non-fully trusted server environments, existing algorithms cannot effectively resist collusion attacks.
By employing the Paillier encryption scheme and a trusted third party (TA), collusion attacks are detected and attackers are dynamically banned through computation within the ciphertext domain. The collusion attack probability score is combined to iteratively update user weights and truth values, ensuring data privacy and computational accuracy.
It effectively resists collusion attacks, improves the accuracy of truth discovery and user data privacy and security, reduces server load, supports dynamic user logout, and avoids waste of computing resources and data leakage.
Smart Images

Figure CN116471004B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of information security technology, specifically relating to a privacy-protecting truth discovery method and system for resisting collusion attacks. Background Technology
[0002] Most crowdsourced sensing systems use truth-finding methods to update sensing task data values, thereby improving the data quality of sensing tasks. Truth-finding methods differentiate workers from the sensing data reported by workers by estimating the reliability of workers (also known as weights), and update the true values through data aggregation. However, crowdsourced sensing systems also have vulnerabilities related to data privacy and security.
[0003] Users' sensitive privacy information may be contained in sensor data. If users submit raw sensor data to service providers, it may be leaked or misused. To protect privacy based on worker-perceived data and worker weights, privacy-preserving truth discovery methods have been proposed. From a model perspective, privacy-preserving truth discovery methods can generally be classified into single-server models and dual-server models. Miao proposed a scheme called L2-PPTD, in which workers can go offline after uploading data to the cloud, and workers do not participate in truth and weight calculations.
[0004] Furthermore, existing truth discovery algorithms assume that most users are non-malicious. Some malicious workers collude to forge data for illicit gain; this attack scheme is known as a collusion attack. In the L2-PPTD scheme, the privacy of model worker weights is not protected in the cloud, and the scheme does not consider collusion attacks present in crowdsourced sensing systems. When L2-PPTD encounters a collusion attack, worker weights deviate significantly from the true values in the truth calculation. Yuan first proposed SADU, a collusion attack detection method for crowdsourced sensing systems. SADU clusters based on the similarity of the sensing data submitted by workers, and then distinguishes colluding attackers from ordinary workers by assigning workers in the same cluster the same set of tasks with known truth values (also known as golden tasks). TDSSA is an improved algorithm based on SADU, performing probability allocation on golden tasks. However, both SADU and TDSSA algorithms calculate worker sensing data in the plaintext domain. If the server is not entirely trustworthy, the worker sensing data may be leaked or misused by the service provider. Summary of the Invention
[0005] The main objective of this invention is to overcome the shortcomings and deficiencies of the prior art and propose a privacy-preserving truth discovery method and system that resists collusion attacks. The method effectively supports truth discovery calculation in encrypted environments. While providing privacy protection for users' task observation data and personal weights, it can effectively resist collusion attacks launched by malicious users against the system.
[0006] To achieve the above objectives, the present invention adopts the following technical solution:
[0007] A privacy-preserving truth discovery method to resist collusion attacks, comprising a trusted third party (TA), a user, a server, and a cloud server, including the following steps:
[0008] During system initialization, the server generates a public-private key pair using the Paillier encryption scheme and sends the public key to the cloud server. The server then generates an initial truth value based on the task answer type.
[0009] For user data reporting, the TA randomly selects two integers for the user. The user uses these two random numbers to scramble the observed data values and the squared values of the observed data. The scrambled data is then sent to the cloud server.
[0010] For collusion attack detection, the server issues a task with known truth value to the user. The user reports the observation data. The cloud server calculates the distance between the user and the observation value and the distance between the user and the truth value in the encrypted domain. After aggregating the two aggregated distances in the dimension of the task with known truth value, the server sends the two aggregated distances in encrypted form to the server. The server uses its private key to decrypt the two aggregated distance values in plaintext and calculates the collusion attack probability score.
[0011] For weight updates, the cloud server calculates the ciphertext of the distance between the user's observed data and the current true value using the ciphertext of the observed data and the ciphertext of the squared value of the observed data. The cloud server performs aggregation calculations in the task dimension and user dimension to obtain two aggregated ciphertexts and sends them to the server. The server uses the private key to decrypt them and calculates the perturbation weight for each user.
[0012] For truth value updates, the server aggregates the product of the perturbation weights and their corresponding random numbers at the user level, and encrypts the perturbation weights and aggregated values using a public key. The cloud server calculates the ciphertext of the aggregated value of each user's product with their corresponding observation data using the ciphertext of the aggregated perturbation weights. It then calculates the ciphertext of the aggregated user's weights and the ciphertext of the aggregated value of the user's weights with their corresponding observation data using the ciphertext of each user's perturbation weights, and sends the two ciphertexts of the aggregated values to the server for decryption to calculate the current truth value.
[0013] The method iterates, repeating the weight update and truth update steps, continuously updating the user's weight and the task's truth value until the convergence condition is met, at which point the server outputs the truth value.
[0014] Furthermore, system initialization specifically includes:
[0015] Key generation: The server requests two random large prime numbers p and q of equal length from the key generator (TA). It calculates the least common multiple of p-1 and q-1, λ = lcm(p-1, q-1), and calculates the product of p and q, N = p * q. Let the generator g = N+1, and define a function... Calculate μ=(L(g) λ mos N 2 )) -1 mod N yields the public key (N, g) and the private key (λ, μ); lcm(a, b) represents the least common multiple operation, and mod represents the modulo operation;
[0016] The server generates an initialization truth value based on the task type. Generally, the truth value for task m is denoted as... The truth value of task m is known golden The truth value is denoted as
[0017] Furthermore, system initialization also includes:
[0018] Set a minimum batch size for single-batch users and a threshold θ for the probability of collusion attacks, where θ∈(0,1).
[0019] Furthermore, the user data reporting is as follows:
[0020] The TA sends scrambled random number tuples to the server and the users in that batch. Send encrypted random number tuples (R, R′) to the server and cloud server; users in this batch of data control their observed data values x. m,k Square value of observed data To scramble the two data sets, and Send to the cloud server;
[0021] The server uses the public key (N, g) to generate two random numbers r. m,k and r′ m,k Encrypt the ciphertext and Send to the cloud server;
[0022] Cloud servers use public key pairs and Encryption obtained and The ciphertext of the observed data value and the ciphertext of the squared value of the observed data are obtained by multiplying the two scrambled random number ciphertexts sent by the server.
[0023]
[0024]
[0025] Furthermore, the detection of collusive attacks specifically includes:
[0026] When the task type is a known truth task, and the number of users submitting task observation data is greater than or equal to a batch, the cloud server counts the most frequently occurring ciphertext E(x) of the observation data in that batch. m,k ) major ;
[0027] Cloud servers are based on E(x) m,k )=E(x m,k ) major To determine if they are equal, calculate the state bit set RS for user k. k If they are equal, user k's status flag in task m is set. m,k Set to 0, Where L=|m golden | represents the number of observation data submitted by user k for a task with a known truth value;
[0028] Cloud servers use public key pairs Encryption yields its ciphertext Calculate the distance between user observation data and true value within the ciphertext domain. In the task dimension, calculate the power of the state bit value corresponding to each distance ciphertext of user k, multiply and aggregate them, and obtain the aggregated value. Mult k Send to the server;
[0029] The server uses the private key to Mult k Decryption, D(Mult) k ) = L(Mult k λ mod N 2 The probability of a collusive attack by user k is calculated using the formula: )*μmod N. If S k >θ, mark the user as a colluding attacker, and reject all future task requests from the user.
[0030] Furthermore, the weight update is specifically as follows:
[0031] Cloud servers use public key pairs Encryption yields its ciphertext Calculate the distance between user-perceived data and truth value within the ciphertext domain. At the task level, the cloud server performs a chain reaction aggregation on each distance ciphertext for user k, and the aggregated value... The cloud server requests an aggregate value and a random number a from user k to user TA. k Calculate the disordered aggregate value At the user level, the cloud server aggregates the encrypted aggregated distance value for each user, and the aggregated value... C′ k And C are sent to the server.
[0032] The server decrypts C′ using its private key. k And C got Calculate the disturbance weight of user k according to the weight formula.
[0033] Furthermore, the truth update specifically involves:
[0034] The server assigns a disturbance weight w′ to the user. k Its corresponding random number r m,k The product is aggregated, that is, the product is calculated. Then, the public key is used to scramble the weight w′. k Encrypting the aggregate value will scramble the weighted ciphertext E(w′). k ) and aggregate value ciphertext Send to the cloud server;
[0035] The cloud server uses the public key to scramble the aggregated value and generate a random number 'a'. k Encryption yields E(a) k At the user level, the cloud server scrambles the aggregated value into a random number ciphertext and then combines it with each user's scrambled weight ciphertext E(w′). k Multiplying these together yields the aggregated perturbation weight ciphertext. Through calculation The ciphertext of the aggregated value obtained is the product of the user's weight and the corresponding user's observation data. and Send to the server;
[0036] The server uses its private key to decrypt and calculates the updated truth value of the iteration round according to the formula.
[0037] Furthermore, the method iterates, repeating the weight update and truth update steps, continuously updating the user's weights and the task's truth value until the convergence condition is met. The convergence condition is specifically: the Euclidean distance between the truth value of the current iteration and the truth value of the previous iteration is less than ε, where ε is set to 10. -5.
[0038] This invention also includes a privacy-preserving truth discovery system that resists collusion attacks. The system includes a trusted third party (TA), a user, a server, and a cloud server. The system uses the method provided by this invention to perform truth discovery.
[0039] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0040] 1. This invention provides a privacy-preserving truth discovery method that can resist collusion attacks. In dealing with the issues of collusion attacks and privacy protection, it combines collusion attack probability scores and the Paillier key scheme to dynamically block collusion attackers. When the worker probability score threshold is greater than θ, the user is marked as a collusion attacker and all subsequent task requests from the user are rejected. This can resist collusion attacks in privacy-preserving truth discovery and improve the aggregation accuracy of the algorithm.
[0041] 2. The method of the present invention improves the accuracy of truth discovery by detecting collusion attacks, while ensuring the privacy and security of user data; it supports dynamic users, that is, users can exit the system after submitting the perception data without participating in encryption or iterative calculations.
[0042] 3. The encryption and decryption algorithm of this invention is relatively simple to implement, reducing the server load; it provides a collusion attack detection scheme in the encrypted domain, which can significantly improve the accuracy of the final aggregation result of truth discovery when encountering collusion attacks; after the worker submits the data, the worker does not need to participate in the subsequent iterative calculation process, and the worker does not need to consume too much computing resources, and the worker's equipment failure will not affect the truth aggregation. Attached Figure Description
[0043] Figure 1 This is a flowchart of the method of the present invention;
[0044] Figure 2 This is a system block diagram of the present invention;
[0045] Figure 3 This is an execution flowchart of an embodiment of the present invention. Detailed Implementation
[0046] The present invention will be further described in detail below with reference to the embodiments and accompanying drawings, but the embodiments of the present invention are not limited thereto.
[0047] Example
[0048] like Figure 1 , Figure 2 and Figure 3As shown, this invention provides a privacy-preserving truth discovery method to resist collusion attacks, comprising a trusted third party (TA), a user, a server, and a cloud server, and includes the following steps:
[0049] During system initialization, the server generates a public-private key pair using the Paillier encryption scheme and sends the public key to the cloud server. The server then generates an initial truth value based on the task answer type.
[0050] In this embodiment, system initialization specifically includes:
[0051] Key generation: The server requests two random large prime numbers p and q of equal length from the key generator (TA). It calculates the least common multiple of p-1 and q-1, λ = lcm(p-1, q-1), and calculates the product of p and q, N = p * q. Let the generator g = N+1, and define a function... Calculate μ=(L(g) λ mod N 2 )) -1 Modulo N yields the public key (N, g) and the private key (λ, μ). Here, lcm(a, b) represents the least common multiple operation, and mod represents the modulo operation.
[0052] Set a minimum batch size for users in a single batch, and set a threshold θ for the probability of collusion attacks, where θ∈(0,1].
[0053] The server generates an initialization truth value based on the task type. Generally, the truth value for task m is denoted as... The truth value of task m is known golden The truth value is denoted as
[0054] For user data reporting, the TA randomly selects two integers for the user. The user uses these two random numbers to scramble the observed data values and the squared values of the observed data. The scrambled data is then sent to the cloud server.
[0055] In this embodiment, user data reporting specifically includes:
[0056] TA sends a scrambled random number tuple (r) to the server and the users in that batch. m,k ,r′ m,k The system sends encrypted random number tuples (R, R′) to both the server and cloud server. Users in this batch then use these tuples to evaluate their observed data values x. m,k Square value of observed data To scramble the two data sets, and Send to the cloud server;
[0057] The server uses the public key (N, g) to generate two random numbers r.m,k and r′ m,k Encrypt the ciphertext and Send to the cloud server;
[0058] Cloud servers use public key pairs and Encryption obtained and The ciphertext of the observed data value and the ciphertext of the squared value of the observed data are obtained by multiplying the two scrambled random number ciphertexts sent by the server.
[0059]
[0060]
[0061] For collusion attack detection, the server issues tasks with known truth values to the user. The user reports observation data. The cloud server calculates the distance between the user and the majority of observations and the distance between the user and the truth values in the encrypted domain. After aggregating the distances in the dimension of tasks with known truth values, the server sends the two aggregated distances in encrypted form to the server. The server uses its private key to decrypt the two aggregated distance values in plaintext and calculates the collusion attack probability score.
[0062] In this embodiment, the collusion attack detection specifically includes:
[0063] When the task type is a known truth task, and the number of users submitting task observation data is greater than or equal to batch, the cloud server counts the most frequently occurring ciphertext E(x) of the batch. m,k ) major ;
[0064] Cloud servers are based on E(x) m,k )=E(x m,k ) major To determine if they are equal, calculate the state bit set RS for user k. k If they are equal, user k has the flag in the status bit of task m. m,k Set to 0, Where L=|m golden | represents the number of observation data submitted by user k for a task with a known truth value;
[0065] Cloud servers use public key pairs Encryption yields its ciphertext Calculate the distance between user observation data and true value within the ciphertext domain. In the task dimension, calculate the power of the state bit value corresponding to each distance ciphertext of user k, multiply and aggregate them, and obtain the aggregated value. Multk Send to the server;
[0066] The server uses the private key to Mult k Decryption, D(Mult) k ) = L(Mult k λ mod N 2 The probability of a collusive attack by user k is calculated using the formula: )*μmod N. If S k >θ, mark the user as a colluding attacker, and reject all future task requests from the user.
[0067] For weight updates, the cloud server calculates the ciphertext of the distance between the user's observed data and the current true value using the ciphertext of the observed data and the squared ciphertext of the observed data. The cloud server performs aggregation calculations in the task dimension and user dimension to obtain two aggregated ciphertexts and sends them to the server. The server uses the private key to decrypt them and calculates the perturbation weight for each user.
[0068] In this embodiment, the weight update is specifically as follows:
[0069] Cloud servers use public key pairs Encryption yields its ciphertext Calculate the distance between user-perceived data and truth value within the ciphertext domain. The task dimension performs a chain of products and aggregates the ciphertext for each distance of user k, and the aggregated value is... The server requests an aggregate value and a random number a from user k to user TA. k Calculate the disordered aggregate value The encrypted aggregated distance value for each user is aggregated at the user dimension, and the aggregated value is... C′ k And C are sent to the server.
[0070] The server decrypts C′ using its private key. k And C got Calculate the disturbance weight of user k according to the weight formula.
[0071] For truth value updates, the server aggregates the product of the perturbation weight and the corresponding random number in the reporting phase at the user level, and encrypts the perturbation weight and aggregated perturbation weight for each user using the public key. The cloud server calculates the ciphertext of the aggregated value of the product of each user and their corresponding observation data using the ciphertext of the aggregated perturbation weight, and calculates the ciphertext of the aggregated user's weight using the ciphertext of each user's perturbation weight. The ciphertexts of the two aggregated values are sent to the server for decryption to calculate the current truth value.
[0072] In this embodiment, the truth value update is specifically as follows:
[0073] The server assigns a disturbance weight w′ to the user. k The corresponding random number r in the reporting phase m,k The product is aggregated, that is, the product is calculated. Then, the public key is used to scramble the weight w′. k Encrypting the aggregate value will scramble the weighted ciphertext E(w′). k ) and aggregate value ciphertext Send to the cloud server;
[0074] The cloud server uses the public key to scramble the aggregated value and generate a random number 'a'. k Encryption yields E(a) k ); At the user level, the aggregated value is scrambled into a random number ciphertext and each user's scrambled weight ciphertext E(w′) is added. k Multiply by , and you get the ciphertext of the aggregated weight value. Through calculation The ciphertext of the aggregated value obtained is the product of the user's weight and the corresponding user's observation data. and Send to the server;
[0075] The server uses its private key to decrypt and calculates the updated truth value of the iteration round according to the formula.
[0076] The method iterates, repeating the weight and truth value update steps, continuously updating the user's weights and the task's truth value until a convergence condition is met, at which point the server outputs the truth value. The convergence condition is specifically: the Euclidean distance between the truth value of the current iteration and the truth value of the previous iteration is less than ε, which is set to 10 in this embodiment. -5 .
[0077] In another embodiment, a privacy-preserving truth discovery system that resists collusion attacks is also provided. The system includes a trusted third party (TA), a user, a server, and a cloud server. The system uses the method described in the above embodiments to perform truth discovery.
[0078] It should also be noted that, in this specification, terms such as "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0079] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A privacy-preserving truth discovery method to resist collusion attacks, characterized in that, The system includes a trusted third-party transaction manager (TA), users, a server, and a cloud server, and comprises the following steps: During system initialization, the server generates a public-private key pair using the Paillier encryption scheme and sends the public key to the cloud server. The server then generates an initial truth value based on the task answer type. For user data reporting, the TA randomly selects two integers for the user. The user uses these two random numbers to scramble the observed data values and the squared values of the observed data. The scrambled data is then sent to the cloud server. For collusion attack detection, the server issues a task with known truth value to the user. The user reports the observation data. The cloud server calculates the distance between the user and the observation value and the distance between the user and the truth value in the encrypted domain. After aggregating the two aggregated distances in the dimension of the task with known truth value, the server sends the two aggregated distances in encrypted form to the server. The server uses its private key to decrypt the two aggregated distance values in plaintext and calculates the collusion attack probability score. For weight updates, the cloud server calculates the ciphertext of the distance between the user's observed data and the current true value using the ciphertext of the observed data and the ciphertext of the squared value of the observed data. The cloud server performs aggregation calculations in the task dimension and user dimension to obtain two aggregated ciphertexts and sends them to the server. The server uses the private key to decrypt them and calculates the perturbation weight for each user. For truth value updates, the server aggregates the product of the perturbation weights and their corresponding random numbers at the user level, and encrypts the perturbation weights and aggregated values using a public key. The cloud server calculates the ciphertext of the aggregated value of each user's product with their corresponding observation data using the ciphertext of the aggregated perturbation weights. It then calculates the ciphertext of the aggregated user's weights and the ciphertext of the aggregated value of the user's weights with their corresponding observation data using the ciphertext of each user's perturbation weights, and sends the two ciphertexts of the aggregated values to the server for decryption to calculate the current truth value. The method iterates, repeating the weight update and truth update steps, continuously updating the user's weight and the task's truth value until the convergence condition is met, at which point the server outputs the truth value.
2. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 1, characterized in that, System initialization specifically includes: Key generation: The server requests two random large prime numbers p and q of equal length from the key generator (TA). It calculates the least common multiple of p-1 and q-1, λ = lcm(p-1, q-1), calculates the product of p and q, N = p * q, and sets the generator g = N + 1. It then defines a function... Calculate μ=(L(g) λ2 )) -1 We obtain the public key (N, g) and the private key (λ, μ); lcm(a, b) represents the least common multiple operation, and mod represents the modulo operation; The server generates an initialization truth value based on the task type. Generally, the truth value for task m is denoted as... The truth value of task m is known golden The truth value is denoted as 3. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 2, characterized in that, System initialization also includes: Set a minimum batch size for single-batch users and a threshold θ for the probability of collusion attacks, where θ∈(0,1).
4. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 2, characterized in that, The user data report is as follows: TA sends a scrambled random number tuple (r) to the server and the users in that batch. m,k , ′ m,k Sends encrypted random number tuples (R, R) to the server and cloud server. ′ This batch of users commented on their observed data values x. m,k Square value of observed data To scramble the two data sets, and Send to the cloud server; The server uses the public key (N, g) to generate two random numbers r. m,k and r ′ m,k Encrypt the ciphertext and Send to the cloud server; Cloud servers use public key pairs and Encryption obtained and The ciphertext of the observed data value and the ciphertext of the squared value of the observed data are obtained by multiplying the two scrambled random number ciphertexts sent by the server.
5. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 3, characterized in that, Collusion attack detection specifically includes: When the task type is a known truth task, and the number of users submitting task observation data is greater than or equal to a batch, the cloud server counts the most frequently occurring ciphertext E(x) of the observation data in that batch. m,k ) major ; Cloud servers are based on E(x) m,k )=E(x m,k ) major To determine if they are equal, calculate the state bit set RS for user k. k If they are equal, user k's status flag in task m is set. m,k Set to 0, Where L=|m golden | represents the number of observation data submitted by user k for a task with a known truth value; Cloud servers use public key pairs Encryption yields its ciphertext Calculate the distance between user observation data and true value within the ciphertext domain. In the task dimension, calculate the power of the state bit value corresponding to each distance ciphertext of user k, multiply and aggregate them, and obtain the aggregated value. Mult k Send to the server; The server uses the private key to Mult k Decryption, D(Mult) k ) = L(Mult k λ2 The probability of a collusive attack by user k is calculated using the formula )*μmodN. If S k >θ, mark the user as a colluding attacker, and reject all future task requests from the user.
6. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 1, characterized in that, The weight update is as follows: Cloud servers use public key pairs Encryption yields its ciphertext Calculate the distance between user-perceived data and truth value within the ciphertext domain. At the task level, the cloud server performs a chain reaction aggregation on each distance ciphertext for user k, and the aggregated value... The cloud server requests an aggregate value and a random number a from user k to user TA. k Calculate the disordered aggregate value At the user level, the cloud server aggregates the encrypted aggregated distance value for each user, and the aggregated value... C′ k And C are sent to the server. The server decrypts C′ using its private key. k And C got Calculate the disturbance weight of user k according to the weight formula.
7. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 1, characterized in that, The truth update is specifically as follows: The server performs perturbation on the user-level weight w′. k Its corresponding random number r m,k The product is aggregated, that is, the product is calculated. Then, the public key is used to scramble the weight w′. k Encrypting the aggregate value will scramble the weighted ciphertext E(w) ′ k ) and aggregated value ciphertext Send to the cloud server; The cloud server uses the public key to scramble the aggregated value and generate a random number 'a'. k Encryption yields E(a) k At the user level, the cloud server will scramble the aggregated value into a random number ciphertext and then combine it with each user's scrambled weight ciphertext E(w). ′ k Multiplying these together yields the aggregated perturbation weight ciphertext. Through calculation The ciphertext of the aggregated value obtained is the product of the user's weight and the corresponding user's observation data. and Send to the server; The server uses its private key to decrypt and calculates the updated truth value of the iteration round according to the formula.
8. The privacy-preserving truth discovery method for resisting collusion attacks according to claim 1, characterized in that, The method iterates, repeating the weight and truth update steps, continuously updating the user's weights and the task's truth value until a convergence condition is met. The convergence condition is specifically: the Euclidean distance between the truth value of the current iteration and the truth value of the previous iteration is less than ε, where ε is set to 10. -5 .
9. A privacy-preserving truth discovery system to resist collusion attacks, the system comprising a trusted third party (TA), users, a server, and a cloud server, characterized in that, The system uses the method described in any one of claims 1-8 to perform truth discovery.