HE Contexts#

There are different HEContext objects that abstract the various libraries.

Library

HEContexts

HEaaN

HeaanContext

HElib

HelibBgvContext, HelibBitwiseBgvContext HelibCkksContext

Lattigo

LattigoContext

OpenFHE

OpenFheCkksContext

Palisade

PalisadeCkksContext, PalisadeTfheContext

SEAL

SealCkksContext

Research and debug classes#

In addition to the standard contexts, HElayers provides two contexts listed below that were design to assist a developer researching and debugging its FHE program.

Class name

Description

MockupContext

A mockup implementation of HeContext without any cryptography. It allows fast runs for testing.

DebugContext

An implementation of HeContext that allows comparing other HeContexts. It is configured with two other pre-initialized HeContext objects (e.g., one for a cryptographic library and one for the mockup), delegates all calls to both of them, and compares the results. Useful for example for tracing CKKS noise, to see which steps cause it to build up the most, or to detect problems in the HE system configuration, pinpointing where the computation goes wrong.