/bippy

New version of bippy with updated UI, better workflow and more functionality

Primary LanguagePythonMIT LicenseMIT

#Bippy ###fast and easy BIP0038 encryption and vanity addresses for a range of crypto currencies

Bippy is able to generate valid private keys and addresses for a range of currencies. It uses the BIP0038 encryption method to encrypt the private keys with a passphrase. Using a customised version of vanitygen, Bippy is also able to generate vanity addresses for most currencies and offer optional BIP0038 encryption on those private keys too.

###Features

  • Secure, Offline generation of private keys
  • BIP0038 encryption of Private Keys, Public Addresses and Electrum Seeds
  • Range Of currencies supported (more can be added on request)
  • Personalised links to Wood Wallets to allow for your encrypted keys to be engraved on a wood wallet (links are plain text and need to be copied and pasted into a web browser as Bippy has no access to the internet)
  • No database or cache so generated private keys are destroyed when the UI is cleared
  • Vanity Address generation and encryption
  • Range of private key formats recognised
  • Three layers of Entropy creation including user entered
  • Attractive UI with informative instructions
  • Possible to use dice to generate a private key

###Windows Installer

Bippy has been packaged into an installable package for Windows. The downloadable zip file contains the installer exe file, the source code and a README file. the download is available on the Bippy website:

http://bippy.org/download

###Installing Bippy from source

Bippy is built using Python 2.7 and Kivy. Both will need to be installed on your computer before Bippy will run. There are good instructions for installing both Python and Kivy on their respective websites.

On Windows Kivy comes as a portable application. It can be a bit of a faff to get it working first time but the instructions on the Kivy site are clearer than I can manage here.

###Running Bippy

If you used the Windows installer, simply click the link on the Desktop or in the Start Menu.

Otherwise, once you have Python and Kivy installed clone this repository and run the Bippy.py file The command used differs on different OSes. On Linux you use python Bippy.py. On Mac you use kivy Bippy.py.

Bippy can be used totally offline. It also has no cache (unlike a web browser) so the keys it generates can be considered 'cold'.

###Using Bippy

Bippy is intended to be simple and to have an obvious workflow. There are instructions given on every action so it should be fairly self explanitory. You can choose what action you want to undertake byt selecting from the 'Action' drop down menu on the top bar. You need to choose a Currency for most actions as this will affect what is generated by Bippy. The excpetion to this is when encrypting Mnemonic seeds such as those used by Electrum. When generating a vanity address, just enter the text you want to search for as Bippy automatically adds the chosen curerency prefix to the search text. If at any point you want to stop the Action and return to the home screen, press the main Bippy logo on the far left of the top bar. This will reset all the screens and remove any data that has been entered or generated

###The science bit

####Private Keys

Bippy generates compressed private keys as a standard. If you enter an uncompressed private key to be BIP0038 encrypted, Bippy will recognise it as such and hash the corresponding uncompressed address.

####BIP0038

The BIP0038 method used for hashing Privat eKeys remioans the same as that laid out in the specification. The method used for encrypting Mnemonic seeds or public addresses ha sbeen modified slightly to allow for the different use case.

####Vanitygen

The vanitygen binary used by Bippy has been modified to always generate compressed private and public keys. this keeps it inline with the rest of the private nad public keys Bippy is able to create. It has also been modified to accept two version numbers when a different version is specified. This allows for Nubit addresses to be generated which have a different version number to their corresponding private key.

####Entropy

When generating private keys internally, Bippy uses three different sources of Entropy. The most obvious is the user entered entropy which is collected when you draw dots over Bippy with your mouse. This is combined with clock based and urandom based entropy to generate random private keys for better security.

###Known Issues

The issues at the moment are to do with the compiling of the binaries that Bippy needs to run. The two it uses are scrypt (for BIP0038 encryption) and vanitygen (for vanity address generation). Bippy currently has scrypt binaries for: Linux (64 bit) Linux (32 bit) OSX (64 bit) Windows (32 bit)

and vanitygen binaries for: Linux (64 bit) Windows (32 bit)

(Windows will only use the 32 bit version of these binaries so onlyu Mac is missing)

If you are able to compile vanitygen or scrypt for platforms not mentioned, please do so and share the binary with me. Thanks :)