In bitcoin qt, when you set a password to a wallet, encrypted and hashed values of the password, salt and the number of iterations are created in wallet dat (6ce38 .... 3c582d724214, a08e54c3106fe5fd, 120074). (a08e54c3106fe5fd). In my bitcoin qt for my encryption and hashing, openssl cryptography with aes256cbc encryption is used. meaning salt value (a08e54c3106fe5fd) in wa llet dat. I am not an expert in cryptography and may not correctly understand how data is encrypted.
1 answer
Option 1. Compile your bitcoin-qt, and change the code where the salt is compiled randomly.
Option 2. With the help of third-party utilities, you can edit the already existing wallet.dat . As an example, you can see the well-known pywallet . He cannot do what you need, but he can read, decrypt, and save the updated wallet.dat . If you understand it (and this is not so difficult, a bit of code), then you can replace the salt with any kind.
- @AzarSafarov You are looking at a method that takes salt in the input. This salt is generated in
wallet.cpp,CWallet::EncryptWalletwithGetStrongRandBytes. - Zergatul - Option 2 will work if you have a password, you decrypt private keys, then create a new salt, with its help create new keys for AES, and then encrypt private keys again. - Zergatul
- @AzarSafarov I wrote that pywallet cannot do this, you need to refine it - Zergatul
- @AzarSafarov Glassfiles is not a place where people are looking for freelancing. Here they just answer interesting questions. - Zergatul
|