is it possible to retrieve a password from a (partial) MD5 hash? -
suppose have first 16 characters of md5 hash. if use brute force attack or rainbow tables or other method retrieve original password, how many compatible candidates have expect? 1? (i not think) 10, 100, 1000, 10^12? rough answer welcome (for number, please coherent hash theory , methodology).
the output of md5 16 bytes (128 bits). suppose talking hexadecimal representation, hence 32 characters. thus, "16 characters" means "64 bits". considering md5 output truncated 64 bits.
md5 accepts inputs 264 bits in length; assuming md5 behaves random function, means 218446744073709551616 possible input strings map more or less uniformly among 264 outputs, hence average number of candidates given output 218446744073709551552, close 105553023288523357112.95.
however, if consider can find @ least 1 candidate, means space of possible passwords consider reduced. rainbow table special kind of precomputed table accepts compact representation (at expense of relatively expensive lookup procedure), if covers n passwords, means that, @ point, apply hash function n times. in practice, severely limits size n. assuming n=260 (which means table builder had 1 hundred nvidia gtx 580 gpu , run them 6 months; also, table use quite lot of hard disks), then, on average, 1/16th of 64-bit outputs have matching password in table. passwords in table, there 93.75% probability there no other password in table leads same output; if prefer, if find matching password, find, on average, 0.0625 other candidates (i.e. of time, no other candidate).
in brief, answer question depends on size n of space of possible passwords consider (those covered during rainbow table construction); but, in practice earth-based technology, if can find one matching password 64-bit output, chances not able find (although there are many others).
Comments
Post a Comment