<p>The problem with using an operating system like Windows to create these password-protected wallet is that you could still be offline (not connected to the internet), but if you have some sort of virus installed, they could copy your wallet, get your password that you'd type in, and store it locally. Then as soon as you connect it to the internet, they would send all this info to their servers and you're wallets would now be breached. </p>

<p>So using an operating system that is secure and open-source is <strong>very</strong> important. I would personally even disregard Ubuntu, because it has a graphical interface and it comes preinstalled with lots of questionable software - some of which has been recently set to send unwanted data to their servers.</p>

<p>Using something like FreeBSD or other Linux distros, directly using the command-line, and no graphical interface, would lower the barrier for any sort of attack.</p>

CC BY-SA 3.0
2013-11-16T13:23:42.517Z
2013-11-16T13:23:42.517Z
Luca Matteis
<p>A secure but clumsy alternative is to avoid general-purpose desktop/laptop computers and smartphones entirely. It's possible to generate keys without a real computer, which would protect you from malware and network-based attacks (but spending the coins is a different story).</p>

<p>It's possible to generate random Bitcoin private-public key pairs on a more restricted computing device, like an Arduino microcontroller without Wi-Fi or Bluetooth capabilities. (Or Texas Instruments LaunchPad, PJRC Teensy, etc.)</p>

<p>You would need C/C++ code that collects random numbers, computes the public curve point, and hashes the data to get the public address. The device should have a screen to display your private and public keys. A 32-bit CPU is preferred for faster math, because doing SHA-256 and elliptic curve calculations on an 8-bit CPU could take a while.</p>

<p>Here's an example of an Arduino-based project by Steven Pearson that securely generates a key and prints it:</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=f7y_emuo68g" rel="nofollow">https://www.youtube.com/watch?v=f7y_emuo68g</a></li>
<li><a href="https://www.youtube.com/watch?v=noW77GqmNBQ" rel="nofollow">https://www.youtube.com/watch?v=noW77GqmNBQ</a></li>
</ul>

CC BY-SA 3.0
2015-07-26T09:49:06.360Z
I wouldn't suggest anybody ever use that code to make private keys, it is very unlikely to be safe.
Claris
CC BY-SA 3.0
2015-07-26T14:26:24.127Z
How do you know if Pearson's code is safe or not?
Nayuki
CC BY-SA 3.0
2015-07-25T03:30:57.323Z
2015-07-25T03:36:05.623Z
2015-07-25T03:36:05.623Z
Nayuki
<p>101% safe version:</p>

<ol>
<li><p>Use Bitcoin QT to generate a wallet offline using a USB (pendrive) version of Ubuntu</p></li>
<li><p>Export private key and write (don't print) it manually on paper (double check)</p></li>
<li><p>Power off your PC</p></li>
</ol>

<p>You can do the same with fresh Windows install BUT after you generate private key HARD FORMAT (wipe) HDD</p>

CC BY-SA 3.0
2013-12-01T13:37:53.373Z
2013-12-01T13:37:53.373Z
user9148
<p>I have seen several ways of creating an offline wallet for cold (secure) storage:</p>

<ol>
<li>Use BitcoinQT to generate a wallet offline using a clean install of Ubuntu.</li>
<li>Armory</li>
<li>Electrum</li>
</ol>

<p>Are any of these methods more secure than the others? Is there a recommended solution for creating a secure offline wallet?</p>

<wallet><security>
What are the differences in these methods of creating wallets offline?
bitcoinz
# What are the differences in these methods of creating wallets offline?

(Asked by: username_0 on 2013-11-16)

I have seen several ways of creating an offline wallet for cold (secure) storage:

1. Use BitcoinQT to generate a wallet offline using a clean install of Ubuntu.
2. Armory
3. Electrum

Are any of these methods more secure than the others? Is there a recommended solution for creating a secure offline wallet?

**Tags:** wallet, security


---

## 3 answers

### Answer by username_1 on 2013-11-16. Score: 1

The problem with using an operating system like Windows to create these password-protected wallet is that you could still be offline (not connected to the internet), but if you have some sort of virus installed, they could copy your wallet, get your password that you'd type in, and store it locally. Then as soon as you connect it to the internet, they would send all this info to their servers and you're wallets would now be breached.

So using an operating system that is secure and open-source is **very** important. I would personally even disregard Ubuntu, because it has a graphical interface and it comes preinstalled with lots of questionable software - some of which has been recently set to send unwanted data to their servers.

Using something like FreeBSD or other Linux distros, directly using the command-line, and no graphical interface, would lower the barrier for any sort of attack.


---

### Answer by username_2 on 2015-07-25. Score: 0

A secure but clumsy alternative is to avoid general-purpose desktop/laptop computers and smartphones entirely. It's possible to generate keys without a real computer, which would protect you from malware and network-based attacks (but spending the coins is a different story).

It's possible to generate random Bitcoin private-public key pairs on a more restricted computing device, like an Arduino microcontroller without Wi-Fi or Bluetooth capabilities. (Or Texas Instruments LaunchPad, PJRC Teensy, etc.)

You would need C/C++ code that collects random numbers, computes the public curve point, and hashes the data to get the public address. The device should have a screen to display your private and public keys. A 32-bit CPU is preferred for faster math, because doing SHA-256 and elliptic curve calculations on an 8-bit CPU could take a while.

Here's an example of an Arduino-based project by Steven Pearson that securely generates a key and prints it:

* <https://www.youtube.com/watch?v=f7y_emuo68g>
* <https://www.youtube.com/watch?v=noW77GqmNBQ>

> **Comments:**
> **username_3**: I wouldn't suggest anybody ever use that code to make private keys, it is very unlikely to be safe.  
> **username_2**: How do you know if Pearson's code is safe or not?  

---

### Answer by username_4 on 2013-12-01. Score: 0

101% safe version:

1. Use Bitcoin QT to generate a wallet offline using a USB (pendrive) version of Ubuntu
2. Export private key and write (don't print) it manually on paper (double check)
3. Power off your PC

You can do the same with fresh Windows install BUT after you generate private key HARD FORMAT (wipe) HDD


---

