Skip to content

BANKEX/ethberlin-hackathon

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forked from https://github.com/barryWhiteHat/baby_jubjub using https://gist.github.com/swasilyev/40df49c3ab4dabe854027a8791460d6d

Tool to use signature with baby_jubjub curve

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

docker run -ti --name ubuntu -v /<fullpath>/baby_jubjub_ecc:/code ubuntu:16.04 /bin/bash
cd /code
apt update && apt install -y build-essential cmake git libgmp3-dev libprocps4-dev python-markdown libboost-all-dev libssl-dev pkg-config
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

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.

use pysigner/curvetool.py

curvetool.py gencert cert.txt

create certificate with private and public keys

curvetool.py sign  message.txt cert.txt

create certificate with private and public keys

curvetool.py gencert message.txt cert.txt

create certificate with private and public keys

message txt format:

{
  "m":"64 hexadecimal syumbols"
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors