Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

Private key encryption is done based on a CMasterKey, which holds a salt and random encryption key. More...

#include <crypter.h>

Public Member Functions

template<typename Stream , typename Operation >
void SerializationOp (Stream &s, Operation ser_action)
 
 CMasterKey ()
 

Public Attributes

std::vector< unsigned char > vchCryptedKey
 
std::vector< unsigned char > vchSalt
 
unsigned int nDerivationMethod
 0 = EVP_sha512() 1 = scrypt() More...
 
unsigned int nDeriveIterations
 
std::vector< unsigned char > vchOtherDerivationParameters
 Use this for more parameters to key derivation, such as the various parameters to scrypt. More...
 
 ADD_SERIALIZE_METHODS
 

Detailed Description

Private key encryption is done based on a CMasterKey, which holds a salt and random encryption key.

CMasterKeys are encrypted using AES-256-CBC using a key derived using derivation method nDerivationMethod (0 == EVP_sha512()) and derivation iterations nDeriveIterations. vchOtherDerivationParameters is provided for alternative algorithms which may require more parameters (such as scrypt).

Wallet Private Keys are then encrypted using AES-256-CBC with the double-sha256 of the public key as the IV, and the master key's key as the encryption key (see keystore.[ch]).Master key for wallet encryption

Definition at line 34 of file crypter.h.

Constructor & Destructor Documentation

◆ CMasterKey()

CMasterKey::CMasterKey ( )
inline

Definition at line 58 of file crypter.h.

References nDerivationMethod, nDeriveIterations, and vchOtherDerivationParameters.

Member Function Documentation

◆ SerializationOp()

template<typename Stream , typename Operation >
void CMasterKey::SerializationOp ( Stream &  s,
Operation  ser_action 
)
inline

Member Data Documentation

◆ ADD_SERIALIZE_METHODS

CMasterKey::ADD_SERIALIZE_METHODS

Definition at line 47 of file crypter.h.

◆ nDerivationMethod

unsigned int CMasterKey::nDerivationMethod

0 = EVP_sha512() 1 = scrypt()

Definition at line 41 of file crypter.h.

Referenced by CMasterKey(), CWallet::EncryptWallet(), and SerializationOp().

◆ nDeriveIterations

unsigned int CMasterKey::nDeriveIterations

Definition at line 42 of file crypter.h.

Referenced by CMasterKey(), CWallet::EncryptWallet(), and SerializationOp().

◆ vchCryptedKey

std::vector<unsigned char> CMasterKey::vchCryptedKey

Definition at line 37 of file crypter.h.

Referenced by CWallet::EncryptWallet(), and SerializationOp().

◆ vchOtherDerivationParameters

std::vector<unsigned char> CMasterKey::vchOtherDerivationParameters

Use this for more parameters to key derivation, such as the various parameters to scrypt.

Definition at line 45 of file crypter.h.

Referenced by CMasterKey(), and SerializationOp().

◆ vchSalt

std::vector<unsigned char> CMasterKey::vchSalt

Definition at line 38 of file crypter.h.

Referenced by CWallet::EncryptWallet(), and SerializationOp().


The documentation for this class was generated from the following file:
Released under the MIT license