Template Class PublicKeyImpl
Defined in File publickey.h
Inheritance Relationships
Base Type
public lbcrypto::Key< Element >(Template Class Key)
Template Parameter Order
typename Element
Class Documentation
-
template<typename Element>
class lbcrypto::PublicKeyImpl : public lbcrypto::Key<Element> Inheritence diagram for lbcrypto::PublicKeyImpl:
![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::PublicKeyImpl< Element >" tooltip="lbcrypto::PublicKeyImpl< 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-9560275de2e464335ff9acdf229d2263f4af2632.png)
Collaboration diagram for lbcrypto::PublicKeyImpl:
![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::PublicKeyImpl< Element >" tooltip="lbcrypto::PublicKeyImpl< 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-9560275de2e464335ff9acdf229d2263f4af2632.png)
Class for public key.
- Template Parameters
Element – a ring element.
Public Functions
-
PublicKeyImpl() = default
-
inline explicit PublicKeyImpl(const CryptoContext<Element> &cc, const std::string &id = "")
Basic constructor
- Parameters
cc – - CryptoContext
id – - key identifier
-
inline PublicKeyImpl(const PublicKeyImpl<Element> &rhs)
Copy constructor
- Parameters
&rhs – PublicKeyImpl to copy from
-
inline PublicKeyImpl(PublicKeyImpl<Element> &&rhs) noexcept
Move constructor
- Parameters
&rhs – PublicKeyImpl to move from
-
inline operator bool() const
-
inline PublicKeyImpl<Element> &operator=(const PublicKeyImpl<Element> &rhs)
Assignment Operator.
- Parameters
&rhs – PublicKeyImpl to copy from
-
inline PublicKeyImpl<Element> &operator=(PublicKeyImpl<Element> &&rhs) noexcept
Move Assignment Operator.
- Parameters
&rhs – PublicKeyImpl to copy from
-
inline const std::vector<Element> &GetPublicElements() const
Gets the computed public key
- Returns
the public key element.
-
inline void SetPublicElements(const std::vector<Element> &element)
Sets the public key vector of Element.
- Parameters
&element – is the public key Element vector to be copied.
-
inline void SetPublicElements(std::vector<Element> &&element) noexcept
Sets the public key vector of Element.
- Parameters
&&element – is the public key Element vector to be moved.
-
inline bool operator==(const PublicKeyImpl &rhs) const
-
inline bool operator!=(const PublicKeyImpl &other) const
-
inline virtual std::string SerializedObjectName() const override
Public Static Functions
-
static inline uint32_t SerializedVersion()