I have my coins in cold storage with addresses generated using bitaddress.org offline. I have AES encrypted digital copies of the key pairs and kept them on usb sticks using gpg. The private keys have never been on an internet enabled machine.
I am interested in purchasing a metal cold storage wallet for long term physical storage of my coins securely. I am worried about leaving the data on usb devices over many years in case it degrades.
Something which has caught my eye which is metal bitcoin wallets which are nigh on indestructible. They seem to use BIP38, which encrypts the private key with a passphrase and returns a 6P address and QR code which can be swept easily into modern wallet software once decrypted. This seems an elegant solution and cooler than a usb stick and messing around with gpg on a linux offline laptop.
My question is how can I get a BIP 38 encrypted private key from a private key I have generated using dice or a mycelium entropy?
Obviously as this is for cold storage funds it must be secure..
Thanks
EDIT: i would have thought this was possible with bitaddress.org but although i can enter dice rolls and keys into it, it wants to generate new key pairs before it applies the BIP38 encryption.
https://github.com/bitcoin/bips/blob/master/bip-0038.mediawiki - Here is the actual BIP it has alot of great information.
You could try using this JS Library:
http://cryptocoinjs.com/modules/currency/bip38/var Bip38 = require('bip38');
var privateKeyWif = '5KN7MzqK5wt2TP1fQCYyHBtDrXdJuXbUzm4A9rKAteGu3Qi5CVR'; //Your Private Key generated from Dicerolls
var bip38 = new Bip38();
var encrypted = bip38.encrypt(privateKeyWif, 'TestingOneTwoThree', "1Jq6MksXQVWzrznvZzxkV6oY57oWXD9TXB");
console.log(encrypted); // => 6PRVWUbkzzsbcVac2qwfssoUJAN1Xhrg6bNk8J7Nzm5H7kxEbn2Nh2ZoGg