Bitcoin Core 28.99.0
P2P Digital Currency
Classes | Namespaces | Typedefs | Functions | Variables
crypter.h File Reference
#include <serialize.h>
#include <support/allocators/secure.h>
#include <script/signingprovider.h>
Include dependency graph for crypter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  wallet::CMasterKey
 Private key encryption is done based on a CMasterKey, which holds a salt and random encryption key. More...
 
class  wallet::CCrypter
 Encryption/decryption context with key information. More...
 

Namespaces

namespace  wallet
 
namespace  wallet::wallet_crypto_tests
 

Typedefs

typedef std::vector< unsigned char, secure_allocator< unsigned char > > wallet::CKeyingMaterial
 

Functions

bool wallet::EncryptSecret (const CKeyingMaterial &vMasterKey, const CKeyingMaterial &vchPlaintext, const uint256 &nIV, std::vector< unsigned char > &vchCiphertext)
 
bool wallet::DecryptSecret (const CKeyingMaterial &master_key, const std::span< const unsigned char > ciphertext, const uint256 &iv, CKeyingMaterial &plaintext)
 
bool wallet::DecryptKey (const CKeyingMaterial &master_key, const std::span< const unsigned char > crypted_secret, const CPubKey &pub_key, CKey &key)
 

Variables

const unsigned int wallet::WALLET_CRYPTO_KEY_SIZE = 32
 
const unsigned int wallet::WALLET_CRYPTO_SALT_SIZE = 8
 
const unsigned int wallet::WALLET_CRYPTO_IV_SIZE = 16