aboutsummaryrefslogtreecommitdiffstats
path: root/readme.md
blob: 52ad8d2786f528553f78520ba6a266b534f88c1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 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
```

# License

modified new BSD License
http://opensource.org/licenses/BSD-3-Clause

The original source of the followings are git://github.com/aistcrypt/Lifted-ElGamal.git .
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)