Think of sudoku. What is easier? To solve a puzzle, or to check if a solution is correct?
Sudoku and this hashing alghorithm have something in common: They are NP problems.
What are NP problems? In computation we have sort problems by how complex they are to solve. For example: Ordering a list of names is less complex than evaluating the best move in a game of chess. There’s a set of problems that can “easily” be verified, but we have no idea if there’s a solution that isn’t “more complex” than checking if a solution is true, those are the NP problems (also one of the biggest questions of math. It is known as “NP = P?”)
>why can we not just do the steps backwards?
We don’t know if we can’t. But in the case we can, we don’t know how to do it.
Latest Answers