Originally posted by jimson
so (1632)/16 = 2.1267647932558653966460912964486e+37
so, does it sounds possible ?
or 10000000000000000000000000000000 hex = ? TB?
No, (1632)/16 = 1631 is only a factor of 16 difference - in grains of sand measure that's 20 million times the size of the Eath. And that is assuming of course that you can tell in advance which strings hash to MD5 hashes where the first four bits are all 0 and how do you know which ones those are?
Okay, I just generated a thousand different MD5 hashes. Doing it in PHP on my machine it took a bit less than 1/80 of a second, but doing nothing except generating them, and on trivial strings at that. But clever coding and hand-tooled assembler may make things a bit faster. Let's be generous and assume therefore a machine can test 100,000 hashes in a second. Let's say we can get a million machines working on the problem. That's 100 billion hashes tested per second. To test 1631 numbers would take only about 450 million times the present age of the Universe. Maybe I should go away and see how Moore's Law would affect this estimate.
ok, i think another method
1616 = 18446744073709551616
18446744073709551616/16 = 1152921504606846976
em, we just having the first 16 char of 32 md5 char.
so we will have
0000000000000000 to 1111111111111111
so we will have pair that generate
Again, how do you know which ones they are? You're going to crank out MD5 hashes and then try and find matches to each of them in turn? The 450 million above assumes you're just generating strings and then computing the hashes.
aik... ok.. found another solution..
so, our goal is to prove the theory is WRONG...
"The theory" - oh, I love it when people use that phrase; it almost guarantees comedy. Note that the abstract of RFC1321 states that "it is conjectured that it is computationally infeasible...". In other words, there is no theory; just a lot of empirical and theoretical evidence to the effect.
It would be much more interesting to develop a computationally feasible means of reversing MD5 to find which message(s) generate a given hash. That's why I wanted to know if there was anyone with cryptographic experience here.
so we just use the computer power to find the 32 chars that can generated "67c356a7e59cda2160d0b86c389264c0"
what ya think?
How? By developing an algorithm that would work in a feasible amount of time and space for any hash, or by mindlessly chucking strings at this particular hash until one sticks? The first would qualify as cracking MD5, the latter would just be guessing passwords.
maybe we will have a list of peeps who join
where their name <32 chars
and database will try to math the list for occurance ?
Why? You've got their name, just hash it! Who needs to look it up in a big table of hashes?
I think you don't actually understand what a Message Digest is. The next sentence of RFC1321's abstract is: "The MD5 algorithm is intended for digital signature applications, where a large file must be 'compressed' in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA."
sorry weed, about my STYLE... ? <= i got style. ?.. stylish... 🙂 🙁
Hence the quotes around the phrase.
Again, the challenge hash I posted above still stands.