After 20 years the telephone activation algorithm of Windows XP has been cracked. Please understand the algorithm itself has been cracked and not the activation program.
Microsoft had designed its own algorithm which is based on a lot of math. When they did that they had to spend a lot of money on the development of this algorithm and they had the risk that it won't be safe.
Because it has been cracked, it's shown that the algorithm is not safe. I'm also quite sure the reason it's possible to crack it today is not because of computers being faster. Because already in 2004 there was an Intel Prescott 3,8GHz CPU for Desktop PCs.
My question is why didn't Microsoft simply use RSA or another proven algorithm?
For those who don't know I think the activation process works like this:
- The client generates an activation ID and sends it to the activation server (over a phone call).
- The server signs it using the private key.
- The client verifies the signature using the public key.