X25519 shared-secret derivation. More...
#include <StormByte/crypto/secret/x25519.hxx>


Public Member Functions | |
| Generic::PointerType | Clone () const override |
| Clone this object. | |
| Generic::PointerType | Move () override |
| Move this object into a new instance. | |
| std::optional< Secure::Password > | Share (std::string_view peerPublicKey) const noexcept override |
| Derive a shared secret. | |
Construction | |
| X25519 (KeyPair::Generic::PointerType keypair) noexcept | |
| Construct from an X25519 keypair (needs private key). | |
| X25519 (const X25519 &other)=default | |
| Copy constructor. | |
| X25519 (X25519 &&other) noexcept=default | |
| Move constructor. | |
| ~X25519 () noexcept | |
| Destructor. | |
| X25519 & | operator= (const X25519 &other)=default |
| Copy assignment. | |
| X25519 & | operator= (X25519 &&other) noexcept=default |
| Move assignment. | |
Public Member Functions inherited from StormByte::Crypto::Secret::Generic | |
| Type | Type () const noexcept |
| Algorithm of this instance. | |
| Generic (const Generic &other)=default | |
| Copy constructor. | |
| Generic (Generic &&other) noexcept=default | |
| Move constructor. | |
| virtual | ~Generic () noexcept |
| Destructor. | |
| Generic & | operator= (const Generic &other)=default |
| Copy assignment. | |
| Generic & | operator= (Generic &&other) noexcept=default |
| Move assignment. | |
Public Member Functions inherited from StormByte::Safe::Clonable< Generic > | |
| constexpr | Clonable ()=default |
| constexpr | Clonable (const Clonable &)=default |
| constexpr | Clonable (Clonable &&) noexcept=default |
| constexpr Clonable & | operator= (const Clonable &)=default |
| constexpr Clonable & | operator= (Clonable &&) noexcept=default |
| virtual constexpr | ~Clonable () noexcept=default |
Static Public Member Functions | |
| static std::optional< Secure::Password > | DeriveSharedSecret (KeyPair::Generic::PointerType keypair, std::string_view peerPublicKey) noexcept |
| Derive a shared secret without an instance. | |
Static Public Member Functions inherited from StormByte::Safe::Clonable< Generic > | |
| static PointerType | MakePointer (Args &&... args) |
Additional Inherited Members | |
Public Types inherited from StormByte::Safe::Clonable< Generic > | |
| typedef SmartPointer | PointerType |
Protected Member Functions inherited from StormByte::Crypto::Secret::Generic | |
| Generic (enum Type type, KeyPair::Generic::PointerType keypair) noexcept | |
| Construct with algorithm and keypair. | |
Protected Attributes inherited from StormByte::Crypto::Secret::Generic | |
| enum Type | m_type |
| Algorithm. | |
| KeyPair::Generic::PointerType | m_keypair |
| Local keypair (needs private key) | |
X25519 shared-secret derivation.
|
inlineexplicitnoexcept |
Construct from an X25519 keypair (needs private key).
| keypair | Keypair. |
Copy constructor.
| other | Object to copy. |
|
defaultnoexcept |
Move constructor.
| other | Object to move. |
|
noexcept |
Destructor.
|
inlineoverridevirtual |
Clone this object.
Implements StormByte::Safe::Clonable< Generic >.
|
staticnoexcept |
Derive a shared secret without an instance.
| keypair | Local keypair (needs private key). |
| peerPublicKey | Peer public key as Base64. Accepts String and std::string via string_view. |
|
inlineoverridevirtual |
Move this object into a new instance.
Implements StormByte::Safe::Clonable< Generic >.
|
default |
Copy assignment.
| other | Object to copy. |
|
defaultnoexcept |
Move assignment.
| other | Object to move. |
|
overridevirtualnoexcept |
Derive a shared secret.
| peerPublicKey | Peer public key as Base64. Accepts String and std::string via string_view. |
Implements StormByte::Crypto::Secret::Generic.