Abstract
We present a privacy-assured multiplication protocol using which an arbitrary arithmetic formula with inputs from two parties over a finite field can be jointly computed on encrypted data using an additively homomorphic encryption scheme. Our protocol is secure against malicious adversaries. To motivate and illustrate applications of this technique, we demonstrate an attack on a class of known protocols showing how to compromise location privacy of honest users by manipulating messages in protocols with additively homomorphic encryption. We demonstrate how to apply the technique in order to solve different problems in geometric applications. We evaluate our approach using a prototypical implementation. The results show that the added overhead of our approach is small compared to insecure outsourced multiplication.
Introduction
There has been an increase of the public awareness about the importance of privacy. This has become obvious with cases such as the disclosure by Edward Snowden [43] and the increased public interest in the Tor project [12]. Unfortunately, current best practice is not to address privacy concerns by design [8,32,37,42]. It is by far more common that the end consumer has to send privacy-sensitive information to service providers in order to achieve a certain functionality, rather than that the service is using privacy-preserving technologies. A major research challenge is to enable privacy in services without hampering sought functionality and efficiency.
In recent years, much attention has been directed to secure computations distributed among several participants, a subfield of cryptography generally known as Secure Multi-party Computation (SMC). SMC has now been brought to the brink of being applicable to real world scenarios [3,4], although general purpose solutions with strong security guarantees are still too slow to be widely applied in practice.
This paper proposes a novel approach to jointly compute an arbitrary arithmetic formula using certain additively homomorphic encryption schemes, incurring very little overhead while maintaining privacy against malicious adversaries. The solution is shown to be valuable as a vital complement to boost the security of a class of privacy-preserving protocols [13,22,39,40,45], where Alice queries Bob for a function over their combined inputs (see Fig. 2). In such scenarios, it is common that Bob is intended to learn nothing at all, while still providing Alice with useful information such as whether a picture of a face matches a database [13,39] or whether two principals are close to each other [22,40,45]. The work presented in this paper allows such solutions to harden the attacker model from honest-but-curious to malicious attackers that do not necessarily follow the protocol (both attacker models are standard in SMC and are presented for instance in [18,33]).
Although some connections have been identified [22,35,40], the two communities of Privacy-preserving LBS and Secure Multi-Party Computations are still largely separated. One of the goals of this paper is to contribute to bridging the gap, in particular when it comes to rigorously improving the security of efficient protocols using additively homomorphic encryption in the presence of honest-but-curious adversaries, enabling them to also protect against malicious adversaries in an efficient manner.
Problem statement. In general in secure two-party computation [33] one considers the case where two parties, Alice with inputs

Arithmetic formula computing
Moreover, we set
We assume as usual that both Alice and Bob want privacy of their inputs, as much as it is allowed by g. Bob is willing to reveal the final output of g, but not any intermediate results, or a different function

