QUOTE(crystalgeek)
lol all jokes aside would it not be easier to write a simple script to figure out all the multiples of the public key and then to test them?
heres how i see the program written
N defined as 1
Public key = P
A = Number
(etc)
Dude, you totally need to send that to a mathematical journal and have it published. You'll be famous!
There are exactly two factors of the public key. Good luck finding them. Start your computer running your program, and someday after the stars have grown dim and the universe is crumbling to dust it might complete... but I doubt it.
QUOTE(crosseye)
The problem is that it would take a SETI like program with thousands of computers working all day for like a year or more. I still think you are underestimating the sheer volume of what you are asking.
Actually, you're guilty of underestimation too... by a lot.
This is a 2048-bit key, created by multiplying together two 1024-bit prime numbers. So there are 2^1024 keys to check, or about 10^308. Specificially, that's about a trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion trillion potential keys.
Suppose your computer is able to test a trillion keys in a trillionth of a second. Your program will complete in 10^277 years. If you started it running at the Big Bang, it would be about 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001% complete.
Okay, so computers will get faster. Let's take your computer, capable of checking a trillion keys in a picosecond, and make it not twice as fast, not three times as fast, not ten times as fast, not a thousand times faster, but a trillion times faster. Now your program will complete in only 10^215 years.
So we'll go with the distributed model. We'll make like SETI and get a whole bunch of computers in on the act. Let's give every one of Earth's six billion people a computer and network them all together. No, wait, that's not enough. Let's give every one of Earth's six billion people a
million computers and network them all together. Let's assume this network is infinitely fast and every computer can receive and submit work units in no time at all. Now our runtime is merely 10^199 years.
Still no good, we're gonna need to call in the extraterrestrials to help. There's about 100 billion stars in the Milky Way galaxy. Let's assume that every one of them (except our own) has ten Earth-like planets, with similar population as Earth, and give every one of those little green men their own collection of a million computers and add them to our network. Now our runtime is down to a snappy 10^187 years. Of course, that's using only our galaxy. It's unknown how many galaxies are in the Universe, but let's arbitrarily say there are a billion trillion of them and add them all to our network. We'll be done in 10^166 years.
But who's to say there's only one Universe? Maybe there are
several parallel Universes, and maybe we can enlist them all. Let's say that for every single proton in our universe, there's another whole Universe out there we can somehow communicate with and get them to devote every one of their resources to cracking the Xbox 360 key. That'll get the runtime down to a very manageable 10^80 years or so... which is only a billion billion billion billion billion billion billion billion billion times longer than the entire age of the Universe.
But you want your SETI-like project to complete in a year. Frankly, I'm at a loss as to how we can reduce it any further.
Someday, the problem of factoring big primes will be solved -- and that day will be a terrible day, because while you may be able to sign your own Xbox code, the security that controls
everything will pretty much collapse. But until that day, forget about cracking the key. Brute force won't do it, no matter how enthusiastic you are.