mike
January 5th, 2003, 22:52
This is a thought experiment to show that RSA protections can sometimes be broken even though they use big keys.
Consider this protection scheme: User enters name and serial number. Program computes 48-bit CRC then raises it to a large power mod n, a 2048-bit number. Finally, checks to see that the encrypted CRC matches a stored value.
We want to write a serial number generator--no modification of code.
If we had one good license, we could break it instantly (how?); what if we don't? Brute-forcing the 48-bit keyspace would take months on hundreds of computers. There's another way that has a good probability of working that only needs one computer with a few hundred megs of RAM and less than a day. What is it?
Consider this protection scheme: User enters name and serial number. Program computes 48-bit CRC then raises it to a large power mod n, a 2048-bit number. Finally, checks to see that the encrypted CRC matches a stored value.
We want to write a serial number generator--no modification of code.
If we had one good license, we could break it instantly (how?); what if we don't? Brute-forcing the 48-bit keyspace would take months on hundreds of computers. There's another way that has a good probability of working that only needs one computer with a few hundred megs of RAM and less than a day. What is it?