{
  "_id": "6a2d08243efcd9bda42ed486",
  "Package": "openfhe",
  "Title": "R Interface to the OpenFHE Fully Homomorphic Encryption Library",
  "Version": "1.5.1",
  "Authors@R": "c(\nperson(\"Balasubramanian\", \"Narasimhan\", email = \"naras@stanford.edu\",\nrole = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0001-5852-7639\")),\nperson(\"Authors of the OpenFHE C++ library\", role = c(\"ctb\", \"cph\"))\n)",
  "Description": "Provides an R interface to the OpenFHE C++ library for\nfully homomorphic encryption (FHE). Supports BFV, BGV, and CKKS\nschemes for computation on encrypted data, as well as FHEW/TFHE\nfor Boolean circuit evaluation.",
  "License": "BSD_2_clause + file LICENSE",
  "URL": "https://bnaras.github.io/openfhe/",
  "BugReports": "https://github.com/bnaras/fhe/issues",
  "VignetteBuilder": "knitr",
  "SystemRequirements": "cmake (>= 3.16), GNU make, C++17",
  "Collate": "'openfhe-package.R' 'cpp11.R' 'openfhe-object.R' 'enums.R'\n'generics.R' 'element-params.R' 'crypto-parameters.R'\n'encoding-params.R' 'params.R' 'params-getters.R' 'context.R'\n'cryptocontext-getters.R' 'keys.R' 'plaintext.R'\n'plaintext-accessors.R' 'ciphertext.R' 'ciphertext-accessors.R'\n'methods-encrypt.R' 'methods-eval.R' 'methods-eval-9111.R'\n'methods-ckks.R' 'multiparty.R' 'eval-key-map.R'\n'secret-sharing.R' 'interactive-bootstrap.R' 'binfhe.R'\n'serialization.R' 'operators.R' 'tolerance.R' 'utils.R' 'zzz.R'",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "cmake make",
  "Repository": "https://bnaras.r-universe.dev",
  "Date/Publication": "2026-06-13 05:01:20 UTC",
  "RemoteUrl": "https://github.com/bnaras/openfhe",
  "RemoteRef": "HEAD",
  "RemoteSha": "c960bff486d623896297e73326d9ffeff1a081e5",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-13 07:06:48 UTC",
    "User": "root"
  },
  "Author": "Balasubramanian Narasimhan [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-5852-7639>),\nAuthors of the OpenFHE C++ library [ctb, cph]",
  "Maintainer": "Balasubramanian Narasimhan <naras@stanford.edu>",
  "MD5sum": "33b3f4ae61416131d7158c5113d0031b",
  "_user": "bnaras",
  "_type": "src",
  "_file": "openfhe_1.5.1.tar.gz",
  "_fileid": "82cdb1d8f2e455e20afa4c77f793a29899b8d7971b2a99d32c82dc94acd7f4e6",
  "_filesize": 1842252,
  "_sha256": "82cdb1d8f2e455e20afa4c77f793a29899b8d7971b2a99d32c82dc94acd7f4e6",
  "_created": "2026-06-13T07:06:48.000Z",
  "_published": "2026-06-13T07:35:00.785Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 81171969712,
      "time": 566,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7608582420"
    },
    {
      "job": 81171969725,
      "time": 615,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7608589128"
    },
    {
      "job": 81171969719,
      "time": 626,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608590326"
    },
    {
      "job": 81171969727,
      "time": 611,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608589618"
    },
    {
      "job": 81171969718,
      "time": 755,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7608631201"
    },
    {
      "job": 81171969721,
      "time": 1106,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7608677149"
    },
    {
      "job": 81171969710,
      "time": 539,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608582833"
    },
    {
      "job": 81171969714,
      "time": 1062,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608668534"
    },
    {
      "job": 81170832213,
      "time": 1120,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608506046"
    },
    {
      "job": 81171969693,
      "time": 105,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 81171969698,
      "time": 989,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7608643689"
    },
    {
      "job": 81171969709,
      "time": 986,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7608643378"
    },
    {
      "job": 81171969715,
      "time": 1042,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7608651060"
    }
  ],
  "_buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/bnaras/openfhe",
  "_commit": {
    "id": "c960bff486d623896297e73326d9ffeff1a081e5",
    "author": "Balasubramanian Narasimhan <b.naras@gmail.com>",
    "committer": "Balasubramanian Narasimhan <b.naras@gmail.com>",
    "message": "Prune unused Suggests, credit OpenFHE C++ authors, clarify homomorpheR companion version\n",
    "time": 1781326880
  },
  "_maintainer": {
    "name": "Balasubramanian Narasimhan",
    "email": "naras@stanford.edu",
    "login": "bnaras",
    "description": "",
    "uuid": 3030361,
    "orcid": "0000-0001-5852-7639"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.3.0",
      "role": "Depends"
    },
    {
      "package": "cpp11",
      "version": ">= 0.4.2",
      "role": "LinkingTo"
    },
    {
      "package": "S7",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "bnaras",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-16",
      "n": 9
    },
    {
      "week": "2026-18",
      "n": 4
    },
    {
      "week": "2026-24",
      "n": 8
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "bnaras",
      "count": 21,
      "uuid": 3030361
    }
  ],
  "_userbio": {
    "uuid": 3030361,
    "type": "user",
    "name": "Balasubramanian Narasimhan"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/openfhe"
  },
  "_devurl": "https://github.com/bnaras/fhe",
  "_pkgdown": "https://bnaras.github.io/openfhe/",
  "_searchresults": 49,
  "_topics": [
    "cpp",
    "openmp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/openfhe.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "BFVParams",
    "BGVParams",
    "bin_bt_key_gen",
    "bin_decrypt",
    "bin_encrypt",
    "bin_fhe_context",
    "bin_key_gen",
    "BinFHEMethod",
    "BinFHEOutput",
    "BinFHEParamSet",
    "BinGate",
    "Ciphertext",
    "ckks_scaling_factor_bits",
    "CKKSDataType",
    "CKKSParams",
    "clear_eval_automorphism_keys",
    "clear_eval_mult_keys",
    "clear_fhe_state",
    "clear_static_maps_and_vectors",
    "compress",
    "CompressionLevel",
    "CryptoContext",
    "CryptoParameters",
    "decrypt",
    "DecryptionNoiseMode",
    "deserialize_eval_keys",
    "DistributionType",
    "ElementParams",
    "enable_feature",
    "EncodingParams",
    "encrypt",
    "EncryptionTechnique",
    "eval_add",
    "eval_add_in_place",
    "eval_add_mutable",
    "eval_at_index_key_gen",
    "eval_automorphism",
    "eval_automorphism_key_gen",
    "eval_bin_gate",
    "eval_bootstrap",
    "eval_bootstrap_key_gen",
    "eval_bootstrap_setup",
    "eval_chebyshev",
    "eval_chebyshev_coefficients",
    "eval_chebyshev_function",
    "eval_chebyshev_linear",
    "eval_chebyshev_ps",
    "eval_cos",
    "eval_divide",
    "eval_fast_rotation",
    "eval_fast_rotation_ext",
    "eval_fast_rotation_precompute",
    "eval_floor",
    "eval_func",
    "eval_logistic",
    "eval_mult",
    "eval_mult_and_relinearize",
    "eval_mult_in_place",
    "eval_mult_key_gen",
    "eval_mult_mutable",
    "eval_mult_no_relin",
    "eval_negate",
    "eval_negate_in_place",
    "eval_not",
    "eval_poly",
    "eval_poly_linear",
    "eval_poly_ps",
    "eval_rotate",
    "eval_rotate_key_gen",
    "eval_sign",
    "eval_sin",
    "eval_square",
    "eval_square_mutable",
    "eval_sub",
    "eval_sub_in_place",
    "eval_sub_mutable",
    "eval_sum",
    "eval_sum_key_gen",
    "EvalKey",
    "EvalKeyMap",
    "ExecutionMode",
    "FastRotationPrecomputation",
    "Feature",
    "fhe_ckks_tolerance",
    "fhe_context",
    "fhe_deserialize",
    "fhe_serialize",
    "find_automorphism_index",
    "find_automorphism_indices",
    "generate_lut_via_function",
    "get_all_eval_automorphism_keys",
    "get_all_eval_mult_keys",
    "get_all_eval_sum_keys",
    "get_batch_size",
    "get_bootstrap_depth",
    "get_ckks_boot_correction_factor",
    "get_ckks_data_type",
    "get_coef_packed_value",
    "get_complex_packed_value",
    "get_composite_degree",
    "get_crypto_context",
    "get_crypto_parameters",
    "get_cyclotomic_order",
    "get_decryption_noise_mode",
    "get_desired_precision",
    "get_digit_size",
    "get_element_params",
    "get_element_ring_dimension",
    "get_encoding_params",
    "get_encoding_type",
    "get_encryption_technique",
    "get_eval_add_count",
    "get_eval_automorphism_key_map",
    "get_eval_mult_key_vector",
    "get_eval_sum_key_map",
    "get_execution_mode",
    "get_first_mod_size",
    "get_formatted_values",
    "get_interactive_boot_compression_level",
    "get_key_gen_level",
    "get_key_switch_count",
    "get_key_switch_technique",
    "get_key_tag",
    "get_length",
    "get_level",
    "get_log_error",
    "get_log_precision",
    "get_max_plaintext_space",
    "get_max_relin_sk_deg",
    "get_multiparty_mode",
    "get_multiplication_technique",
    "get_multiplicative_depth",
    "get_native_int",
    "get_noise_estimate",
    "get_noise_scale_deg",
    "get_num_adversarial_queries",
    "get_num_large_digits",
    "get_packed_value",
    "get_plaintext_modulus",
    "get_pre_mode",
    "get_pre_num_hops",
    "get_real_packed_value",
    "get_register_word_size",
    "get_ring_dim",
    "get_scaling_factor",
    "get_scaling_factor_int",
    "get_scaling_factor_real",
    "get_scaling_mod_size",
    "get_scaling_technique",
    "get_scheme",
    "get_scheme_id",
    "get_secret_key_dist",
    "get_security_level",
    "get_slots",
    "get_standard_deviation",
    "get_statistical_security",
    "get_string_value",
    "get_threshold_num_of_parties",
    "high_bound",
    "insert_eval_automorphism_key",
    "insert_eval_mult_key",
    "insert_eval_sum_key",
    "int_boot_add",
    "int_boot_adjust_scale",
    "int_boot_decrypt",
    "int_boot_encrypt",
    "int_mp_boot_add",
    "int_mp_boot_adjust_scale",
    "int_mp_boot_decrypt",
    "int_mp_boot_encrypt",
    "int_mp_boot_random_element_gen",
    "is_encoded",
    "is_good",
    "key_gen",
    "key_switch_down",
    "KeygenMode",
    "KeyPair",
    "KeySwitchTechnique",
    "level_reduce",
    "level_reduce_in_place",
    "low_bound",
    "LWECiphertext",
    "LWEPrivateKey",
    "make_ckks_packed_plaintext",
    "make_coef_packed_plaintext",
    "make_packed_plaintext",
    "mod_reduce",
    "mod_reduce_in_place",
    "multi_add_eval_automorphism_keys",
    "multi_add_eval_keys",
    "multi_add_eval_mult_keys",
    "multi_add_eval_sum_keys",
    "multi_add_pub_keys",
    "multi_eval_at_index_key_gen",
    "multi_eval_automorphism_key_gen",
    "multi_eval_sum_key_gen",
    "multi_key_switch_gen",
    "multiparty_decrypt_fusion",
    "multiparty_decrypt_lead",
    "multiparty_decrypt_main",
    "multiparty_key_gen",
    "MultipartyMode",
    "MultiplicationTechnique",
    "OpenFHEObject",
    "Plaintext",
    "plaintext_params_hash",
    "PlaintextEncodings",
    "PREMode",
    "PrivateKey",
    "PublicKey",
    "recover_shared_key",
    "relinearize",
    "rescale",
    "ring_dimension",
    "ScalingTechnique",
    "SchemeId",
    "SecretKeyDist",
    "SecretShareMap",
    "SecurityLevel",
    "serialize_eval_keys",
    "set_ckks_boot_correction_factor",
    "set_ckks_data_type",
    "set_int_vector_value",
    "set_key_gen_level",
    "set_key_tag",
    "set_length",
    "set_level",
    "set_noise_scale_deg",
    "set_scaling_factor",
    "set_scaling_factor_int",
    "set_slots",
    "set_string_value",
    "share_keys",
    "threshold_decrypt",
    "with_fhe_context"
  ],
  "_help": [
    {
      "page": "openfhe-package",
      "title": "openfhe: R Interface to the OpenFHE Fully Homomorphic Encryption Library",
      "topics": [
        "openfhe-package",
        "openfhe"
      ]
    },
    {
      "page": "BFVParams",
      "title": "BFV Parameters",
      "topics": [
        "BFVParams"
      ]
    },
    {
      "page": "BGVParams",
      "title": "BGV Parameters",
      "topics": [
        "BGVParams"
      ]
    },
    {
      "page": "bin_bt_key_gen",
      "title": "Generate BinFHE bootstrapping keys",
      "topics": [
        "bin_bt_key_gen"
      ]
    },
    {
      "page": "bin_decrypt",
      "title": "Decrypt a Binary FHE ciphertext",
      "topics": [
        "bin_decrypt"
      ]
    },
    {
      "page": "bin_encrypt",
      "title": "Encrypt a value for Binary FHE",
      "topics": [
        "bin_encrypt"
      ]
    },
    {
      "page": "bin_fhe_context",
      "title": "Create a Binary FHE context",
      "topics": [
        "bin_fhe_context"
      ]
    },
    {
      "page": "bin_key_gen",
      "title": "Generate BinFHE secret key",
      "topics": [
        "bin_key_gen"
      ]
    },
    {
      "page": "BinFHEMethod",
      "title": "Binary FHE Methods Source: binfhe/binfhe-constants.h enum BINFHE_METHOD",
      "topics": [
        "BinFHEMethod"
      ]
    },
    {
      "page": "BinFHEOutput",
      "title": "Binary FHE Output Types Source: binfhe/binfhe-constants.h enum BINFHE_OUTPUT",
      "topics": [
        "BinFHEOutput"
      ]
    },
    {
      "page": "BinFHEParamSet",
      "title": "Binary FHE Parameter Sets Source: binfhe/binfhe-constants.h enum BINFHE_PARAMSET (sequential from 0)",
      "topics": [
        "BinFHEParamSet"
      ]
    },
    {
      "page": "BinGate",
      "title": "Binary Gate Types Source: binfhe/binfhe-constants.h enum BINGATE (sequential from 0)",
      "topics": [
        "BinGate"
      ]
    },
    {
      "page": "ccparams_getters",
      "title": "CCParams getters (all schemes)",
      "topics": [
        "ccparams_getters",
        "get_batch_size",
        "get_ckks_data_type",
        "get_composite_degree",
        "get_decryption_noise_mode",
        "get_desired_precision",
        "get_digit_size",
        "get_encryption_technique",
        "get_eval_add_count",
        "get_execution_mode",
        "get_first_mod_size",
        "get_interactive_boot_compression_level",
        "get_key_switch_count",
        "get_key_switch_technique",
        "get_max_relin_sk_deg",
        "get_multiparty_mode",
        "get_multiplication_technique",
        "get_multiplicative_depth",
        "get_noise_estimate",
        "get_num_adversarial_queries",
        "get_num_large_digits",
        "get_plaintext_modulus",
        "get_pre_mode",
        "get_pre_num_hops",
        "get_register_word_size",
        "get_ring_dim",
        "get_scaling_mod_size",
        "get_scaling_technique",
        "get_scheme",
        "get_secret_key_dist",
        "get_security_level",
        "get_standard_deviation",
        "get_statistical_security",
        "get_threshold_num_of_parties"
      ]
    },
    {
      "page": "Ciphertext",
      "title": "Ciphertext class",
      "topics": [
        "Ciphertext"
      ]
    },
    {
      "page": "ckks_scaling_factor_bits",
      "title": "CKKS scaling-mod-size in bits",
      "topics": [
        "ckks_scaling_factor_bits"
      ]
    },
    {
      "page": "CKKSDataType",
      "title": "CKKS Data Type Source: pke/constants-defs.h enum CKKSDataType",
      "topics": [
        "CKKSDataType"
      ]
    },
    {
      "page": "CKKSParams",
      "title": "CKKS Parameters",
      "topics": [
        "CKKSParams"
      ]
    },
    {
      "page": "clear_eval_automorphism_keys",
      "title": "Clear the EvalAutomorphism key cache",
      "topics": [
        "clear_eval_automorphism_keys"
      ]
    },
    {
      "page": "clear_eval_mult_keys",
      "title": "Clear the EvalMult key cache",
      "topics": [
        "clear_eval_mult_keys"
      ]
    },
    {
      "page": "clear_fhe_state",
      "title": "Clear cached evaluation keys and contexts",
      "topics": [
        "clear_fhe_state"
      ]
    },
    {
      "page": "clear_static_maps_and_vectors",
      "title": "Clear OpenFHE static maps and vectors",
      "topics": [
        "clear_static_maps_and_vectors"
      ]
    },
    {
      "page": "compress",
      "title": "Compress a ciphertext to fewer towers",
      "topics": [
        "compress"
      ]
    },
    {
      "page": "CompressionLevel",
      "title": "Compression Level (interactive multi-party bootstrap) Source: pke/constants-defs.h enum CompressionLevel NOTE: values start at 2, not 0. The header comment explains that compression levels 0 and 1 are not supported and the values are not renumbered.",
      "topics": [
        "CompressionLevel"
      ]
    },
    {
      "page": "CryptoContext",
      "title": "Crypto Context",
      "topics": [
        "CryptoContext"
      ]
    },
    {
      "page": "CryptoParameters",
      "title": "Crypto Parameters (opaque)",
      "topics": [
        "CryptoParameters"
      ]
    },
    {
      "page": "decrypt",
      "title": "Decrypt a ciphertext",
      "topics": [
        "decrypt"
      ]
    },
    {
      "page": "DecryptionNoiseMode",
      "title": "Decryption Noise Mode Source: pke/constants-defs.h enum DecryptionNoiseMode",
      "topics": [
        "DecryptionNoiseMode"
      ]
    },
    {
      "page": "deserialize_eval_keys",
      "title": "Deserialize evaluation keys from file",
      "topics": [
        "deserialize_eval_keys"
      ]
    },
    {
      "page": "DistributionType",
      "title": "Distribution Type (lattice parameters) Source: core/lattice/stdlatticeparms.h enum DistributionType",
      "topics": [
        "DistributionType"
      ]
    },
    {
      "page": "ElementParams",
      "title": "Element Parameters (opaque)",
      "topics": [
        "ElementParams"
      ]
    },
    {
      "page": "enable_feature",
      "title": "Enable a feature on a CryptoContext",
      "topics": [
        "enable_feature"
      ]
    },
    {
      "page": "EncodingParams",
      "title": "Encoding Parameters (opaque)",
      "topics": [
        "EncodingParams"
      ]
    },
    {
      "page": "encrypt",
      "title": "Encrypt a plaintext",
      "topics": [
        "encrypt"
      ]
    },
    {
      "page": "EncryptionTechnique",
      "title": "Encryption Technique Source: pke/constants-defs.h enum EncryptionTechnique",
      "topics": [
        "EncryptionTechnique"
      ]
    },
    {
      "page": "eval_add",
      "title": "Homomorphic addition",
      "topics": [
        "eval_add"
      ]
    },
    {
      "page": "eval_add_in_place",
      "title": "Homomorphic addition in place",
      "topics": [
        "eval_add_in_place"
      ]
    },
    {
      "page": "eval_add_mutable",
      "title": "Homomorphic add, mutable variant",
      "topics": [
        "eval_add_mutable"
      ]
    },
    {
      "page": "eval_at_index_key_gen",
      "title": "Generate at-index (rotation) keys for a secret key",
      "topics": [
        "eval_at_index_key_gen"
      ]
    },
    {
      "page": "eval_automorphism",
      "title": "Apply an automorphism to a ciphertext",
      "topics": [
        "eval_automorphism"
      ]
    },
    {
      "page": "eval_automorphism_key_gen",
      "title": "Generate automorphism evaluation keys for a set of indices",
      "topics": [
        "eval_automorphism_key_gen"
      ]
    },
    {
      "page": "eval_bin_gate",
      "title": "Evaluate a binary gate on encrypted values",
      "topics": [
        "eval_bin_gate"
      ]
    },
    {
      "page": "eval_bootstrap",
      "title": "Perform CKKS bootstrapping",
      "topics": [
        "eval_bootstrap"
      ]
    },
    {
      "page": "eval_bootstrap_key_gen",
      "title": "Generate bootstrapping keys",
      "topics": [
        "eval_bootstrap_key_gen"
      ]
    },
    {
      "page": "eval_bootstrap_setup",
      "title": "Set up CKKS bootstrapping",
      "topics": [
        "eval_bootstrap_setup"
      ]
    },
    {
      "page": "eval_chebyshev",
      "title": "Evaluate a Chebyshev series on a ciphertext",
      "topics": [
        "eval_chebyshev"
      ]
    },
    {
      "page": "eval_chebyshev_coefficients",
      "title": "Chebyshev coefficients for a real-valued function",
      "topics": [
        "eval_chebyshev_coefficients"
      ]
    },
    {
      "page": "eval_chebyshev_function",
      "title": "Evaluate a user-supplied function on a CKKS ciphertext via Chebyshev approximation",
      "topics": [
        "eval_chebyshev_function"
      ]
    },
    {
      "page": "eval_chebyshev_linear",
      "title": "Evaluate a Chebyshev series via the linear evaluator",
      "topics": [
        "eval_chebyshev_linear"
      ]
    },
    {
      "page": "eval_chebyshev_ps",
      "title": "Evaluate a Chebyshev series via the Paterson-Stockmeyer method",
      "topics": [
        "eval_chebyshev_ps"
      ]
    },
    {
      "page": "eval_cos",
      "title": "Evaluate cosine on a ciphertext",
      "topics": [
        "eval_cos"
      ]
    },
    {
      "page": "eval_divide",
      "title": "Evaluate division approximation on a ciphertext",
      "topics": [
        "eval_divide"
      ]
    },
    {
      "page": "eval_fast_rotation",
      "title": "Hoisted slot rotation using precomputed digits",
      "topics": [
        "eval_fast_rotation"
      ]
    },
    {
      "page": "eval_fast_rotation_ext",
      "title": "Extended hoisted slot rotation",
      "topics": [
        "eval_fast_rotation_ext"
      ]
    },
    {
      "page": "eval_fast_rotation_precompute",
      "title": "Precompute digit decomposition for hoisted fast rotations",
      "topics": [
        "eval_fast_rotation_precompute"
      ]
    },
    {
      "page": "eval_floor",
      "title": "Evaluate a floor (rounding) function on an LWE ciphertext",
      "topics": [
        "eval_floor"
      ]
    },
    {
      "page": "eval_func",
      "title": "Evaluate an arbitrary function on an encrypted value",
      "topics": [
        "eval_func"
      ]
    },
    {
      "page": "eval_logistic",
      "title": "Evaluate logistic function on a ciphertext",
      "topics": [
        "eval_logistic"
      ]
    },
    {
      "page": "eval_mult",
      "title": "Homomorphic multiplication",
      "topics": [
        "eval_mult"
      ]
    },
    {
      "page": "eval_mult_and_relinearize",
      "title": "Fused multiply-and-relinearize",
      "topics": [
        "eval_mult_and_relinearize"
      ]
    },
    {
      "page": "eval_mult_in_place",
      "title": "Homomorphic multiplication in place",
      "topics": [
        "eval_mult_in_place"
      ]
    },
    {
      "page": "eval_mult_key_gen",
      "title": "Generate relinearization (eval-mult) keys for a secret key",
      "topics": [
        "eval_mult_key_gen"
      ]
    },
    {
      "page": "eval_mult_mutable",
      "title": "Homomorphic multiply, mutable variant",
      "topics": [
        "eval_mult_mutable"
      ]
    },
    {
      "page": "eval_mult_no_relin",
      "title": "Homomorphic multiplication without relinearization",
      "topics": [
        "eval_mult_no_relin"
      ]
    },
    {
      "page": "eval_negate",
      "title": "Homomorphic negation",
      "topics": [
        "eval_negate"
      ]
    },
    {
      "page": "eval_negate_in_place",
      "title": "Homomorphic negation in place",
      "topics": [
        "eval_negate_in_place"
      ]
    },
    {
      "page": "eval_not",
      "title": "Evaluate NOT on an encrypted value",
      "topics": [
        "eval_not"
      ]
    },
    {
      "page": "eval_poly",
      "title": "Evaluate a polynomial on a ciphertext",
      "topics": [
        "eval_poly"
      ]
    },
    {
      "page": "eval_poly_linear",
      "title": "Evaluate a polynomial via the linear evaluator",
      "topics": [
        "eval_poly_linear"
      ]
    },
    {
      "page": "eval_poly_ps",
      "title": "Evaluate a polynomial via the Paterson-Stockmeyer method",
      "topics": [
        "eval_poly_ps"
      ]
    },
    {
      "page": "eval_rotate",
      "title": "Rotate ciphertext slots",
      "topics": [
        "eval_rotate"
      ]
    },
    {
      "page": "eval_rotate_key_gen",
      "title": "Generate rotation keys for a secret key",
      "topics": [
        "eval_rotate_key_gen"
      ]
    },
    {
      "page": "eval_sign",
      "title": "Evaluate sign on an encrypted value (functional bootstrapping)",
      "topics": [
        "eval_sign"
      ]
    },
    {
      "page": "eval_sin",
      "title": "Evaluate sine on a ciphertext (Chebyshev approximation)",
      "topics": [
        "eval_sin"
      ]
    },
    {
      "page": "eval_square",
      "title": "Homomorphic squaring",
      "topics": [
        "eval_square"
      ]
    },
    {
      "page": "eval_square_mutable",
      "title": "Homomorphic square, mutable variant",
      "topics": [
        "eval_square_mutable"
      ]
    },
    {
      "page": "eval_sub",
      "title": "Homomorphic subtraction",
      "topics": [
        "eval_sub"
      ]
    },
    {
      "page": "eval_sub_in_place",
      "title": "Homomorphic subtraction in place",
      "topics": [
        "eval_sub_in_place"
      ]
    },
    {
      "page": "eval_sub_mutable",
      "title": "Homomorphic subtract, mutable variant",
      "topics": [
        "eval_sub_mutable"
      ]
    },
    {
      "page": "eval_sum",
      "title": "Sum all slots in a ciphertext",
      "topics": [
        "eval_sum"
      ]
    },
    {
      "page": "eval_sum_key_gen",
      "title": "Generate sum keys for a secret key",
      "topics": [
        "eval_sum_key_gen"
      ]
    },
    {
      "page": "EvalKey",
      "title": "EvalKey class for multi-party key operations",
      "topics": [
        "EvalKey"
      ]
    },
    {
      "page": "EvalKeyMap",
      "title": "Map of homomorphic evaluation keys",
      "topics": [
        "EvalKeyMap"
      ]
    },
    {
      "page": "ExecutionMode",
      "title": "Execution Mode Source: pke/constants-defs.h enum ExecutionMode",
      "topics": [
        "ExecutionMode"
      ]
    },
    {
      "page": "FastRotationPrecomputation",
      "title": "Precomputed digit decomposition for hoisted rotations",
      "topics": [
        "FastRotationPrecomputation"
      ]
    },
    {
      "page": "Feature",
      "title": "PKE Scheme Features (bitmask) Source: pke/constants-defs.h enum PKESchemeFeature",
      "topics": [
        "Feature"
      ]
    },
    {
      "page": "fhe_ckks_tolerance",
      "title": "Per-test CKKS precision tolerance",
      "topics": [
        "fhe_ckks_tolerance"
      ]
    },
    {
      "page": "fhe_context",
      "title": "Create a fully homomorphic encryption context",
      "topics": [
        "fhe_context"
      ]
    },
    {
      "page": "fhe_deserialize",
      "title": "Deserialize an OpenFHE object from file",
      "topics": [
        "fhe_deserialize"
      ]
    },
    {
      "page": "fhe_serialize",
      "title": "Serialize an OpenFHE object to file",
      "topics": [
        "fhe_serialize"
      ]
    },
    {
      "page": "find_automorphism_index",
      "title": "Compute the automorphism index for a single slot index",
      "topics": [
        "find_automorphism_index"
      ]
    },
    {
      "page": "find_automorphism_indices",
      "title": "Compute the automorphism indices for a list of slot indices",
      "topics": [
        "find_automorphism_indices"
      ]
    },
    {
      "page": "generate_lut_via_function",
      "title": "Generate a lookup table for an arbitrary plaintext function",
      "topics": [
        "generate_lut_via_function"
      ]
    },
    {
      "page": "get_all_eval_automorphism_keys",
      "title": "Retrieve all registered EvalAutomorphism key maps",
      "topics": [
        "get_all_eval_automorphism_keys"
      ]
    },
    {
      "page": "get_all_eval_mult_keys",
      "title": "Retrieve all registered EvalMult key vectors",
      "topics": [
        "get_all_eval_mult_keys"
      ]
    },
    {
      "page": "get_all_eval_sum_keys",
      "title": "Retrieve all registered EvalSum key maps",
      "topics": [
        "get_all_eval_sum_keys"
      ]
    },
    {
      "page": "get_bootstrap_depth",
      "title": "Get the required multiplicative depth for CKKS bootstrapping",
      "topics": [
        "get_bootstrap_depth"
      ]
    },
    {
      "page": "get_ckks_boot_correction_factor",
      "title": "Get the CKKS bootstrap correction factor",
      "topics": [
        "get_ckks_boot_correction_factor"
      ]
    },
    {
      "page": "get_complex_packed_value",
      "title": "Get complex values from a CKKS plaintext",
      "topics": [
        "get_complex_packed_value"
      ]
    },
    {
      "page": "get_crypto_context",
      "title": "Associated CryptoContext of a Ciphertext",
      "topics": [
        "get_crypto_context"
      ]
    },
    {
      "page": "get_crypto_parameters",
      "title": "Crypto parameters of a CryptoContext",
      "topics": [
        "get_crypto_parameters"
      ]
    },
    {
      "page": "get_cyclotomic_order",
      "title": "Cyclotomic order of a CryptoContext",
      "topics": [
        "get_cyclotomic_order"
      ]
    },
    {
      "page": "get_element_params",
      "title": "Element parameters of a CryptoContext",
      "topics": [
        "get_element_params"
      ]
    },
    {
      "page": "get_encoding_params",
      "title": "Encoding parameters of a CryptoContext",
      "topics": [
        "get_encoding_params"
      ]
    },
    {
      "page": "get_eval_automorphism_key_map",
      "title": "Retrieve the automorphism-key map for a given key tag",
      "topics": [
        "get_eval_automorphism_key_map"
      ]
    },
    {
      "page": "get_eval_mult_key_vector",
      "title": "Retrieve the EvalMult key vector for a given key tag",
      "topics": [
        "get_eval_mult_key_vector"
      ]
    },
    {
      "page": "get_eval_sum_key_map",
      "title": "Retrieve the sum-key map for a given key tag",
      "topics": [
        "get_eval_sum_key_map"
      ]
    },
    {
      "page": "get_key_gen_level",
      "title": "Key-generation level of a CryptoContext",
      "topics": [
        "get_key_gen_level"
      ]
    },
    {
      "page": "get_max_plaintext_space",
      "title": "Maximum supported plaintext space for functional bootstrapping",
      "topics": [
        "get_max_plaintext_space"
      ]
    },
    {
      "page": "get_native_int",
      "title": "Get the native integer size of the OpenFHE build",
      "topics": [
        "get_native_int"
      ]
    },
    {
      "page": "get_packed_value",
      "title": "Get packed integer values from a plaintext",
      "topics": [
        "get_packed_value"
      ]
    },
    {
      "page": "get_real_packed_value",
      "title": "Get real values from a CKKS plaintext",
      "topics": [
        "get_real_packed_value"
      ]
    },
    {
      "page": "get_scaling_factor_real",
      "title": "Real-valued CKKS scaling factor at a modulus-chain level",
      "topics": [
        "get_scaling_factor_real"
      ]
    },
    {
      "page": "insert_eval_automorphism_key",
      "title": "Insert a joined automorphism-key map into the cc registry",
      "topics": [
        "insert_eval_automorphism_key"
      ]
    },
    {
      "page": "insert_eval_mult_key",
      "title": "Insert an EvalMult key vector into the cc registry",
      "topics": [
        "insert_eval_mult_key"
      ]
    },
    {
      "page": "insert_eval_sum_key",
      "title": "Insert a joined sum-key map into the cc registry",
      "topics": [
        "insert_eval_sum_key"
      ]
    },
    {
      "page": "int_boot_add",
      "title": "Combine encrypted and unencrypted masked decryptions",
      "topics": [
        "int_boot_add"
      ]
    },
    {
      "page": "int_boot_adjust_scale",
      "title": "Prepare a ciphertext for interactive bootstrap",
      "topics": [
        "int_boot_adjust_scale"
      ]
    },
    {
      "page": "int_boot_decrypt",
      "title": "Server-side masked decryption for interactive bootstrap",
      "topics": [
        "int_boot_decrypt"
      ]
    },
    {
      "page": "int_boot_encrypt",
      "title": "Client-side re-encryption for interactive bootstrap",
      "topics": [
        "int_boot_encrypt"
      ]
    },
    {
      "page": "int_mp_boot_add",
      "title": "Aggregate multi-party shares pairs",
      "topics": [
        "int_mp_boot_add"
      ]
    },
    {
      "page": "int_mp_boot_adjust_scale",
      "title": "Prepare a ciphertext for multi-party interactive bootstrap",
      "topics": [
        "int_mp_boot_adjust_scale"
      ]
    },
    {
      "page": "int_mp_boot_decrypt",
      "title": "Multi-party masked decryption for interactive bootstrap",
      "topics": [
        "int_mp_boot_decrypt"
      ]
    },
    {
      "page": "int_mp_boot_encrypt",
      "title": "Final re-encryption for multi-party interactive bootstrap",
      "topics": [
        "int_mp_boot_encrypt"
      ]
    },
    {
      "page": "int_mp_boot_random_element_gen",
      "title": "Generate a common random element for multi-party bootstrap",
      "topics": [
        "int_mp_boot_random_element_gen"
      ]
    },
    {
      "page": "is_good",
      "title": "Is a KeyPair valid?",
      "topics": [
        "is_good"
      ]
    },
    {
      "page": "key_gen",
      "title": "Generate key pair",
      "topics": [
        "key_gen"
      ]
    },
    {
      "page": "key_switch_down",
      "title": "Scale a ciphertext down from extended CRT basis to Q",
      "topics": [
        "key_switch_down"
      ]
    },
    {
      "page": "key_tag",
      "title": "Key tag accessors",
      "topics": [
        "get_key_tag",
        "key_tag",
        "set_key_tag"
      ]
    },
    {
      "page": "KeygenMode",
      "title": "Key Generation Mode Source: binfhe/binfhe-constants.h enum KEYGEN_MODE",
      "topics": [
        "KeygenMode"
      ]
    },
    {
      "page": "KeyPair",
      "title": "Key Pair",
      "topics": [
        "KeyPair"
      ]
    },
    {
      "page": "KeySwitchTechnique",
      "title": "Key Switching Techniques Source: pke/constants-defs.h enum KeySwitchTechnique",
      "topics": [
        "KeySwitchTechnique"
      ]
    },
    {
      "page": "level_reduce",
      "title": "Reduce the modulus chain by multiple levels",
      "topics": [
        "level_reduce"
      ]
    },
    {
      "page": "level_reduce_in_place",
      "title": "Reduce the modulus chain by multiple levels, in place",
      "topics": [
        "level_reduce_in_place"
      ]
    },
    {
      "page": "LWECiphertext",
      "title": "LWE Ciphertext (Binary FHE)",
      "topics": [
        "LWECiphertext"
      ]
    },
    {
      "page": "LWEPrivateKey",
      "title": "LWE Private Key (Binary FHE)",
      "topics": [
        "LWEPrivateKey"
      ]
    },
    {
      "page": "make_ckks_packed_plaintext",
      "title": "Make a CKKS packed plaintext from real numbers",
      "topics": [
        "make_ckks_packed_plaintext"
      ]
    },
    {
      "page": "make_coef_packed_plaintext",
      "title": "Make a coefficient-packed integer plaintext",
      "topics": [
        "make_coef_packed_plaintext"
      ]
    },
    {
      "page": "make_packed_plaintext",
      "title": "Make a packed integer plaintext",
      "topics": [
        "make_packed_plaintext"
      ]
    },
    {
      "page": "mod_reduce",
      "title": "Reduce the modulus chain by one level",
      "topics": [
        "mod_reduce"
      ]
    },
    {
      "page": "mod_reduce_in_place",
      "title": "Reduce the modulus chain by one level, in place",
      "topics": [
        "mod_reduce_in_place"
      ]
    },
    {
      "page": "multi_add_eval_automorphism_keys",
      "title": "Combine two automorphism-key map shares",
      "topics": [
        "multi_add_eval_automorphism_keys"
      ]
    },
    {
      "page": "multi_add_eval_keys",
      "title": "Combine evaluation keys from multiple parties",
      "topics": [
        "multi_add_eval_keys"
      ]
    },
    {
      "page": "multi_add_eval_mult_keys",
      "title": "Combine partial eval-mult keys from multiple parties",
      "topics": [
        "multi_add_eval_mult_keys"
      ]
    },
    {
      "page": "multi_add_eval_sum_keys",
      "title": "Combine two sum-key map shares into a joint sum-key map",
      "topics": [
        "multi_add_eval_sum_keys"
      ]
    },
    {
      "page": "multi_add_pub_keys",
      "title": "Combine public keys from multiple parties",
      "topics": [
        "multi_add_pub_keys"
      ]
    },
    {
      "page": "multi_eval_at_index_key_gen",
      "title": "Generate a joint rotation-at-index key share",
      "topics": [
        "multi_eval_at_index_key_gen"
      ]
    },
    {
      "page": "multi_eval_automorphism_key_gen",
      "title": "Generate a joint automorphism-key share for multi-party rotation",
      "topics": [
        "multi_eval_automorphism_key_gen"
      ]
    },
    {
      "page": "multi_eval_sum_key_gen",
      "title": "Generate a joint sum-key share for multi-party EvalSum",
      "topics": [
        "multi_eval_sum_key_gen"
      ]
    },
    {
      "page": "multi_key_switch_gen",
      "title": "Multi-party key-switch eval-key generation",
      "topics": [
        "multi_key_switch_gen"
      ]
    },
    {
      "page": "multiparty_decrypt_fusion",
      "title": "Fuse partial decryptions into final plaintext",
      "topics": [
        "multiparty_decrypt_fusion"
      ]
    },
    {
      "page": "multiparty_decrypt_lead",
      "title": "Lead party's partial decryption",
      "topics": [
        "multiparty_decrypt_lead"
      ]
    },
    {
      "page": "multiparty_decrypt_main",
      "title": "Non-lead party's partial decryption",
      "topics": [
        "multiparty_decrypt_main"
      ]
    },
    {
      "page": "multiparty_key_gen",
      "title": "Generate a key pair for a secondary party in threshold FHE",
      "topics": [
        "multiparty_key_gen"
      ]
    },
    {
      "page": "MultipartyMode",
      "title": "Multiparty Mode Source: pke/constants-defs.h enum MultipartyMode",
      "topics": [
        "MultipartyMode"
      ]
    },
    {
      "page": "MultiplicationTechnique",
      "title": "Multiplication Technique (BFV) Source: pke/constants-defs.h enum MultiplicationTechnique",
      "topics": [
        "MultiplicationTechnique"
      ]
    },
    {
      "page": "OpenFHEObject",
      "title": "Base class for OpenFHE objects",
      "topics": [
        "OpenFHEObject"
      ]
    },
    {
      "page": "Plaintext",
      "title": "Plaintext",
      "topics": [
        "Plaintext"
      ]
    },
    {
      "page": "plaintext_accessors",
      "title": "Plaintext accessors",
      "topics": [
        "get_coef_packed_value",
        "get_element_ring_dimension",
        "get_encoding_type",
        "get_formatted_values",
        "get_length",
        "get_level",
        "get_log_error",
        "get_log_precision",
        "get_noise_scale_deg",
        "get_scaling_factor",
        "get_scaling_factor_int",
        "get_scheme_id",
        "get_slots",
        "get_string_value",
        "high_bound",
        "is_encoded",
        "low_bound",
        "plaintext_accessors",
        "set_ckks_data_type",
        "set_int_vector_value",
        "set_level",
        "set_noise_scale_deg",
        "set_scaling_factor",
        "set_scaling_factor_int",
        "set_slots",
        "set_string_value"
      ]
    },
    {
      "page": "plaintext_params_hash",
      "title": "Deterministic hash of a plaintext's identifying parameters",
      "topics": [
        "plaintext_params_hash"
      ]
    },
    {
      "page": "PlaintextEncodings",
      "title": "Plaintext Encoding Types Source: pke/constants-defs.h enum PlaintextEncodings",
      "topics": [
        "PlaintextEncodings"
      ]
    },
    {
      "page": "PREMode",
      "title": "Proxy Re-encryption Mode Source: pke/constants-defs.h enum ProxyReEncryptionMode R-side name 'PREMode' matches the design.md §8 shortening convention (same pattern as 'Feature' for 'PKESchemeFeature').",
      "topics": [
        "PREMode"
      ]
    },
    {
      "page": "PrivateKey",
      "title": "Private Key",
      "topics": [
        "PrivateKey"
      ]
    },
    {
      "page": "PublicKey",
      "title": "Public Key",
      "topics": [
        "PublicKey"
      ]
    },
    {
      "page": "recover_shared_key",
      "title": "Recover a secret key from distributed shares",
      "topics": [
        "recover_shared_key"
      ]
    },
    {
      "page": "relinearize",
      "title": "Relinearize a higher-degree ciphertext",
      "topics": [
        "relinearize"
      ]
    },
    {
      "page": "rescale",
      "title": "Rescale a CKKS ciphertext (alias for ModReduce)",
      "topics": [
        "rescale"
      ]
    },
    {
      "page": "ring_dimension",
      "title": "Ring dimension of a CryptoContext",
      "topics": [
        "ring_dimension"
      ]
    },
    {
      "page": "ScalingTechnique",
      "title": "Scaling Techniques (CKKS) Source: pke/constants-defs.h enum ScalingTechnique",
      "topics": [
        "ScalingTechnique"
      ]
    },
    {
      "page": "SchemeId",
      "title": "Scheme Identifier",
      "topics": [
        "SchemeId"
      ]
    },
    {
      "page": "SecretKeyDist",
      "title": "Secret Key Distribution Source: core/lattice/constants-lattice.h enum SecretKeyDist",
      "topics": [
        "SecretKeyDist"
      ]
    },
    {
      "page": "SecretShareMap",
      "title": "Map of secret-key shares for threshold-FHE abort recovery",
      "topics": [
        "SecretShareMap"
      ]
    },
    {
      "page": "SecurityLevel",
      "title": "Security Levels Source: core/lattice/stdlatticeparms.h enum SecurityLevel",
      "topics": [
        "SecurityLevel"
      ]
    },
    {
      "page": "serialize_eval_keys",
      "title": "Serialize evaluation keys to file",
      "topics": [
        "serialize_eval_keys"
      ]
    },
    {
      "page": "set_ckks_boot_correction_factor",
      "title": "Set the CKKS bootstrap correction factor",
      "topics": [
        "set_ckks_boot_correction_factor"
      ]
    },
    {
      "page": "set_key_gen_level",
      "title": "Set the key-generation level of a CryptoContext",
      "topics": [
        "set_key_gen_level"
      ]
    },
    {
      "page": "set_length",
      "title": "Set the effective length of a plaintext",
      "topics": [
        "set_length"
      ]
    },
    {
      "page": "share_keys",
      "title": "Distribute a secret key into shares",
      "topics": [
        "share_keys"
      ]
    },
    {
      "page": "threshold_decrypt",
      "title": "Threshold decryption convenience: lead + main + fusion in one call",
      "topics": [
        "threshold_decrypt"
      ]
    },
    {
      "page": "with_fhe_context",
      "title": "Execute code with automatic cleanup of FHE state",
      "topics": [
        "with_fhe_context"
      ]
    }
  ],
  "_pkglogo": "https://github.com/bnaras/openfhe/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/bnaras/openfhe/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "S7"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_vignettes": [
    {
      "source": "binfhe-boolean-circuits.Rmd",
      "filename": "binfhe-boolean-circuits.html",
      "title": "BinFHE: Boolean Circuits and Arbitrary Functions on Encrypted Bits",
      "author": "Balasubramanian Narasimhan",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Context and key setup",
        "Two-input boolean gates",
        "Negation",
        "Multi-input gates",
        "Arbitrary function evaluation",
        "The sign function",
        "Floor: bit-level rounding",
        "When to use BinFHE vs CKKS",
        "Further reading"
      ],
      "created": "2026-06-13 03:37:15",
      "modified": "2026-06-13 03:37:15",
      "commits": 1
    },
    {
      "source": "ckks-bootstrapping.Rmd",
      "filename": "ckks-bootstrapping.html",
      "title": "CKKS Bootstrapping: Refreshing Deep Circuits",
      "author": "Balasubramanian Narasimhan",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The depth budget problem",
        "Non-interactive bootstrap",
        "Setup",
        "Bootstrap key generation",
        "Run a refresh",
        "Iterative bootstrap",
        "Interactive multi-party bootstrap",
        "Refresh a ciphertext through the multi-party protocol",
        "Aggregate and finalize",
        "Comparison",
        "Further reading"
      ],
      "created": "2026-06-13 03:37:15",
      "modified": "2026-06-13 05:01:20",
      "commits": 2
    },
    {
      "source": "introduction.Rmd",
      "filename": "introduction.html",
      "title": "Introduction to openfhe: Fully Homomorphic Encryption in R",
      "author": "Balasubramanian Narasimhan",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A few terms from the cryptography side",
        "Five Short Demonstrations",
        "Encrypted integer arithmetic",
        "Encrypted real arithmetic",
        "Boolean operations on encrypted bits",
        "Serialization",
        "Threshold decryption",
        "Further Exploration"
      ],
      "created": "2026-04-17 22:04:22",
      "modified": "2026-06-13 05:01:20",
      "commits": 4
    }
  ],
  "_score": 4.343408593803858,
  "_indexed": true,
  "_nocasepkg": "openfhe",
  "_universes": [
    "bnaras"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.5.1",
      "date": "2026-06-13T07:20:39.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "13b9f9aa0e6f08a92074a1b57675e7a835b02e09a1f89a17e083bd94356b5bdb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.5.1",
      "date": "2026-06-13T07:20:44.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "d48a00eac66bb5e29a61809c507fe31fbe71b19cde3e7c12f65a34e9c4bd1e61",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.5.1",
      "date": "2026-06-13T07:21:20.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "9b36260b141e972a8d5cea0aad80fee3915ac8469d3a08362453c4a76ab3fb54",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.5.1",
      "date": "2026-06-13T07:20:44.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "71535146bc461784e11c3065c88d820576acd8a6b2d41afead370cc1337fb0ba",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.5.1",
      "date": "2026-06-13T07:23:10.000Z",
      "arch": "aarch64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "41a105b10da64eb4874493957a74f9d60dbeb8f475363933d89261ad74a63792",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.5.1",
      "date": "2026-06-13T07:26:38.000Z",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "f192dffa36d4e8fe7e74593a2767d37b89184ee9608cce490f741586614c916d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.5.1",
      "date": "2026-06-13T07:19:48.000Z",
      "arch": "aarch64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "1eb4cf5fc30b821a0a3c211fd291cc18e524367d406bb333db0711a6c5eee2e2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.5.1",
      "date": "2026-06-13T07:25:54.000Z",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "c7028ea56ffd36098ef7a1c566ac87179956bd7b36f8881326534b3351457877",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.5.1",
      "date": "2026-06-13T07:23:49.000Z",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "aaec889af9275c79902e9ca5317d3fb7b214c78b62d051a47baa2830a90a8451",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.5.1",
      "date": "2026-06-13T07:23:50.000Z",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "d75e8e6eb023eeaebb68901ab50f525a23d018cefd0892bc8c7f95de75d66e5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.5.1",
      "date": "2026-06-13T07:24:15.000Z",
      "arch": "x86_64",
      "commit": "c960bff486d623896297e73326d9ffeff1a081e5",
      "fileid": "4c07fb8062329e5eba88dfe244b4936c89e72fe939bb16f4be5cf549f68a4b79",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/27459657804"
    }
  ]
}