Bitcoin Core 28.99.0
P2P Digital Currency
|
Private key encryption is done based on a CMasterKey, which holds a salt and random encryption key. More...
#include <crypter.h>
Public Member Functions | |
SERIALIZE_METHODS (CMasterKey, obj) | |
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... | |
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
|
inline |
unsigned int wallet::CMasterKey::nDerivationMethod |
std::vector<unsigned char> wallet::CMasterKey::vchCryptedKey |
std::vector<unsigned char> wallet::CMasterKey::vchOtherDerivationParameters |