commit | 232995fe449758829b78029f8b939ad55fd30dd2 | [log] [tgz] |
---|---|---|
author | Kealan McCusker <kealanmccusker@gmail.com> | Fri Apr 23 14:54:05 2021 +0100 |
committer | Kealan McCusker <kealanmccusker@gmail.com> | Fri Apr 23 14:54:05 2021 +0100 |
tree | 197d946e6651cbd8025b08bcb1959a2557daeb26 | |
parent | 03cfc7e004e0f5dc7bb7ac34b1da442b0e5055ed [diff] |
update README
AMCL - Apache Milagro Crypto Multi-Party Computation
This library implements Multi-Party Computation (MPC) using the milargo crypto library.
In order to build this library, the following packages are required:
On Ubuntu 18.04 these packages are installed with the following commands;
sudo apt-get update sudo apt-get install -y build-essential cmake doxygen lcov python3-dev python3-pip wget git pip3 install cffi
AMCL is required
Build and install the AMCL library
./scripts/buildAMCL.sh
Build and test code.
./scripts/build.sh ./scripts/test.sh
The documentation is generated using doxygen and can accessed (post build) via the file
./build/doxygen/html/index.html
Build and run tests using docker
docker build --no-cache -t libmpc . docker run --cap-add SYS_PTRACE --rm libmpc
Generate coverage figures
docker run --rm libmpc ./scripts/coverage.sh
or copy to host
CONTAINER_ID=$(docker run --cap-add SYS_PTRACE -d libmpc ./scripts/coverage.sh) docker logs $CONTAINER_ID docker cp ${CONTAINER_ID}:"/root/target/Coverage/coverage" ./ docker rm -f ${CONTAINER_ID} || true
There is a Python wrapper in ./python. You can to specify the RSA levels to build in the wrappers using the cmake flag PYTHON_RSA_LEVELS
. Supported levels are 2048 and 4096. E.g.
cmake -DPYTHON_RSA_LEVELS="2048,4096" ..
In order for the RSA wrappers to work, the appropriate dynamic libraries need to be generated and installed for AMCL. For instance, to install the dynamic libraries for RSA 2048 and 4069, modify the AMCL cmake build as follows.
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D AMCL_CHUNK=64 -D AMCL_CURVE="BLS381,SECP256K1" -D AMCL_RSA="2048,4096" -D BUILD_PAILLIER=ON -D BUILD_PYTHON=ON -D BUILD_BLS=ON -D BUILD_WCC=OFF -D BUILD_MPIN=ON -D BUILD_X509=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..
In “./vagrant” there are configuration files to run the software on a VM