Abstract
Secure multi-party computation (SMC) is a cryptographic protocol that allows participants to compute the desired output without revealing their inputs. A variety of results related to increasing the efficiency of SMC protocol have been reported, and thus, SMC can be used in various applications. With the SMC protocol in smart grids, it becomes possible to obtain information for load balancing and various statistics, without revealing sensitive user information. To prevent malicious users from tampering with input values, SMC requires cheater detection. Several studies have been conducted on SMC with cheater detection, but none of these has been able to guarantee the fairness of the protocol. In such cases, only a malicious user can obtain a correct output prior to detection. This can be a critical problem if the result of the computation is real-time information of considerable economic value. In this paper, we propose a fair and secure multi-party computation protocol, which detects malicious parties participating in the protocol before computing the final output and prevents them from obtaining it. The security of our protocol is proven in the universal composability framework. Furthermore, we develop an enhanced version of the protocol that is more efficient when computing an average after detecting cheaters. We apply the proposed protocols to a smart grid as an application and analyze their efficiency in terms of computational cost.
1. Introduction
Secure multi-party computation (SMC) is a set of cryptographic techniques that allows a set of mutually distrusting parties to compute a predefined function on their private inputs and obtain an output without revealing the inputs. Due to this property, the SMC protocol has been used in many applications, such as electronic auctions, electronic voting, and privacy-preserving statistical analysis, as a building block [,,,,,]. Privacy-preserving data aggregation protocols that use SMC have been proposed in the literature to deal with user privacy in smart grids [,].
A smart grid is a convergence technology that combines a traditional grid and information communications technology (ICT). As the next generation of power grids, it allows two-way transmission between generation plants and customers. Using this bidirectional communication, power suppliers (e.g., utilities) and other service providers offer various convenient services to the customer and optimize energy consumption and cost. Smart meters collect customers’ data in real time. Meaningful information for beneficial services may be obtained by aggregating data collected by smart meters. For example, information such as power consumption patterns and time-of-use rates enable consumers to find a solution to sustain energy efficiency while reducing the cost of electricity. With time-of-use pricing for electricity, consumers can schedule energy-intensive activities for off-peak or mid-peak hours. Moreover, the power supplier utilizes the power consumption patterns of geographical areas to manage energy supply with the aim of load balancing. However, aggregating or collecting consumers’ energy usage data incurs privacy issues. Energy consumption patterns might contain very sensitive information because they reflect consumers’ daily life activities. For example, if such information is revealed, an attacker may be able to determine the number of residents in a house when the house is empty, the types of electronic devices in the house, and other details. Therefore, it is necessary to build a privacy-preserving data aggregation protocol in a smart gird that guarantees the privacy of the data related to each consumer. SMC is a proper solution to handle privacy issues, and several studies have explored the application of the SMC protocol to smart grids [,].
However, if malicious consumers tamper with their smart meters while performing computations, the utility as well as honest consumers will be unable to obtain accurate information (e.g., for load balancing or reducing energy cost). Thus, cheater detection is required in the SMC protocol. Cheater detection in SMC has been explored in [,,], but the schemes proposed there have a few weaknesses. In these schemes [,,], a malicious party can share its input with honest parties and create a final share by itself. (Each party performs the pre-defined computation using initial shares, the part of other parties¡¯ inputs, in order to create a final share. We can obtain a final output of the computation by reconstructing, e.g., summing up, final shares of all parties.) The malicious party can then broadcast a random value instead of the final share. In this case, only the malicious party obtains an accurate output by using the final shares of honest parties along with its own final share in the reconstruction phase. The honest parties in such a case obtain an inaccurate output because they reconstruct the values, including a random value by the malicious party. Although the values released by all parties may be used to detect the malicious parties, the final output in this case has already been revealed because the detection occurs following the computation. Therefore it is necessary to detect malicious parties before computing the final output. With this property, SMC guarantees fairness. (Roughly speaking, fairness means that either everyone participating in the SMC protocol can obtain an accurate result of computations or none can.)
In this paper, we propose an SMC protocol that guarantees fairness by detecting a cheater prior to computing the final output. The proposed protocol provides cheater detection and security even when of n parties in the protocol are corrupted. Our proposed protocol is based on the SPDZ protocol [], which is an efficient SMC protocol that has been proven to be secure in the malicious model. (The SPDZ (Smart, N., Pastro, V., Damgard, I., Zakarias, S.) protocol is an SMC protocol for arithmetic circuits with a highly efficient online phase. The online phase of the SPDZ protocol is derived by preprocessing the task of the online phase in the offline phase of the protocol.) In this paper, we provide a definition of universally composable (UC) security for fair multi-party computation and prove the security of the proposed protocol according to this definition. Moreover, we propose an enhanced version of our protocol in case of computing the average, one of the most widely used computations in the smart grid that improves efficiency. We also analyze the efficiency of the enhanced version of our protocol.
Organization
The remainder of this paper is organized as follows: In Section 2 and Section 3, we review related works and briefly explain preliminaries in this area, respectively. In Section 4, we define the relevant notations and introduce the security model for fair SMC in the UC setting. We describe the proposed protocol in Section 5, followed by its security proof in Section 6. In Section 7, we apply the proposed protocol to a smart grid and describe the enhanced version of our protocol through an efficiency analysis. We offer our conclusions in Section 8.
2. Related Work
- Cheater Detection. Detecting cheaters on the Internet has been an important issue, such as astroturfing detection [,,], and a diversity of techniques concerning this matter have been proposed so far. Several studies have been carried out on cheater detection in secret sharing schemes [,,,]. The results of these techniques are only applicable to secret sharing schemes and thus may not be used to verify the correctness of the new shares computed by secure multi-party computation (SMC) protocol. Several SMC protocols that can detect malicious parties have been proposed so far. Damgård and Orlandi proposed an SMC protocol where every party broadcasts the computed final shares and checks its commitments following the computation of its own final shares []. Baum et al. proposed an SMC protocol with an additional audit algorithm []. Since the SPDZ protocol was proposed, several SMC protocols have been built on top of the SPDZ protocl to achieve cheater detection and identification [,]. Furthermore, there have been efforts to improve the efficiency of SMC protocols with identifiable abort []. However, neither of these protocols can prevent malicious parties from learning the final result of computation, whereas honest parties may not. In other words, malicious parties can only be detected following the broadcast of the final shares or the reconstruction of the final output. In such a case, a malicious party can broadcast an incorrect value and obtain all correct final shares of the honest parties as well as its own. The malicious party would then be the only one that can reconstruct the correct output of the computation.
- Fair and Secure Multi-party Computation. It is known that any functionality can be fairly computed in the case of honest majority [,,,]. However, fairness is impossible to be guaranteed with corrupted majority []. Consequently, a number of definitions of security do not consider fairness, even in a Universal Composability (UC) framework, or only consider partial fairness [,,,]. To overcome this impossibility result, a few approaches to achieve fairness have been proposed. The gradual release approach makes parties take turns releasing their outputs in each round [,,]. However, this approach is still somewhat unfair. Another approach involves employing semi-trusted third parties or physical assumptions [,,]. As part of this approach, a technique using Bitcoin has been proposed [,]. It was recently shown that fair, secure, multi-party computation can be achieved by applying a multi-party fair exchange protocol to any SMC protocol []. Moreover, several results have been insisted on the possibility of utilizing reputation systems [], public bulletin boards [], and trusted hardware [] to achieve fairness.
- Secure Multi-party Computation in Smart Grid. A number of studies on privacy-preserving aggregation of information for metering or billing have been conducted [,,,,,]. SMC techniques have recently been applied to smart grids to preserve user privacy [,]. The protocol proposed in [] can be applied to smart grids but requires that all participating parties decrypt the final output together in an interactive manner. In [], Clark and Hopkinson proposed an optimized SMC protocol called transferable multi-party computation (T-MPC) for smart grid networks. To improve efficiency and scalability, T-MPC allows small groups of users to compute the local results of sub-functions. However, it is unable to detect malicious parties and guarantee fairness at the same time.
- Implementations of Secure Multi-party Computation. Implementation and compiler design of SMC is an active area of research. In the early days of research, compilers were developed that convert code written in a high-level language called secure function definition language (SFDL) into a circuit representation (e.g., FairplayMP [], VIFF [], SEPIA []). Since then, research has been underway for implementations that are more suitable for real-world applications, that is, fast enough to evaluate complex functions and large data sets. For secure two-party computation, most protocols have been designed using circuit garbling [], such as ABY [], EzPC [], and ABY2.0 []. For true multi-party computation, a variety of compilers that execute SMC in arbitrary functions have been developed, and representative examples include PICCO [,] and MP-SPDZ [].
In this paper, we propose an SMC protocol that provides cheater detection and fairness. To prevent a malicious party from solely obtaining the final output, in our proposed protocol, detection occurs prior to the computation of the final output. Thus, the proposed protocol guarantees fairness. We also prove the security of our fair SMC protocol in the UC setting. Moreover, we apply our protocol to a smart grid for privacy-preserving aggregation of customers’ data. We also propose an enhanced version of our protocol, in the case of computing the average, and analyze its efficiency.
Contributions
Fairness is an important factor in SMC, and there have been numerous studies to detect malicious parties participating in the protocol. However, most of them focus on detecting and do not fully consider the benefits that malicious attacker can obtain from cheating. If malicious parties share invalid values while others share valid ones, they could be the only ones who can reconstruct a valid final output. Even detecting malicious parties, if they (and only they) can obtain the final output, it can in some cases cause considerable economic damage or invasion of privacy. The underlying cause of this problem is that cheater detection is performed by each party in the protocol individually checking whether the intermediate values (i.e., shares) received from other parties are fair or not. In other words, the detection of malicious parties in previous works occurs after or during reconstruction of the final shares, meaning that it could be after the malicious parties have already obtained the final output. Therefore, it is required that the detection should be executed before the reconstruction of the final output so that malicious parties could not obtain it.
In this paper, we assume that there exists a (semi-honest) server, which searches out malicious parties before the final output is computed. The server should not be able to obtain the secret input values of each party or the final output of the protocol. To this end, we adopt cryptographic techniques including broadcast encryption, commitment, and non-interactive zero-knowledge proof system. After all parties in the protocol have completed their computation individually, they encrypt their own final share using a broadcast encryption scheme and create a commitment to the final share. Then they generate a non-interactive zero-knowledge proof to prove that they committed the encrypted value through broadcast encryption. Finally, they encrypt these three values using the server’s public key and send them to the server. The server then detects the malicious parties by verifying the validity of the values sent from each party, and if all values are valid, the server sends the ciphertexts of each final share to all parties.
Our protocol prevents malicious parties from obtaining an accurate output because the server detects malicious parties prior to computing the final output. Following the execution of the proposed protocol, every honest party may obtain the correct output of the relevant computation whereas malicious parties may not. The proposed protocol guarantees fairness even when of n parties are corrupted. If all parties are corrupted, no one can obtain the correct output of the computation. We extend the definition of fair, secure, multi-party computation in the UC setting and give the security proof of our fair SMC protocol in the UC model.
Finally, we develop an enhanced version of our protocol in case of computing averages. The average may be re-computed by slightly modifying each honest party’s final share. Honest parties are not required to restart the protocol from the beginning. The final output is the accurate result of the computation using only fair shares of honest parties. In comparison with the version that involves restarting the protocol, our enhanced version reduces communication- and computation-based overhead in recomputing the final output following the detection of the malicious party. We apply this approach to a smart grid as an application.
3. Preliminaries
3.1. Secure Multi-Party Computation
Research on secure multi-party computation (SMC) can be divided into two groups, the garbled circuit group and the secret sharing group. In this paper, we focus on the secret sharing group because it is more commonly used for . We provide a brief explanation of SMC based on the additive secret sharing scheme in particular on carrying out addition and multiplication using shares [,,].
In this setting, each party splits its secret value into shares adding up to the secret value, i.e., , and distributes them to other parties. All parties participating in the protocol jointly compute the secret values using shares sent from the other parties (and one share of its own secret) without revealing any intermediate or final results. More precisely, each party computes the final share using its own shares, and the final result of the computation is obtained by reconstructing the final shares of all parties.
Every computation is represented as a combination of addition and multiplication. Hence, it is sufficient to introduce the manner in which each party computes a new share for an addition and a multiplication of two secret values using its shares.
3.1.1. Addition
In terms of addition, each party can locally compute a new share. The new share is derived by adding the shares of each secret, e.g., the new share for of party can be computed by . Similarly, in case of a new share for , where a is a constant, party can derive this by computing for itself.
3.1.2. Multiplication
The multiplication of two secrets requires interactions among the parties. To reduce the numbers of required interactions, all parties pre-share a number of triples prior to the execution of the computation. Triples of party satisfy the equation and are independent of the computation to be performed.
Using these triples, parties can compute the multiplication of two secrets, and , through a single round of interaction. To obtain a new share for of party , first computes and reveals its shares of and . The parties can then reconstruct and . then locally computes its new share . This enables us to calculate any arithmetic circuit using the same number of interactions as the multiplicative depth of the circuit. For more details, please refer to [,].
3.2. Public-Key Broadcast Encryption
Public-key broadcast encryption (PKBE) allows a sender to securely distribute messages to a dynamically changing set of users over an insecure channel in the public key setting [,]. The PKBE system consists of three randomized algorithms:
- Setup (n).
- Takes as input the number of receivers n and outputs a public key as well as n private keys .
- Encrypt (S, PK).
- Takes a subset and a public key as input, and outputs a pair , where is the header and is a message encryption key. We often refer to as the broadcast ciphertext.Let M be a message to be broadcasted to set S and be the encryption of M under symmetric key K. A sender broadcasts to users in S, where the pair is often called the full header and is often called the broadcast body.
- Decrypt ().
- Takes as input private key for user i, a subset , a header , and the public key . If user i is in S, the algorithm outputs the message encryption key , which is used to decrypt broadcast body and obtain message M.
3.3. Non-Interactive Zero Knowledge
Non-interactive zero knowledge (NIZK) is a kind of zero-knowledge proof system where no interaction is required between a prover and a verifier. The NIZK protocol usually assumes an initial setup that generates a common reference string (CRS) to eliminate any interaction. The CRS is a publicly shared random string between a prover and a verifier and is given to both a prover and a verifier in advance. Parameterized with relation R, the NIZK protocol proceeds as follows:
- Prove.
- Takes as input if outputs ⊥. Otherwise, it outputs , where is proof of the statement that .
- Verify.
- Takes as input and outputs 1 to accept the proof. Otherwise, it outputs 0.
In this paper, we use the UC-secure NIZK protocol proposed in [].
3.4. Universally Composable Security
In general, we prove the security of the protocol executed in isolation. However, in the real world, many executions occur simultaneously, and some protocols can be used as a sub-function of others. In a universal composability (UC) framework, one can guarantee the security of a protocol even when it is used as a sub-routine of any other protocol running concurrently in the system. The framework for UC was first proposed by Canetti [].
In the UC framework, there is a “trusted party” that obtains the inputs of all parties and provides them with the desired outputs. A set of instructions for a trusted party describes the functionality of the protocol. Informally, a protocol securely carries out a given task if running the protocol amounts to “emulating” an ideal process, where the parties provide their inputs to a trusted party with the appropriate functionality and obtain their outputs from it without any other interaction. The algorithm operated by the trusted party is called an ideal functionality.
The UC framework is an enhanced version of the real–ideal security model, which includes parties and an adversary A. The notion of emulation in the UC framework is considerably stronger than that in the real–ideal security model because the adversarial entity, called the environment Z, is additionally adopted. The environment Z generates the inputs of all parties, reads all outputs, and interacts with the adversary A in an arbitrary manner throughout the computation. A protocol is said to securely realize a given ideal functionality if, for any adversary A, there exists an “ideal-process adversary” S such that no environmentZ can tell whether it is interacting with A and parties executing the protocol, or with S and parties interacting with in the ideal process. In a sense, Z here serves as an “interactive distinguisher” between a run of the protocol in the real world and the process with access to in the ideal world. In summary, a protocol is UC secure if, for every real-world adversary A, there exists an ideal-world adversary (simulator) S such that the environment Z cannot distinguish between a real execution with A and an ideal execution with S.
4. Definitions
4.1. Notation
We define the notation used in this paper to clarify the representations of our protocol. The representation of x is defined as , where . Each party will hold its own share of such a representation. For , we define the operations of this representation as follows:
Definition 1.
Let and , where both g and h are generators of group G. We use the Pedersen commitment [] and define the commitment as follows:
Each party creates its own commitment of such a representation. For , we define the operations as follows:
4.2. UC-Secure Fair Multi-Party Computation
In secure multi-party computation (SMC), a group of parties with their private inputs desire to compute a function . We can guarantee fairness in this case if either all of the parties learn the final output of the computation or none of them learns it. This is formalized by real–ideal world simulations []. We extend the real–ideal paradigm to the UC framework defined below, and prove the fairness and security of our protocol in the UC setting in Section 6.
In Figure 1, we present the ideal functionality of our fair SMC protocol in the UC setting. The ideal functionality is the protocol where a trusted party communicates with participants over a secure channel and computes the desired output. In the UC framework, running protocols in the real world is compared to an ideal functionality in the ideal world.
Figure 1.
The ideal functionality that describes the online phase.
Real World: Let P be a set of n parties, . It consists of an adversary A that compromises the set of corrupted parties, the set of remaining honest parties, and a server that detects malicious behavior during the execution of the protocol. The pair of outputs of the honest parties and A in the real execution of the protocol , employing the server, is denoted by , where are the private inputs of each party, is an auxiliary input of A, is the security parameter, and z is the input of the environment.
Ideal World: It consists of an adversary S that controls the set , the set of remaining honest parties, and the ideal functionality (not the server). receives inputs or the message from S and from the honest parties.
- If the inputs are invalid or S sends the message , sends ⊥ to all parties and halts.
- Otherwise, computes . Let be the i-th output. Then, sends to S and to the corresponding honest parties.
The outputs of the parties in an ideal execution involving the honest parties and S, where computes , is denoted by , where , , and z are as above.
Definition 2 (UC-secure Fair Multi-party Computation).
Let π be a probabilistic polynomial time (PPT) protocol and be a PPT multi-party functionality computing ϕ. We say that π computes ϕfairly and securelyif, for every non-uniform PPT real-world adversaryAattacking π, there exists a non-uniform PPT ideal world simulatorSsuch that for every , , the environmentZwith input z cannot distinguish between a real execution withAand an ideal execution withS:
Note that since the server does not exist in the ideal world, the simulator should also simulate its behavior.
5. FSMC Protocol with Cheater Detection
We propose a fair and secure multi-party computation (FSMC) protocol that can detect malicious parties. In FSMC protocol, there are n parties that perform a predefined computation and a semi-honest server that detects malicious parties. The parties corrupted by an adversary are regarded as malicious. The malicious parties do not follow the protocol as described, thereby obtaining the inputs of honest parties or disrupting the computation so that the honest parties may not obtain a correct output.
Once the malicious parties are detected, they may not obtain any information regarding the final output. The protocol consists of three phases: the setup, the offline, and the online phases. In order to improve efficiency of the actual computation, the values used in the online phase were pre-computed in the offline phase.
We use and to satisfy the fairness of this protocol. Specifically, the functionality is used to conceal any information regarding the final output. The functionality is used to guarantee the connection between the commitment and the ciphertext generated by each party.
In this protocol, each party uses to generate the proof of the statement that the commitment and the ciphertext are generated based on the same value, namely the final share it creates. More formally, each party executes Prove with the following relation R:
5.1. Setup
Let be a prime number and G be a group of order p. The Discrete Logarithm Problem (DLP) is difficult to solve in group G. Let be a generator of G. Choose uniformly at random and set . There is a server that verifies the correctness of each party’s values and detects malicious parties. This server must not be able to obtain any secret values of the parties or the final output of the protocol. We assume that a secure channel between the server and each party can be established and that a broadcast encryption functionality (Figure 2) and a non-interactive zero knowledge functionality (Figure 3) are available for every party. The notations in the functionalities and represent the same meanings as assigned to them in Section 3.2 and Section 3.3.
Figure 2.
The ideal functionality for broadcast encryption.
Figure 3.
The ideal functionality for non-interactive zero knowledge.
5.2. Offline Phase
In the offline phase, as a preprocessing stage, some values are pre-computed in order for parties to execute the online phase more efficiently. In Figure 4, we define functionality , which describes the offline phase. In Setup, the values to be used for commitments are generated. These values are used in Compute.Send in the online phase to generate commitments and Output in the online phase to verify them. In RandomValues, the values used to divide each party’s secret into shares are generated. These values are used in the Input of the online phase. In Triples, the multiplication triples and their commitments are generated. The multiplication triples are used in Compute.Multiply in the online phase to compute multiplications with minimal interaction. The commitments are used in Output in the online phase to detect malicious parties.
Figure 4.
The ideal functionality that describes the offline phase.
5.3. Online Phase
The online phase in our protocol is executed as shown in Figure 5. In Initialize, the parties obtain some pre-computed values through the functionalities, which are subsequently used to calculate a predefined circuit during the online phase of this protocol. Furthermore, the server obtains the commitments through the functionality which are used to detect malicious parties. In Input, each party creates the initial shares of its secret value and sends them to the other parties. Each party also obtains the shares of every other party. In Compute, all parties calculate the circuit and send the encrypted final shares, which are used to reconstruct the output of the computation, to the server. They also create some additional values to guarantee the fairness of this protocol. In Output, the server checks the validity of the final shares sent by all parties. If there is no malicious party, the server sends all encrypted final shares to each party. Otherwise, the server notifies the honest parties of the existence of the malicious party.
Figure 5.
The protocol for the online phase.
6. Security in the Online Phase
In this section, we prove the security of the online phase of our protocol. We assume at least one honest party participating in this protocol. We prove the computational security of our protocol, which means that every probabilistic polynomial-time (PPT) adversary succeeds in breaking the scheme with only negligible probability in a reasonable amount of time. We prove that for any polynomial-time adversary A, there exists a simulator that makes protocol indistinguishable from the functionality to the polynomial–time environment Z.
Theorem 1.
In the -hybrid model with a random oracle, the protocol fairly implements with computational security against any static adversary corrupting up to parties, corresponding to Definition 2, if the is hard in the group G.
Proof.
We prove the above theorem by constructing the simulator in Figure 6. The simulator simulates a server and honest parties in the real world and corrupted parties in the ideal world. It runs an instance ∏ of with simulated honest parties and those controlled by the environment Z. For Initialize, the simulator and the corrupted parties perform the same steps as in . During Input, the corrupted parties execute Input in while a simulator simulates the honest parties with their inputs set to 0. The simulator extracts the input values of the corrupted parties from ∏ and sends them to . Moreover, the honest parties send their input values to . In view of environment Z, since the shares of each party’s input value are uniformly random and do not reveal any information regarding the input values, this stage, input, is indistinguishable from real execution.
Figure 6.
Simulator for the online phase.
During Compute, the simulator and the corrupted parties execute Compute.Add and Compute.Multiply in the same manner as in . For Compute.send, the simulator generates final shares of the simulated honest parties for ∏ as follows: first, the simulator computes the output of ∏, , using all inputs from both corrupted and honest parties for ∏. Second, for any party of the simulated honest parties, it modifies the final share of by adding the value . For all honest parties except , the simulator keeps their final values intact. The distribution of the shares of simulated honest parties is the same as in a real execution of the protocol. Finally, the simulator executes Step 1 of Compute.send in with the modified final shares of the simulated honest parties. The corrupted parties execute the same steps as in Compute.send in . Furthermore, if Z decides to stop the execution, a simulator forwards this to the ideal functionality . As in the real execution, Z will not obtain any additional information.
During Output, the simulator acts as a server in the real world. It executes Output in with the corrupted parties. The simulator performs Steps 1 to 3 with values sent from the corrupted parties in Compute.Send. For Step 4, if any failures occur in Steps 2 or 3, the simulator outputs ⊥. Otherwise, it sends the ciphertexts of all final shares in ∏ to the corrupted parties.
Finally, we need to show that the probability that adversary A can cheat is negligible in real protocol execution. If A is able to generate a commitment with a random value, R, which can pass the verification, this random value is verified as a correct value in the Output stage. Following this, if A generates the ciphertext of R and the non-interactive zero-knowledge proof with respect to the ciphertext, the server has no choice but to verify R as a correct final share. However, since the DLP is hard in G, it is nearly impossible for A to generate faulty commitments that can pass verification. Therefore, the probability that A can cheat in real protocol execution is negligible. □
7. Application
In this section, we provide a privacy-preserving data aggregation mechanism for advanced metering infrastructures in smart grids by applying our FSMC protocol. In Section 7.1, we propose a privacy-preserving data aggregation mechanism for general circuits. In other words, we may compute any function, not merely the sum or the standard deviation, by using this mechanism in smart grids. With our FSMC protocol, this privacy-preserving data aggregation mechanism prevents malicious parties from revealing the valid output of computation and disturbing load balancing. In Section 7.2, we propose an enhanced version of our FSMC protocol in the case of computing the average. We then analyze the efficiency of the enhanced protocol by comparison with the original FSMC protocol.
7.1. Applying FSMC Protocol to the Smart Grid
As shown in Figure 7, there are three types of entities in a smart grid: utility, gateway, and smart meters. The smart meters, , collect the real-time usage data of each user. The data of users belonging to a specific area are relayed to a local gateway, . aggregates the collected data into compacted data and forwards this information to users and the . In this process, the privacy of users’ data must be preserved because this information can reveal their living patterns (the number of people in a household, the hours at which they are typically at home and away, their sleeping patterns, etc.).
Figure 7.
Smart grid architecture.
Our mechanism consists of four phases: (1) System Setup, (2) User Data Sharing, (3) Privacy-preserving Data Aggregation, and (4) Secure Data Retrieval. The details of each phase are as follows.
7.1.1. System Setup
We assume that there exists a trusted third party that generates key pairs for the public-key broadcast encryption (PKBE) scheme, and that the key pair used to execute the PKBE scheme in a local area should be embedded in each in the manufacturing stage. In order to set up the system, the executes the following steps:
- Step 1. Choose and . Set and send to every . These values are used to compute commitment.
- Step 2. Choose uniformly random and send these values to each . These values are used to share the secret input of each .
- Step 3. Choose such that , where and . Send the triple to each . These values are used as multiplication triples.
- Step 4. Create the commitments of the multiplication triples, and send them to . These are used to detect malicious in the Secure Data Retrieval phase. where r is a random value).
7.1.2. User Data Sharing
In order to perform computations with metering data collected by while keeping them secret, each splits its secret data into n shares using the following steps:
- Step 1. is privately opened as r to , where .
- Step 2. Broadcast , where is the metering data for each .
- Step 3. Compute locally, where is the share of for each .
- Step 4. Create the commitments of all shares, , and send them to . These commitments are used to detect malicious in the Secure Data Retrieval phase.
7.1.3. Privacy-Preserving Data Aggregation
Since each secret input data is divided into shares , we can guarantee the privacy of each ’s metering data. In order to perform aggregation by using the shares of each metering data , each executes the following steps:
- Step 1. Run Compute.Add and Compute.Multiply in to compute the final share of the output for computation.
- Step 2. Encrypt the final share using a PKBE scheme under the recipient set, including all , and the in a local area.
- Step 3. Create the commitments and the non-interactive zero-knowledge proof as in Compute.Send of . Send them to .
In Step 1, each computes the final share for the output of the pre-defined computation. The final share of any statistical function, not merely the sum or the standard deviation, can be computed. In Step 2, each encrypts the final share. Since the ciphertexts of the final shares are encrypted under the recipient set, including all the and the only, is unable to obtain any information regarding the final shares. In Step 3, each creates the values used to detect the malicious in the Secure Data Retrieval phase and guarantee the fairness of the protocol.
7.1.4. Secure Data Retrieval
In order to detect malicious , executes the following steps:
- Step 1. Follow Step 1 of Output in to verify the commitments sent from each .
- Step 2. Verify the non-interactive zero-knowledge proof sent from each .
- Step 3.
- –
- If all verifications yield true, send all ciphertexts sent from each in the Privacy-preserving Data Aggregation phase to all and the in a local area.
- –
- Otherwise, notify each honest of malicious s identities.
Then, each honest copes with the following situations as follows:
- Step 1.
- –
- If there is no malicious , decrypt the ciphertexts from and reconstruct the output using the final shares.
- –
- Otherwise, restart the protocol from the beginning excluding malicious .
To detect malicious , carries out the verification of each step of computation. Since a single is in charge of a whole specific area, we may assume high computation power of enough to perform this verification.
To facilitate a better understanding, we describe a simple example of the overall process with three smart meters participating in the protocol in Figure 8.
Figure 8.
Simple example of the protocol in Section 7.1.
7.2. Analysis
7.2.1. Improving Efficiency (in terms of Average)
In Section 7.1, if a malicious is detected, each honest should restart the protocol from the beginning. In this case, additional interactions among the honest are required. In this subsection, we provide an enhanced version of the original protocol described in Section 7.1 to compute the average. In the enhanced version, when each honest performs a re-computation following cheater detection, no interactions are required among honest users and, thus, the computation overhead is drastically reduced.
This enhanced version of the protocol is executed in the same manner as before detecting malicious . Hence, the three phases of System Setup, User Data Sharing, and Privacy-preserving Data Aggregation are identical to those in the original protocol in Section 7.1. If a malicious is detected by , each honest reuses the previously computed final share to locally generate the new one. A detailed explanation is provided below.
- Secure Data RetrievalIn order to detect the malicious , executes the following steps:
- –
- Step 1. Follow Step 1 of Output in to verify the commitments sent from each .
- –
- Step 2. Verify the non-interactive zero-knowledge proof sent by each .
- –
- Step 3.
- ∗
- If all verification outputs are true, send all ciphertexts sent by each in the Privacy-preserving Data Aggregation phase to all and the in a local area.
- ∗
- Otherwise, notify each honest of the identities of the malicious s.
If there is no malicious , each decrypts the ciphertexts sent by and reconstructs the average by adding all final shares. If there exists at least one malicious , each honest executes the following steps:(Let be the set of identities of the malicious .)- –
- Step 1. Compute , where is a final share of computed prior to detection and is an initial share that assigned to .
- –
- Step 2. Set the new final share , where .
- –
- Step 3. Create the commitment of its new final share, , and the non-interactive zero-knowledge proof as in Compute.Send of . Send these to .
This phase should be repeated until no malicious party exists. Once detects a malicious , each honest locally executes additional computations to generate the new final share. From the previously computed final share, each honest removes shares , which were provided by the malicious , and adds shares , provided to the malicious . Since the parts related to the malicious are removed through this process, the new final share is correct for all honest .
We can improve the efficiency of our FSMC protocol described in Section 5 in the same manner when computing the average. As mentioned above, in the enhanced version of the protocol, the Initialize, Input, and Compute phase are the same as in the original protocol . Figure 9 represents the Output phase in the enhanced version of the FSMC protocol for computing the average.
Figure 9.
The enhanced version of the FSMC protocol for computing the average.
7.2.2. Efficiency Analysis
In this section, we compare the computation overhead incurred by each party in case of performing operations in the User Data Sharing phase and the Privacy-preserving Data Aggregation phase. (In terms of communication cost, our proposed protocol is less efficient than the SPDZ protocol []. We have combined the SPDZ protocol with a public-key broadcast encryption (PKBE) scheme, a commitment scheme, and a non-interactive zero-knowledge (NIZK) proof system to provide fairness and prevent malicious parties from obtaining the final output. This results in additional values to be shared by each party (i.e., public key of PKBE, commitment, and proof of NIZK), which incurs extra communication overhead).
We conduct an experiment using the PBC [] and GMP [] libraries on a laptop with an Intel Core i5-4200U CPU and 4 GB of RAM in order to calculate operation costs. In the original protocol, when each honest executes the User Data Sharing phase during re-computation, it should generate the commitment of each share. The generation of a commitment, , requires two exponentiation operations in bits) and a multiplication operation in with 160 bits. On the contrary, in the enhanced version, there is no need to re-run the User Data Sharing phase.
We analyze the computation overhead of these protocols by dividing the cases into two types. In Section 1, we experiment with a case where detection occurs only once and the number of malicious varies. In Section 1, we experiment with cases where only one malicious is detected and the number of detections varies.
- One detection: k malicious usersIn this case, we compare the computational overhead of two protocols when detection occurs only once and k malicious are detected. The number of generating commitments and computing addition operations are listed in Table 1, where n is the number of smart meters. According to the experimental results, a single addition operation in and a single commitment generation cost 0.0004 ms and 397.3102 ms , respectively. Since the User Data Sharing phase is not required during re-computation in the enhanced version of the protocol, only the Privacy-preserving Data Aggregation phase influences the computational cost of the enhanced version.
Table 1. Comparison of Computational Complexity-One detection, k malicious users.The computational cost of original protocol depends on both k and n. We show the variation in computational overhead in terms of both k and n in Figure 10a. Given that n is fixed, the greater the value of k, the smaller the computational cost of the protocol. On the contrary, computational cost of the enhanced version of the protocol depends only on k. We thus depict the difference in computational overhead between two protocols in terms of k in Figure 10b, given that n = 1000. From the figure, we see that the enhanced version is more efficient until k becomes approximately 999.99. This means that the enhanced version of the protocol is more efficient than the original one, excluding the case where all smart meters are detected as malicious.
Figure 10. Computational overhead-one detection, k malicious users.
- One malicious user: k detectionIn this case, we compare the computation overhead of two protocols when detection occurs k times and one malicious is detected at a time. The number of generating commitments and computing addition operations is listed in Table 2, where n is the number of smart meters. (As above, = 0.0004 ms and = 397.3102 ms.)
Table 2. Comparison of Computational Complexity-One malicious user, k detections.We show the variation in computational costs of the original protocol in terms of both k and n in Figure 11a, where detection occurs k times and only one malicious is detected at a time. Given that n is fixed, the greater the value of k, the greater the computational cost of the protocol. On the contrary, computational cost of the enhanced version of the protocol depends only on k. We thus depict the difference in computational overhead between two protocols in terms of k in Figure 11b, given that n = 1000. From the figure, we see that the enhanced version of the protocol is more efficient than the original one in all cases.
Figure 11. Computational overhead-one malicious user, k detections.
8. Conclusions and Future Research Directions
In this paper, we have proposed a secure multi-party computation (SMC) protocol that guarantees fairness and provides cheater detection. The proposed protocol has an efficient online phase because it is based on the SPDZ protocol and is secure if at least one party of n is honest. Our protocol guarantees both the correctness of the output of computation by detecting malicious parties as well as the fairness of the protocol by performing detection prior to deriving the final output. We provided a definition of UC-secure fair SMC and proved the security of fair SMC in the UC setting. Moreover, we proposed an enhanced version of our protocol, in terms of efficiency, for smart grids and analyzed the difference between the original protocol and an improved one.
In future work, we plan to construct an enhanced version of protocols for various kinds of operations, as well as reduce the overall communication overhead. The multi-party computation protocol requires a lot of communication by its nature, and it would be better to combine various kinds of techniques to reduce the amount of communication with our proposed protocol.
Author Contributions
Conceptualization, M.S.; methodology, M.S.; software, M.S.; validation, M.S.; formal analysis, M.S.; investigation, M.S.; resources, M.S.; writing—original draft preparation, M.S.; writing—review and editing, M.S.; visualization, M.S. The author have read and agreed to the published version of the manuscript.
Funding
This research was supported by the Basic Research Program through the National Research Foundation of Korea(NRF) funded by the MSIT(grant number: 2021R1A4A502890711).
Conflicts of Interest
The authors declare no conflict of interest.
References
- Naor, M.; Pinkas, B.; Sumner, R. Privacy Preserving Auctions and Mechanism Design. In Proceedings of the 1st ACM Conference on Electronic Commerce, Denver, CO, USA, 3–5 November 1999; EC’99. pp. 129–139. [Google Scholar]
- Bogetoft, P.; Christensen, D.; Damgård, I.; Geisler, M.; Jakobsen, T.; Krøigaard, M.; Nielsen, J.; Nielsen, J.; Nielsen, K.; Pagter, J.; et al. Secure Multiparty Computation Goes Live. In Financial Cryptography and Data Security; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2009; Volume 5628, pp. 325–343. [Google Scholar]
- Ben-David, A.; Nisan, N.; Pinkas, B. FairplayMP: A system for secure multi-party computation. In Proceedings of the 15th ACM Conference on Computer and Communications Security, New York, NY, USA, 27–31 October 2008; pp. 257–266. [Google Scholar]
- Bogdanov, D.; Laur, S.; Willemson, J. Sharemind: A framework for fast privacy-preserving computations. In European Symposium on Research in Computer Security; Springer: Berlin/Heidelberg, Germany, 2008; pp. 192–206. [Google Scholar]
- Damgård, I.; Geisler, M.; Krøigaard, M.; Nielsen, J.B. Asynchronous multiparty computation: Theory and implementation. In International Workshop on Public Key Cryptography; Springer: Berlin/Heidelberg, Germany, 2009; pp. 160–179. [Google Scholar]
- Burkhart, M.; Strasser, M.; Many, D.; Dimitropoulos, X. SEPIA: Privacy-preserving aggregation of multi-domain network events and statistics. Network 2010, 1, 15–32. [Google Scholar]
- Peter, A.; Tews, E.; Katzenbeisser, S. Efficiently Outsourcing Multiparty Computation Under Multiple Keys. IEEE Trans. Inf. Forensics Secur. 2013, 8, 2046–2058. [Google Scholar] [CrossRef] [Green Version]
- Clark, M.; Hopkinson, K. Transferable Multiparty Computation With Applications to the Smart Grid. IEEE Trans. Inf. Forensics Secur. 2014, 9, 1356–1366. [Google Scholar] [CrossRef]
- Kerschbaum, F. Adapting Privacy-Preserving Computation to the Service Provider Model. In Proceedings of the CSE’09, International Conference on Computational Science and Engineering, Vancouver, BC, Canada, 29–31 August 2009; Volume 3, pp. 34–41. [Google Scholar]
- Damgård, I.; Orlandi, C. Multiparty Computation for Dishonest Majority: From Passive to Active Security at Low Cost. In Advances in Cryptology-CRYPTO 2010; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2010; Volume 6223, pp. 558–576. [Google Scholar]
- Hirt, M.; Tschudi, D. Efficient General-Adversary Multi-Party Computation. In Advances in Cryptology-ASIACRYPT 2013; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8270, pp. 181–200. [Google Scholar]
- Damgård, I.; Pastro, V.; Smart, N.; Zakarias, S. Multiparty Computation from Somewhat Homomorphic Encryption. In Advances in Cryptology-CRYPTO 2012; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2012; Volume 7417, pp. 643–662. [Google Scholar]
- Peng, J.; Choo, R.K.K.; Ashman, H. Astroturfing detection in social media: Using binary n-gram analysis for authorship attribution. In Proceedings of the 2016 IEEE Trustcom/BigDataSE/ISPA, Tianjin, China, 23–26 August 2016; pp. 121–128. [Google Scholar]
- Mahbub, S.; Pardede, E.; Kayes, A.; Rahayu, W. Controlling astroturfing on the internet: A survey on detection techniques and research challenges. Int. J. Web Grid Serv. 2019, 15, 139–158. [Google Scholar] [CrossRef]
- Mahbub, S.; Pardede, E.; Kayes, A. Detection of Harassment Type of Cyberbullying: A Dictionary of Approach Words and Its Impact. Secur. Commun. Netw. 2021, 2021. [Google Scholar] [CrossRef]
- Cabello, S.; Padro, C.; Saez, G. Secret Sharing Schemes with Detection of Cheaters for a General Access Structure. Des. Codes Cryptogr. 2002, 25, 175–188. [Google Scholar] [CrossRef]
- Araki, T. Efficient (k,n) Threshold Secret Sharing Schemes Secure Against Cheating from n–1 Cheaters. In Information Security and Privacy; Lecture Notes in Computer Science; Pieprzyk, J., Ghodosi, H., Dawson, E., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4586, pp. 133–142. [Google Scholar]
- Harn, L.; Lin, C. Detection and identification of cheaters in (t, n) secret sharing scheme. Des. Codes Cryptogr. 2009, 52, 15–24. [Google Scholar] [CrossRef]
- Obana, S. Almost Optimum t-Cheater Identifiable Secret Sharing Schemes. In Advances in Cryptology-EUROCRYPT 2011; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6632, pp. 284–302. [Google Scholar]
- Baum, C.; Damgård, I.; Orlandi, C. Publicly Auditable Secure Multi-Party Computation. In Security and Cryptography for Networks; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2014; Volume 8642, pp. 175–196. [Google Scholar]
- Spini, G.; Fehr, S. Cheater detection in SPDZ multiparty computation. In International Conference on Information Theoretic Security; Springer: Berlin/Heidelberg, Germany, 2016; pp. 151–176. [Google Scholar]
- Cunningham, R.; Fuller, B.; Yakoubov, S. Catching MPC cheaters: Identification and openability. In International Conference on Information Theoretic Security; Springer: Berlin/Heidelberg, Germany, 2017; pp. 110–134. [Google Scholar]
- Baum, C.; Orsini, E.; Scholl, P.; Soria-Vazquez, E. Efficient constant-round MPC with identifiable abort and public verifiability. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 2020; pp. 562–592. [Google Scholar]
- Goldreich, O.; Micali, S.; Wigderson, A. How to Play ANY Mental Game. In Proceedings of the Nineteenth Annual ACM Symposium on Theory of Computing, New York, NY, USA, 25–27 May 1987; STOC’87. pp. 218–229. [Google Scholar]
- Ben-Or, M.; Goldwasser, S.; Wigderson, A. Completeness Theorems for Non-cryptographic Fault-tolerant Distributed Computation. In Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing, Chicago, IL, USA, 2–4 May 1988; STOC’88. pp. 1–10. [Google Scholar]
- Chaum, D.; Crépeau, C.; Damgard, I. Multiparty Unconditionally Secure Protocols. In Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing, Chicago, IL, USA, 2–4 May 1988; STOC’88. pp. 11–19. [Google Scholar]
- Rabin, T.; Ben-Or, M. Verifiable Secret Sharing and Multiparty Protocols with Honest Majority. In Proceedings of the Twenty-First Annual ACM Symposium on Theory of Computing, Seattle, WA, USA, 14–17 May 1989; STOC’89. pp. 73–85. [Google Scholar]
- Cleve, R. Limits on the Security of Coin Flips when Half the Processors Are Faulty. In Proceedings of the Eighteenth Annual ACM Symposium on Theory of Computing, Berkeley, CA, USA, 28–30 May 1986; STOC’86. pp. 364–369. [Google Scholar]
- Beaver, D.; Goldwasser, S. Multiparty Computation with Faulty Majority. In Advances in Cryptology-CRYPTO 1989; Lecture Notes in Computer Science; Springer: New York, NY, USA, 1990; Volume 435, pp. 589–590. [Google Scholar]
- Goldwasser, S.; Levin, L. Fair Computation of General Functions in Presence of Immoral Majority. In Advances in Cryptology-CRYPTO 1990; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1991; Volume 537, pp. 77–93. [Google Scholar]
- Fitzi, M.; Gottesman, D.; Hirt, M.; Holenstein, T.; Smith, A. Detectable Byzantine Agreement Secure Against Faulty Majorities. In Proceedings of the Twenty-First Annual Symposium on Principles of Distributed Computing, Monterey, CA, USA, 21–24 July 2002; PODC’02. pp. 118–126. [Google Scholar]
- Goldwasser, S.; Lindell, Y. Secure Computation without Agreement. In Distributed Computing; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2002; Volume 2508, pp. 17–32. [Google Scholar]
- Even, S.; Goldreich, O.; Lempel, A. A Randomized Protocol for Signing Contracts. Commun. ACM 1985, 28, 637–647. [Google Scholar] [CrossRef]
- Boneh, D.; Naor, M. Timed Commitments. In Advances in Cryptology-CRYPTO 2000; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2000; Volume 1880, pp. 236–254. [Google Scholar]
- Garay, J.; MacKenzie, P.; Prabhakaran, M.; Yang, K. Resource Fairness and Composability of Cryptographic Protocols. In Theory of Cryptography; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2006; Volume 3876, pp. 404–428. [Google Scholar]
- Asokan, N.; Shoup, V.; Waidner, M. Optimistic fair exchange of digital signatures. In Advances in Cryptology-EUROCRYPT’98; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1403, pp. 591–606. [Google Scholar]
- Cachin, C.; Camenisch, J. Optimistic Fair Secure Computation. In Advances in Cryptology-CRYPTO 2000; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2000; Volume 1880, pp. 93–111. [Google Scholar]
- Lepinski, M.; Micali, S.; Peikert, C.; Shelat, A. Completely Fair SFE and Coalition-safe Cheap Talk. In Proceedings of the Twenty-third Annual ACM Symposium on Principles of Distributed Computing, St. John’s, NL, Canada, 25–28 July 2004; PODC’04. pp. 1–10. [Google Scholar]
- Andrychowicz, M.; Dziembowski, S.; Malinowski, D.; Mazurek, L. Secure Multiparty Computations on Bitcoin. In Proceedings of the 2014 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 18–21 May 2014; SP ’14. pp. 443–458. [Google Scholar]
- Bentov, I.; Kumaresan, R. How to Use Bitcoin to Design Fair Protocols. In Advances in Cryptology-CRYPTO 2014; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2014; Volume 8617, pp. 421–439. [Google Scholar]
- Kılınç, H.; Küpçü, A. Optimally Efficient Multi-Party Fair Exchange and Fair Secure Multi-Party Computation. In Topics in Cryptology-CT-RSA 2015; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2015; Volume 9048, pp. 330–349. [Google Scholar]
- Asharov, G.; Lindell, Y.; Zarosim, H. Fair and Efficient Secure Multiparty Computation with Reputation Systems. In Advances in Cryptology-ASIACRYPT 2013; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2013; Volume 8270, pp. 201–220. [Google Scholar]
- Choudhuri, A.R.; Green, M.; Jain, A.; Kaptchuk, G.; Miers, I. Fairness in an unfair world: Fair multiparty computation from public bulletin boards. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; pp. 719–728. [Google Scholar]
- Paul, S.; Shrivastava, A. Efficient fair multiparty protocols using Blockchain and trusted hardware. In International Conference on Cryptology and Information Security in Latin America; Springer: Berlin/Heidelberg, Germany, 2019; pp. 301–320. [Google Scholar]
- Li, F.; Luo, B.; Liu, P. Secure Information Aggregation for Smart Grids Using Homomorphic Encryption. In Proceedings of the 2010 First IEEE International Conference on Smart Grid Communications (SmartGridComm), Gaithersburg, MD, USA, 4–6 October 2010; pp. 327–332. [Google Scholar]
- Kursawe, K.; Danezis, G.; Kohlweiss, M. Privacy-Friendly Aggregation for the Smart-Grid. In Privacy Enhancing Technologies; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6794, pp. 175–191. [Google Scholar]
- Lu, R.; Liang, X.; Li, X.; Lin, X.; Shen, X. EPPA: An Efficient and Privacy-Preserving Aggregation Scheme for Secure Smart Grid Communications. IEEE Trans. Parallel Distrib. Syst. 2012, 23, 1621–1631. [Google Scholar]
- Yang, L.; Xue, H.; Li, F. Privacy-preserving data sharing in Smart Grid systems. In Proceedings of the 2014 IEEE International Conference on Smart Grid Communications (SmartGridComm), Venice, Italy, 3–6 November 2014; pp. 878–883. [Google Scholar]
- Mustafa, M.A.; Cleemput, S.; Aly, A.; Abidin, A. An MPC-based protocol for secure and privacy-preserving smart metering. In Proceedings of the 2017 IEEE PES Innovative Smart Grid Technologies Conference Europe (ISGT-Europe), Turin, Italy, 26–29 September 2017; pp. 1–6. [Google Scholar]
- Mustafa, M.A.; Cleemput, S.; Aly, A.; Abidin, A. A secure and privacy-preserving protocol for smart metering operational data collection. IEEE Trans. Smart Grid 2019, 10, 6481–6490. [Google Scholar] [CrossRef] [Green Version]
- Yao, A.C.C. How to generate and exchange secrets. In Proceedings of the 27th Annual Symposium on Foundations of Computer Science (sfcs 1986), Toronto, ON, Canada, 27–29 October 1986; pp. 162–167. [Google Scholar]
- Demmler, D.; Schneider, T.; Zohner, M. ABY-A Framework for Efficient Mixed-Protocol Secure Two-Party Computation; NDSS: San Diego, CA, USA, 11 February 2015. [Google Scholar]
- Chandran, N.; Gupta, D.; Rastogi, A.; Sharma, R.; Tripathi, S. EzPC: Programmable and efficient secure two-party computation for machine learning. In Proceedings of the 2019 IEEE European Symposium on Security and Privacy (EuroS&P), Stockholm, Sweden, 17–19 June 2019; pp. 496–511. [Google Scholar]
- Patra, A.; Schneider, T.; Suresh, A.; Yalame, H. ABY2. 0: Improved mixed-protocol secure two-party computation. In Proceedings of the 30th {USENIX} Security Symposium ({USENIX} Security 21), Virtual Event, 11–13 August 2021. [Google Scholar]
- Zhang, Y.; Steele, A.; Blanton, M. PICCO: A general-purpose compiler for private distributed computation. In Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security, Berlin, Germany, 4–8 November 2013; pp. 813–826. [Google Scholar]
- Zhang, Y.; Blanton, M.; Almashaqbeh, G. Implementing support for pointers to private data in a general-purpose secure multi-party compiler. ACM Trans. Priv. Secur. (TOPS) 2017, 21, 1–34. [Google Scholar] [CrossRef]
- Keller, M. MP-SPDZ: A versatile framework for multi-party computation. In Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security, Virtual Event, 9–13 November 2020; pp. 1575–1590. [Google Scholar]
- Shamir, A. How to share a secret. Commun. ACM 1979, 22, 612–613. [Google Scholar] [CrossRef]
- Goldreich, O.; Micali, S.; Wigderson, A. How to play any mental game, or a completeness theorem for protocols with honest majority. In Providing Sound Foundations for Cryptography: On the Work of Shafi Goldwasser and Silvio Micali; Association for Computing Machinery: New York, NY, USA, 2019; pp. 307–328. [Google Scholar]
- Beaver, D. Efficient multiparty protocols using circuit randomization. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 1991; pp. 420–432. [Google Scholar]
- Naor, D.; Naor, M.; Lotspiech, J. Revocation and tracing schemes for stateless receivers. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 2001; pp. 41–62. [Google Scholar]
- Dodis, Y.; Fazio, N. Public key broadcast encryption for stateless receivers. In ACM Workshop on Digital Rights Management; Springer: Berlin/Heidelberg, Germany, 2002; pp. 61–80. [Google Scholar]
- Groth, J.; Ostrovsky, R.; Sahai, A. Perfect Non-interactive Zero Knowledge for NP. In Advances in Cryptology-EUROCRYPT 2006; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2006; Volume 4004, pp. 339–358. [Google Scholar]
- Canetti, R. Universally composable security: A new paradigm for cryptographic protocols. In Proceedings of the 42nd IEEE Symposium on Foundations of Computer Science, Washington, DC, USA, 14–17 October 2001; pp. 136–145. [Google Scholar]
- Pedersen, T. Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing. In Advances in Cryptology-CRYPTO 1991; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1992; Volume 576, pp. 129–140. [Google Scholar]
- pbc Library. 2012. Available online: https://crypto.stanford.edu/pbc/ (accessed on 15 March 2021).
- gmp Library. 2014. Available online: https://gmplib.org (accessed on 15 March 2021).
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).