|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| benchmarks/ | H | 03-May-2022 | - | 806 | 598 |
| ci/ | H | 23-Dec-2020 | - | 140 | 65 |
| cmake/ | H | 23-Dec-2020 | - | 477 | 403 |
| dependencies/ | H | 03-May-2022 | - | | |
| documentation/ | H | 03-May-2022 | - | 6,576 | 5,506 |
| examples/ | H | 03-May-2022 | - | 1,341 | 820 |
| include/helib/ | H | 23-Dec-2020 | - | 19,741 | 10,008 |
| misc/ | H | 23-Dec-2020 | - | 19,216 | 12,984 |
| src/ | H | 03-May-2022 | - | 35,099 | 24,457 |
| tests/ | H | 03-May-2022 | - | 21,680 | 16,838 |
| utils/ | H | 03-May-2022 | - | 2,779 | 2,061 |
| .clang-format | H A D | 23-Dec-2020 | 1.1 KiB | 19 | 18 |
| .dockerignore | H A D | 23-Dec-2020 | 216 | 6 | 5 |
| .gitignore | H A D | 23-Dec-2020 | 436 | 41 | 32 |
| .travis.yml | H A D | 23-Dec-2020 | 3.2 KiB | 113 | 102 |
| CHANGES.md | H A D | 23-Dec-2020 | 13.1 KiB | 246 | 187 |
| CKKS-security.md | H A D | 23-Dec-2020 | 10.7 KiB | 64 | 40 |
| CODE_OF_CONDUCT.md | H A D | 23-Dec-2020 | 3.3 KiB | 77 | 57 |
| CONTRIBUTING.md | H A D | 23-Dec-2020 | 1.7 KiB | 31 | 21 |
| Dockerfile | H A D | 23-Dec-2020 | 615 | 22 | 18 |
| INSTALL.md | H A D | 23-Dec-2020 | 9.1 KiB | 262 | 202 |
| ISSUES.md | H A D | 23-Dec-2020 | 416 | 11 | 8 |
| LICENSE.md | H A D | 23-Dec-2020 | 11.1 KiB | 208 | 172 |
| NOTICE | H A D | 23-Dec-2020 | 41 | 4 | 2 |
| README.md | H A D | 23-Dec-2020 | 2.4 KiB | 48 | 38 |
| TESTS.md | H A D | 23-Dec-2020 | 5.5 KiB | 112 | 93 |
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