From https://stackoverflow.com/questions/6776050/how-long-to-brute-force-a-salted-sha-512-hash-salt-provided, to break SHA-512 with brute force strategy, it require 3,17 * 10^64 years. It is almost impossible to decryt it.

But I wonder the situation. If SHA-512 is powerful as the above link, everyone uses SHA-512 and keeps their private key secure then everything is safe and no one can decrypt any information.

On the other hand, I heard it only requires few years to decryt message with the most advanced technology because of computational power. I am confused about the whole picture. What I missed?

closed as unclear what you're asking by dr jimbob, Steffen Ullrich, Lucas Kauffman, Dog eat cat world, Rory Alsop May 13 '16 at 7:57

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • SHA-512 is a hashing algorithm, not a encryption algorithm. So talking about decrypting messages and the speed of SHA-512 is not related. If this does not make sense have a look at stackoverflow.com/questions/4948322/… – David Waters May 13 '16 at 3:24
  • 1
    SHA-512 is a hash function, it doesn't have a key, and you can't decrypt it. I think you need to do some reading about hash functions and encryption and then ask your question again. – Mike Ounsworth May 13 '16 at 5:00

Firstly terminology, SHA-512 is a hashing algorithm not an encryption algorithm, so it makes not sense to talk about "decrypting a SHA-512 hash". As your link states you are trying to find a collision e.g. an input that gives the same value as a known hash. If you have an unknown, large, random input this becomes an exhaustive search such as described first in your link.

Unfortunately people don't just use hashes for unknown, large, random inputs. They also use them on passwords. Passwords are non-random, small, limited character set and often commonly known. It is often possible to guess a password with a few million attempts, using a list of common passwords, a dictionary of all word in a given language, and some simple transforms.

SHA-512 is a fast hash not well suited to storing passwords, hashcat can do 414 million SHA-512 hashes per second, so if a password is common it will be broken in less then a second.

If you are wanting to store passwords please consider designed slow hash like PBKDF2 or bcrypt. See CrackStation for more details.

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