Class ParameterGenerationRNS
Defined in File rns-parametergeneration.h
Page Contents
Inheritance Relationships
Base Type
public lbcrypto::ParameterGenerationBase< DCRTPoly >
(Template Class ParameterGenerationBase)
Derived Types
public lbcrypto::ParameterGenerationBFVRNS
(Class ParameterGenerationBFVRNS)public lbcrypto::ParameterGenerationBGVRNS
(Class ParameterGenerationBGVRNS)public lbcrypto::ParameterGenerationCKKSRNS
(Class ParameterGenerationCKKSRNS)
Class Documentation
-
class lbcrypto::ParameterGenerationRNS : public lbcrypto::ParameterGenerationBase<DCRTPoly>
Inheritence diagram for lbcrypto::ParameterGenerationRNS:
Collaboration diagram for lbcrypto::ParameterGenerationRNS:
Abstract interface for parameter generation algorithm.
- Template Parameters
Element – a ring element.
Subclassed by lbcrypto::ParameterGenerationBFVRNS, lbcrypto::ParameterGenerationBGVRNS, lbcrypto::ParameterGenerationCKKSRNS
Public Functions
-
inline virtual ~ParameterGenerationRNS()
Method for computing all derived parameters based on chosen primitive parameters
- Parameters
*cryptoParams – the crypto parameters object to be populated with parameters.
evalAddCount – number of EvalAdds assuming no EvalMult and KeySwitch operations are performed.
multiplicativeDepth – number of EvalMults assuming no EvalAdd and KeySwitch operations are performed.
keySwitchCount – number of KeySwitch operations assuming no EvalAdd and EvalMult operations are performed.
dcrtBits – number of bits in each CRT modulus*
n – ring dimension in case the user wants to use a custom ring dimension
Method for computing all derived parameters based on chosen primitive parameters.
- Parameters
cryptoParams – the crypto parameters object to be populated with parameters.
cyclOrder – the cyclotomic order.
numPrimes – number of modulus towers to support.
scalingModSize – the bit-width for plaintexts and DCRTPoly’s.
firstModSize – the bit-size of the first modulus
numPartQ – number of partitions of Q for HYBRID key switching
Method for computing all derived parameters based on chosen primitive parameters. This is intended for BGVrns
- Parameters
*cryptoParams – the crypto parameters object to be populated with parameters.
evalAddCount – number of EvalAdds per level.
keySwitchCount – number of KeySwitch operations per level.
cyclOrder – the cyclotomic order.
numPrimes – number of modulus towers to support.
digitSize – the digit size
secretKeyDist –
ksTech – the key switching technique used (e.g., BV or GHS)
firstModSize – the bit-size of the first modulus
dcrtBits – the bit-width of moduli.
-
inline std::string SerializedObjectName() const