# R Interface to the 'OpenFHE' Fully Homomorphic Encryption Library

## Documentation for package ‘openfhe.R’ version 1.5.1

- DESCRIPTION file.
- User guides, package vignettes and other documentation.
- Package NEWS.

## Help Pages

B C D E F G H I K L M O P R S T W

openfhe.R-package | openfhe.R: R Interface to the 'OpenFHE' Fully Homomorphic Encryption Library

## -- B --

BFVParams | BFV Parameters
BGVParams | BGV Parameters
BinFHEMethod | Binary FHE Methods
BinFHEOutput | Binary FHE Output Types
BinFHEParamSet | Binary FHE Parameter Sets
BinGate | Binary Gate Types
bin_bt_key_gen | Generate BinFHE bootstrapping keys
bin_decrypt | Decrypt a Binary FHE ciphertext
bin_encrypt | Encrypt a value for Binary FHE
bin_fhe_context | Create a Binary FHE context
bin_key_gen | Generate BinFHE secret key

## -- C --

ccparams_getters | CCParams getters (all schemes)
Ciphertext | Ciphertext class
CKKSDataType | CKKS Data Type
CKKSParams | CKKS Parameters
ckks_scaling_factor_bits | CKKS scaling-mod-size in bits
clear_eval_automorphism_keys | Clear the EvalAutomorphism key cache
clear_eval_mult_keys | Clear the EvalMult key cache
clear_fhe_state | Clear cached evaluation keys and contexts
clear_static_maps_and_vectors | Clear OpenFHE static maps and vectors
compress | Compress a ciphertext to fewer towers
CompressionLevel | Compression Level (interactive multi-party bootstrap)
CryptoContext | Crypto Context
CryptoParameters | Crypto Parameters (opaque)

## -- D --

decrypt | Decrypt a ciphertext
DecryptionNoiseMode | Decryption Noise Mode
deserialize_eval_keys | Deserialize evaluation keys from file
DistributionType | Distribution Type (lattice parameters)

## -- E --

ElementParams | Element Parameters (opaque)
enable_feature | Enable a feature on a CryptoContext
EncodingParams | Encoding Parameters (opaque)
encrypt | Encrypt a plaintext
EncryptionTechnique | Encryption Technique
EvalKey | EvalKey class for multi-party key operations
EvalKeyMap | Map of homomorphic evaluation keys
eval_add | Homomorphic addition
eval_add_in_place | Homomorphic addition in place
eval_add_mutable | Homomorphic add, mutable variant
eval_at_index_key_gen | Generate at-index (rotation) keys for a secret key
eval_automorphism | Apply an automorphism to a ciphertext
eval_automorphism_key_gen | Generate automorphism evaluation keys for a set of indices
eval_bin_gate | Evaluate a binary gate on encrypted values
eval_bootstrap | Perform CKKS bootstrapping
eval_bootstrap_key_gen | Generate bootstrapping keys
eval_bootstrap_setup | Set up CKKS bootstrapping
eval_chebyshev | Evaluate a Chebyshev series on a ciphertext
eval_chebyshev_coefficients | Chebyshev coefficients for a real-valued function
eval_chebyshev_function | Evaluate a user-supplied function on a CKKS ciphertext via Chebyshev approximation
eval_chebyshev_linear | Evaluate a Chebyshev series via the linear evaluator
eval_chebyshev_ps | Evaluate a Chebyshev series via the Paterson-Stockmeyer method
eval_cos | Evaluate cosine on a ciphertext
eval_divide | Evaluate division approximation on a ciphertext
eval_fast_rotation | Hoisted slot rotation using precomputed digits
eval_fast_rotation_ext | Extended hoisted slot rotation
eval_fast_rotation_precompute | Precompute digit decomposition for hoisted fast rotations
eval_floor | Evaluate a floor (rounding) function on an LWE ciphertext
eval_func | Evaluate an arbitrary function on an encrypted value
eval_logistic | Evaluate logistic function on a ciphertext
eval_mult | Homomorphic multiplication
eval_mult_and_relinearize | Fused multiply-and-relinearize
eval_mult_in_place | Homomorphic multiplication in place
eval_mult_key_gen | Generate relinearization (eval-mult) keys for a secret key
eval_mult_mutable | Homomorphic multiply, mutable variant
eval_mult_no_relin | Homomorphic multiplication without relinearization
eval_negate | Homomorphic negation
eval_negate_in_place | Homomorphic negation in place
eval_not | Evaluate NOT on an encrypted value
eval_poly | Evaluate a polynomial on a ciphertext
eval_poly_linear | Evaluate a polynomial via the linear evaluator
eval_poly_ps | Evaluate a polynomial via the Paterson-Stockmeyer method
eval_rotate | Rotate ciphertext slots
eval_rotate_key_gen | Generate rotation keys for a secret key
eval_sign | Evaluate sign on an encrypted value (functional bootstrapping)
eval_sin | Evaluate sine on a ciphertext (Chebyshev approximation)
eval_square | Homomorphic squaring
eval_square_mutable | Homomorphic square, mutable variant
eval_sub | Homomorphic subtraction
eval_sub_in_place | Homomorphic subtraction in place
eval_sub_mutable | Homomorphic subtract, mutable variant
eval_sum | Sum all slots in a ciphertext
eval_sum_key_gen | Generate sum keys for a secret key
ExecutionMode | Execution Mode

