libfilezilla
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | List of all members
private_key Class Reference

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)
 

Detailed Description

Represents a X25519 private key with associated salt.

See also
public_key

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