Template Class Key
Defined in File key.h
Page Contents
Inheritance Relationships
Base Types
public lbcrypto::CryptoObject< Element >(Template Class CryptoObject)public lbcrypto::Serializable(Class Serializable)
Derived Types
public lbcrypto::EvalKeyImpl< Element >(Template Class EvalKeyImpl)public lbcrypto::PrivateKeyImpl< Element >(Template Class PrivateKeyImpl)public lbcrypto::PublicKeyImpl< Element >(Template Class PublicKeyImpl)
Template Parameter Order
class Element
Class Documentation
-
template<class Element>
class lbcrypto::Key : public lbcrypto::CryptoObject<Element>, public lbcrypto::Serializable Inheritence diagram for lbcrypto::Key:
![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 >"]
"3" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
"7" [label="lbcrypto::PublicKeyImpl< Element >" tooltip="lbcrypto::PublicKeyImpl< Element >"]
"4" [label="lbcrypto::EvalKeyImpl< Element >" tooltip="lbcrypto::EvalKeyImpl< Element >"]
"6" [label="lbcrypto::PrivateKeyImpl< Element >" tooltip="lbcrypto::PrivateKeyImpl< Element >"]
"2" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >"]
"1" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >" fillcolor="#BFBFBF"]
"5" -> "4" [dir=forward tooltip="public-inheritance"]
"7" -> "1" [dir=forward tooltip="public-inheritance"]
"4" -> "1" [dir=forward tooltip="public-inheritance"]
"6" -> "1" [dir=forward tooltip="public-inheritance"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"1" -> "3" [dir=forward tooltip="public-inheritance"]
}](../_images/graphviz-2918ae99bd3bb8e5fc797a80dfeaf86ba8dcb157.png)
Collaboration diagram for lbcrypto::Key:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"3" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"]
"2" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >"]
"1" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >" fillcolor="#BFBFBF"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
"1" -> "3" [dir=forward tooltip="public-inheritance"]
}](../_images/graphviz-629ec93c6cff39e687f1e9e3ba75b807465eb6d0.png)
Abstract interface class for Keys.
- Template Parameters
Element – a ring element.
Subclassed by lbcrypto::EvalKeyImpl< Element >, lbcrypto::PrivateKeyImpl< Element >, lbcrypto::PublicKeyImpl< Element >
Public Functions
-
Key() = default
-
inline explicit Key(const CryptoContext<Element> &cc, const std::string &id = "")
-
virtual ~Key() = default