This is an implementation of a proof-of-concept (POC) of the ideas proposed by ZHANG Xian-feng, ZHANG Feng, QIN Zhi-guang, LIU Jin-de in their paper ECC Based Threshold Decryption Scheme and Its Application in Web Security (2004).
In this paper Zhang, Zhang and Qin proposed a Threshold Decryption scheme based on
In this scheme, let:
-
be a prime number -
be an Elliptic Curve group over . -
be a cyclic subgroup of such that the discrete logarithm problem is intractable over . -
be a generator for .
and:
-
be the sender, -
be the receiver, who does not keep his private key locally. Instead, is stored across out of share servers, represented as:
The corresponding share servers are denoted as
-
Select a random integer
. -
Compute:
The encrypted form of
To decrypt the ciphertext:
-
From the first coordinate
of the encryption triplet, the holder of the private key computes: -
Compute the plaintext values:
The decrypted form of
B broadcasts
-
Each server
computes: -
After obtaining all
, computes: -
Finally, B computes:
Thus, the decrypted values are
The proof shows that:
This leads to the conclusion:
Clone the repository:
git clone https://github.com/yourusername/ECC-Based-Threshold-Decryption.git
cd ECC-Based-Threshold-Decryption
To run the implementation, execute:
cargo run
This project is licensed under the MIT License - see the LICENSE file for details.
Thanks to the original authors and researchers: ZHANG Xian-feng, ZHANG Feng, QIN Zhi-guang, LIU Jin-de who contributed to the field of threshold decryption and ECC.