Paper 2021/1621
Alpha-Rays: Key Extraction Attacks on Threshold ECDSA Implementations
Dmytro Tymokhanov and Omer Shlomovits
Abstract
In this paper we provide technical details on two new attack vectors, relevant to implementations of [GG18] and [GG20] threshold ECDSA protocols. Both attacks lead to a complete secret key extraction by exploiting different parts of the Multiplicative-to-Additive (MtA) sub-protocol the parties run during signing. Our first attack applies to the setting of ”fast” MtA, which runs the protocol with no range proofs. We leverage a powerful oracle, much stronger than originally anticipated in [GG18], to reveal a part of the secret key with each signature we run. The number of required signatures depends on the implementation under attack and the number of parties controlled by the attacker. Our proof of concept demonstrates a full key extraction by a single malicious party using eight signatures. Our second attack deals with the more common setting of “full” MtA, that is, including ZK proofs. The only requirement for mounting a successful attack is to use a small Paillier encryption key. The key size check was not specified in the protocol and therefore missing from most existing threshold ECDSA implementations, making them vulnerable. As we show, choosing a small key completely eliminates a specific hiding property in one of the values sent from the victim to the attacker during one of ZK proofs. This allows a single malicious party to extract the full secret key after a single valid signature. We provide a proof of concept for this attack as well.
Metadata
- Available format(s)
- Category
- Implementation
- Publication info
- Preprint. MINOR revision.
- Keywords
- threshold cryptography
- Contact author(s)
- omer shlomovits @ gmail com
- History
- 2021-12-14: received
- Short URL
- https://ia.cr/2021/1621
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2021/1621, author = {Dmytro Tymokhanov and Omer Shlomovits}, title = {Alpha-Rays: Key Extraction Attacks on Threshold {ECDSA} Implementations}, howpublished = {Cryptology {ePrint} Archive, Paper 2021/1621}, year = {2021}, url = {https://eprint.iacr.org/2021/1621} }