Paper 2022/1586
Practical Asynchronous Proactive Secret Sharing and Key Refresh
Abstract
With the emergence of decentralized systems, spearheaded by blockchains, threshold cryptography has seen unprecedented adoption. Just recently, the trustless distribution of threshold keys over an unreliable network has started to become practical. The next logical step is ensuring the security of these keys against persistent adversaries attacking the system over long periods of time. In this work, we tackle this problem and give two practical constructions for Asynchronous Proactive Secret Sharing. Our first construction uses recent advances in asynchronous protocols and achieves a communication complexity of $O(n^3)$ where $n$ is the total number of nodes in the network. The second protocol builds upon the first and uses sortition to drive down the communication complexity to $O(c n^2)$. Here, $c$ is a tunable parameter that controls the expected size of the sharing committee chosen using the existing random coin. Additionally, we identify security flaws in prior work and ensure that our protocols are secure by giving rigorous proofs. Moreover, we introduce a related notion which we term Asynchronous Refreshable Secret Sharing — a functionality that also re-randomizes the secret itself. Finally, we demonstrate the practicability of our constructions by implementing them in Rust and running large-scale, geo-distributed benchmarks.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Preprint.
- Keywords
- Asynchronous Proactive Secret Sharing Asynchronous Protocols Threshold Cryptography Sortition Committee
- Contact author(s)
-
cguenthe @ ist ac at
souravd2 @ illinois edu
ekokoris @ ist ac at - History
- 2022-11-17: approved
- 2022-11-15: received
- See all versions
- Short URL
- https://ia.cr/2022/1586
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2022/1586, author = {Christoph U. Günther and Sourav Das and Lefteris Kokoris-Kogias}, title = {Practical Asynchronous Proactive Secret Sharing and Key Refresh}, howpublished = {Cryptology {ePrint} Archive, Paper 2022/1586}, year = {2022}, url = {https://eprint.iacr.org/2022/1586} }