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?

  • It's called 'distributed computing' and it's been done for years. – schroeder Jul 9 '14 at 16:26
  • @schroeder so wouldn't a pool like ghash be able to decrypt most communication? – rewol Jul 9 '14 at 16:28
  • 7
    you underestimate the computing power required to brute-force encryption .... – schroeder Jul 9 '14 at 16:32
  • To brute force weak passwords? Yes. To brute force strong keys or RSA? Not even all of them combined would likely succeed before our sun consumes the planet as a red giant. – Andrew Hoffman Jul 9 '14 at 16:49
  • @AndrewHoffman how much computing power would you need for something like aes256 – rewol Jul 9 '14 at 17:25


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.

  • I think it would be difficult, since Bitcoin uses SHA-256d which is two SHA-256 invocations, and it is likely heavily pipelined so, even if you can cut out the input and verification steps, you could still only feed it a fixed-size input and get the doubly-hashed output. A cheap ASIC may be a general-purpose SHA-256 hashing circuit where the input and block verification is all done in software, but they would likely be a lot slower than the ones that operate entirely by autonomously. – forest Jun 8 '18 at 11:13

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.

Salient points:

  • 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.

  • Bitcoin mining ASICs can't compute SHA-256 of an arbitrary input at all. They take a block header template and search for a nonce where the double-sha256 is under some target value, and then just return that they're ready for more work or have found a matching nonce. – ryanc Apr 20 '18 at 16:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.