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
Constructor & Destructor Documentation
◆ CMasterKey()
|
inline |
Definition at line 58 of file crypter.h.
References nDerivationMethod, nDeriveIterations, and vchOtherDerivationParameters.
Member Function Documentation
◆ SerializationOp()
|
inline |
Definition at line 50 of file crypter.h.
References nDerivationMethod, nDeriveIterations, READWRITE, vchCryptedKey, vchOtherDerivationParameters, and vchSalt.
Member Data Documentation
◆ ADD_SERIALIZE_METHODS
◆ 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:
- src/wallet/crypter.h