5 ms·
No, by all means share the MD5 hash of your passwords. After all it's a one way hash. /S
by nickh9000 9y ago
No, by all means share the MD5 hash of your passwords. After all it's a one way hash. /S
- LinuxBender 9y agoEven SHA512 and bcrypt, totally uncrackable! /S
- Qub3d 9y agoEvery time someone says or writes "bcrypt", the GPU prices go up $10.
- LinuxBender 9y agoGotta keep those hashcat farms in business :-)
- LeoPanthera 9y agoIt's my understanding that even an MD5 hash of a not-terrible password is still virtually impossible to crack, is that wrong? Here's an md5 sum of a not-that-great password I just made up. It's 14 characters long, but has plenty of guessable features. Is it crackable? 1cf016ea3cb1f2aa2ccb59c196d0e704
- throwaway76543 9y agoYes, that is incorrect. A GPU accelerated tool like HashCat can crack that password with a fairly small hardware footprint. Here's an article involving a 25 machine cluster which would reverse your hash in about 12 minutes -- regardless of your password features. http://www.zdnet.com/article/25-gpus-devour-password-hashes-at-up-to-348-billion-per-second/ http://www.zdnet.com/article/25-gpus-devour-password-hashes-... This isn't nation-state level cost. Individuals could afford this level of hardware. Many individuals have access to systems of this size, for example through botnets, schools, spare junk in the local IT department closet, etc. It's very reversible.
- seiferteric 9y agoDon't forget spinning up an AWS cluster for 12 mins would not cost too much.
- nhumrich 9y agoWell, you would pay for the full hour regardless of how long the machines were up. GCP would give you too the minute pricing however. But your right, even a full hour is really cheap
- deleted 9y ago[deleted]
- Retric 9y agoUhh, 14 characters long. Call it even ~30^14 / 348 billion per second = 1,374,416,379 seconds. So, they can break passwords with some pattern to them, but not really brute force em.
- TheCoelacanth 9y agoThat's only 43 years and it was only 25 GPUs. Bump that up to 12000 GPUs and you could do it in about a month. It's also an unsalted hash, so you could brute force an unlimited number of passwords at the same time without additional resources. Someone with a budget of a few million dollars could break every password in the world in a month. So in other words, definitely don't publicize unsalted MD5 hashes of your passwords.
- Retric 9y agoWe can't really store that many passwords. It's even just 30^14 = 500 exabytes per byte and MD5 is 16 bytes at a minimum so you need 8000+ exabytes = 8,000,000,000+ Terabytes. Note: only "In the third quarter of 2016, approximately 144.6 million hard disk drives were shipped worldwide" aka something like all HDD ever produced might fit that much data. PS: Plus that 30 was low balling for a full search space it's 26 (lower case letters) + 26 (upper case letters) + 10 (numbers) + some number of special characters. So, ~100^14 or ~20,907,515x as large aka 10^17 TB.
- throwaway2016a 9y agoIn reality while that would be really easy to crack (measured in minutes as others pointed out). However, any possible password with a standard printable ASCII character set will typically be found in Rainbow tables up to 10 characters long making expensive cracking unnecessary. [not quite right see edit] Rainbow tables are just giant tables where the key is the hash and the value is the string that generated it. However, your example being 14 characters long is a bit long to be in most readily available rainbow tables. This is why using salts and peppers are incredibly important regardless of what hash you use. Edit: minor(ish) correction to the previous sentence. Full alphanumeric with punctuation and digits is available readily in smaller password lengths but the 10 character long datasets seem to be mostly only lower case characters and digits.
- forgotpwtomain 9y ago>However, any possible password with a standard printable ASCII character set will typically be found in Rainbow tables up to 10 characters long making expensive cracking unnecessary. Umm what? Even assuming a limited set of ASCII i.e. Base64, on what magical medium do you suppose a 64^10 rainbow table is stored?
- morecoffee 9y agoAny medium really. Rainbow tables are compressed (by throwing away most of the hashes). The amount you throw away determines how long it takes to crack. For example, A rainbow table might use chain lengths of 10,000. This means that for every 10,000 hashes calculated, only 1 (really 2) are kept. Each chain ends up as a row in the table, which is then sorted. When cracking, the target hash is hashed and reversed up to 10,000 times looking through the table. The more compression the less space needed, but longer look up. The original Windows XP rainbow table cracking CD published along with the Rainbow table paper was only ~500Mb, but was able to crack pretty much every windows password.
- Godel_unicode 9y agoAn md5 rainbow table for lower alphanumeric which covers passwords of length 9 is 63gb. Length 10 is 316gb. You can see where this is going. It's important to note the caveat upfront; lower case-only plus numbers. No upper case, no symbols. http://project-rainbowcrack.com/table.htm http://project-rainbowcrack.com/table.htm
- Jakawao 9y agohunter2hunter2
- LeoPanthera 9y agoNo. Just for reference. :)
- analogist 9y agoThat's pretty much correct, yeah. Due to exponentiation, length is almost everything in password security. Which means there's going to be a bunch of lengths at which brute force cracking is trivial, and then a very sharp rise in complexity, after which brute force cracking quickly becomes astronomical, and then absolutely impossible. If you look at the current cracking benchmarks of GPUs (https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40 https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a27...), there is an easily quantifiable difference between bcrypt and MD5: 21 bits. (https://www.wolframalpha.com/input/?i=log2(200*%5E9)-log2(106*%5E3) https://www.wolframalpha.com/input/?i=log2(200*%5E9)-log2(10...) That means under current GPU architecture, bcrypt is basically like "adding 3-4 characters (or 1.5 diceware words)" for free to your password. Can you basically just add 3-4 characters to your password? Sure, but not without user friction, and certainly you can't think that way as the developer of the system, because you're trying to give a small leg up to even the most vulnerable by salting and bcrypt/PBKDF2/Argon hashing. What about theoretical limits? Well, there is another way to approach this: Landauer's principle (https://en.wikipedia.org/wiki/Landauer%27s_principle https://en.wikipedia.org/wiki/Landauer%27s_principle), which considers the theoretical minimum energy of a bit flip of information - so this even covers future computing technologies. Even if you used up all available mass-energy in the entire sun, it is only theoretically possible to perform 2^225.2 operations (https://security.stackexchange.com/questions/6141/amount-of-simple-operations-that-is-safely-out-of-reach-for-all-humanity/6149#6149 https://security.stackexchange.com/questions/6141/amount-of-...). 225 bits of entropy is roughly a 35-character (printable ASCII) password. (Note that you can't do this with MD5 - it has only a 128-bit hash space, before preimage attacks, the best of which lowers it to 123 bits). So the lesson is: use slow hashes to give some protection to the vulnerable and people whose password complexity is "on the edge". Use a password manager so that the rest of your passwords can be comfortably > 128 bits in complexity, without reuse. And then forget about passwords because after that, every other part of the security system becomes more important.
- royce 9y agoA fantastic overview - clear and informed. Thanks very much for this.
- kennywinker 9y agoI see a lot of people saying how easy it would be to crack this, but I don't see it cracked...
- vultour 9y ago"Very easy to crack this! You just need a bajillion dollars, 5000 AWS instances and a couple minutes!" Not surprised why no one tried yet.
- maccard 9y agoI think it's a reasonable point. There's lots of armchair experts saying that md5 is broken, unusable, and anyone can reverse it, and here we are 14 hours later and nobody has proven it. Given that the claim was 12 minutes on a 25 machine cluster, that would imply 300 minutes of compute time which is 6 hours. This is hacker news, if it's not going to be done here, then no armchair enthusiasts are going to do it. If someone can point me towards the tools and how to set it up, I'll leave my gtx1070 at it overnight and see.