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 &operator=(const Params &obj) = default
Params(Params &&obj) noexcept = default
Params &operator=(Params &&obj) noexcept = default
virtual ~Params() = default
inline SCHEME GetScheme() const
inline PlaintextModulus GetPlaintextModulus() const
inline uint32_t GetDigitSize() const
inline float GetStandardDeviation() const
inline SecretKeyDist GetSecretKeyDist() const
inline uint32_t 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 uint32_t GetThresholdNumOfParties() const
inline KeySwitchTechnique GetKeySwitchTechnique() const
inline ScalingTechnique GetScalingTechnique() const
inline uint32_t GetBatchSize() const
inline uint32_t GetFirstModSize() const
inline uint32_t GetNumLargeDigits() const
inline uint32_t GetMultiplicativeDepth() const
inline uint32_t GetScalingModSize() const
inline SecurityLevel GetSecurityLevel() const
inline uint32_t GetRingDim() const
inline uint32_t GetEvalAddCount() const
inline uint32_t GetKeySwitchCount() const
inline EncryptionTechnique GetEncryptionTechnique() const
inline MultiplicationTechnique GetMultiplicationTechnique() const
inline uint32_t GetPRENumHops() const
inline CompressionLevel GetInteractiveBootCompressionLevel() const
inline uint32_t GetCompositeDegree() const
inline uint32_t GetRegisterWordSize() const
inline CKKSDataType GetCKKSDataType() const
inline virtual void SetPlaintextModulus(PlaintextModulus ptModulus0)
inline virtual void SetDigitSize(uint32_t digitSize0)
inline virtual void SetStandardDeviation(float standardDeviation0)
inline virtual void SetSecretKeyDist(SecretKeyDist secretKeyDist0)
inline virtual void SetMaxRelinSkDeg(uint32_t maxRelinSkDeg0)
inline virtual void SetPREMode(ProxyReEncryptionMode PREMode0)
inline virtual void SetMultipartyMode(MultipartyMode multipartyMode0)
inline virtual void SetExecutionMode(ExecutionMode executionMode0)
inline virtual void SetDecryptionNoiseMode(DecryptionNoiseMode decryptionNoiseMode0)
inline virtual void SetNoiseEstimate(double noiseEstimate0)
inline virtual void SetDesiredPrecision(double desiredPrecision0)
inline virtual void SetStatisticalSecurity(uint32_t statisticalSecurity0)
inline virtual void SetNumAdversarialQueries(uint32_t numAdversarialQueries0)
inline virtual void SetThresholdNumOfParties(uint32_t thresholdNumOfParties0)
inline virtual void SetKeySwitchTechnique(KeySwitchTechnique ksTech0)
inline virtual void SetScalingTechnique(ScalingTechnique scalTech0)
inline virtual void SetBatchSize(uint32_t batchSize0)
inline virtual void SetFirstModSize(uint32_t firstModSize0)
inline virtual void SetNumLargeDigits(uint32_t numLargeDigits0)
inline virtual void SetMultiplicativeDepth(uint32_t multiplicativeDepth0)
inline virtual void SetScalingModSize(uint32_t scalingModSize0)
inline virtual void SetSecurityLevel(SecurityLevel securityLevel0)
inline virtual void SetRingDim(uint32_t ringDim0)
inline virtual void SetEvalAddCount(uint32_t evalAddCount0)
inline virtual void SetKeySwitchCount(uint32_t keySwitchCount0)
inline virtual void SetEncryptionTechnique(EncryptionTechnique encryptionTechnique0)
inline virtual void SetMultiplicationTechnique(MultiplicationTechnique multiplicationTechnique0)
inline virtual void SetPRENumHops(uint32_t PRENumHops0)
inline virtual void SetInteractiveBootCompressionLevel(CompressionLevel interactiveBootCompressionLevel0)
inline virtual void SetCompositeDegree(uint32_t compositeDegree0)
inline virtual void SetRegisterWordSize(uint32_t registerWordSize0)
inline virtual void SetCKKSDataType(CKKSDataType ckksDataType0)

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)