Releases: homenc/HElib
HElib 2.3.0, July 2023
HElib 2.3.0, July 2023
(tagged as v2.3.0)
-
Added support for processing queries with the NOT operator homomorphically.
-
Introduced the NOT Expr, and a corresponding inline NOT QueryExpr Within the weights, or CNF, framework:
- Extensions to the ExpandOr() function to queries with NOT operators, via a new function negate()
- New function Tidy() which eliminates duplicate columns in inner clauses, or columns and their negation in inner clauses that can be created by squashing ORs. It also eliminates empty clauses,
- Put the code from build() which constructed the corresponding weights into a new function buildWeights(), and extended this to the case there are negations of columns
- New framework which evaluates queries homomorphically directly from the string:
- New function removeOr() within the QueryBuilder class which generates a new query string which is logically equivalent, but only has Ands and Nots
- Overloaded contains() function that takes a string instead of a QueryType, and evaluates the RPN directly using a stack of ciphertexts
-
Updated CI
- Deprecated build&test on Ubuntu 20.04
- Updated build&test on Ubuntu 22.04
- Added build&test on macOS 12 and MacOS13
-
Bug Fixes
Co-authored-by: @TabOg
Co-authored-by: @faberga
Co-authored-by: @jlhcrawford
Co-authored-by: @hamishun
HElib 2.2.2, December 2022
(tagged as v2.2.2)
Bug Fixes
- Fix for clang 14 error
- Minor fix in multiplyPtxt
- Fix Queryambigous OR
- Fix in partialMatch
Updates
- Optimizations of Frobenius automorphisms
- Multi-threaded reader for PSI iO
- Update HEXL version
- Update CI to latest gcc + clang compilers
- Update CI to test on Ubuntu 22.04
- Make assignment of contains Or stick in query builder
- Extension of HElib's PSI/partial match engine to add functionality that allows HEQL queries to be passed in at runtime via strings.
- IO utility for databases and queries
- Documentation updates
Co-authored-by: @jlhcrawford
Co-authored-by: @TabOg
Co-authored-by: @hamishun
Co-authored-by: @faberga
Co-Authored-by: @sajetan
Full Changelog: v2.2.1...v2.2.2
HElib 2.2.1, October 2021
(tagged as v2.2.1)
- Improved NTT benchmark code
- CI update
- Improvements to partial match logic
- Bug fixes
Co-authored-by: @fboemer
Co-authored-by: @jlhcrawford
Co-authored-by: @hamishun
HElib 2.2.0, September 2021
HElib 2.2.0, September 2021
(tagged as v2.2.0)
- Intel HEXL integration (experimental)
- HEXL NTT acceleration for m as a power of 2
- HEXL acceleration to fundamental ciphertext operations
- Documentation update
- Update NTL dependency to version 11.5.1
- Update GMP dependency to version 6.2.1
- Updates to benchmarks
- Bug fixes
Co-authored-by: @hamishun
Co-authored-by: @jlhcrawford
Co-authored-by: @faberga
Co-authored-by: @fboemer
HElib 2.1.0, March 2021
HElib 2.1.0, March 2021
(tagged as v2.1.0)
- Deprecated APIs
- Documentation update: deprecated list
- Marked functions as deprecated
- Updated examples
- Documentation update: PtxtArray JSON IO
- Bug fixes
Co-Authored-by: @jlhcrawford
Co-Authored-by: @dubek
Co-Authored-by: @mhillenbrand
HElib 2.0.0, January 2021
HElib 2.0.0, January 2021
(tagged as v2.0.0)
- Contains API changes that are not backwards compatible with v1.x.x
- Changes to Context API
- Must use ContextBuilder to build context
- New serialization APIs: binary and JSON
- CKKS coding tutorials
- Bug fixes
Co-Authored-by: @faberga
Co-Authored-by: @jlhcrawford
Co-Authored-by: @shaih
Co-Authored-by: @hamishun
Co-Authored-by: @victorshoup
Co-Authored-by: @esteffin
HElib 1.3.1, December 2020
HElib 1.3.1, December 2020
(tagged as v1.3.1)
December 2020
- Refactoring of CKKS Mitigation
- Re-instated
Ctxt
isCorrect - Ctxt Conjugation fix
- Added GMP and NTL alternative download locations
Co-Authored-by: Flavio Bergamaschi anadyomeni@gmx.com
Co-authored-by: Jack Crawford jack.crawford@sky.com
Co-Authored-by: Shai Halevi shaih@alum.mit.edu
Co-authored-by: Hamish Hunt hamishun@gmail.com
Co-authored-by: Victor Shoup shoup@cs.nyu.edu
Co-authored-by: Enrico Steffinlongo enrylongo@gmail.com
HElib 1.3.0, December 2020
HElib 1.3.0, December 2020
(tagged as v1.3.0)
November-December 2020
- Mitigation for the CKKS vulnerability recently observed by Li and Micciancio
- Context Builder using builder pattern
- HElib now requires C++17
Co-Authored-by: Flavio Bergamaschi anadyomeni@gmx.com
Co-authored-by: Jack Crawford jack.crawford@sky.com
Co-Authored-by: Shai Halevi shaih@alum.mit.edu
Co-authored-by: Hamish Hunt hamishun@gmail.com
Co-authored-by: Victor Shoup shoup@cs.nyu.edu
Co-authored-by: Enrico Steffinlongo enrylongo@gmail.com
HElib 1.2.0, November 2020
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:
Co-Authored-by: Flavio Bergamaschi anadyomeni@gmx.com
Co-authored-by: Jack Crawford jack.crawford@sky.com
Co-Authored-by: Shai Halevi shaih@alum.mit.edu
Co-authored-by: Hamish Hunt hamishun@gmail.com
Co-authored-by: Victor Shoup shoup@cs.nyu.edu
Co-authored-by: Enrico Steffinlongo enrylongo@gmail.com
HElib 1.1.0, October 2020
HElib 1.1.0, October 2020
(tagged as v1.1.0)
June-October 2020
- Updated & enhanced security level estimation
- Experimental Tool for computing sample parameters for CKKS
- Utils
- create-context
- encrypt/decrypt
- encode/decode examples
- Improvements to noise management
- New examples and mini-tutorial on private preserving db query
- Configurable PSI/PIR beta
- Some tools in
misc/
for code formatting and algebra generation - Improved testing procedures
- Move to CMake >= 3.10.2
- Improved documentation
- Doxygen improved look and feel
- Multi platform and multi configuration Travis-CI pipeline
Warning
messages are now logged (defaulthelib.log
)- Bug Fixes:
- CKKS divide by zero
- version.h
- compatibility with cmake 3.10.x
Co-authored-by: @faberga
Co-authored-by: @hamishun
Co-authored-by: @esteffin
Co-authored-by: @jlhcrawford
Co-authored-by: @shaih
Co-authored-by: @victorshoup