Hi Everyone.
I'm Sam, the developer of
Bippy. I'm happy to answer any question about the code or implementations of encryption that anyone may have
I've added the ability to encrypt Electrum Mnemonic seeds using a customised encryption method based on BIP0038. Bippy will recognise an Electrum seed based on the fact that it is twelve separate words. You add a password and the encryption takes place. Bippy can also decrypt the encrypted string back to the 12 word seed but only with the correct passphrase.
The code is available on github here:
http://github.com/inuitwallet/bippy The Electrum specific code is in this file:
https://github.com/inuitwallet/bippy/blob/master/encrypt/electrum.pyAs Nico has said, we are adding functionality to bippy as requests come in so the UI is in need of a bit of work.
I'll be working on making it easier to use over the next few days as well as attempting to get some compiled binaries up and working too.
If you have any questions or suggestions feel free to get in contact or post here.
A quick overview of the method for those who are interested (sorry for anyone who isn't interested. I'm quite pleased with this and want to talk about it

):
- Use the Electrum method to convert the mnemonic into the seed number
- Take a hash of the last 4 digits to act as a checksum
- Use that hash and the passphrase to generate an encryption key using scrypt
- Use that key to AES 256 encrypt the original seed in two halves (as in BIP0038)
- The encrypted string is a Base58_Check encoded concatenation of some magic bytes (to make the start of the string 'SeedE'), the checksum hash and the two encrypted halves
The decryption is the reverse of this but using the various checksums to ensure that the string is correct and the password works.