High-level view of a 2-party computation based on homomorphic encryption, where
Note that additions in the formula can be done correctly by Bob without the help of Alice when using an additively homomorphic encryption scheme. This holds also for all multiplications involving Bob’s input only, and multiplications of a ciphertext and a value known to Bob. The only operations outside of the scope of the additively homomorphic capabilities are multiplications involving inputs from Alice only. For instance in Fig. 1, Bob can not compute
Fairness of the computation (that is, all parties receive their intended output) is out of scope for two reasons: it is impossible to guarantee this property for two-party computations in the malicious model [33]; further, Bob receives no output from the protocol by construction, which means that an early abortion of the protocol by Alice will only hamper fairness for herself.
Contributions. The paper presents a general approach BetterTrees which lets Alice and Bob compute an arbitrary arithmetic function on their input while maintaining privacy even in the presence of malicious adversaries. The core of the solution is a multiplication protocol BetterTimesMul, using which Bob (who does not have the private key) can outsource multiplications using an additively homomorphic encryption scheme while asserting privacy of his inputs. BetterTimesMul provides Bob not only with the encrypted product but also the encryption of an assurance value (a field element
We illustrate the usefulness of our approach for a class of protocols from the literature [13,22,39,40,45]. All these protocols compute whether the distance between two vectors in the plane is less than a threshold and are secure against semi-honest adversaries. However, in the presence of malicious adversaries leakage of private information is possible. A solution using our technique is presented for these protocols, which plugs such leakage. We further demonstrate how to use BetterTrees to enforce a complex policy for location privacy, both to create a running implementation and to provide rigorous proofs of the resulting protocol. Moreover, we make our implementation fully available to the community [20].
Comparison to our previous work. This paper revises and extends previous work that introduces privacy-assured outsourced multiplication [21,23] in various aspects. First, we seamlessly integrate multiple outputs [23] into the protocol, which is particularly useful for sequentially composing protocols, as we will demonstrate in the application scenario of private speed-constrained location proximity. We further develop the high-level syntax [23] that allows structured protocol design from the core primitives and show how it can be compiled into lower level verified constructions. Furthermore, we overhaul the formalization and proofs [21], as to accommodate compositional reasoning for protocols that leverage privacy-assured arithmetic formulas. Finally, we discuss the implication of using the system not only in fields but also for cryptographic schemes over rings, such as the Paillier cryptosystem, which provides slightly different security guarantees. Finally, we provide benchmarks for the Paillier implementation of the framework.
Outline. Section 2 introduces necessary notation and describes the BetterTimesMul protocol and its application to computing arbitrary arithmetic formulas. Section 3 presents the security guarantees in the malicious adversary setting. Section 5 presents benchmarks that allow one to estimate which impact the approach would have in comparison to only protecting against semi-honest adversaries. Section 6 positions this work in perspective to already published work. Finally, Section 7 summarizes the material presented in this paper. Before delving into details, a concrete application of the proposed solution is outlined in Section 4.
There are a variety of primitives for implementing SMC, including garbled circuits [44], partial [36] and fully homomorphic encryption schemes [15] among others. This section details BetterTrees, a construction without third parties, utilizing additively homomorphic encryption, which gives privacy guarantees against a malicious Alice. Further, being based on additively homomorphic cryptography, it supports storing intermediate values from previous computations, a central feature in many implementations.
This section proceeds by giving a background on additively homomorphic encryption, followed by describing the BetterTrees construction. First we describe BetterTrees using BetterTimes-instructions, which precisely define the workings of the solution. Following this, we also outline the python-compatible and more abstract BetterTimes-syntax, and show that from any program constructed using BetterTimes-syntax, a corresponding compilation into BetterTimes-instructions can be obtained. Thus, any program implemented using the BetterTimes-syntax can leverage the proofs we outline in the smaller language of BetterTimes-instructions.
Background
The solution proposed in this paper makes use of any additively homomorphic encryption scheme which provides semantic security and where the plaintext space is a field (such as the DGK Scheme [10]). For a definition of semantic security see [2].
Additively homomorphic encryption schemes. Here and henceforth, k is the private key belonging to Alice and K is the corresponding public key. Let the plaintext space
The vital homomorphic features which is used later in the paper is an addition function
Note that in a finite field any non-zero element multiplied with a non-zero random element yields a non-zero uniformly distributed element. This is formalized in Equation (4), where
Syntax and conventions. For readability, the operations
The protocol description in Fig. 4 and Fig. 7 is given in the language p
BetterTrees: Arithmetic formulas through assured multiplication
As previously discussed, our goal is a system which can compute any arithmetic formula in the presence of a malicious Alice (who holds the private key), without leaking any information derived from Bob’s inputs except the result of g. We call the solution BetterTrees. To show how to BetterTrees functions, we first outline the primary building block, BetterTimesMul.
Privacy-assured outsourced multiplication

Visualization of the assurance multiplication protocol.
The core of the solution is a novel outsourced multiplication protocol with privacy guarantees, BetterTimesMul. The protocol is visualized in Fig. 3 and detailed in Fig. 4. BetterTimesMul allows Bob to calculate a multiplication by outsourcing to Alice, while retaining an assurance value with which it is possible to make sure that Alice can learn no unintended information.
The principals interact once during BetterTimesMul, where Bob contacts Alice through the procedure

The assured multiplication protocol.
BetterTimesMul contains several random variables, here follows a brief explanation of their names to make the procedures easier to follow. The first two,
Note that the assurance is only needed when outsourcing a multiplication. The blinding used in BetterTimesMul has also been presented and used by, among others, Kolesnikov et al. [27]. The construction using the challenges
Since by assumption Alice is honest,
The following discusses how to construct arbitrary arithmetic formulas in the BetterTrees system using BetterTimesMul as described above. The general idea is to accumulate any errors caused by misbehavior by Alice using assurances
To describe the precise workings of BetterTrees, the system is formally described using BetterTimes-instructions. BetterTimes-instructions are useful to create precise arguments about the security of the system, but cumbersome to use when constructing a program. To ease this problem, the more readable BetterTimes-syntax is presented later in this section as a subset of the Python programming language.
BetterTimes-instructions are constructed using a recursive data structure

Example of a formula with multiple outputs.
BetterTrees allows for any intermediate values to be output from the computation and used outside of the circuit. To mark a value for output, a normal

Possible actions by each principal, where R and O means repeatable and optional, respectively.
The core of the setup is the recursive procedure
The protocol resulting from
The assurance values
Finally, the array of the final result and all intermediate values is given as:

The procedures to evaluate recursive instructions.
This section details BetterTimes-syntax as a subset of python, which directly maps into BetterTimes-instructions. BetterTimes-syntax allows arithmetic formulas to be expressed in a readable and concise manner. The full source code is available online [20]. In short, BetterTimes-instructions are more easily represented using BetterTimes-syntax by normal addition, subtraction and multiplication operations. The operations are overloaded, and when used a data structure is constructed in the background, which later can be translated into
In Listing 1, we first create an instance of the used encryption scheme, DGK, and generate a keypair. Normally, the keypair would be generated by Alice, while the formula is evaluated by Bob. Note that the private key is not needed until we want to print the final output. Following, we define the encrypted inputs from Alice (you can assume these were previously sent over the network), and Bob’s inputs in plain. Either party may in theory have any number of plaintext and ciphertext inputs. Alice can send public parameters, and Bob may input ciphertexts obtained previously from Alice or third parties (encrypted with Alice’s keys). After these initialization steps, we create a formula composer. The composer takes an encryption scheme, a key pair, and the inputs by the two parties.
The BetterTimes-syntax makes use of the built-in Python construct
. Traditionally, a with statement is used to manage the opening and closing of files as
. Here, we use it to initiate and finish the construction of a secure arithmetic formula, and the class
is used much like the
built-in function. The operations done with the inputs, and what the resulting outputs are, is defined by operating inside a
block. Upon leaving the
block, variables are no longer mutable, and the formula is fixed. There are four inputs provided to the formula, which we now call
method, by simply passing the variables that we want to output. The built-in
function is used in the formula to show how easily one can make use of pre-existing arithmetic methods.

Example composition
Finally, once the formula is fixed, we now use the
method to translate the internal representation of the formula and outputs into BetterTimes-instructions. Regardless of how the output is constructed, even when control flow primitives such as if statements and loops are used, the resulting computations can be represented through BetterTimes-instructions. The BetterTrees library includes an evaluator for BetterTimes-instructions, which is called through the
method. Thus, using the above construction gives all security properties achieved with BetterTimes-instructions (modulo implementation mistakes).
Note that using the BetterTimes-syntax, it is not necessary for the programmer to distinguish between
The goal of this section is to show that the result of
Security concepts
In the following we briefly recall some fundamental concepts from SMC that will be useful for the security guarantees discussion of Section 3. A function The two random variables (Negligible functions).
(Indistinguishability).
Ideal and real execution
We construct our proofs using the idea of “security as emulation of a real execution in the ideal model”, following the definitions of Pinkas and Lindell [33]. In the following, this proof framework is recalled. We use two models, the
In the following, let
Formally, in the execution in the
The real execution of a concrete protocol π is rather intuitive, where
As previously mentioned, the goal of a proof in this framework is to show that an attacker in the real model is as effective as one in the ideal model. To do this, one constructs a simulator A protocol π is said to privately implement a functionality g against malicious adversaries if for every adversary (Privacy definition).
Proofs
Recall that a malicious Alice in possession of the private key can attack the privacy of the inputs of Bob by deviating from the original protocol (as discussed in Section 4 for a proximity calculation protocol). Intuitively, a malicious Alice will deviate from the protocol every time it fails to answer to the outsourced multiplication with the expected values
Formally, we set out to prove the following theorem, which is an instance of the general definition of [33] where the concrete SMC protocol π will depend on the arithmetic formula g to be jointly computed. In the following indistinguishability will be established with respect to the size p of the field
For a fixed but arbitrary arithmetic formula
In order to prove that the system is privacy-preserving, we need to construct a simulator which acts as the real attacker, but in the ideal model. We will do so by showing that any input not available to the simulator can be simulated using a computationally indistinguishable value. Recall that the attacker has to their disposal
To show how to simulate the view and the outputs, we will use the fact that Bob (who is honest) controls a large portion of the computations, and that honest behavior is easy to simulate. The main points are captured in the following three lemmas. First, we show that the blinding used for each outsourced multiplication can be simulated using ⊥ in Lemma 1. In Lemma 2, we look at the case when Alice tries to cheat during a multiplication to create an incorrect result where
For a fixed but arbitrary arithmetic formula
It follows from the procedures defined in Fig. 4, that the intermediate values observed by an adversary
In the outsourced multiplication protocol BetterTimesMul the assurance value
First recall the calculations from Fig. 4:
To see that if Alice does not comply with the protocol then a is a randomly distributed non-zero element with very high probability, first note that there are three cases for non-compliance, either
Note that given
Now by contradiction, let’s assume that the probability of Alice of computing
For a fixed but arbitrary arithmetic formula
From Lemma 2, the decryption of an assurance value
Now, for the proof of Theorem 1: Without loss of generality, we assume that Since the above two cases partition the set of all possible attackers, we conclude that we can simulate an arbitrary attacker. □
Given the advantages of partially homomorphic cryptographic constructions (such as the Paillier cryptosystem) where the plaintext space is a ring isomorphic to
Applications for proximity protocols
This section shows the usefulness of BetterTrees in two ways. First, we show how easily it can be used to upgrade a group of protocols which are secure only against semi-honest adversaries to being able to cope with malicious attackers. Secondly, we show a concrete application of BetterTrees to a speed-constrained proximity protocol by Hallgren et al. [23], both with respect to the description of the protocol but also to exemplify how to reuse the lemmas and theorems provided together with BetterTrees.
Attacks on proximity protocols
We illustrate the usefulness of our approach by an attack on a class of protocols from the literature [13,22,39,40,45], which compute whether the distance between two vectors in the plane is less than a threshold in a privacy-preserving manner. Popular applications of this algorithm are geometric identification and location proximity. For concreteness, this section focuses on the distance computation used in the InnerCircle protocol by Hallgren et al. [22]. The same attack also applies to the other representatives of the same class of protocols [13,39,40,45], but in many cases a successful exploit does not have as visible effects.
Hallgren et al. present a protocol for privacy-preserving location proximity. It is based on the fact that Bob can compute the Euclidean distances from a point represented as three ciphertexts
The effects of the attack are very illustrative in [22,40,45]. In these works, Bob wants to return a boolean
Securing protocols for Euclidean distances
Based on the novel asserted multiplication presented in Section 2.2, a new structure for the protocols of Hallgren et al. can be constructed. Similar amendments can easily be constructed in similar form for other afflicted solutions [13,39,40,45]. Using the system proposed in this paper, it is possible to send only the encryption of
An arithmetic formula which computes the distance directly using
The result is an algorithm modeled using the recursive data structure
Of course, this formula can be more concisely represented using BetterTimes-syntax. One such representation is shown in Listing 2, which exactly corresponds to Equation (8). Note that an exponentiation
in Python.

Tree depicting computation of a secured version of the protocol.

Procedure for distance computation
In [23], Hallgren et al. show how to reduce the effectiveness of an attacker which try to infer additional data about the victim by issuing multiple location proximity queries. This section shows how to simplify their effort using the tools presented here (the original work was based on an older version of BetterTrees).
The core idea is a policy called MaxPace, which aims to reduce the velocity of the attacker, such that they may not query in rapid succession for proximity from positions that are far apart. The attacker can be enforced to behave as a user intuitively does – in patterns achieved by walking, riding a bike, using public transport, etc. The desired functionality for MaxPace is specified by Definition 4.
(Constrained speed querying functionality).
The functionality of a speed-constraining functionality g is a function from queries to responses:
The MaxPace can be implemented in a straightforward way using a trusted third party who stores and manages location information for all users who are utilizing the service. Any already existing service can easily deploy MaxPace as an additional privacy measure. Many applications scenarios lack a natural third party that can be trusted, and a decentralized trust-model has obvious benefits as compared to giving location information to third parties. Services are usually not deployed in a decentralized manner without trusted parties, as for most application scenarios there are no ad-hoc solutions readily available. Hence, in these situations a tool like BetterTrees comes in handy.

Request handling using DecentMP
The protocol devised to enforce MaxPace is called DecentMP, and is represented using BetterTimes-syntax in Listing 3. For further details on any functions called, see Appendix A. This means that the procedure is executed by Bob, while operations carried out by Alice are implicitly determined through the BetterTrees system.
For the first run, the protocol simply returns the proximity result and caches the query’s position and time. Bob also initializes a special cache value a which is used to accumulate all speed threshold checks. For following requests, the speed threshold v is combined with the accumulated speed threshold. By adding the proximity result to the accumulated speed threshold, Bob constructs
. Note that all values depending on Alice’s inputs are encrypted and not readable by Bob.
Bearing the functionality shown in Definition 4 and the protocol resulting from Listing 3 in mind, we now present the main theorem of the original work [23], in order to show how to make use of the results presented in this work to create a simple proof of a construction such as DecentMP. The privacy-guarantees sought for DecentMP are captured by Theorem 2.
The protocol π resulting from evaluating the program Listing 3 implements the functionality of Definition 4 privately according to Definition 3 .
The intuition behind the proof of Theorem 2 is as follows. DecentMP defines α as an arithmetic formula. From the security guarantees of BetterTrees, it follows that a malicious Alice that tampers with the protocol at any point will cause α to encrypt ⊥. This in turn will cause the proximity result sent to Alice to be random, and cause
to be updated just as in the case where Alice does not respect the MaxPace speed policy, making subsequent location responses yield an encryption of ⊥. Thus, if Alice would tamper with the protocol to try to learn more about the private inputs of Bob than allowed by the arithmetic formula (the functionality), BetterTrees guarantees that she instead receives a fresh uniformly random value.
After performing m location queries Alice has observed the intermediate values in each query
, it follows that if Alice cheats for the first time when jointly computing
Multiplication cost evaluation
Comparison against insecure outsourced multiplication. The approach has been implemented in Python using the GMP [14] arithmetic library. The implementation has been benchmarked to show the impact of using our approach compared to the more common approach of naive outsourced multiplications. In the naive approach, Alice is honest-but-curious, and the operands are therefore only blinded. For this implementation, the DGK [10] cryptosystem was used.
Benchmarks for outsourced multiplication
Benchmarks for outsourced multiplication
Table 1 shows time in milliseconds for different sizes of plaintexts and keys for the two cases when outsourced multiplication is performed using BetterTimesMul, or naively. The difference between the two approaches is a small factor of about 1.5 for both key sizes, though slightly smaller for the larger keys. The factor is only marginally increasing as the plaintext space grows from
The benchmarked time shows only the processing time for each multiplication. The communication overhead is exactly twice for our approach as compared to the naive solution.
Paillier. We have also included in Table 1 results on the implementation of BetterTimes using Paillier with a key of size of 1024 bits and 2048 bits. Although as discussed before, the obtained security guarantees are different in this case, there are advantages in using Paillier when the plaintext space needs to be bigger than what usually supported by DGK.
It is difficult to directly compare our work with state-of-the-art implementations of Garbled Circuits for two main reasons: on the one hand, most implementations such as [25] provide only guarantees for semi-honest players; on the other hand, recent implementations of garbled circuits are the product of decades of optimizations, and thus usually are written in C/C++, whereas our proof-of-concept implementation is written in Python.
However, it is possible to at least in principle compare advantages and disadvantages of both approaches in the following aspects:
We have implemented a circuit in FastGC [25] for 24-bit numbers, which can be performed in 332 ms (in the same hardware as our benchmarks) which is two orders of magnitude slower than BetterTimesMul.
The bandwidth required for a GC is a factor of the number of gates of the circuit. In the case of a single multiplication this was 1084 KB.1
By using the tool in [25].
It is well known that although partially homomorphic encryption can be advantegeous to perform arithmetic operations, it suffers from efficient constructions to perform certain common operations such as less-than comparisons. This is the main motivation for hybrid GC and homomorphic approaches such as TASTY [24]. Note that however, an inefficient (quadratic) algorithm to perform comparisons such as the one proposed in [22] can outperform a constant GC solution for small values (comparing a value a with r for
In sum, a comparison with a modern GC implementations is heavily application dependent: for computations involving several multiplications and few or no integer comparisons, BetterTrees can be advantageous both in computation time and bandwidth; however for other computations GC might be the better choice.
Note that the code snipets presented above for distance computation and the exemplary application MaxPace can directly be compiled into a secure 2-party protocol using BetterTimesMul. In the following we report a summary of benchmarking experiments for both protocols.
InnerCircle. We have benchmarked an implementation of InnerCircle using DKG and a 1024 key, up to the distance calculation phase. An implementation with BetterTimesMul takes 96 ms to run, whereas an implementation with insecure outsourcing would take 15ms. For the proximity response phase, the results depend strongly on the distance bound r and the number of cores used in the computation, since the proximity response phase is easy to parallelize. For instance, using Paillier and a 1024 bits key, the running time of the proximity phase for
Results using different number of threads
Results using different number of threads
MaxPace. Figure 9 visualizes how the time of a single protocol execution time is affected by different configurations of h and r. Benchmarks were carried out with a key of sizes 2048 bits, and plaintext space 22 bits. Table 3 shows on the other hand how different values of r and h affect communication. Communication cost ranges from 166 kilobytes to 12 megabytes. Note that although 12 MB might seem big, as most modern devices and networks can handle high-quality video streaming, all results are within practical applicability. This also is still below the 17 MB needed for a single proximity query using FastGC.

Different speeds and proximity thresholds.
Communication cost in kilobytes (messages)
There are three current approaches to compute an arbitrary formula in the two-party setting in the presence of malicious adversaries, Fully Homomorphic Encryption, Enhanced Garbled Circuits and Zero-knowledge proofs.
FHE is by far the most inefficient approach, and its use is often considered not feasible due to the heavy resource consumption. We do not consider FHE a viable alternative to additively homomorphic encryption for practical applications. Garbled Circuits is an excellent tool for boolean circuits, but does not perform as well for arithmetic circuits as approaches built on homomorphic encryption. Zero-knowledge proofs could be used instead of the proposed approach, but at the cost of more computations and/or round trips.
Zero-knowledge proofs
The technique which resembles BetterTimesMul the most is Zero-Knowledge (ZK) proofs. Any statement in NP can be proven using generic, though inefficient, ZK (Goldreich et al. [19]). However, to the best of our knowledge it is not straightforward to constructively devise such a scheme for a given additively homomorphic cryptosystem. Our solution in contrast does not require Bob to be able to verify whether a multiplication is correct, but by construction will render the final computation result useless to malicious adversaries.
In a nutshell, the novelty as compared to zero-knowledge proofs is based on the simple realization that Bob does not need to know whether Alice is cheating or not in order to assure the correctness of the final computation and the privacy of his inputs, which decreases the number of round-trips that such a verification step implies. This is a special case of the conditional disclosure of secrets introduced by Gertner et al. [17], where a secret is disclosed using SMC only if some condition is met. In our case, the condition is that
Some protocols in the literature can be used efficiently for proving correct multiplications, with only one additional round trip. One such is the Chaum-Pedersen protocol [7], which however is not trivially applicable to an arbitrary encryption scheme. Another interesting solution was introduced by Damgård and Jurik [11], but which is constructed specifically for the Damgård–Jurik cryptosystem.
Thought there are some homomorphic schemes able to handle both additions and multiplications, to the best of our knowledge, there is no previous solution to accomplish secure outsourced multiplications for additively homomorphic encryption in the malicious model without the use of zero-knowledge proofs (with the exception of second degree-functions, see [6]).
Secure multi-party computations
There are two main categories for private remote computations: Homomorphic Encryption and Garbled Circuits. Through recent research they are both near practical applicability (see [25,29,30] and [5,16,25]). However, which of the two approaches to choose is typically application-dependent [28,31]. Our approach brings state-of-the-art SMC solutions based on additively homomorphic cryptographic systems forward by protecting against malicious adversaries when outsourcing multiplications, while remaining strongly competitive to the efficient though less secure approaches which currently are popular examples.
There are several works that combine the use of an additively homomorphic scheme with secret sharing, to compute multiplications securely using threshold encryption. This line of work stems from the SMC schemes developed by Cramer et al. [9]. Note that such approaches are secure only against malicious minorities, and are not directly applicable in scenarios with only two parties.
To compare against GC-solutions which can compute arbitrary formulas, some experiments using FastGC, a Garbled Circuit framework by Huang et al. [25] were conducted and are reported in detail in Section 5. Any arithmetic circuit can be expressed as a binary circuit, and vice versa [15]. In this framework for arbitrary computations, integer multiplication of 24-bit numbers needed 332 ms to finish, approximately 5078% slower than BetterTrees. Note however that FastGC is only secure in the honest-but-curious model, and thus not as secure as the approach presented in this paper. Further work exists in the direction of efficiently providing security against malicious adversaries by the authors of FastGC [26], however where one bit of the input is leaked. Moreover, work on optimizing garbled-circuits in the honest-but-curious model also exists, e.g. recently [34], but so far without enough speedup that it can compare to additively homomorphic encryption for privately computing arithmetic formulas.
Conclusions
We have presented a protocol for outsourcing multiplications and have shown how to use it construct a system for computation of arbitrary arithmetic formulas with strong privacy guarantees. We have shown that the construction is secure in the malicious adversary model and that the overhead of using the approach is a small constant factor.
The need for such a protocol is justified by the format attacks we have unveiled in known protocols, and presented a concrete exploit targeting [45] where we can alter the format of a message and gain more than the intended amount of location information. We have made a case for using a more realistic attacker model and identified examples from the literature which are vulnerable to this stronger attacker, while also showing how to amend such vulnerabilities.
A key feature of our approach is its compositionality. We seamlessly integrate multiple outputs, allowing us to sequentially compose protocols. The new high-level syntax and proof framework prove indispensable when we show how our approach applies to the application domain of speed-constrained location proximity. Leveraging the compositionality, we construct the proximity protocol from core primitives while obtaining privacy guarantees by compositional reasoning.
We provide benchmarks that compare our exemplary applications (InnerCircle and MaxPace) to implementations based on Garbled Circuits. We discuss security guarantees for the particular case of an implementation over rings, and make our implementation fully available to the community. In sum our approach provides strong security guarantees when implemented over fields (for instance in the DKG cryptosystem) and has competitive efficiency and bandwidth performance against other 2-party protocols. However the general case depends strongly on the type of computation performed and the range of the variables involved. Moreover note that the security guarantees given can be summarized as strong privacy guarantees for both parties whenever any party is malicious, but we offer no correctness guarantees on the result of the computation when Bob is malicious.
As future work we plan to investigate the non-trivial task of applying closely related primitives (such as Zero-Knowledge constructions [7] and Threshold Encryption [9]) to achieve the same security guarantees, and benchmark those solutions to compare them to BetterTrees.
Footnotes
Acknowledgments
Thanks are due to Allen Au for the useful comments. This work was funded by the European Community under the ProSecuToR project and the Swedish research agencies SSF and VR.
MaxPace implementation using BetterTimes-syntax
This section describes how MaxPace can be enforced using BetterTimes-syntax. The concrete protocol is referred to as DecentMP (short for Decentralized MaxPace).
BetterTreesover rings
Note that additively homomorphic schemes are commonly defined over groups where when multiplying a non zero element γ with a uniformly chosen ρ, the result is not necessarily uniformly distributed, thus potentially affecting the blinding of
In this section we design a protocol for outsourcing multiplication to Alice over the Ring
For given
