Boolean FHE (BinFHE) documentation ==================================== .. contents:: Page Contents :local: `Github Source `_: Implements the following Boolean circuit evaluation schemes: - `Ducas-Micciancio (DM or FHEW) `_ - `Chillotti-Gama-Georgieva-Izabachene (CGGI or TFHE) `_ - `Lee-Micciancio-Kim-Choi-Deryabin-Eom-Yoo (LMKCDEY) `_ `Github Source PKE `_: Implements the public key encryption (pke) version of the boolean examples. File Listings ----------------------- `Boolean FHE CryptoContext Serialization (binfhecontext-ser.h) `_ - Adds serialization support to Boolean Circuit FHE `Boolean FHE CryptoContext (binfhecontext.h) `_ - CryptoContext for the boolean circuit FHE scheme. - A CryptoContext is the primary object through which we interact with the various ``OpenFHE`` capabilities .. note:: various parameter ``enum`` are also provided - ``BINFHEPARAMSET`` that defines the security level and parameters - ``BINFHE_METHOD`` to choose the bootstrapping method: AP (DM/FHEW scheme) or GINX (CGGI/TFHE scheme) - ``BINFHE_OUTPUT`` specifies whether fresh ciphertext should be bootstrapped. The FRESH and BOOTSTRAPPED are now obsolete but kept for backward compatibility. This option is now used to specify LARGE_DIM (ciphertext of dimension N) or SMALL_DIM (ciphertext of dimension n after modswitch and keyswitch) - ``KEYGEN_MODE`` specifies if a public key along with the bootstrapping keys are generated `DM/CGGI Cryptosystem (binfhe-base-scheme) `_ - The main cryptosystem implementation used for DM/CGGI schemes - The scheme is described in `Bootstrapping in FHEW-like Cryptosystems `_ from Daniele Micciancio and Yuriy Polyakov as published in Cryptology ePrint Archive, Report 2020/086 `Parameters for DM/CGGI Cryptosystem (binfhe-base-params) `_ - Stores the parameters for all cryptographic schemes, including LWE, RLWE, and RGSW `Constants for DM/CGGI Cryptosystem (binfhe-base-params) `_ - Defines all options for ``BINFHEPARAMSET``, ``BINFHE_METHOD``, and ``BINFHE_OUTPUT`` enums `LWE Ciphertext (lwe-ciphertext) `_ `LWE Crypto Parameters (lwe-cryptoparameters) `_ `LWE Switching Key (lwe-keyswitchkey) `_ `LWE Scheme (lwe-pke) `_ `LWE Private Key (lwe-privatekey) `_ `LWE Public Key (lwe-publickey) `_ `LWE Key Pair (lwe-keypair) `_ `Parent RGSW Accumulator Scheme (rgsw-acc) `_ `CGGI RGSW Accumulator Scheme (rgsw-acc-cggi) `_ `DM RGSW Accumulator Scheme (rgsw-acc-dm) `_ `RGSW Refreshing Key (rgsw-acckey) `_ `RGSW Crypto Parameters (rgsw-cryptoparameters) `_ `RGSW Evaluation Key/Ciphertext (rgsw-evalkey) `_ `RLWE Ciphertext (rlwe-ciphertext) `_