• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

benchmarks/H03-May-2022-806598

ci/H23-Dec-2020-14065

cmake/H23-Dec-2020-477403

dependencies/H03-May-2022-

documentation/H03-May-2022-6,5765,506

examples/H03-May-2022-1,341820

include/helib/H23-Dec-2020-19,74110,008

misc/H23-Dec-2020-19,21612,984

src/H03-May-2022-35,09924,457

tests/H03-May-2022-21,68016,838

utils/H03-May-2022-2,7792,061

.clang-formatH A D23-Dec-20201.1 KiB1918

.dockerignoreH A D23-Dec-2020216 65

.gitignoreH A D23-Dec-2020436 4132

.travis.ymlH A D23-Dec-20203.2 KiB113102

CHANGES.mdH A D23-Dec-202013.1 KiB246187

CKKS-security.mdH A D23-Dec-202010.7 KiB6440

CODE_OF_CONDUCT.mdH A D23-Dec-20203.3 KiB7757

CONTRIBUTING.mdH A D23-Dec-20201.7 KiB3121

DockerfileH A D23-Dec-2020615 2218

INSTALL.mdH A D23-Dec-20209.1 KiB262202

ISSUES.mdH A D23-Dec-2020416 118

LICENSE.mdH A D23-Dec-202011.1 KiB208172

NOTICEH A D23-Dec-202041 42

README.mdH A D23-Dec-20202.4 KiB4838

TESTS.mdH A D23-Dec-20205.5 KiB11293

README.md

1HElib
2=====
3[![Build Status](https://travis-ci.com/homenc/HElib.svg?branch=master)](https://travis-ci.com/homenc/HElib)
4
5HElib is an open-source ([Apache License v2.0][5]) software library that
6implements [homomorphic encryption][6] (HE). Currently available schemes
7are the implementations of the [Brakerski-Gentry-Vaikuntanathan][1] (BGV)
8scheme with [bootstrapping][8] and the Approximate Number scheme of
9[Cheon-Kim-Kim-Song][9] (CKKS), along with many optimizations to make
10homomorphic evaluation run faster, focusing mostly on effective use of
11the [Smart-Vercauteren][2] ciphertext packing techniques and
12the [Gentry-Halevi-Smart][3] optimizations. See [this report][7] for a
13description of a few of the algorithms using in this library.
14
15Please refer to [CKKS-security.md](CKKS-security.md) for the latest
16discussion on the security of the the CKKS scheme implementation in HElib.
17
18Since mid-2018 HElib has been under extensive refactoring for *Reliability*,
19*Robustness & Serviceability*, *Performance*, and most importantly *Usability*
20for researchers and developers working on HE and its uses.
21
22HElib supports an *"assembly language for HE"*, providing low-level routines
23(set, add, multiply, shift, etc.), sophisticated automatic noise management,
24improved BGV bootstrapping, multi-threading, and also support for Ptxt (plaintext)
25objects which mimics the functionality of Ctxt (ciphertext) objects.
26See [CHANGES.md](CHANGES.md) for more details.
27
28Full installation instructions and a list of the required dependencies can be found
29in [INSTALL.md](INSTALL.md).
30
31If you are interested in contributing to HElib, please read our
32[Contributing Guidelines](CONTRIBUTING.md).
33
34HElib is written in C++14 and uses the [NTL mathematical library][4].
35HElib is distributed under the terms of the [Apache License v2.0][5].
36
37
38  [1]: http://eprint.iacr.org/2011/277       "BGV12"
39  [2]: http://eprint.iacr.org/2011/133       "SV11"
40  [3]: http://eprint.iacr.org/2012/099       "GHS12"
41  [4]: http://www.shoup.net/ntl/             "NTL"
42  [5]: http://www.apache.org/licenses/LICENSE-2.0  "Apache-v2.0"
43  [6]: http://en.wikipedia.org/wiki/Homomorphic_encryption "Homomorphic encryption"
44  [7]: http://eprint.iacr.org/2014/106       "algorithms"
45  [8]: http://eprint.iacr.org/2014/873       "bootstrapping"
46  [9]: http://eprint.iacr.org/2016/421       "CKKS16"
47  [10]: https://github.com/homenc/HElib      "GitHubPages"
48