Skip to content

LC3 Zero-Knowledge Prover & Verifier with SP1 zkVM

Notifications You must be signed in to change notification settings

RajasreePonnada/lc3-sp1-pv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LC3 Zero-Knowledge Prover & Verifier with SP1 VM

This repository contains implementation of a zero-knowledge prover and verifier tailored for an arbitrary set of LC3 compatible instructions, leveraging the SP1 Zero Knowledge Virtual Machine.

Usage

Prerequisites

Before getting started, ensure that Rust is installed on your system. You can install Rust by following the official installation guide.

Additionally, for SP1 installation, follow the SP1 installation guide.

Build Steps

  1. Clone the repository:

    git clone https://github.com/surajj3404/lc3-sp1-pv.git
    cd lc3-sp1-pv
    
  2. Build Program

    cd program
    cargo prove build
    

Genarating proofs

  1. In ./scripts/src/main.rs, add the LC3 instructions for which you want to generate proofs. By default, the instruction set is configured to compute the square of 7.

    let instructions: Vec<u16> = vec![/* Add your LC3 instructions here */];
  2. Once you have modified the instruction you can genarate proofs by running the following commands. The proof genarated will be stored as a json file in the script directory.

    cd ./script
    cargo run
    

Links to Repositories

Contributions

Contributions, bug reports, and feature requests are welcome! Fork the repository, make your changes, and submit a pull request.

About

LC3 Zero-Knowledge Prover & Verifier with SP1 zkVM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%