From 9cec8a2dcf4d9607e8c45c61ab1a3a55ed33dfc9 Mon Sep 17 00:00:00 2001 From: Flavio Bergamaschi Date: Wed, 18 Nov 2020 11:58:05 -0500 Subject: [PATCH] V1.2 Release HElib 1.2.0, November 2020 ========================= (tagged as v1.2.0) October-November 2020 --------------------- * Mitigation for potential CKKS vulnerability. * Additional API changes for parameters to the CKKS encoding functions. * New infrastructure for benchmarks * Updated ClonedPtr * Additional Ctxt tests * Bug Fixes: --- CHANGES.md | 13 +++++++++++++ INSTALL.md | 6 +++--- README.md | 2 +- examples/README.md | 5 ++++- src/Ctxt.cpp | 2 +- utils/README.md | 5 ++++- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 43e624ff2..31b741460 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,16 @@ +HElib 1.2.0, November 2020 +========================= +(tagged as v1.2.0) + +October-November 2020 +--------------------- +* Mitigation for potential CKKS vulnerability. +* Additional API changes for parameters to the CKKS encoding functions. +* New infrastructure for benchmarks +* Updated ClonedPtr +* Additional Ctxt tests +* Bug Fixes + HElib 1.1.0, October 2020 ========================= (tagged as v1.1.0) diff --git a/INSTALL.md b/INSTALL.md index e5e83ac75..e8950cc6d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,8 +1,8 @@ # Building and installing HElib The HElib build, install, and regression tests suite have been built and tested -on Ubuntu 18.04, Ubuntu 20.04, Fedora 31, Fedora 32, CentOS 7.7, CentOS 8.1, -and macOS Mojave 10.14. +on Ubuntu 18.04, Ubuntu 20.04, Fedora 32, Fedora 33, CentOS 7.8, CentOS 8.2, +macOS Mojave >=10.14.6, and macOS Catalina >=10.15.7. There are two different ways to build and install HElib. The first one will automatically download and build the GMP and NTL dependencies and pack the @@ -23,7 +23,7 @@ dependencies to be installed by you and available in the system. - cmake >= 3.10.2 **macOS environment:** -- Apple clang >= 11.0.0 (available with Xcode >= 11.0) +- Apple clang >= 11.0.0 (available with the latest Xcode for the tested versions of macOS) - Xcode Command Line Tools (can be installed with the command `xcode-select --install` in a teminal) - cmake >= 3.17.3 (available from [CMake](https://cmake.org/) or [MacPorts diff --git a/README.md b/README.md index 2e70cc60f..0e23d992e 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ HElib supports an *"assembly language for HE"*, providing low-level routines (set, add, multiply, shift, etc.), sophisticated automatic noise management, improved BGV bootstrapping, multi-threading, and also support for Ptxt (plaintext) objects which mimics the functionality of Ctxt (ciphertext) objects. -See [changes.md](changes.md) for more details. +See [CHANGES.md](CHANGES.md) for more details. Full installation instructions and a list of the required dependencies can be found in [INSTALL.md](INSTALL.md). diff --git a/examples/README.md b/examples/README.md index 68e48564d..2ea277836 100644 --- a/examples/README.md +++ b/examples/README.md @@ -33,6 +33,9 @@ make [-j] The executables for each of the example programs can be found in the `bin` directory. +All tests for the examples are written in bats (a test framework for bash) and +require [bats-core](https://github.com/bats-core/bats-core/releases/tag/v1.2.1). + ## Running the examples All examples have a help method by passing the `-h` flag, for example @@ -55,7 +58,7 @@ lookup on countries and their capitals, more information on this can be found ## Running the tests All tests for the examples are written in bats (a test framework for bash) -and requires [bats-core](https://github.com/bats-core/bats-core). +and require [bats-core](https://github.com/bats-core/bats-core/releases/tag/v1.2.1). Note that the tests require that the examples have been successfully compiled in the `build` directory and available in `build/bin`. To run the tests, one diff --git a/src/Ctxt.cpp b/src/Ctxt.cpp index 2a23f1b31..f919c7f68 100644 --- a/src/Ctxt.cpp +++ b/src/Ctxt.cpp @@ -1598,7 +1598,7 @@ IndexSet Ctxt::naturalPrimeSet() const return retval; } -// This is essentially operator*=, but with an extra parameter +// Low-level multiply routine. It does not include re-linearization. void Ctxt::multLowLvl(const Ctxt& other_orig, bool destructive) { HELIB_TIMER_START; diff --git a/utils/README.md b/utils/README.md index 44187355a..6161e6451 100644 --- a/utils/README.md +++ b/utils/README.md @@ -49,6 +49,9 @@ The create-context, encrypt and decrypt utility executables can be found in the `bin` directory. The example encoder and decoder are found in a separate directory in `/coders`. +All tests for the utilities are written in bats (a test framework for bash) +and require [bats-core](https://github.com/bats-core/bats-core/releases/tag/v1.2.1). + ## Running the utilities All utilities have a help method by passing the `-h` flag, for example @@ -172,7 +175,7 @@ The example decoder outputs the decoded data to the standard output by default. ## Running the tests All tests for the utilities are written in bats (a test framework for bash) -and requires [bats-core](https://github.com/bats-core/bats-core). +and require [bats-core](https://github.com/bats-core/bats-core). Note that the tests require that the utilities have been successfully compiled in the `build` directory and available in `build/bin`. To run the tests, one