Class RingGSWCryptoParams
Defined in File rgsw-cryptoparameters.h
Page Contents
Inheritance Relationships
Base Type
public lbcrypto::Serializable
(Class Serializable)
Class Documentation
-
class lbcrypto::RingGSWCryptoParams : public lbcrypto::Serializable
Inheritence diagram for lbcrypto::RingGSWCryptoParams:
Collaboration diagram for lbcrypto::RingGSWCryptoParams:
Class that stores all parameters for the RingGSW scheme used in bootstrapping.
Public Functions
-
RingGSWCryptoParams() = default
-
inline explicit RingGSWCryptoParams(uint32_t N, NativeInteger Q, NativeInteger q, uint32_t baseG, uint32_t baseR, BINFHE_METHOD method, double std, SecretKeyDist keyDist = UNIFORM_TERNARY, bool signEval = false, uint32_t numAutoKeys = 10)
Main constructor for RingGSWCryptoParams
- Parameters
N – ring dimension for RingGSW/RLWE used in bootstrapping
Q – modulus for RingGSW/RLWE used in bootstrapping
q – ciphertext modulus for additive LWE
baseG – the gadget base used in the bootstrapping
baseR – the base for the refreshing key
method – bootstrapping method (DM or CGGI or LMKCDEY)
std – standar deviation
keyDist – secret key distribution
signEval – flag if sign evaluation is needed
numAutoKeys – number of automorphism keys in LMKCDEY bootstrapping
-
void PreCompute(bool signEval = false)
Performs precomputations based on the supplied parameters
-
inline uint32_t GetN() const
-
inline const NativeInteger &GetQ() const
-
inline const NativeInteger &Getq() const
-
inline uint32_t GetBaseG() const
-
inline uint32_t GetDigitsG() const
-
inline uint32_t GetBaseR() const
-
inline uint32_t GetNumAutoKeys() const
-
inline const std::vector<NativeInteger> &GetDigitsR() const
-
inline const std::shared_ptr<ILNativeParams> GetPolyParams() const
-
inline const std::vector<NativeInteger> &GetGPower() const
-
inline const std::vector<int32_t> &GetLogGen() const
-
inline const std::map<uint32_t, std::vector<NativeInteger>> &GetGPowerMap() const
-
inline const DiscreteGaussianGeneratorImpl<NativeVector> &GetDgg() const
-
inline const std::vector<NativeInteger> &GetGateConst() const
-
inline const NativePoly &GetMonomial(uint32_t i) const
-
inline BINFHE_METHOD GetMethod() const
-
inline SecretKeyDist GetKeyDist() const
-
inline bool operator==(const RingGSWCryptoParams &other) const
-
inline bool operator!=(const RingGSWCryptoParams &other) const
-
inline virtual std::string SerializedObjectName() const override
-
inline void Change_BaseG(uint32_t BaseG)
Public Static Functions
-
static inline uint32_t SerializedVersion()
-
RingGSWCryptoParams() = default