How long would it take a large computer to crack a private key? I am doing a presentation on Bitcoins and I was looking for some calculations to make people feel safe about the private key encryption.  Please first answer, how long in bytes the private key is, then how many combinations of numbers it will contain, and then what is the fastest computer or network of supercomputers and how long it would take to crack a private key using that computer.  I think the result would be very educational based on my own calculations.  Thank you.
how long in bytes the private key is


32 bytes, or 256 bits


  then how many combinations of numbers it will contain


There are 2^256 different private keys.  That's a little larger than a 1 followed by 77 zeroes.


  what is the fastest computer or network of supercomputers


At its peak around August 2011, the Bitcoin network was checking 15 trillion sha256 hashes per second.  (See http://bitcoin.sipa.be/)


  how long it would take to crack a private key using that computer


If we assume it takes the same time to run an ECDSA operation as it takes to check an sha256 hash (it takes much longer), and we use an optimisation that allows us to only need 2^128 ECDSA operations, then the time needed can be calculated:

&gt;&gt;&gt; pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9
0.6537992112229596


It's 0.65 billion billion years.

That's a very conservative estimate for the time taken to break one single Bitcoin address.

Edit: it was pointed out that computers tend to get exponentially faster over time, according to Moore's Law.  Assuming computing speed doubles every year (Moore's law says 2 years, but we'll err on the side of caution), then in 59 years it'll only take 1.13 years. So your coins are safe for the next 60 years without a change to the algorithms used to protect the blockchain. However, I would expect the algorithms to be changed long before it's feasible to break the protection they provide.