Skip to content

HElib 2.3.0, July 2023

Latest
Compare
Choose a tag to compare
@faberga faberga released this 18 Jul 14:29
3e337a6

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