Template Class EvalKeyImpl
Defined in File evalkey.h
Page Contents
Inheritance Relationships
Base Type
public lbcrypto::Key< Element >(Template Class Key)
Derived Type
public lbcrypto::EvalKeyRelinImpl< Element >(Template Class EvalKeyRelinImpl)
Template Parameter Order
class Element
Class Documentation
-
template<class Element>
class lbcrypto::EvalKeyImpl : public lbcrypto::Key<Element> Inheritence diagram for lbcrypto::EvalKeyImpl:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"5" [label="lbcrypto::EvalKeyRelinImpl< Element >" tooltip="lbcrypto::EvalKeyRelinImpl< Element >"]
"4" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
"1" [label="lbcrypto::EvalKeyImpl< Element >" tooltip="lbcrypto::EvalKeyImpl< Element >" fillcolor="#BFBFBF"]
"3" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >"]
"2" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >"]
"5" -> "1" [dir=forward tooltip="public-inheritance"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"2" -> "3" [dir=forward tooltip="public-inheritance"]
"2" -> "4" [dir=forward tooltip="public-inheritance"]
}](../_images/graphviz-987278d4f26f51df3b5753a939cb4dc54fb793fb.png)
Collaboration diagram for lbcrypto::EvalKeyImpl:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"4" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
"1" [label="lbcrypto::EvalKeyImpl< Element >" tooltip="lbcrypto::EvalKeyImpl< Element >" fillcolor="#BFBFBF"]
"3" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >"]
"2" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"2" -> "3" [dir=forward tooltip="public-inheritance"]
"2" -> "4" [dir=forward tooltip="public-inheritance"]
}](../_images/graphviz-205852f2a2a20691532eebdf57140e094f7427eb.png)
Abstract interface for evaluation/proxy keys.
- Template Parameters
Element – a ring element.
Subclassed by lbcrypto::EvalKeyRelinImpl< Element >
Public Functions
-
EvalKeyImpl() = default
Basic constructor for setting crypto params
- Parameters
&cryptoParams – is the reference to cryptoParams
-
inline explicit EvalKeyImpl(const CryptoContext<Element> &cc)
-
virtual ~EvalKeyImpl() = default
-
inline virtual void SetAVector(const std::vector<Element> &a)
Setter function to store Relinearization Element Vector A. Throws exception, to be overridden by derived class.
- 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. Throws exception, to be overridden by derived class.
- 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. Throws exception, to be overridden by derived class.
- Returns
Element vector A.
-
inline virtual void SetBVector(const std::vector<Element> &b)
Setter function to store Relinearization Element Vector B. Throws exception, to be overridden by derived class.
- 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. Throws exception, to be overridden by derived class.
- 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. Throws exception, to be overridden by derived class.
- Returns
Element vector B.
-
inline virtual void ClearKeys()
-
inline virtual bool key_compare(const EvalKeyImpl &other) const
-
inline virtual std::string SerializedObjectName() const override
Friends
-
inline friend bool operator==(const EvalKeyImpl &a, const EvalKeyImpl &b)
-
inline friend bool operator!=(const EvalKeyImpl &a, EvalKeyImpl &b)