Skip to content

altbn128 twisted ewards curve point addion, point multiplicaion, eddsa signature verificaion and pedersen commiments

License

Notifications You must be signed in to change notification settings

swasilyev/baby_jubjub_ecc

 
 

Repository files navigation

baby_jubjub_ecc

This repository contains zksnark constarint systems for twisted edwards curve point addition, point multiplication, eddsa signature verification and pedersen commitments. As well as python scripts for test case generation.

This is a naive implmentaion and considerable optimizations are possible.

build instructions:

build libsnark gadget and getting the proving key

get dependencies git submodule update --init --recursive mkdir build cd build cmake .. && make

Running the tests

Start your preferred ethereum node, cd tests and run python3 test* will generate all the test variables that you can confirm in src/main.cpp

You can run the test after building by

cd build
./src/main

Resources

Lecture 16 and [Lecture 17] (https://www.youtube.com/watch?v=zTt4gvuQ6sY) of this course should help you get a good understanding of the basics of what we are doing here. . . . . .

  1. run generator.cpp main() from root -- generates pk, vk and pvk in libsnark format and vk.json in keys/ folder
  2. python3 tests/test_eddsa.py from root generates keys/signature files with a signature
  3. run prover.cpp main() creates and verifies the proof using keys/signature for public and private inputs
  4. ...

About

altbn128 twisted ewards curve point addion, point multiplicaion, eddsa signature verificaion and pedersen commiments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 71.8%
  • Python 19.5%
  • JavaScript 6.4%
  • CMake 2.3%