Retrieve a parameter from a BFVParams, BGVParams, or
CKKSParams object. Each getter wraps the corresponding upstream
CCParams<T>::Get* method and returns its value unchanged.
Usage
get_ring_dim(params, ...)
get_plaintext_modulus(params, ...)
get_digit_size(params, ...)
get_composite_degree(params, ...)
get_scheme(params, ...)
get_standard_deviation(params, ...)
get_secret_key_dist(params, ...)
get_max_relin_sk_deg(params, ...)
get_pre_mode(params, ...)
get_multiparty_mode(params, ...)
get_execution_mode(params, ...)
get_decryption_noise_mode(params, ...)
get_noise_estimate(params, ...)
get_desired_precision(params, ...)
get_statistical_security(params, ...)
get_num_adversarial_queries(params, ...)
get_threshold_num_of_parties(params, ...)
get_key_switch_technique(params, ...)
get_scaling_technique(params, ...)
get_batch_size(params, ...)
get_first_mod_size(params, ...)
get_num_large_digits(params, ...)
get_multiplicative_depth(params, ...)
get_scaling_mod_size(params, ...)
get_security_level(params, ...)
get_eval_add_count(params, ...)
get_key_switch_count(params, ...)
get_encryption_technique(params, ...)
get_multiplication_technique(params, ...)
get_pre_num_hops(params, ...)
get_interactive_boot_compression_level(params, ...)
get_register_word_size(params, ...)
get_ckks_data_type(params, ...)Details
Per discovery D013, several parameters are "disabled" on specific
schemes (their setters throw at runtime). For a disabled
scheme/parameter combination the getter returns the default value
of the underlying field (typically 0L for uint32_t, 0 for
double, or the enum's zero sentinel) rather than throwing. This
is benign — the field was never set so its default is all the
information available — but it means e.g. calling
get_plaintext_modulus(params) on a CKKSParams object returns
0 rather than a meaningful modulus.
Functions
get_ring_dim: Ring dimensionnof the lattice the scheme operates over. For RLWE schemes this is the cyclotomic ring's degreen = phi(m)(Euler's totient of the cyclotomic order) and must be a power of two. The ring dimension is the load-bearing cryptographic parameter — security level and multiplicative depth together pin the minimumn, and most runtime costs scale asO(n log n)per homomorphic operation.get_plaintext_modulus: Plaintext modulustfor the BFV and BGV plaintext spaces. BFV/BGV plaintexts are elements ofZ_t[x]/Phi_m(x)and every homomorphic operation is performed modulot. On aCKKSParamsobject this returns the default field value (0) because CKKS does not use a plaintext modulus — see discovery D013.get_digit_size: Digit sizerfor BV key-switching: the base-2^rdigit decomposition of the ciphertext during a key-switch. Larger values decrease the number of digit multiplications at the cost of larger per-digit noise.get_composite_degree: Composite-scaling degree for the CKKSCOMPOSITESCALINGAUTO/COMPOSITESCALINGMANUALscaling techniques. Only meaningful whenscaling_technique = ScalingTechnique$COMPOSITESCALING*;0under the default FLEXIBLEAUTO path.get_scheme:parity-deferred:integer scheme identifier (seeSchemeIdfor the enum values).get_standard_deviation:parity-deferred:standard deviation of the Gaussian error distribution.get_secret_key_dist:parity-deferred:secret-key distribution (seeSecretKeyDist).get_max_relin_sk_deg:parity-deferred:maximum relinearization secret-key degree.get_pre_mode:parity-deferred:proxy re-encryption mode (seePREMode).get_multiparty_mode:parity-deferred:multiparty mode (seeMultipartyMode).get_execution_mode:parity-deferred:execution mode (seeExecutionMode).get_decryption_noise_mode:parity-deferred:decryption noise mode (seeDecryptionNoiseMode).get_noise_estimate:parity-deferred:noise-flooding noise estimate (double).get_desired_precision:parity-deferred:noise-flooding target precision (double, bits).get_statistical_security:parity-deferred:statistical security parameter. Return type isdoubleper header inconsistency; see the Return-type note.get_num_adversarial_queries:parity-deferred:upper bound on adversarial queries. Return type isdoubleper header inconsistency; see the Return-type note.get_threshold_num_of_parties:parity-deferred:threshold-FHE party count.get_key_switch_technique:parity-deferred:key-switching technique (seeKeySwitchTechnique).get_scaling_technique:parity-deferred:scaling technique (seeScalingTechnique).get_batch_size:parity-deferred:SIMD batch size.get_first_mod_size:parity-deferred:bit size of the first (largest) prime in the CKKS modulus chain.get_num_large_digits:parity-deferred:number of large digits for HYBRID key switching.get_multiplicative_depth:parity-deferred:configured multiplicative depth. Note: this is the depth the context was constructed to support, not the current depth budget after operations.get_scaling_mod_size:parity-deferred:bit size of each CKKS scaling modulus.get_security_level:parity-deferred:target security level (seeSecurityLevel).get_eval_add_count:parity-deferred:BFV/BGV noise-flooding hint: maximum additions between multiplications.get_key_switch_count:parity-deferred:BFV/BGV noise-flooding hint: maximum key-switch count.get_encryption_technique:parity-deferred:BFV encryption technique (seeEncryptionTechnique).get_multiplication_technique:parity-deferred:BFV multiplication technique (seeMultiplicationTechnique).get_pre_num_hops:parity-deferred:PRE hop count.get_interactive_boot_compression_level:parity-deferred:CKKS interactive bootstrap compression level (seeCompressionLevel).get_register_word_size:parity-deferred:register word size for multi-precision arithmetic.get_ckks_data_type:parity-deferred:CKKS data type (seeCKKSDataType).
Return-type note
get_statistical_security and get_num_adversarial_queries
return double rather than integer. This matches an
inconsistency in the upstream Params base class: the
corresponding setters take uint32_t but the getters return
double. The underlying field is a double — R binds per the
header, not per the setter signature.
get_plaintext_modulus returns an R integer on 32-bit-safe
values; for moduli that exceed the 32-bit signed integer range
the return value is a numeric (double) carrying a losslessly
rounded 53-bit integer, per the design.md §7 return-type
convention.
