4 ms·
> "Even if you know the algorithm and any secret keys involved, there is no way to un-hash a string. It’s an entirely destructive operation." Hashing is simila
by gitgud 5y ago
> "Even if you know the algorithm and any secret keys involved, there is no way to un-hash a string. It’s an entirely destructive operation."
Hashing is similar to compressing a massive photo into a small thumbnail, it makes it easier and quicker to browse through photos, but you cannot recover the detailed resolution from the thumbnail.
- ericalexander0 5y ago>no way to un-hash Wrong. Possible with a rainbow table.
- 0xdeadb00f 5y agoA rainbow table must have the plaintext/hash tuple inside of it. This does not reverse the hash, but confirms that some plaintext hashes to some output.
- charcircuit 5y agoNo, you are misunderstanding. There is no inverse function to a hashing algorithm. There is an infinite number of possible inputs for any given hash.
- charcircuit 5y agoalgorithm -> function
- tialaramex 5y agoThe Rainbow Table is merely a further refinement of a neat trick to improve the performance of a trivial time/space trade on an attack. Ultimately what the Rainbow Table is doing is exactly equivalent to remembering all the inputs you tried and what they hashed to, except it uses less memory/disk than the naive approach and a bit more CPU. Knowing this you can see that it is only practical as an attack if the set of inputs you want to try is so small that you can realistically try all of them and keep the results somewhere. Rainbow Tables got famous because Microsoft's incredibly bad LANMAN hashing scheme only has small inputs (7 bytes, the algorithm runs twice on passwords up to 14 bytes), so you actually can try literally all of them, but at the time a terabyte hard disk was very expensive, Rainbow Tables meant you needed much less disk space to store the resulting data and attack this lousy scheme (but somewhat more CPU to calculate the table).