Template Class Key

Inheritance Relationships

Base Types

Derived Types

Template Parameter Order

  1. 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"] }

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"] }

Abstract interface class for Keys.

Template Parameters

Element – a ring element.

Subclassed by lbcrypto::EvalKeyImpl< Element >, lbcrypto::PrivateKeyImpl< Element >, lbcrypto::PublicKeyImpl< Element >

Public Functions

inline explicit Key(CryptoContext<Element> cc = 0, const std::string &id = "")
inline explicit Key(std::shared_ptr<CryptoObject<Element>> co)
inline virtual ~Key()
template<class Archive>
inline void save(Archive &ar, std::uint32_t const version) const
template<class Archive>
inline void load(Archive &ar, std::uint32_t const version)