A few days ago, while discussing the theft of 450,000 passwords from Yahoo!, I used the phrase “one-way algorithm”. Apparently the existence of such a thing is still unproven. So how do you describe a function that’s easy to perform in one direction, and difficult (VERY difficult, but theoretically possible) in the other direction?
Take the multiplication of two large prime numbers, each of 10 digits. Multiply them together – that’s easy. Now forget the first two numbers and try to factor their product — that’s difficult!
Computer science calls these functions “hash algorithms”. I guess that I’ll stick with that phrase, even though “one-way algorithm” is self-descriptive, if not 100% accurate. Language is fascinating.