Let us assume that we have a function f(x)=y. Whenever we give input as “x”, we get an output “y”.
Now let us look at the following table:
If we observe the above Input and Output values, by close observation we find that output is always the square of the input, i.e y=x*x. Or f(x)=x*x.
Now, let us say that the function generates an output as “121”. Since I know the function, I can easily tell that the input would have been “11”. Functions wherein we can determine the input with the help of its output are known as Two-way functions.
As much as we have enjoyed cracking this function we should realize that if we incorporate them in the Systems or Application Design, any hacker can crack open the application with a simple brute force attack.
This particular vulnerability of Two-way functions led to the adoption of One-way functions.