You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.5 KiB
1.5 KiB
mcl
A class library of finite field and elliptic curve.
Abstract
This is a library to make a protocol for elliptic curve cryptography.
Installation Requirements
Create a working directory (e.g., work) and clone the following repositories.
mkdir work
cd work
git clone git://github.com/herumi/xbyak.git
git clone git://github.com/herumi/cybozulib.git
git clone git://github.com/herumi/cybozulib_ext.git
- Cybozulib_ext is a prerequisite for running OpenSSL and GMP on VC (Visual C++).
- Xbyak is a prerequisite for optimizing the operations in the finite field on Intel CPUs.
- OpenSSL and libgmp-dev are available via apt-get (or other similar commands) if using Linux.
Build and test
To make lib/libmcl.a and test, run
make test
To make sample programs, run
make sample
Build for 32-bit Linux
Build openssl and gmp for 32-bit mode and install
cd mcl
make BIT=32 CFLAGS_USER="-I <lib32>/include" LDFLAGS_USER="-L <lib32>/lib -Wl,-rpath,<lib32>/lib"
Build for 64-bit Windows
open mcl.sln and build or if you have msbuild.exe
msbuild /p:Configuration=Release
License
modified new BSD License http://opensource.org/licenses/BSD-3-Clause
The original source of the followings are https://github.com/aistcrypt/Lifted-ElGamal . These files are licensed by BSD-3-Clause and are used for only tests.
include/mcl/elgamal.hpp
include/mcl/window_method.hpp
test/elgamal_test.cpp
test/window_method_test.cpp
sample/vote.cpp
Author
MITSUNARI Shigeo(herumi@nifty.com)