A prototype implementation of Groth and Sahai Proof systems, introduced in "Efficient Non-interactive Proof Systems for Bilinear Groups" paper at EC'08.
Pairbing-Based Cryptography PBC library.
wget http://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz
tar xf pbc-0.5.14.tar.gz
cd pbc-0.5.14
sudo ./configure.sh
sudo make
sudo make install
sudo make test
This Youtube clip also gives a detailed instruction on how to set up the PBC library.
- The charm-crypto library should be installed manually from this repository. Do not use the releases, they do not work. Install from the repo by running the following commands.
git clone https://github.com/JHUISI/charm.git
cd charm
sudo ./configure.sh
sudo make
sudo make install
sudo make test
Make sure to set the extra LDFLAGS
so that charm-crypto finds pbc as shown above.
- In case if you are using VS code as the compiler and have installed multiple versions of Python, you might need to change your python interpreter to the compatible version.
view --> command palette --> search for Python: Select Interpreter --> choose your compatiable version.
- Note that python 3.8 and above seems to be broken for charm-crypto, see this issue.
This code is experimental in nature and not production ready and safe. The codebase should not be used in production contracts without further review, tests, and updates.