The Chaum–Pedersen protocol is a cryptographic technique used for proving that two discrete logarithms are equal without revealing the actual value of the logarithms. This protocol, developed by David Chaum and Torben Pryds Pedersen, is particularly useful in the realm of digital signatures, secure voting systems, and other cryptographic applications where maintaining privacy and integrity is crucial.
At its core, the Chaum–Pedersen protocol is a zero-knowledge proof, a method by which one party (the prover) can prove to another party (the verifier) that a statement is true, without conveying any additional information apart from the fact that the statement is indeed true.
In the context of discrete logarithms, consider two groups
The Chaum–Pedersen protocol is a Sigma protocol designed to prove knowledge of discrete logarithms and their equality. Let's break down the protocol step by step to understand its components and how it ensures security and validity of the proof.
Peggy (the prover) wants to prove to Victor (the verifier) that she knows two discrete logarithms
and that
-
Commitment (
$( R(x, k) )$ ):- Peggy chooses a random
$( k )$ and computes the commitments:$[ (r_1, r_2) = (g^k, h^k) ]$ - She sends
$( (r_1, r_2) )$ to Victor.
- Peggy chooses a random
-
Challenge:
- Victor sends a random challenge
$( c )$ to Peggy.
- Victor sends a random challenge
-
Response (
$( S(c, x, k) )$ ):- Peggy computes the response:
$[ s = k - c \cdot x \mod q ]$ - She sends
$( s )$ to Victor.
- Peggy computes the response:
-
Verification (
$( V((r_1, r_2), c, s) )$ ):- Victor checks if the following equations hold:
$[ r_1 = g^s \cdot y_1^c \quad \text{and} \quad r_2 = h^s \cdot y_2^c ]$ - If both equations hold, the proof is accepted.
- Victor checks if the following equations hold:
The protocol is specially sound under the assumption of an honest verifier. To show this, assume that Peggy manages to produce two valid transcripts for the same commitments
From this, you can derive:
Since
This means that if Peggy can produce two valid transcripts with different challenges for the same commitment, Victor can compute the discrete logarithm
Now, let's adapt the Chaum-Pedersen Protocol to elliptic curves. Assume we want to prove that the discrete logarithms of points
-
Setup:
- Public information: Points
$(G)$ ,$(H)$ ,$(P)$ ,$(Q)$ on the elliptic curve. - Prover's secret: The value
$(x)$ , such that$(G^x = P)$ and$(H^x = Q)$ .
- Public information: Points
-
Commitment:
- The prover selects a random scalar
$(r)$ and computes$(A = G^r)$ and$(B = H^r)$ . - The prover sends
$(A)$ and (B)$ to the verifier.
- The prover selects a random scalar
-
Challenge:
- The verifier sends a random scalar
$(c)$ as a challenge to the prover.
- The verifier sends a random scalar
-
Response:
- The prover computes
$(s = r + cx)$ (where the addition and multiplication are in the scalar field). - The prover sends
$(s)$ to the verifier.
- The prover computes
-
Verification:
- The verifier checks if
$(G^s = A \cdot P^c)$ and$(H^s = B \cdot Q^c)$ . This uses the property that$(G^{r+cx} = G^r \cdot G^{cx})$ . - If both equations hold, the verifier accepts the proof; otherwise, it is rejected.
- The verifier checks if
The protocol is zero-knowledge because any transcript produced by Peggy can be simulated by Victor without knowing the discrete logarithm. The simulator
The Chaum–Pedersen protocol is secure under the discrete logarithm problem's hardness assumption. It ensures that a malicious prover cannot convince the verifier of a false statement without knowing the actual discrete logarithm.
Applications of the Chaum–Pedersen protocol include:
- Digital Signatures: Enhancing signature schemes with additional privacy features.
- Secure Voting Systems: Ensuring the integrity and secrecy of votes.
- Cryptographic Protocols: Providing zero-knowledge proofs in various cryptographic constructs.
The Chaum–Pedersen protocol is a powerful tool in cryptography, providing a way to prove equality of discrete logarithms without compromising privacy. Its applications in secure communications and data protection highlight its significance in the ever-evolving landscape of digital security.
# References
- Chaum, D., & Pedersen, T. P. (1992). Wallet databases with observers. In Advances in Cryptology—CRYPTO’92 (pp. 89-105). Springer, Berlin, Heidelberg.
- Goldreich, O. (2001). Foundations of Cryptography: Basic Tools. Cambridge University Press.
- Smart, N. (2003). Cryptography: An Introduction. McGraw-Hill Education.