## -- F --

FastRotationPrecomputation | Precomputed digit decomposition for hoisted rotations
Feature | PKE Scheme Features (bitmask)
fhe_ckks_tolerance | Per-test CKKS precision tolerance
fhe_context | Create a fully homomorphic encryption context
fhe_deserialize | Deserialize an OpenFHE object from file
fhe_serialize | Serialize an OpenFHE object to file
find_automorphism_index | Compute the automorphism index for a single slot index
find_automorphism_indices | Compute the automorphism indices for a list of slot indices

## -- G --

generate_lut_via_function | Generate a lookup table for an arbitrary plaintext function
get_all_eval_automorphism_keys | Retrieve all registered EvalAutomorphism key maps
get_all_eval_mult_keys | Retrieve all registered EvalMult key vectors
get_all_eval_sum_keys | Retrieve all registered EvalSum key maps
get_batch_size | CCParams getters (all schemes)
get_bootstrap_depth | Get the required multiplicative depth for CKKS bootstrapping
get_ckks_boot_correction_factor | Get the CKKS bootstrap correction factor
get_ckks_data_type | CCParams getters (all schemes)
get_coef_packed_value | Plaintext accessors
get_complex_packed_value | Get complex values from a CKKS plaintext
get_composite_degree | CCParams getters (all schemes)
get_crypto_context | Associated CryptoContext of a Ciphertext
get_crypto_parameters | Crypto parameters of a CryptoContext
get_cyclotomic_order | Cyclotomic order of a CryptoContext
get_decryption_noise_mode | CCParams getters (all schemes)
get_desired_precision | CCParams getters (all schemes)
get_digit_size | CCParams getters (all schemes)
get_element_params | Element parameters of a CryptoContext
get_element_ring_dimension | Plaintext accessors
get_encoding_params | Encoding parameters of a CryptoContext
get_encoding_type | Plaintext accessors
get_encryption_technique | CCParams getters (all schemes)
get_eval_add_count | CCParams getters (all schemes)
get_eval_automorphism_key_map | Retrieve the automorphism-key map for a given key tag
get_eval_mult_key_vector | Retrieve the EvalMult key vector for a given key tag
get_eval_sum_key_map | Retrieve the sum-key map for a given key tag
get_execution_mode | CCParams getters (all schemes)
get_first_mod_size | CCParams getters (all schemes)
get_formatted_values | Plaintext accessors
get_interactive_boot_compression_level | CCParams getters (all schemes)
get_key_gen_level | Key-generation level of a CryptoContext
get_key_switch_count | CCParams getters (all schemes)
get_key_switch_technique | CCParams getters (all schemes)
get_key_tag | Key tag accessors
get_length | Plaintext accessors
get_level | Plaintext accessors
get_log_error | Plaintext accessors
get_log_precision | Plaintext accessors
get_max_plaintext_space | Maximum supported plaintext space for functional bootstrapping
get_max_relin_sk_deg | CCParams getters (all schemes)
get_multiparty_mode | CCParams getters (all schemes)
get_multiplication_technique | CCParams getters (all schemes)
get_multiplicative_depth | CCParams getters (all schemes)
get_native_int | Get the native integer size of the OpenFHE build
get_noise_estimate | CCParams getters (all schemes)
get_noise_scale_deg | Plaintext accessors
get_num_adversarial_queries | CCParams getters (all schemes)
get_num_large_digits | CCParams getters (all schemes)
get_num_threads | Report the number of OpenMP threads available to OpenFHE
get_packed_value | Get packed integer values from a plaintext
get_plaintext_modulus | CCParams getters (all schemes)
get_pre_mode | CCParams getters (all schemes)
get_pre_num_hops | CCParams getters (all schemes)
get_real_packed_value | Get real values from a CKKS plaintext
get_register_word_size | CCParams getters (all schemes)
get_ring_dim | CCParams getters (all schemes)
get_scaling_factor | Plaintext accessors
get_scaling_factor_int | Plaintext accessors
get_scaling_factor_real | Real-valued CKKS scaling factor at a modulus-chain level
get_scaling_mod_size | CCParams getters (all schemes)
get_scaling_technique | CCParams getters (all schemes)
get_scheme | CCParams getters (all schemes)
get_scheme_id | Plaintext accessors
get_secret_key_dist | CCParams getters (all schemes)
get_security_level | CCParams getters (all schemes)
get_slots | Plaintext accessors
get_standard_deviation | CCParams getters (all schemes)
get_statistical_security | CCParams getters (all schemes)
get_string_value | Plaintext accessors
get_threshold_num_of_parties | CCParams getters (all schemes)

## -- H --

high_bound | Plaintext accessors

