Skip to content

Add zk-discrete-log-Proof example over secp256k1 using noir_bigcurve #89

@cypriansakwa

Description

@cypriansakwa

Hi @critesjosh

Proposal to Add Example: zk-discrete-log-Proof over secp256k1

Summary:

I propose adding a new example to this repository demonstrating a zero-knowledge proof of knowledge of a discrete logarithm over the secp256k1 elliptic curve using noir_bigcurve. The circuit proves knowledge of a secret scalar ( k ) such that a public point ( Q = k \cdot G ), without revealing ( k ). This showcases Noir's ability to perform real-world elliptic curve operations in zero knowledge using the noir_bigcurve library.


Why This Is Useful

  • Demonstrates a core cryptographic primitive: Zero-knowledge discrete log proof
  • Learning resource: Helps developers building privacy-preserving authentication systems
  • Bridges Noir with widely-used ECC curves: secp256k1 is used in Bitcoin, Ethereum, etc.

What the Example Includes

  • Noir circuit that:

    • Takes ( G ), ( Q ) as public inputs, and ( k ) as a private input
    • Verifies ( Q = k \cdot G ) on secp256k1
  • Unit tests: For both correct and incorrect proofs

  • A README.md: Explaining the example, its cryptographic context, and how to run it


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions