FAQ op de site van theneoproject.com:
What is the NEO Project anyways?
NEO-c (Network Exchange Operation for Charity) platform was designed to participate in various computing challenges and projects. I donate 80% of the profits to the charities specified by my users our first project will be the RSA factoring challenge 576 (Worth $10,000.00 USD).
Only 80% gets Donated to Charity?
That's right! 80% of any money generated from the Neo Project goes to charity. Here is how we distribute the funds... 80% goes to charity specified by the users, 10% of the money goes to the person who's computer 'cracked' or 'completed' the current project or challenge, and the remaining 10% goes to the NEO project for better equipment, bandwidth, etc.
How exactly does NEO work?
NEO is a distributed computing application. If you do not know what distributed computing is or want to know more about it we suggest that you visit the Internet-based Distributed Computing Projects. We insert different code in to NEO to complete the current challenge. Our current challenge is the RSA 576 challenge, you can follow the link to get more information on exactly what the challenge is.
How are we going to crack the RSA 576 challenge?
There are a few different ways to complete this type of challenge, RSA has a few suggestions here. If you do not know about how RSA or PGP works or what a prime factorization is, I suggest you follow the links before reading on, because I am going to assume you know exactly what I am talking about.
You can basically get a bunch of computers together and start sieving, but that could take months, years, decades, even centuries. Being more of a gambler I decided that the best way to do this would be to generate a random number less than or equal to the square root of the challenge number and add 1 digit until its a possible prime number, as per Miller's Primality Test (while keeping the number the same length as the square root of the challenge) and see if the challenge number is evenly divisible by the "altered" randomly generated number. If it is... jack pot, otherwise do it again right? Wrong, what a waste of a randomly generated number! The solution could be in the string of numbers! Since the random number is the same length of the square root of the challenge number and the solution may not be the same length as the the square root of the challenge, I remove the first digit and take the result and if required, I add 1 until Miller's Primality Test reports that the number is possibly prime and see if the challenge number is evenly divisible by the new number. I continue this until the the once lengthy number reaches the length of 18, then repeat the entire process with a new number. Lets try it only with much smaller numbers...
Our challenge for the example is... '637'
z = 637
#1 Calculate the square root of our challenge number and remove anything after the decimal.
x = 25
#2 Guess a random number less than or equal to the square root of the challenge number, while keeping the same amount of digits.
y = 17
#3 is it a possible prime number? if not, add 1. In this case, 17 is ok, so we will leave it as is.
#4 See if z is evenly divisible by 'y' via mod.
if (z mod y) = 0 then we have our number! In this case, this test fails, so we remove the first digit of y and try again. Our new y value is now 7 (we removed the 1), and we know its prime, so try again with the new value of y.
#5 Do it again!
One of the prime factors of the challenge number will always be less then or equal to the square root of the challenge.
This all sounds simple... but very CPU intensive considering the challenge number is huge.
What is this Challenge number and how big is it?
Well, if you are running NEO, you can see the current challenge number in the first text box, the text box below that is the randomly generated 'guess'. If you don't have Neo, here a copy of the current challenge number...
Current Challenge Number
What happens when the RSA 576 challenge is completed by Neo or someone else?
Hopefully it will be NEO that cracks it, but NEO is pre-programmed with all of the RSA challenge numbers so we would just configure our server to send a message to all of the clients when they connected to go on the the next RSA challenge.