This project implements a Non-interactive Schnorr ZK DLOG Proof scheme with a Fiat-Shamir transformation proof system using the k256
elliptic curve library. The proof system allows for the creation and verification of DLog proofs, as well as serialization and deserialization of proofs.
main.rs
: Contains the main function that demonstrates the creation, serialization, deserialization, and verification of a DLog proof.lib.rs
: Contains the implementation of the DLog proof system, including theDLogProof
struct and associated methods.
The main.rs
file demonstrates the following steps:
- Generate a random scalar
x
. - Compute the elliptic curve point
y = G * x
, whereG
is the generator point. - Create a DLog proof for
x
andy
. - Serialize the proof to a JSON string.
- Deserialize the proof from the JSON string.
- Verify the proof.