Template Class CryptoObject

Inheritance Relationships

Derived Types

Template Parameter Order

  1. typename Element

Class Documentation

template<typename Element>
class lbcrypto::CryptoObject

Inheritence diagram for lbcrypto::CryptoObject:

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 >"]
    "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 >"]
    "1" [label="lbcrypto::CryptoObject< Element >" tooltip="lbcrypto::CryptoObject< Element >" fillcolor="#BFBFBF"]
    "3" [label="lbcrypto::Key< Element >" tooltip="lbcrypto::Key< Element >"]
    "2" [label="lbcrypto::CiphertextImpl< Element >" tooltip="lbcrypto::CiphertextImpl< Element >"]
    "5" -> "4" [dir=forward tooltip="public-inheritance"]
    "7" -> "3" [dir=forward tooltip="public-inheritance"]
    "4" -> "3" [dir=forward tooltip="public-inheritance"]
    "6" -> "3" [dir=forward tooltip="public-inheritance"]
    "3" -> "1" [dir=forward tooltip="public-inheritance"]
    "2" -> "1" [dir=forward tooltip="public-inheritance"]
}

CryptoObject.

A class to aid in referring to the crypto context that an object belongs to

Subclassed by lbcrypto::CiphertextImpl< Element >, lbcrypto::Key< Element >

Public Functions

CryptoObject() = default
inline explicit CryptoObject(const CryptoContext<Element> &cc, const std::string &tag = "")
CryptoObject(const CryptoObject &rhs) = default
CryptoObject(CryptoObject &&rhs) noexcept = default
virtual ~CryptoObject() = default
inline CryptoObject &operator=(const CryptoObject &rhs)
inline CryptoObject &operator=(CryptoObject &&rhs) noexcept
inline bool operator==(const CryptoObject &rhs) const
inline CryptoContext<Element> GetCryptoContext() const
const std::shared_ptr<CryptoParametersBase<Element>> GetCryptoParameters() const
const EncodingParams GetEncodingParameters() const
inline const std::string &GetKeyTag() const
inline void SetKeyTag(const std::string &tag)
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)
inline std::string SerializedObjectName() const

Public Static Functions

static inline uint32_t SerializedVersion()

Protected Attributes

CryptoContext<Element> context
std::string keyTag