General Public Key Encryption (PKE) documentation

Page Contents

File Listings

Ciphertext (ciphertext.h)

  • for the representation of ciphertext in OpenFHE

  • provides CiphertextImpl which is used to contain encrypted text

Ciphertext Serialization (ciphertext-ser.h)

  • exposes serialization methods for ciphertexts to USCiLab - cereal

  • must be included any time we need ciphertext serialization

Constants (constants.h)

  • Contains the various constants used throughout the PKE module

CryptoContext Factory (cryptocontextfactory.h)

  • Generates new CryptoContexts from user parameters

CryptoContext (cryptocontext.h)

  • defines CryptoContextImpl, which is used to access the OpenFHE library

  • all OpenFHE objects are created “within” a CryptoContext which acts like an object “manager”. Objects can only be used in the context they were created in

CryptoContext Serialization (cryptocontext-ser.h)

  • exposes serialization methods for CryptoContext to USCiLab - cereal

  • must be included any time we need CryptoContext serialization

CryptoContext Object (cryptoobject.h)

  • comprises a context, and keytag:

    • context: CryptoContext this object belongs to

    • keytag: tag that is used to find the evaluation key needed for various operations

CryptoContext Generator (gen-cryptocontext.h)

  • Constructs CryptoContext based on the provided set of parameters

Global Values (globals.h)

  • Global value definitions

Metadata Container (metadata.h)

  • metadata container and helper function definition

Metadata Serialization (metadata-ser.h)

  • exposes serialization methods for Metadata to USCiLab - cereal

  • must be included any time we need Metadata serialization

OpenFHE Top-Level Include (openfhe.h)

  • Top-level #include for access to all capabilities