Blur is called a profile attack: based on the hash output, find the corresponding input.
If the hash function is "secure", then it is better not to use an attack than to try to use possible inputs until a hit is found; for a hash function with n-bit output, the average number of calls to the hash function will be about 2 n, i.e. the path is too much for the current ground-based technology if n is greater than 180 or so. To state it differently: if the attack method is faster than this brute force method for a given hash function, then the hash function is considered to be irreparably broken.
MD5 is considered broken, but for other weaknesses (there is a published method for pre-images with a cost of 2 123.4 which is thus about 24 times faster than the cost of brute force - but it is still still technologically unfeasible that it cannot be confirmed).
When the input of the hash function, as you know, is part of a relatively small space (for example, it is a βpasswordβ, therefore, it can enter the human user's brain), then it is possible to optimize the accident using pre-computed tables: the attacker still has to pay the cost search once, but it can reuse its tables to attack multiple instances. Rainbow tables are pre-computed tables with a spatial compressed representation: with rainbow tables, the bottleneck for an attacker is processor power, not the size of its hard drives.
source share