Is it possible the encryption type has changed through the years and I need to somehow upgrade my wallet.dat or something?
According to https://en.bitcoin.it/wiki/Wallet_encryption
This page describes the algorithm used for encrypting the wallet.dat file used in the original Bitcoin client.
Wallet encryption uses AES-256-CBC to encrypt only the private keys that are held in a wallet. The keys are encrypted with a master key which is entirely random. This master key is then encrypted with AES-256-CBC with a key derived from the passphrase using SHA-512 and OpenSSL’s EVP_BytesToKey and a dynamic number of rounds determined by the speed of the machine which does the initial encryption (and is updated based on the speed of a computer which does a subsequent passphrase change)
According to https://github.com/bitcoin/bitcoin/blob/6b8a5ab622e5c9386c872036646bf94da983b190/doc/README
Bitcoin 0.4.1 BETA
Technical details of wallet encryption
Wallet encryption uses AES-256-CBC to encrypt only the private keys
that are held in a wallet. The keys are encrypted with a master key
which is entirely random. This master key is then encrypted with
AES-256-CBC with a key derived from the passphrase using SHA512 and
OpenSSL’s EVP_BytesToKey and a dynamic number of rounds determined by
the speed of the machine which does the initial encryption (and is
updated based on the speed of a computer which does a subsequent
passphrase change).
The current version’s C++ code at https://github.com/bitcoin/bitcoin/blob/master/src/wallet/crypter.cpp mentions the same algorithms but I haven’t tried to work out if the encryption is in fact identical to the early versions or if this is even the relevant source file (though it’s name and location suggests so).
It seems likely the encryption method is compatible between current and older versions.
I would hope that any competent software developer, when changing the encryption method, would implement a wallet version number or other indicator that would allow new software to detect older wallet.dat files and either upgrade them silently or provide an appropriate message to the user.
I may be wrong though.










