CryptoDB
Victor Shoup
Publications
Year
Venue
Title
2024
EUROCRYPT
Fast batched asynchronous distributed key generation
Abstract
We present new protocols for threshold Schnorr signatures that work in an asynchronous communication setting, providing robustness and optimal resilience. These protocols provide unprecedented performance in terms of communication and computational complexity. In terms of communication complexity, for each signature, a single party must transmit a few dozen group elements and scalars across the network (independent of the size of the signing committee). In terms of computational complexity, the amortized cost for one party to generate a signature is actually less than that of just running the standard Schnorr signing or verification algorithm (at least for moderately sized signing committees, say, up to 100).
For example, we estimate that with a signing committee of 49 parties, at most 16 of which are corrupt, we can generate 50,000 Schnorr signatures per second (assuming each party can dedicate one standard CPU core and 500Mbs of network bandwidth to signing). Importantly, this estimate includes both the cost of an offline precomputation phase (which just churns out message independent "presignatures") and an online signature generation phase. Also, the online signing phase can generate a signature with very little network latency (just one to three rounds, depending on how throughput and latency are balanced).
To achieve this result, we provide two new innovations. One is a new secret sharing protocol (again, asynchronous, robust, optimally resilient) that allows the dealer to securely distribute shares of a large batch of ephemeral secret keys, and to publish the corresponding ephemeral public keys. To achieve better performance, our protocol minimizes public-key operations, and in particular, is based on a novel technique that does not use the traditional technique based on "polynomial commitments". The second innovation is a new algorithm to efficiently combine ephemeral public keys contributed by different parties (some possibly corrupt) into a smaller number of secure ephemeral public keys. This new algorithm is based on a novel construction of a so-called "super-invertible matrix" along with a corresponding highly-efficient algorithm for multiplying this matrix by a vector of group elements.
As protocols for verifiably sharing a secret key with an associated public key and the technology of super-invertible matrices both play a major role in threshold cryptography and multi-party computation, our two new innovations should have applicability well beyond that of threshold Schnorr signatures.
2024
JOFC
Lightweight Asynchronous Verifiable Secret Sharing with Optimal Resilience
Abstract
<jats:title>Abstract</jats:title><jats:p>We present new protocols for <jats:italic>Asynchronous Verifiable Secret Sharing</jats:italic> for Shamir (i.e., threshold <jats:inline-formula><jats:alternatives><jats:tex-math>$$t<n$$</jats:tex-math><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo><</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math></jats:alternatives></jats:inline-formula>) sharing of secrets. Our protocols:<jats:list list-type="bullet">
<jats:list-item>
<jats:p>Use only “lightweight” cryptographic primitives, such as hash functions;</jats:p>
</jats:list-item>
<jats:list-item>
<jats:p>Can share secrets over rings such as <jats:inline-formula><jats:alternatives><jats:tex-math>$${\mathbb {Z}}/(p^k)$$</jats:tex-math><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mo>/</mml:mo>
<mml:mo>(</mml:mo>
<mml:msup>
<mml:mi>p</mml:mi>
<mml:mi>k</mml:mi>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:math></jats:alternatives></jats:inline-formula> as well as finite fields <jats:inline-formula><jats:alternatives><jats:tex-math>$$\mathbb {F}_q$$</jats:tex-math><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:math></jats:alternatives></jats:inline-formula>;</jats:p>
</jats:list-item>
<jats:list-item>
<jats:p>Provide <jats:italic>optimal resilience</jats:italic>, in the sense that they tolerate up to <jats:inline-formula><jats:alternatives><jats:tex-math>$$t < n/3$$</jats:tex-math><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo><</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math></jats:alternatives></jats:inline-formula> corruptions, where <jats:italic>n</jats:italic> is the total number of parties;</jats:p>
</jats:list-item>
<jats:list-item>
<jats:p>Are <jats:italic>complete</jats:italic>, in the sense that they guarantee that if any honest party receives their share then all honest parties receive their shares;</jats:p>
</jats:list-item>
<jats:list-item>
<jats:p>Employ <jats:italic>batching</jats:italic> techniques, whereby a dealer shares many secrets in parallel and achieves an amortized communication complexity that is linear in <jats:italic>n</jats:italic>, at least on the “happy path”, where no party <jats:italic>provably</jats:italic> misbehaves.
</jats:p>
</jats:list-item>
</jats:list></jats:p>
2022
EUROCRYPT
On the security of ECDSA with additive key derivation and presignatures
📺
Abstract
Two common variations of ECDSA signatures are {\em additive key derivation}
and presignatures.
Additive key derivation is a simple mechanism for deriving many subkeys from a single master key, and is already widely used in cryptocurrency applications with the Hierarchical Deterministic Wallet mechanism standardized in Bitcoin Improvement Proposal 32 (BIP32).
Because of its linear nature, additive key derivation is also amenable to efficient implementation in the threshold setting.
With presignatures, the secret and public nonces used in the ECDSA signing algorithm are precomputed.
In the threshold setting, using presignatures along with other precomputed data allows for an extremely efficient "online phase" of the protocol.
Recent works have advocated for both of these variations, sometimes combined together.
However, somewhat surprisingly, we are aware of no prior security proof for additive key derivation, let alone for additive key derivation in combination with presignatures.
In this paper, we provide a thorough analysis of these variations, both in isolation and in combination.
Our analysis is in the generic group model (GGM).
Importantly, we do not modify ECDSA or weaken the standard notion of security in any way.
Of independent interest, we also present a version of the GGM that is specific to elliptic curves.
This EC-GGM better models some of the idiosyncrasies (such as the conversion function and malleability) of ECDSA.
In addition to this analysis, we report security weaknesses in these variations that apparently have not been previously reported.
For example, we show that when both variations are combined, there is a cube-root attack on ECDSA, which is much faster than the best known, square-root attack on plain ECDSA.
We also present two mitigations against these weaknesses: re-randomized presignatures and homogeneous key derivation.
Each of these mitigations is very lightweight, and when used in combination, the security is essentially the same as that of plain ECDSA (in the EC-GGM).
2021
JOFC
Bootstrapping for HElib
Abstract
Gentry’s bootstrapping technique is still the only known method of obtaining fully homomorphic encryption where the system’s parameters do not depend on the complexity of the evaluated functions. Bootstrapping involves a recryption procedure where the scheme’s decryption algorithm is evaluated homomorphically. Prior to this work, there were very few implementations of recryption and fewer still that can handle “packed ciphertexts” that encrypt vectors of elements. In the current work, we report on an implementation of recryption of fully packed ciphertexts using the HElib library for somewhat homomorphic encryption. This implementation required extending previous recryption algorithms from the literature, as well as many aspects of the HElib library. Our implementation supports bootstrapping of packed ciphertexts over many extension fields/rings. One example that we tested involves ciphertexts that encrypt vectors of 1024 elements from $${\text {GF}}(2^{16})$$ GF ( 2 16 ) . In that setting, the recryption procedure takes under 3 min (at security level $$\approx 80$$ ≈ 80 ) on a single core and allows a multiplicative depth-11 computation before the next recryption is needed. This report updates the results that we reported in Eurocrypt 2015 in several ways. Most importantly, it includes a much more robust method for deriving the parameters, ensuring that recryption errors only occur with negligible probability. Many aspects of this analysis are proved, and for the few well-specified heuristics that we made, we report on thorough experimentation to validate them. The procedure that we describe here is also significantly more efficient than in the previous version, incorporating many optimizations that were reported elsewhere (such as more efficient linear transformations) and adding a few new ones. Finally, our implementation now also incorporates Chen and Han’s techniques from Eurocrypt 2018 for more efficient digit extraction (for some parameters), as well as for “thin bootstrapping” when the ciphertext is only sparsely packed.
2020
TCC
Security analysis of SPAKE2+
📺
Abstract
We show that a slight variant of Protocol SPAKE2+, which was presented but not analyzed in [Cash, Kiltz, Shoup 2008], is a secure *asymmetric* password-authenticated key exchange protocol (PAKE), meaning that the protocol still provides good security guarantees even if a server is compromised and the password file stored on the server is leaked to an adversary. The analysis is done in the UC framework (i.e., a simulation-based security model), under the computational Diffie-Hellman (CDH) assumption, and modeling certain hash functions as random oracles. The main difference between our variant and the original Protocol SPAKE2+ is that our variant includes standard key confirmation flows; also, adding these flows allows some slight simplification to the remainder of the protocol. Along the way, we also (i) provide the first proof (under the same assumptions) that a slight variant of Protocol SPAKE2 from [Abdalla, Pointcheval 2005] is a secure *symmetric* PAKE in the UC framework (previous security proofs were all in the weaker BPR framework [Bellare, Pointcheval, Rogaway 2000]); (ii) provide a proof (under very similar assumptions) that a variant of Protocol SPAKE2+ that is currently being standardized is also a secure asymmetric PAKE; (iii) repair several problems in earlier UC formulations of secure symmetric and asymmetric PAKE.
2018
CRYPTO
Faster Homomorphic Linear Transformations in HElib
📺
Abstract
HElib is a software library that implements homomorphic encryption (HE), with a focus on effective use of “packed” ciphertexts. An important operation is applying a known linear map to a vector of encrypted data. In this paper, we describe several algorithmic improvements that significantly speed up this operation: in our experiments, our new algorithms are 30–75 times faster than those previously implemented in HElib for typical parameters.One application that can benefit from faster linear transformations is bootstrapping (in particular, “thin bootstrapping” as described in [Chen and Han, Eurocrypt 2018]). In some settings, our new algorithms for linear transformations result in a $$6{\times }$$6× speedup for the entire thin bootstrapping operation.Our techniques also reduce the size of the large public evaluation key, often using 33%–50% less space than the previous HElib implementation. We also implemented a new tradeoff that enables a drastic reduction in size, resulting in a $$25{\times }$$25× factor or more for some parameters, paying only a penalty of a 2–$$4{\times }$$4× times slowdown in running time (and giving up some parallelization opportunities).
2010
PKC
2009
EUROCRYPT
2005
EUROCRYPT
2005
JOFC
2002
EUROCRYPT
1998
CRYPTO
Program Committees
- TCC 2010
- PKC 2008
- TCC 2007
- Crypto 2005 (Program chair)
- Crypto 2003
- Crypto 2000
- Eurocrypt 1999
- CHES 1999
Coauthors
- Masayuki Abe (1)
- Joy Algesheimer (1)
- N. Asokan (1)
- Donald Beaver (1)
- Christian Cachin (2)
- Jan Camenisch (5)
- Nathalie Casati (1)
- David Cash (2)
- Nishanth Chandran (1)
- Ronald Cramer (2)
- Yvo Desmedt (1)
- Yevgeniy Dodis (2)
- Joan Feigenbaum (1)
- Rosario Gennaro (4)
- Thomas Groß (1)
- Jens Groth (2)
- Shai Halevi (4)
- Kristiyan Haralambiev (1)
- Dennis Hofheinz (1)
- Tibor Jager (1)
- Aggelos Kiayias (1)
- Eike Kiltz (3)
- Stephan Krenn (1)
- Kaoru Kurosawa (2)
- Klaus Kursawe (2)
- Antonio Nicolosi (1)
- Frank Petzold (1)
- Aviel D. Rubin (1)
- Victor Shoup (41)
- Nigel P. Smart (1)
- Michael Waidner (1)
- Shabsi Walfish (1)