Author

Topic: About Wallet.dat password AES.256.CBC "Initialization Vector" (Read 67 times)

staff
Activity: 3374
Merit: 6530
Just writing some code
but there are multiple wallet addresses in wallet.dat
When encrypting wallet.dat, shouldn't we think only on a file basis? For example, if a wallet.dat has 5 wallet addresses, we cannot say that we only apply AES.256.CBC for one wallet address and do not encrypt the remaining 4. so the operation with password applies to the entire file. not for the address.
Each private key is encrypted individually. The wallet file is not encrypted as a whole.
member
Activity: 71
Merit: 19
but there are multiple wallet addresses in wallet.dat
When encrypting wallet.dat, shouldn't we think only on a file basis? For example, if a wallet.dat has 5 wallet addresses, we cannot say that we only apply AES.256.CBC for one wallet address and do not encrypt the remaining 4. so the operation with password applies to the entire file. not for the address.

Thank you for the answer.
staff
Activity: 3374
Merit: 6530
Just writing some code
It uses the first 16 bytes of the double sha256 of the public key as the IV.
member
Activity: 71
Merit: 19

When a wallet file is encrypted in bitcoin core, it uses an AES.256.CBC standard encryption.

When the password is decrypted, when the correct password is entered correctly, the password is not requested to be re-entered for the specified time or the password can be changed. AES.256.CBC is used in all of these stages.

I don't understand whether Bircoin Core interferes with the process of AES.256.CBC when encrypting or decrypting wallet.dat, when we look at the process of AES.256.CBC, without the "Initialization Vector", the process does not start and this is not a hidden information.
I could not find the initialization vector in the wallet.dat file. A separate calculation is made. When I used pywallet, it did not share me this "Initialization Vector".

Can someone who has knowledge about this issue enlighten?

Thank you.
Jump to: