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:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"1" [label="lbcrypto::EvalKeyRelinImpl< Element >" tooltip="lbcrypto::EvalKeyRelinImpl< Element >" fillcolor="#BFBFBF"]
"5" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
"2" [label="lbcrypto::EvalKeyImpl< Element >" tooltip="lbcrypto::EvalKeyImpl< Element >"]
"4" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >"]
"3" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"2" -> "3" [dir=forward tooltip="public-inheritance"]
"3" -> "4" [dir=forward tooltip="public-inheritance"]
"3" -> "5" [dir=forward tooltip="public-inheritance"]
}](../_images/graphviz-e3cbb6d10563aca6ac34dadd022dae415cf43517.png)
Collaboration diagram for lbcrypto::EvalKeyRelinImpl:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"1" [label="lbcrypto::EvalKeyRelinImpl< Element >" tooltip="lbcrypto::EvalKeyRelinImpl< Element >" fillcolor="#BFBFBF"]
"5" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
"2" [label="lbcrypto::EvalKeyImpl< Element >" tooltip="lbcrypto::EvalKeyImpl< Element >"]
"4" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >"]
"3" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"2" -> "3" [dir=forward tooltip="public-inheritance"]
"3" -> "4" [dir=forward tooltip="public-inheritance"]
"3" -> "5" [dir=forward tooltip="public-inheritance"]
}](../_images/graphviz-e3cbb6d10563aca6ac34dadd022dae415cf43517.png)
Concrete class for Relinearization keys of RLWE scheme.
- Template Parameters
Element – a ring element.
Public Functions
-
inline explicit EvalKeyRelinImpl(const CryptoContext<Element> &cc)
Basic constructor for setting crypto params
- Parameters
&cryptoParams – is the reference to cryptoParams
-
EvalKeyRelinImpl() = default
-
virtual ~EvalKeyRelinImpl() = default
-
inline EvalKeyRelinImpl(const EvalKeyRelinImpl<Element> &rhs)
Copy constructor
- Parameters
&rhs – key to copy from
-
inline 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) noexcept
Move Assignment Operator.
- Parameters
&rhs – key to move from
-
inline virtual void SetAVector(const std::vector<Element> &a) override
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) noexcept override
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 override
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) override
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) noexcept override
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 override
Getter function to access Relinearization Element Vector B. Overrides base class implementation.
- Returns
Element vector B.
-
inline virtual void ClearKeys() override
-
inline virtual bool key_compare(const EvalKeyImpl<Element> &rhs) const override
-
inline virtual std::string SerializedObjectName() const override
Public Static Functions
-
static inline uint32_t SerializedVersion()