HElib Versions Save

HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.

v2.3.0

10 months ago

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

v2.2.2

1 year ago

(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: https://github.com/homenc/HElib/compare/v2.2.1...v2.2.2

v2.2.1

2 years ago

(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

v2.2.0

2 years ago

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

v2.1.0

3 years ago

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

v2.0.0

3 years ago

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

v1.3.1

3 years ago

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 [email protected] Co-authored-by: Jack Crawford [email protected] Co-Authored-by: Shai Halevi [email protected] Co-authored-by: Hamish Hunt [email protected] Co-authored-by: Victor Shoup [email protected] Co-authored-by: Enrico Steffinlongo [email protected]

v1.3.0

3 years ago

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 [email protected] Co-authored-by: Jack Crawford [email protected] Co-Authored-by: Shai Halevi [email protected] Co-authored-by: Hamish Hunt [email protected] Co-authored-by: Victor Shoup [email protected] Co-authored-by: Enrico Steffinlongo [email protected]

v1.2.0

3 years ago

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 [email protected] Co-authored-by: Jack Crawford [email protected] Co-Authored-by: Shai Halevi [email protected] Co-authored-by: Hamish Hunt [email protected] Co-authored-by: Victor Shoup [email protected] Co-authored-by: Enrico Steffinlongo [email protected]

v1.1.0

3 years ago

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 (default helib.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