## -- I --

insert_eval_automorphism_key | Insert a joined automorphism-key map into the cc registry
insert_eval_mult_key | Insert an EvalMult key vector into the cc registry
insert_eval_sum_key | Insert a joined sum-key map into the cc registry
int_boot_add | Combine encrypted and unencrypted masked decryptions
int_boot_adjust_scale | Prepare a ciphertext for interactive bootstrap
int_boot_decrypt | Server-side masked decryption for interactive bootstrap
int_boot_encrypt | Client-side re-encryption for interactive bootstrap
int_mp_boot_add | Aggregate multi-party shares pairs
int_mp_boot_adjust_scale | Prepare a ciphertext for multi-party interactive bootstrap
int_mp_boot_decrypt | Multi-party masked decryption for interactive bootstrap
int_mp_boot_encrypt | Final re-encryption for multi-party interactive bootstrap
int_mp_boot_random_element_gen | Generate a common random element for multi-party bootstrap
is_encoded | Plaintext accessors
is_good | Is a KeyPair valid?

## -- K --

KeygenMode | Key Generation Mode
KeyPair | Key Pair
KeySwitchTechnique | Key Switching Techniques
key_gen | Generate key pair
key_switch_down | Scale a ciphertext down from extended CRT basis to Q
key_tag | Key tag accessors

## -- L --

level_reduce | Reduce the modulus chain by multiple levels
level_reduce_in_place | Reduce the modulus chain by multiple levels, in place
low_bound | Plaintext accessors
LWECiphertext | LWE Ciphertext (Binary FHE)
LWEPrivateKey | LWE Private Key (Binary FHE)

## -- M --

make_ckks_packed_plaintext | Make a CKKS packed plaintext from real numbers
make_coef_packed_plaintext | Make a coefficient-packed integer plaintext
make_packed_plaintext | Make a packed integer plaintext
mod_reduce | Reduce the modulus chain by one level
mod_reduce_in_place | Reduce the modulus chain by one level, in place
MultipartyMode | Multiparty Mode
multiparty_decrypt_fusion | Fuse partial decryptions into final plaintext
multiparty_decrypt_lead | Lead party's partial decryption
multiparty_decrypt_main | Non-lead party's partial decryption
multiparty_key_gen | Generate a key pair for a secondary party in threshold FHE
MultiplicationTechnique | Multiplication Technique (BFV)
multi_add_eval_automorphism_keys | Combine two automorphism-key map shares
multi_add_eval_keys | Combine evaluation keys from multiple parties
multi_add_eval_mult_keys | Combine partial eval-mult keys from multiple parties
multi_add_eval_sum_keys | Combine two sum-key map shares into a joint sum-key map
multi_add_pub_keys | Combine public keys from multiple parties
multi_eval_at_index_key_gen | Generate a joint rotation-at-index key share
multi_eval_automorphism_key_gen | Generate a joint automorphism-key share for multi-party rotation
multi_eval_sum_key_gen | Generate a joint sum-key share for multi-party EvalSum
multi_key_switch_gen | Multi-party key-switch eval-key generation

## -- O --

openfhe.R | openfhe.R: R Interface to the 'OpenFHE' Fully Homomorphic Encryption Library
OpenFHEObject | Base class for OpenFHE objects

## -- P --

Plaintext | Plaintext
PlaintextEncodings | Plaintext Encoding Types
plaintext_accessors | Plaintext accessors
plaintext_params_hash | Deterministic hash of a plaintext's identifying parameters
PREMode | Proxy Re-encryption Mode
PrivateKey | Private Key
PublicKey | Public Key

## -- R --

recover_shared_key | Recover a secret key from distributed shares
relinearize | Relinearize a higher-degree ciphertext
rescale | Rescale a CKKS ciphertext (alias for ModReduce)
ring_dimension | Ring dimension of a CryptoContext

## -- S --

ScalingTechnique | Scaling Techniques (CKKS)
SchemeId | Scheme Identifier
SecretKeyDist | Secret Key Distribution
SecretShareMap | Map of secret-key shares for threshold-FHE abort recovery
SecurityLevel | Security Levels
serialize_eval_keys | Serialize evaluation keys to file
set_ckks_boot_correction_factor | Set the CKKS bootstrap correction factor
set_ckks_data_type | Plaintext accessors
set_int_vector_value | Plaintext accessors
set_key_gen_level | Set the key-generation level of a CryptoContext
set_key_tag | Key tag accessors
set_length | Set the effective length of a plaintext
set_level | Plaintext accessors
set_noise_scale_deg | Plaintext accessors
set_num_threads | Set the number of OpenMP threads OpenFHE may use
set_scaling_factor | Plaintext accessors
set_scaling_factor_int | Plaintext accessors
set_slots | Plaintext accessors
set_string_value | Plaintext accessors
share_keys | Distribute a secret key into shares

## -- T --

threshold_decrypt | Threshold decryption convenience: lead + main + fusion in one call

## -- W --

with_fhe_context | Execute code with automatic cleanup of FHE state