Class Params

Inheritance Relationships

Derived Types

Class Documentation

class lbcrypto::Params

Inheritence diagram for lbcrypto::Params:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="lbcrypto::Params" tooltip="lbcrypto::Params" fillcolor="#BFBFBF"] "2" [label="lbcrypto::CCParams< CryptoContextBFVRNS >" tooltip="lbcrypto::CCParams< CryptoContextBFVRNS >"] "3" [label="lbcrypto::CCParams< CryptoContextBGVRNS >" tooltip="lbcrypto::CCParams< CryptoContextBGVRNS >"] "4" [label="lbcrypto::CCParams< CryptoContextCKKSRNS >" tooltip="lbcrypto::CCParams< CryptoContextCKKSRNS >"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "3" -> "1" [dir=forward tooltip="public-inheritance"] "4" -> "1" [dir=forward tooltip="public-inheritance"] }

Subclassed by lbcrypto::CCParams< CryptoContextBFVRNS >, lbcrypto::CCParams< CryptoContextBGVRNS >, lbcrypto::CCParams< CryptoContextCKKSRNS >

Public Functions

inline explicit Params(SCHEME scheme0 = INVALID_SCHEME)
explicit Params(const std::vector<std::string> &vals)

This Params’ constructor “explicit Params(const std::vector<std::string>& vals)” is to be used by unittests only.

Parameters

vals – - vector with override values. sequence of vals’ elements must be the same as we get it from getAllParamsDataMembers()

Params(const Params &obj) = default
Params(Params &&obj) = default
Params &operator=(const Params &obj) = default
Params &operator=(Params &&obj) = default
~Params() = default
inline SCHEME GetScheme() const
inline PlaintextModulus GetPlaintextModulus() const
inline usint GetDigitSize() const
inline float GetStandardDeviation() const
inline SecretKeyDist GetSecretKeyDist() const
inline usint GetMaxRelinSkDeg() const
inline ProxyReEncryptionMode GetPREMode() const
inline MultipartyMode GetMultipartyMode() const
inline ExecutionMode GetExecutionMode() const
inline DecryptionNoiseMode GetDecryptionNoiseMode() const
inline double GetNoiseEstimate() const
inline double GetDesiredPrecision() const
inline double GetStatisticalSecurity() const
inline double GetNumAdversarialQueries() const
inline usint GetThresholdNumOfParties() const
inline KeySwitchTechnique GetKeySwitchTechnique() const
inline ScalingTechnique GetScalingTechnique() const
inline usint GetBatchSize() const
inline usint GetFirstModSize() const
inline uint32_t GetNumLargeDigits() const
inline usint GetMultiplicativeDepth() const
inline usint GetScalingModSize() const
inline SecurityLevel GetSecurityLevel() const
inline usint GetRingDim() const
inline usint GetEvalAddCount() const
inline usint GetKeySwitchCount() const
inline EncryptionTechnique GetEncryptionTechnique() const
inline MultiplicationTechnique GetMultiplicationTechnique() const
inline usint GetMultiHopModSize() const
inline COMPRESSION_LEVEL GetInteractiveBootCompressionLevel() const
inline void SetPlaintextModulus(PlaintextModulus ptModulus0)
inline void SetDigitSize(usint digitSize0)
inline void SetStandardDeviation(float standardDeviation0)
inline void SetSecretKeyDist(SecretKeyDist secretKeyDist0)
inline void SetMaxRelinSkDeg(usint maxRelinSkDeg0)
inline void SetPREMode(ProxyReEncryptionMode PREMode0)
inline void SetMultipartyMode(MultipartyMode multipartyMode0)
inline void SetExecutionMode(ExecutionMode executionMode0)
inline void SetDecryptionNoiseMode(DecryptionNoiseMode decryptionNoiseMode0)
inline void SetNoiseEstimate(double noiseEstimate0)
inline void SetDesiredPrecision(double desiredPrecision0)
inline void SetStatisticalSecurity(uint32_t statisticalSecurity0)
inline void SetNumAdversarialQueries(uint32_t numAdversarialQueries0)
inline void SetThresholdNumOfParties(uint32_t thresholdNumOfParties0)
inline void SetKeySwitchTechnique(KeySwitchTechnique ksTech0)
inline void SetScalingTechnique(ScalingTechnique scalTech0)
inline void SetBatchSize(usint batchSize0)
inline void SetFirstModSize(usint firstModSize0)
inline void SetNumLargeDigits(uint32_t numLargeDigits0)
inline void SetMultiplicativeDepth(usint multiplicativeDepth0)
inline void SetScalingModSize(usint scalingModSize0)
inline void SetSecurityLevel(SecurityLevel securityLevel0)
inline void SetRingDim(usint ringDim0)
inline void SetEvalAddCount(usint evalAddCount0)
inline void SetKeySwitchCount(usint keySwitchCount0)
inline void SetEncryptionTechnique(EncryptionTechnique encryptionTechnique0)
inline void SetMultiplicationTechnique(MultiplicationTechnique multiplicationTechnique0)
inline void SetMultiHopModSize(usint multiHopModSize0)
inline void SetInteractiveBootCompressionLevel(COMPRESSION_LEVEL interactiveBootCompressionLevel0)

Public Static Functions

static inline const std::vector<std::string> getAllParamsDataMembers()

getAllParamsDataMembers() returns names of all data members of Params and the scheme enum ALWAYS goes first. This function is meant for unittests only and holds the correct sequence of the parameters/column names.

Returns

a vector with names of all data members of Params

Friends

friend std::ostream &operator<<(std::ostream &os, const Params &obj)