StormByte C++ Library: Crypto module 0.0.9999
StormByte-Crypto is a StormByte library module for handling cryptographic operations
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StormByte::Crypto::Signer::ED25519 Class Referencefinal

A generic signer signer class. More...

#include <ed25519.hxx>

Inheritance diagram for StormByte::Crypto::Signer::ED25519:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Crypto::Signer::ED25519:
Collaboration graph
[legend]

Public Member Functions

 ED25519 (KeyPair::Generic::PointerType keypair)
 Constructor.
 
 ED25519 (const KeyPair::ED25519 &keypair)
 Constructor.
 
 ED25519 (KeyPair::ED25519 &&keypair)
 Constructor.
 
 ED25519 (const ED25519 &other)=default
 Copy constructor.
 
 ED25519 (ED25519 &&other) noexcept=default
 Move constructor.
 
 ~ED25519 () noexcept=default
 Virtual destructor.
 
ED25519operator= (const ED25519 &other)=default
 Copy assignment operator.
 
ED25519operator= (ED25519 &&other) noexcept=default
 Move assignment operator.
 
PointerType Clone () const noexcept override
 Clone the ED25519 signer.
 
PointerType Move () noexcept override
 Move the ED25519 signer.
 
- Public Member Functions inherited from StormByte::Crypto::Signer::Generic
 Generic (const Generic &other)=default
 Copy constructor.
 
 Generic (Generic &&other) noexcept=default
 Move constructor.
 
virtual ~Generic () noexcept=default
 Virtual destructor.
 
Genericoperator= (const Generic &other)=default
 Copy assignment operator.
 
Genericoperator= (Generic &&other) noexcept=default
 Move assignment operator.
 
KeyPair::Generic::PointerType KeyPair () const noexcept
 Gets the keypair used for asymmetric encryption.
 
bool Sign (std::span< const std::byte > input, Buffer::WriteOnly &output) const noexcept
 Sign data from input span to output buffer.
 
bool Sign (const Buffer::ReadOnly &input, Buffer::WriteOnly &output) const noexcept
 Sign data from input buffer to output buffer.
 
bool Sign (Buffer::ReadOnly &input, Buffer::WriteOnly &output) const noexcept
 Sign data from input buffer to output buffer, moving the input data.
 
Buffer::Consumer Sign (Buffer::Consumer consumer, ReadMode mode=ReadMode::Move) const noexcept
 Sign data from a Consumer buffer.
 
bool Verify (std::span< const std::byte > input, const std::string &signature) const noexcept
 Verify data from input span to output buffer.
 
bool Verify (const Buffer::ReadOnly &input, const std::string &signature) const noexcept
 Verify data from input buffer to output buffer.
 
bool Verify (Buffer::ReadOnly &input, const std::string &signature) const noexcept
 Verify data from input buffer to output buffer, moving the input data.
 
bool Verify (Buffer::Consumer consumer, const std::string &signature, ReadMode mode=ReadMode::Move) const noexcept
 Verify data from a Consumer buffer.
 

Additional Inherited Members

- Protected Member Functions inherited from StormByte::Crypto::Signer::Generic
 Generic (enum Type type, KeyPair::Generic::PointerType keypair)
 Constructor.
 
 Generic (enum Type type, const KeyPair::Generic &keypair)
 Constructor.
 
 Generic (enum Type type, KeyPair::Generic &&keypair)
 Constructor.
 
- Protected Attributes inherited from StormByte::Crypto::Signer::Generic
enum Type m_type
 The type of signer.
 
KeyPair::Generic::PointerType m_keypair
 The password used for asymmetric encryption.
 

Detailed Description

A generic signer signer class.

Constructor & Destructor Documentation

◆ ED25519() [1/5]

StormByte::Crypto::Signer::ED25519::ED25519 ( KeyPair::Generic::PointerType  keypair)
inline

Constructor.

Parameters
typeThe type of signer.
keypairThe keypair used for asymmetric encryption.

◆ ED25519() [2/5]

StormByte::Crypto::Signer::ED25519::ED25519 ( const KeyPair::ED25519 keypair)
inline

Constructor.

Parameters
typeThe type of signer.
keypairThe keypair used for asymmetric encryption.

◆ ED25519() [3/5]

StormByte::Crypto::Signer::ED25519::ED25519 ( KeyPair::ED25519 &&  keypair)
inline

Constructor.

Parameters
typeThe type of signer.
keypairThe keypair used for asymmetric encryption.

◆ ED25519() [4/5]

StormByte::Crypto::Signer::ED25519::ED25519 ( const ED25519 other)
default

Copy constructor.

Parameters
otherThe other ED25519 signer to copy from.

◆ ED25519() [5/5]

StormByte::Crypto::Signer::ED25519::ED25519 ( ED25519 &&  other)
defaultnoexcept

Move constructor.

Parameters
otherThe other ED25519 signer to move from.

Member Function Documentation

◆ Clone()

PointerType StormByte::Crypto::Signer::ED25519::Clone ( ) const
inlineoverridenoexcept

Clone the ED25519 signer.

Returns
A pointer to the cloned ED25519 signer.

◆ Move()

PointerType StormByte::Crypto::Signer::ED25519::Move ( )
inlineoverridenoexcept

Move the ED25519 signer.

Returns
A pointer to the moved ED25519 signer.

◆ operator=() [1/2]

ED25519 & StormByte::Crypto::Signer::ED25519::operator= ( const ED25519 other)
default

Copy assignment operator.

Parameters
otherThe other ED25519 signer to copy from.
Returns
Reference to this ED25519 signer.

◆ operator=() [2/2]

ED25519 & StormByte::Crypto::Signer::ED25519::operator= ( ED25519 &&  other)
defaultnoexcept

Move assignment operator.

Parameters
otherThe other ED25519 signer to move from.
Returns
Reference to this ED25519 signer.

The documentation for this class was generated from the following file: