Hi,
I'm happy to announce the Pirate Linux is now a fully functioning Bitcoin paper wallet creator. Since my old posts (
https://bitcointalksearch.org/topic/pirate-linux-first-release-60542), Pirate Linux is no longer based on Ubuntu, but rather based on Hardened Gentoo. Paper wallet creation isn't the main purpose of the project, but this alpha release is designed especially to have a fully functioning paper wallet creator that you can boot up live and easily create a paper wallet for cold storage. I am not claiming that it is perfect, but I think this is currently the most secure paper wallet creator that exists. Unlike other paper wallet creators, it does not use Ubuntu, and it does not use a browser (coded in pure C). Also, there is an encryption feature that I think is superior to the overly-complex BIP-38 method. The passphrase (allowing the alphanumeric, space, and hypen characters) (base-64) gets converted to base-256, and this is used as a one-time-pad that gets added byte-wise to the secret part of the private key in base-256 representation, so the encryption is perfectly secure, with no loss of randomness.
Guide with screenshots and more information:
https://piratelinux.org/?page_id=774Some interesting parts from the guide:
As you can see, the first page contains the QR code of the encrypted private key (encrypted to your passphrase), the address written on top, and the encrypted private key written on the bottom. The second page contains the QR code of your passphrase together with the written version of your encrypted private key and the written version of your passphrase. The first page is meant to be stored in a safe location, such as in a physical safe at home (can be covered in plastic). The second page is more compact, and is meant to be cut out into the size of a business card, and kept in your pocket when you travel. For example, if you are moving to a different home, you will need to take the first page with you, but this can be scanned or searched at an airport, so it is safer to have it password protected, and in case you forget the password, you can have it in your pocket.
Cwallet will output each address and private key in Bitcoin’s base-58 format. It will also check to make sure that the private key correctly corresponds to the address by performing a multiplication in Elliptic Curve space. When converting between different bases, a reverse conversion is made to verify that the conversion went well. When inputting a private key, its hash portion is checked to make sure that it correctly corresponds to its content portion. Each conversion from a public key to an address is computed twice and both versions are compared for consistency; as is each conversion from a base-256 private key to Bitcoin’s base-58 private key. Pdflatex is used create the PDF file as it is a clean and well tested method of creating PDF documents. We use qrencode with the highest error correction level. A passphrase may be given to encrypt the private key with a one-time-pad derived from the passphrase. The program is written in C, the dependencies are minimal, with the core functions contained within less than 1000 lines of code. This makes it very easy to audit Cwallet for correctness and security.
Also, stay tuned for the next release of Pirate Linux (in a month), which will bring more advanced anonymity features as well as dark-wallet setup to go through Tor...