91 research outputs found

    A Dynamic Tradeoff Between Active and Passive Corruptions in Secure Multi-Party Computation

    Get PDF
    At STOC \u2787, Goldreich et al.~presented two protocols for secure multi-party computation (MPC) among nn parties: The first protocol provides \emph{passive} security against t<nt<n corrupted parties. The second protocol provides even \emph{active} security, but only against t<n/2t<n/2 corrupted parties. Although these protocols provide security against the provably highest possible number of corruptions, each of them has its limitation: The first protocol is rendered completely insecure in presence of a single active corruption, and the second protocol is rendered completely insecure in presence of ⌈n/2⌉\lceil n/2 \rceil passive corruptions. At Crypto 2006, Ishai et al.~combined these two protocols into a single protocol which provides passive security against t<nt<n corruptions and active security against t<n/2t<n/2 corruptions. This protocol unifies the security guarantees of the passive world and the active world (``best of both worlds\u27\u27). However, the corruption threshold t<nt<n can be tolerated only when \emph{all} corruptions are passive. With a single active corruption, the threshold is reduced to t<n/2t<n/2. As our main result, we introduce a \emph{dynamic tradeoff} between active and passive corruptions: We present a protocol which provides security against t<nt<n passive corruptions, against t<n/2t<n/2 active corruptions, \emph{and everything in between}. In particular, our protocol provides full security against kk active corruptions, as long as less than n−kn-k parties are corrupted in total, for any unknown kk. The main technical contribution is a new secret sharing scheme that, in the reconstruction phase, releases secrecy \emph{gradually}. This allows to construct non-robust MPC protocols which, in case of an abort, still provide some level of secrecy. Furthermore, using similar techniques, we also construct protocols for reactive MPC with hybrid security, i.e., different thresholds for secrecy, correctness, robustness, and fairness. Intuitively, the more corrupted parties, the less security is guaranteed

    Phoenix: Secure Computation in an Unstable Network with Dropouts and Comebacks

    Get PDF
    We consider the task of designing secure computation protocols in an unstable network where honest parties can drop out at any time, according to a schedule provided by the adversary. This type of setting, where even honest parties are prone to failures, is more realistic than traditional models, and has therefore gained a lot of attention recently. Our model, Phoenix, enables a new approach to secure multiparty computation with dropouts, allowing parties to drop out and re-enter the computation on an adversarially-chosen schedule and without assuming that these parties receive the messages that were sent to them while being offline - features that are not available in the existing models of Sleepy MPC (Guo et al., CRYPTO \u2719), Fluid MPC (Choudhuri et al., CRYPTO \u2721 ) and YOSO (Gentry et al. CRYPTO \u2721). Phoenix does assume an upper bound on the number of rounds that an honest party can be off-line - otherwise protocols in this setting cannot guarantee termination within a bounded number of rounds; however, if one settles for a weaker notion, namely guaranteed output delivery only for honest parties who stay on-line long enough, this requirement is not necessary. In this work, we study the settings of perfect, statistical and computational security and design MPC protocols in each of these scenarios. We assume that the intersection of online-and-honest parties from one round to the next is at least 2t+1, t+1 and 1 respectively, where t is the number of (actively) corrupt parties. We show the intersection requirements to be optimal. Our (positive) results are obtained in a way that may be of independent interest: we implement a traditional stable network on top of the unstable one, which allows us to plug in any MPC protocol on top. This approach adds a necessary overhead to the round count of the protocols, which is related to the maximal number of rounds an honest party can be offline. We also present a novel, perfectly secure MPC protocol in the preprocessing model that avoids this overhead by following a more "direct" approach rather than first building a stable network and then using existing protocols. We introduce our network model in the UC-framework, show that the composition theorem still holds, and prove the security of our protocols within this setting

    Information-Theoretically Secure MPC against Mixed Dynamic Adversaries

    Get PDF
    In this work we consider information-theoretically secure MPC against a mixed adversary who can corrupt tpt_p parties passively, tat_a parties actively, and can make tft_f parties fail-stop. With perfect security, it is known that every function can be computed securely if and only if 3ta+2tp+tf<n3t_a + 2t_p + t_f < n, and for statistical security the bound is 2ta+2tp+tf<n2t_a + 2t_p + t_f < n. These results say that for each given set of parameters (ta,tp,tf)(t_a, t_p, t_f) respecting the inequality, there exists a protocol secure against this particular choice of corruption thresholds. In this work we consider a dynamic adversary. Here, the goal is a single protocol that is secure, no matter which set of corruption thresholds (ta,tp,tf)(t_a, t_p, t_f) from a certain class is chosen by the adversary. A dynamic adversary can choose a corruption strategy after seeing the protocol and so is much stronger than a standard adversary. Dynamically secure protocols have been considered before for computational security. Also the information theoretic case has been studied, but only considering non-threshold general adversaries, leading to inefficient protocols. We consider threshold dynamic adversaries and information theoretic security. For statistical security we show that efficient dynamic secure function evaluation (SFE) is possible if and only if 2ta+2tp+tf<n2t_a + 2t_p + t_f < n, but any dynamically secure protocol must use Ω(n)\Omega(n) rounds, even if only fairness is required. Further, general reactive MPC is possible if we assume in addition that 2ta+2tf≤n2t_a+2t_f \leq n, but fair reactive MPC only requires 2ta+2tp+tf<n2t_a + 2t_p + t_f < n. For perfect security we show that both dynamic SFE and verifiable secret sharing (VSS) are impossible if we only assume 3ta+2tp+tf<n3t_a + 2t_p + t_f < n and remain impossible even if we also assume tf=0t_f=0. On the other hand, perfect dynamic SFE with guaranteed output delivery (G.O.D.) is possible when either tp=0t_p = 0 or ta=0t_a = 0 i.e. if instead we assume 3ta+tf<n3t_a+t_f < n or 2tp+tf<n2t_p +t_f < n. Further, perfect dynamic VSS with G.O.D. is possible under the additional conditions 3ta+3/2tf≤n3t_a + 3/2t_f \leq n or 2tp+2tf≤n2t_p + 2t_f \leq n. These conditions are also sufficient for dynamic perfect reactive MPC

    Beyond Honest Majority: The Round Complexity of Fair and Robust Multi-party Computation

    Get PDF
    Two of the most sought-after properties of Multi-party Computation (MPC) protocols are fairness and guaranteed output delivery (GOD), the latter also referred to as robustness. Achieving both, however, brings in the necessary requirement of malicious-minority. In a generalised adversarial setting where the adversary is allowed to corrupt both actively and passively, the necessary bound for a nn-party fair or robust protocol turns out to be ta+tp<nt_a + t_p < n, where ta,tpt_a,t_p denote the threshold for active and passive corruption with the latter subsuming the former. Subsuming the malicious-minority as a boundary special case, this setting, denoted as dynamic corruption, opens up a range of possible corruption scenarios for the adversary. While dynamic corruption includes the entire range of thresholds for (ta,tp)(t_a,t_p) starting from (⌈n2⌉−1,⌊n2⌋)(\lceil \frac{n}{2} \rceil - 1 , \lfloor \frac{n}{2} \rfloor) to (0,n−1)(0,n-1), the boundary corruption restricts the adversary only to the boundary cases of (⌈n2⌉−1,⌊n2⌋)(\lceil \frac{n}{2} \rceil - 1, \lfloor \frac{n}{2} \rfloor) and (0,n−1)(0,n-1). Notably, both corruption settings empower an adversary to control majority of the parties, yet ensuring the count on active corruption never goes beyond ⌈n2⌉−1\lceil \frac{n}{2} \rceil - 1. We target the round complexity of fair and robust MPC tolerating dynamic and boundary adversaries. As it turns out, ⌈n2⌉+1\lceil \frac{n}{2} \rceil + 1 rounds are necessary and sufficient for fair as well as robust MPC tolerating dynamic corruption. The non-constant barrier raised by dynamic corruption can be sailed through for a boundary adversary. The round complexity of 33 and 44 is necessary and sufficient for fair and GOD protocols respectively, with the latter having an exception of allowing 33 round protocols in the presence of a single active corruption. While all our lower bounds assume pair-wise private and broadcast channels and are resilient to the presence of both public (CRS) and private (PKI) setup, our upper bounds are broadcast-only and assume only public setup. The traditional and popular setting of malicious-minority, being restricted compared to both dynamic and boundary setting, requires 33 and 22 rounds in the presence of public and private setup respectively for both fair as well as GOD protocols

    Communication-Efficient Proactive MPC for Dynamic Groups with Dishonest Majorities

    Get PDF
    International audienceSecure multiparty computation (MPC) has recently been increasingly adopted to secure cryptographic keys in enterprises, cloud infrastructure, and cryptocurrency and blockchain-related settings such as wallets and exchanges. Using MPC in blockchains and other distributed systems highlights the need to consider dynamic settings. In such dynamic settings, parties, and potentially even parameters of underlying secret sharing and corruption tolerance thresholds of sub-protocols, may change over the lifetime of the protocol. In particular, stronger threat models-in which mobile adversaries control a changing set of parties (up to t out of n involved parties at any instant), and may eventually corrupt all n parties over the course of a protocol's execution-are becoming increasingly important for such real world deployments; secure protocols designed for such models are known as Proactive MPC (PMPC). In this work, we construct the first efficient PMPC protocol for dynamic groups (where the set of parties changes over time) secure against a dishonest majority of parties. Our PMPC protocol only requires O(n 2) (amortized) communication per secret, compared to existing PMPC protocols that require O(n 4) and only consider static groups with dishonest majorities. At the core of our PMPC protocol is a new efficient technique to perform multiplication of secret shared data (shared using a bivariate scheme) with O(n √ n) communication with security against a dishonest majority without requiring pre-computation. We also develop a new efficient bivariate batched proactive secret sharing (PSS) protocol for dishonest majorities, which may be of independent interest. This protocol enables multiple dealers to contribute different secrets that are efficiently shared together in one batch; previous batched PSS schemes required all secrets to come from a single dealer

    Communication-Efficient Proactive Secret Sharing for Dynamic Groups with Dishonest Majorities

    Get PDF
    In standard Secret Sharing (SS), a dealer shares a secret ss among nn parties such that an adversary corrupting no more than tt parties does not learn ss, while any t+1t+1 parties can efficiently recover ss. Proactive Secret Sharing (PSS) retains confidentiality of ss even when a mobile adversary corrupts all parties over the lifetime of the secret, but no more than a threshold tt in each epoch (called a refresh period). Withstanding such adversaries has become of increasing importance with the emergence of settings where private keys are secret shared and used to sign cryptocurrency transactions, among other applications. Feasibility of single-secret PSS for static groups with dishonest majorities was demonstrated but with a protocol that requires inefficient communication of O(n4)O(n^4). In this work, we improve over prior work in three directions: batching without incurring a linear loss in corruption threshold, communication efficiency, and handling dynamic groups. While each of properties we improve upon appeared independently in the context of PSS and in other previous work, handling them simultaneously (and efficiently) in a single scheme faces non-trivial challenges. Some PSS protocols can handle batching of ℓ∼n\ell \sim n secrets, but all of them are for the honest majority setting. Techniques typically used to accomplish such batching decrease the tolerated corruption threshold bound by a linear factor in ℓ\ell, effectively limiting the number of elements that can be batched with dishonest majority. We solve this problem by reducing the threshold decrease to ℓ\sqrt{\ell} instead, allowing us to deal with the dishonest majority setting when ℓ∼n\ell \sim n. This is accomplished based on new bivariate-polynomials-based techniques for sharing, and refreshing and recovering of shares, that allow batching of up to n−2n-2 secrets in our PSS. To tackle the efficiency bottleneck the constructed PSS protocol requires only O(n3/ℓ)O(n^3/\ell) communication for ℓ\ell secrets, i.e., an amortized communication complexity of O(n2)O(n^2) when the maximum batch size is used. To handle dynamic groups we develop three new sub-protocols to deal with parties joining and leaving the group

    On the Communication required for Unconditionally Secure Multiplication

    Get PDF
    Many information-theoretic secure protocols are known for general secure multi-party computation, in the honest majority setting, and in the dishonest majority setting with preprocessing. All known protocols that are efficient in the circuit size of the evaluated function follow the same \u27\u27gate-by-gate\u27\u27 design pattern: we work through an arithmetic (boolean) circuit on secret-shared inputs, such that after we process a gate, the output of the gate is represented as a random secret sharing among the players. This approach usually allows non-interactive processing of addition gates but requires communication for every multiplication gate. Thus, while information-theoretic secure protocols are very efficient in terms of computational work, they (seem to) require more communication and more rounds than computationally secure protocols. Whether this is inherent is an open and probably very hard problem. However, in this work we show that it is indeed inherent for protocols that follow the \u27\u27gate-by-gate\u27\u27 design pattern. We present the following results: -In the honest majority setting, as well as for dishonest majority with preprocessing, any gate-by-gate protocol must communicate \Omega(n) bits for every multiplication gate, where n is the number of players. -In the honest majority setting, we show that one cannot obtain a bound that also grows with the field size. Moreover, for a constant number of players, amortizing over several multiplication gates does not allow us to save on the computational work, and - in a restricted setting - we show that this also holds for communication. All our lower bounds are met up to a constant factor by known protocols that follow the typical gate-by-gate paradigm. Our results imply that a fundamentally new approach must be found in order to improve the communication complexity of known protocols, such as BGW, GMW, SPDZ etc

    Space Efficient Computational Multi-Secret Sharing and Its Applications

    Get PDF
    In a (t_1,...,t_l)-multi-secret sharing scheme (MSSS), l independent secrets s_1,...,s_l are shared with n parties in such a way that at least t_i parties are required to recover the secret s_i (while s_i remains hidden with fewer shares). We consider the problem of minimizing the share size of MSSS in the challenging setting when there are many secrets to be shared among many parties. To circumvent the information-theoretic lower bound (e.g., Blundo [4]), we focus on the computational setting. A simple generalization of computational secret sharing (Krawczyk [17]) to multi-secret sharing yields a scheme with share size/overhead scaling linearly in l, the total number of secrets. To beat this linear scaling, we consider constructing MSSS based on a related notion of encryption|dynamic threshold public key encryption (DTPKE)|that enables a sender to dynamically specify a threshold for each ciphertext. None of the existing DTPKE is well-suited for our purpose. Thus, we propose a new construction of a dynamic threshold public key encryption scheme with improved efficiency characteristics. We then give a recursive application of our construction that yields an efficient MSSS with share size only logarithmic in the number of secrets (thus effectively O(log l) as in the common cases, where l and n are polynomially related). Finally, we describe an application of our space efficient (1,2,...,n-1)-MSSS to a special tool called gradual verifiable secret sharing which is the fundamental building block for general multiparty computation (MPC) with n players that provides fairness without honest majority

    Communication-Efficient (Proactive) Secure Computation for Dynamic General Adversary Structures and Dynamic Groups

    Get PDF
    In modern distributed systems, an adversary’s limitations when corrupting subsets of servers may not necessarily be based on threshold constraints, but rather based on other technical or organizational characteristics in the systems. This means that the corruption patterns (and thus protection guarantees) are not based on the adversary being limited by a threshold, but on the adversary being limited by other constraints, in particular by what is known as a General Adversary Structure (GAS). We consider efficient secure multiparty computation (MPC) under such dynamically-changing GAS settings. During these changes, one desires to protect against and during corruption profile change, which renders some (secret sharing-based) encoding schemes underlying the MPC protocol more efficient than others when operating with the (currently) considered GAS. One of our contributions is a set of novel protocols to efficiently and securely convert back and forth between different MPC schemes for GAS; this process is often called share conversion. Specifically, we consider two MPC schemes, one based on additive secret sharing and the other based on Monotone Span Programs (MSP). The ability to efficiently convert between the secret sharing representations of these MPC schemes enables us to construct the first communication-efficient structure-adaptive proactive MPC protocol for dynamic GAS settings. By structure-adaptive, we mean that the choice of the MPC protocol to execute in future rounds after the GAS is changed (as specified by an administrative entity) is chosen to ensure communication-efficiency (the typical bottleneck in MPC). Furthermore, since such secure collaborative computing may be long-lived, we consider the mobile adversary setting, often called the proactive security setting. As our second contribution, we construct communication-efficient MPC protocols that can adapt to the proactive security setting. Proactive security assumes that at each (well defined) period of time the adversary corrupts different parties and over time may visit the entire system and corrupt all parties, provided that in each period it controls groups obeying the GAS constraints. In our protocol, the shares can be refreshed, meaning that parties receive new shares reconstructing the same secret, and some parties who lost their shares because of the reboot/resetting can recover their shares. As our third contribution, we consider another aspect of global long-term computations, namely, that of the dynamic groups. It is worth pointing out that such a setting with dynamic groups and GAS was not dealt with in existing literature on (proactive) MPC. In dynamic group settings, parties can be added and eliminated from the computation, under different GAS restrictions. We extend our protocols to this additional dynamic group settings defined by different GAS

    A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation

    Get PDF
    Secure Multiparty Computation (MPC) enables a group of nn distrusting parties to jointly compute a function using private inputs. MPC guarantees correctness of computation and confidentiality of inputs if no more than a threshold tt of the parties are corrupted. Proactive MPC (PMPC) addresses the stronger threat model of a mobile adversary that controls a changing set of parties (but only up to tt at any instant), and may eventually corrupt all nn parties over a long time. This paper takes a first stab at developing high-assurance implementations of (P)MPC. We formalize in EasyCrypt, a tool-assisted framework for building high-confidence cryptographic proofs, several abstract and reusable variations of secret sharing and of (P)MPC protocols building on them. Using those, we prove a series of abstract theorems for the proactive setting. We implement and perform computer-checked security proofs of concrete instantiations of the required (abstract) protocols in EasyCrypt. We also develop a new tool-chain to extract high-assurance executable implementations of protocols formalized and verified in EasyCrypt. Our tool-chain uses Why as an intermediate tool, and enables us to extract executable code from our (P)MPC formalizations. We conduct an evaluation of the extracted executables by comparing their performance to performance of manually implemented versions using Python-based Charm framework for prototyping cryptographic schemes. We argue that the small overhead of our high-assurance executables is a reasonable price to pay for the increased confidence about their correctness and security
    • …
    corecore