Template Class EvalKeyRelinImpl
Defined in File evalkeyrelin.h
Inheritance Relationships
Base Type
public lbcrypto::EvalKeyImpl< Element >
(Template Class EvalKeyImpl)
Template Parameter Order
class Element
Class Documentation
-
template<class Element>
class lbcrypto::EvalKeyRelinImpl : public lbcrypto::EvalKeyImpl<Element> Inheritence diagram for lbcrypto::EvalKeyRelinImpl:
Collaboration diagram for lbcrypto::EvalKeyRelinImpl:
Concrete class for Relinearization keys of RLWE scheme.
- Template Parameters
Element – a ring element.
Public Functions
-
inline explicit EvalKeyRelinImpl(CryptoContext<Element> cc = 0)
Basic constructor for setting crypto params
- Parameters
&cryptoParams – is the reference to cryptoParams
-
inline virtual ~EvalKeyRelinImpl()
-
inline explicit EvalKeyRelinImpl(const EvalKeyRelinImpl<Element> &rhs)
Copy constructor
- Parameters
&rhs – key to copy from
-
inline explicit EvalKeyRelinImpl(EvalKeyRelinImpl<Element> &&rhs) noexcept
Move constructor
- Parameters
&rhs – key to move from
-
inline operator bool() const
-
inline EvalKeyRelinImpl<Element> &operator=(const EvalKeyRelinImpl<Element> &rhs)
Assignment Operator.
- Parameters
&rhs – key to copy from
-
inline EvalKeyRelinImpl<Element> &operator=(EvalKeyRelinImpl<Element> &&rhs)
Move Assignment Operator.
- Parameters
&rhs – key to move from
-
inline virtual void SetAVector(const std::vector<Element> &a)
Setter function to store Relinearization Element Vector A. Overrides base class implementation.
- Parameters
&a – is the Element vector to be copied.
-
inline virtual void SetAVector(std::vector<Element> &&a)
Setter function to store Relinearization Element Vector A. Overrides base class implementation.
- Parameters
&&a – is the Element vector to be moved.
-
inline virtual const std::vector<Element> &GetAVector() const
Getter function to access Relinearization Element Vector A. Overrides base class implementation.
- Returns
Element vector A.
-
inline virtual void SetBVector(const std::vector<Element> &b)
Setter function to store Relinearization Element Vector B. Overrides base class implementation.
- Parameters
&b – is the Element vector to be copied.
-
inline virtual void SetBVector(std::vector<Element> &&b)
Setter function to store Relinearization Element Vector B. Overrides base class implementation.
- Parameters
&&b – is the Element vector to be moved.
-
inline virtual const std::vector<Element> &GetBVector() const
Getter function to access Relinearization Element Vector B. Overrides base class implementation.
- Returns
Element vector B.
-
inline virtual void SetAinDCRT(const DCRTPoly &a)
Setter function to store key switch Element. Throws exception, to be overridden by derived class.
- Parameters
&a – is the Element to be copied.
-
inline virtual void SetAinDCRT(DCRTPoly &&a)
Setter function to store key switch Element. Throws exception, to be overridden by derived class.
- Parameters
&&a – is the Element to be moved.
-
inline virtual const DCRTPoly &GetAinDCRT() const
Getter function to access key switch Element. Throws exception, to be overridden by derived class.
- Returns
Element.
-
inline virtual void SetBinDCRT(const DCRTPoly &b)
Setter function to store key switch Element. Throws exception, to be overridden by derived class.
- Parameters
&b – is the Element to be copied.
-
inline virtual void SetBinDCRT(DCRTPoly &&b)
Setter function to store key switch Element. Throws exception, to be overridden by derived class.
- Parameters
&&b – is the Element to be moved.
-
inline virtual const DCRTPoly &GetBinDCRT() const
Getter function to access key switch Element. Throws exception, to be overridden by derived class.
- Returns
Element.
-
inline virtual void ClearKeys()
-
inline virtual bool key_compare(const EvalKeyImpl<Element> &other) const
-
inline virtual std::string SerializedObjectName() const
Public Static Functions
-
static inline uint32_t SerializedVersion()