Forum: Community Center


Subject: Preventing usage of Warez

bazze opened this issue on Jan 12, 2007 · 84 posts


Talain posted Wed, 17 January 2007 at 8:46 PM

Quote - A key checking algorithm must produce a definite result, with the same key the result must be always yes or no, so the process must be reversible.

Noooooooooooooo.

The whole basis of public key encryption is that the process of encrypting a message with a public key is easily done, while the reverse (decrypting it) is not, unless you have the private key.

Go to http://en.wikipedia.org/wiki/RSA for a detailed description of how RSA encryption works.  In a nutshell you have a public key pair (n, e) that is made public, and a private key d which you keep secret.  To send an encrypted message to you one would encrypt it with your public key, and you would use your private key to decrypt it and get the original message back.  An eavesdropper who didn't have your private key would not be able to easily decrypt it (it would likely take months or even years to crack it,, depending on the size of n, which is typically very, very large - over 100 digits is quite common).

On the other hand, if I manage to steal your private key, I can easily check to see if it is in fact your private key, by encrypting a message with your public key and then decrypting it with your (suspected) private key, and see if I get back the original message.

It may seem intuitive to believe that by reverse engineering the key-checking algorithm that one can then create a program to generate valid keys, but this is not necessarily the case (it actually is possible, given enough time.  However "enough time" could turn out to be months or even years of processing time on even the fastest computers).