My last post got me to thinking about what is the very least amount of code to generate private keys completely transparently - where you could see in one glance that nothing is possibly amiss.
And so I took that keyconv program and hacked it into a very simple single text that anyone can paste into a file and compile. Just the math and here it is:
This is the best solution I've seen so far.
There's nothing wrong with bitaddress.org but it will take ages to go through the code. Especially the ECDSA math.
If you have the skill & patience & background to go through code to verify an implementation, then I suppose this works for you.
But seriously, I made
Armory specifically to make cold storage accessible to the users that don't want to dig through code, write their own, etc. It has been in user for a year now, without anyone ever losing coins. Put Armory on your offline computer, generate a wallet, print a paper backup (or copy by hand if you don't have an acceptable printer). This is the best kind of "paper wallet" because it is a single code that protects all addresses ever created by the wallet. If you ever need to restore the wallet, you only type in that code, instead of 300 individual private keys.
"Create Watching-Only Copy" from the wallet properties window and import it into Armory on your online computer. You can still generate millions of receiving addresses and verify incoming payments with this wallet, yet an attacker cannot compromise it without physically gaining access to the offline computer -- because your private keys are not even touching the internet.
And if that's not enough, you can use a USB key to move tx data over to the offline computer, sign it, bring it back and hit "broadcast." It takes about 60 seconds once you get the hang of it.
You don't have to like Armory, I just don't know why you wouldn't try it first, since it was designed for
precisely what the OP requested.