My understanding is that miners solve complex algorithms (sha256 i believe) and receive bitcoins. With the amount of hash power all these pools get from miners couldn't they use the resources to decrypt a bunch of encrypted information?
Modern ASIC miners are highly specialized for the "mining" task of Bitcoin: generating partial preimages of SHA-256 hashes through brute-force searching (to be precise, a value that, when hashed, produces a hash with a given number of leading zeroes).
Breaking SHA-256-based security requires complete preimages (ie. a value that, when hashed, gives the exact hash value being sought), and the world's collective mining power is many orders of magnitude too low for this (the current hash rate is 1.33×1017 hashes per second, enough to generate a complete preimage about every 300,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 years)
It might be possible to re-purpose Bitcoin mining rigs to break SHA-256 password hashes, since the search space is smaller. The collective processing power could crack any eight-character password in under a second; ten-character passwords could be broken in an hour or two. However, SHA-256 is an uncommon hash for passwords: most people use crypt, bcrypt, or MD5. The mining rigs are too specialized to attack those or any other encryption algorithms.
The tools used by miners are specialized circuits (ASIC) which are very good at exactly one task: computing SHA-256 on some input. SHA-256 is a cryptographic hash function, not an encryption function.
Being able to compute a lot of SHA-256 is useful for an attacker only in situations where:
- there is some secret value S that the attacker wishes to obtain;
- the value S is part of a space of possible values which is small enough to be enumerated with existing technology (meaning: S is not a random 128-bit key; rather, S is some password that an average human user can remember);
- and the attacker has access to the value f(S) where f() is a function that mostly uses SHA-256.
So, in practice, ASIC for Bitcoin mining may be good tool to try to crack passwords which have been hashed with SHA-256 or a derivative which relies on SHA-256 for most of its structure (e.g. PBKDF2). Usual attackers normally rely on GPU, but the ASIC are supposed to offer a better efficiency/cost ratio (otherwise, Bitcoin miners would use GPU too...).
An ASIC for Bitcoin mining would be bad at doing anything else than SHA-256, so the "normal" way of using PBKDF2 (that is, with SHA-1, not SHA-256) is unimpacted. So are bcrypt and other password hashing functions.
The Bitcoin ASIC show that it is possible, for a given hardware building and running budget, to get substantially more computing out of dedicated circuits (ASIC) than what you get with generic hardware (i.e. PC and GPU). However, the ASIC has a huge one-time overhead, when you design the circuit, then go to a foundry and proceed to make a million of chips. Economically, the cost benefits are all in the scaling; you have to make and run a lot of ASIC to reach a high efficiency/cost ratio.
Specialized circuits being specialized, they cannot be easily retargeted. An ASIC for SHA-256 has no value when trying to break a SHA-1 based algorithm, let alone anything AES-based. Still economically, generic CPU and GPU are cheap because they are produced by the million because they are generic and thus can be used to a multitude of tasks.
Brute force enumeration works only for values which lie in a small enough space of possible values. All the Bitcoin ASIC on Earth won't help you do some brute-force on a 128-bit symmetric key.