![]() |
libfilezilla
|
Represents a X25519 private key with associated salt. More...
#include <encryption.hpp>
Public Types | |
enum | { key_size = 32, salt_size = 32 } |
Size in octets of key an salt. | |
Public Member Functions | |
operator bool () const | |
std::vector< uint8_t > const & | salt () const |
public_key | pubkey () const |
Calculates the public key corresponding to the private key. | |
std::vector< uint8_t > | shared_secret (public_key const &pub) const |
Calculates a shared secret using Elliptic Curve Diffie-Hellman on Curve25519 (X25519) | |
std::string | to_base64 () const |
Static Public Member Functions | |
static private_key | generate () |
Generates a random private key. | |
static private_key | from_password (std::vector< uint8_t > const &password, std::vector< uint8_t > const &salt) |
Derives a private key using PKBDF2-SHA256 from the given password and salt. | |
static private_key | from_password (std::string_view const &password, std::vector< uint8_t > const &salt) |
static private_key | from_base64 (std::string_view const &base64) |
Represents a X25519 private key with associated salt.