As far as I know, there aren't any full Bip38 implementations in python. I have decided I want to write one so that python developers can build applications using encrypted private keys.
My code is here:
https://github.com/priestc/moneywagon/blob/master/moneywagon/bip38.pyWhat I have working:
* Non-ec multiply encrypt and decryt. (with tests)
* Generating Confirm Code.
* Generating Intermediate Point.
* Generating encrypted private key from Intermediate Point.
What I
do not have working:
* Decrypting ec-mutiply encrypted private key
** Working examples:
**
https://github.com/mannkind/bit2factor.org/blob/master/js/bitcoin.bip38.js#L84**
https://github.com/casascius/Bitcoin-Address-Utility/blob/master/Model/Bip38KeyPair.cs#L125* Generating address from confirm code
** Working exampes:
**
https://github.com/mannkind/bit2factor.org/blob/master/js/bitcoin.bip38.js#L298**
https://github.com/casascius/Bitcoin-Address-Utility/blob/master/Model/Bip38Confirmation.cs#L102The white paper does a very good job of explaining how to do everything, but when it comes to decrypting ec-multiply and generating address from confirm code (the two things I haven't done yet), the BIP is very sparse of details:
https://github.com/bitcoin/bips/blob/master/bip-0038.mediawikiI don't really know that much about cryptography so someone else will have to finish this. I have done as much as I can do.