What is the potential that the ASICs being developed for mining could be used for other cryptographic applications such as building rainbow tables? I know that for instance those that crack GSM with rainbow tables utilize systems similar to those for mining for building rainbow tables and decrypting GSM packets. Such systems are also used for building MD5, SHA, rainbow tables for traditional password/shadowfile cracking.
TLDR; forget about it.
The ASICs are optimized for bitcoin mining. Not just Sha256(Sha256(x)) hashing, but very specifically bitcoin mining. You can't even use them for the Sha256(Sha256(x)) hashing in the rest of the bitcoin system, like hashing transactions.
The ASICs are made for hashing 80 bytes, where you give them the midstate from hashing the first chunk (64 bytes), and 12 bytes from the second chunk. They then try all variations of the last 4 bytes to try and find a hash that starts with 4 zero-bytes. Only values that result in the 4 zero-bytes are reported at all. That's basically what mining is.
The ASIC could aid in password cracking if:
- the hashes are generated with sha256(sha256(x))
- salt + password = 80 bytes
- the hash starts with 4 zero-bytes
A potential use I can think of is for aiding mailing servers using a variant of HashCash to validate they're not spammers: should HashCash users start using SHA-2 instead of SHA-1 for the proof-of-work, then ASIC miners could be reused to aid mail severs send authenticated mails to large distribution lists, thus reducing the cost for honest corporate (or even personal, should the need arise!) massive mailing.
Of course, this also means spammers could simply get these machines to reduce the chance their mails get identified as the garbage they are - buying an ASIC would simply become another "investment" needed to start a spamming business. So here goes the egg and chicken problem...
Lets say you want to build a rainbow table of double-sha-256, you then want to calculate 2^256 hashes which is 1.579*10^77 hashes lets divived by on the average ASIC power we have (one at 30Ghash/s):
1.579*10^77 hash / 30,000,000,000 hash/s
Or 1.2238*10^59 years
Which is, correct me, more than the time of the UNIVERSE!
And if we took the actual bitcoin network power (@ about 20 Thash/s), we would still wait 1.8358*10^56 YEARS. Which is not even really faster.
So well good luck trying to do a rainbow table, I guess.
TL;DR: Yes, bitcoin ASICs can serve cryptanalytic purposes.
They could be used to speed up a cryptanalytic attack that requires a lot of random bit-strings whose SHA256 begins with many zero bits. Bitcoin miners will report bitcoin header blocks
M such that
sha256(sha256(M)) begins with a prescribed number of zeros. In particular, this means that
M'=sha256(M) is a random 256-bit blob whose hash begins with many zero bits.
One particular situation where this can be useful is the computation of a 3SUM on sha256. See this page for more details.