Win $200,000 In RSA's Factoring Challenge 152
BetaRelease writes: "All ye with excess CPU cycles to spare. Here's a chance to win as much as $200,000. Join RSA's Factoring Challenge." That means you can get $10,000 for figuring out the factors for this laughably easy, completely trivial number, or twenty times that if you can figure out a slightly nastier one. While it would probably take more horsepower to win any of the prizes than the prize money could pay for, admit it would be cool to trade a 98-digit number for a few years' salary.
Re:Clustering.. (Score:1)
Fucking hell, that was almost relevant. Unlike this.
Of course (Score:1)
Re:Method of doing this? karma whore ... (Score:1)
home page for Linux [linux.com]
Please mod me up too, I posted a link !!!!
Re:Imagine if you will.. (Score:1)
Thousand = 10^3
Million = 10^6
Billion = 10^9
Trillion = 10^12
The first (the 'easy') number is approximately 10^174. Its factors are in the order of 10^87. In that range, there is a prime number every few hundred of numbers, so your chances are in the 10^84
You have one chance in a trillion of trillion of trillion of trillion of trillion of trillion to find the good number.
So, basically, the contest is more about finding new ways to factorize big numbers. Not easy ways, but slighly more practical ones.
Cheers,
--fred
the answer is..... (Score:1)
So Long and Thanx for all the Fish.... (Score:1)
Re:Translation (Score:1)
Stupid joke (Score:2)
digits one, but it is too big to fit in this post...
Stupid windows calculator (Score:2)
ok... (Score:4)
i've just requisitioned 8,000 reams of paper and 5000 number 2 pencils. wish me luck.
I'VE GOT IT! (Score:2)
Re:Wonder if Distributed.net will pick this up? (Score:2)
From the FAQ [rsasecurity.com]:
I don't think distributed.net will make much progress based on current algorythms. Most people just do'nt have that much memory to donate to the cause. Might be time to invest in memory makers if you think they will buy it.
Re:Just to get us started ... (Score:2)
Accually for 5 you only need to check for a last didget of 5. If the last didget was 0 it would be even, and we already have determined that it isn't even. Further we know that there are exactly TWO primes involved, so if it ended in 0 the only possibility is 2 and 5, which means the number is 10.
I don't know how to help you with 7, but I did just save you a millisecond with 5.
Re:Imagine if you will.. (Score:3)
Right. Pick two (presumably large, though there is no reason it has it couldn't be 1 very large and one laughably small prime number) prime numbers. Multiplu them togather. If the answer is that number, you have the solution.
The only problem is it is easy (as in I once did this when I was taking a class, but since have forgotten how) to prove that there are a lot of prime numbers to chose from. We also know of good ways to find out if a number is prime, but no good way to find the factors if it isn't.
Still, have fun. It isn't that hard to find two prime numbers with a paper an pencil. Of course arthmitic mistakes are likely, and it takes a lot of time)
Brute force only way to do this? (Score:1)
The obvious way is pure Brute Force: Iterate between 2 and n, where n is the number. If the current iteration i divides into n, j times (with no remainder), remember the factors i and j, and then recursively repeat with i and j as values for n.
Continue until all values of n are non-divisible (prime)
Anybody have a better algorithm?
Answered my own question: see URL (Score:2)
Hmm...
All the Challenge numbers are the product of two primes, so there's only 2 factors. If we had a list of al the primes of length n, where n is the length of the longest Challenge number, this would be trivial. But since we don't...
Well, read the FAQ for yourseves.
Re:More than just two contests (Score:1)
Re:More than just two contests (Score:1)
Re:Answered my own question: see URL (Score:2)
You are incorrect about the square root.
First of all, just look at RSA 130. It's a 130 digit number with 2, 65 digit prime numbers. In fact the 2 factors are:
45534498646 73597218840 36868972744 08864356301 26320506960 0999044599
and
39685999459 59745429016 11261628837 86067576449 11281006483 2555157243
The product of those 2 numbers is:
18070820886 87404805951 65616440590 55662781025 16769401349 17012702145 00566625402 44048387341 12759081230 33717818879 66563182013 214880557
Which has the square root of (approx):
42509788151 52346540745 26976625052 94703186899 16508643485 6734890373.3
Which is LESS than one of the factors.
This means that checking UP TO the square root was not effective in this case.
The other point is that the big products appear to generally be 2x the number of digits of their factors. This means that to pick your starting point for the factors, you use the square root of the product. Fitting the numbers isn't something you can just easily brute force. In RSA130 the two factors had a difference of:
58484991871 38517898242 56073439062 27967798521 50395004768 443887356
That is a lot of comparisons.
No, don't (Score:1)
*
106603(bignum2)62808643 w/o segfault & core dump. Bah.
[lameness filter - those are #'s, not CAPS!)
Clue: use 'bc' (Score:2)
Re:Answered my own question: see URL (Score:1)
For n, there is at least one factor that is between 1 and sqrt(n).
Thus, for 14, factors being 2 and 7, and sqrt(14) being ~3.741657, your statement is false.
Although, once you know one factor, the other must fall into place.
As a side note, if you're too lazy to figure out which numbers are prime before trying them, just try all numbers that end in 1,3,7, and 9. After 10, those are the only digits a prime can end in.
Damn! (Score:2)
My user number is prime (Score:2)
Re:Imagine if you will.. (Score:1)
Oh yes, you must be one of those Americans, the great nation that inhabits planet Unkasam all alone. And that planet is ruled by a government, better known as The Government.
Seriously, what's your puny government going to do if, say, Chinese, "came out tommorow with the solution for *all* of these"?
Yet again someone has to say this, but you never can't emphasize this message enough: Your're not alone, Yanks.
Re:Oh come on, I could to it... (Score:1)
Now go home and wait for a visit from the patent lawyers like a good little heathen.
Re:Imagine if you will.. (Score:2)
As an example, radioactive decay is, at the atomic level, a fairly random process, and the atoms are basically isolated. Any given atom could just pop at any moment, and at any given moment some of them are.
Realize now that, with some "luck", it would be very possible for a whole bunch of atoms to decay at once. There's nothing keeping them going at any certain rate other than probability; it's incredibly unlikely that any large number of atoms will do the same relatively unlikely thing at around the same time.
In this case, I would say that if you use your computer to try some random prime numbers, it's far more likely that you'll explode than find the correct numbers "on accident". Not a good risk, I say.
Re:Blame Matthew Broderick (Score:2)
Then again, he wasn't anything I'd call a "hacker", in any sense of the word. The best one-word description of him would be "wannabe".
What would be interesting... (Score:1)
Of course, I'm sure that that is not what RSA Labs is hoping for. What would be much more interesting is if someone can come up with a method that doesn't take a massive number of cycles and could be quickly used on any such number.
Or more interesting yet, prove that one needs to work their butt off to factor it.
If one could either one, the prize would be much more than 200 grand.
Re:I'm sorry (Score:1)
That we know of. Prove it.
(And then we can all rest a bit easier when we use RSA, for example.)
Re:proof: (Score:1)
Re:Translation (Score:4)
RSA is offering this money to show that the RSA public key method IS secure, because we can't factor these numbers.
Re:Imagine if you will.. (Score:2)
I've thought about this before, but more from the perspective of "what if by some freak accident I was to stumble on the algorithm that makes factoring trivial? what would I do?"
Now, I don't believe everything I see in movies, but I also don't feel like putting my welfare or my sanity on the line by exposing something so momentous and dangerous. A lot of powerful people depend on the difficulty of factoring to keep their stuff secret.
Here's what I think I would do: Send an encrypted e-mail to Bruce Schneier describing the algorithm (he must have a public key posted somewhere), and forward it through a dozen anonymous remailers. Preface the explanation with this: The existence of the algorithm I am about to describe is terrifying to me, and I am not fit nor willing to take responsibility for it. I trust your judgement in how you feel is the best way to proceed.
--
Re:Imagine if you will.. (Score:1)
Re:Brute force only way to do this? (Score:1)
The second volume of Knuth's Art of Computer Programming series [amazon.com] has a good discussion of different factoring algorithms, and their applicability at different times.
Re:Brute force only way to do this? (Score:1)
Or, alternatively, you could go factor the 704 bit number in the RSA challenge, take the $30,000, go buy Knuth a beer and just ask him what the answer is.
Not running out of keys yet. (Score:2)
Translation (Score:3)
The first gradstudent to develop a serious quantum computer is gonna pick up a lot of cash.
Re:Brute force only way to do this? (Score:2)
Intuitively, I would say yes. I can't prove it. I don't know that anyone has.
Knuth does say, in the 'Notes on the Exercises', that a 50 is a research problem that hasn't been solved yet. As his example he uses Fermat's last theorem. Of course, the book is copyright 1969. Don't know if he's corrected that in the latest edition. No reason to buy the new one, I'm not finished with this one yet!
--
Alex Johns
Re:Only Two Factors? (Score:1)
From earlier on in the FAQ:
Each number is the product of two large primes, similar to the modulus of an RSA key pair.
So, 4 factors,
1, unknown1, unkown2, and the test number itself.
Only need to submit the 2 primes from the middle pair.
Title should have been "Win $635,000 in ..." (Score:1)
If you have enought cycles to factor the 2048 bit challenge any time in the near future one would assume that you could easily factor the lesser numbers as well.
RSA expects to pay the $10,000 within the year (Score:2)
An interview on CNet radio yesterday with the chief research guy @ RSA said that RSA expects to pay the first sum ($10,000) within a year.
Re:Pretty sad (Score:1)
Let's say, for sake of argument, that someone comes up with a new algorithm for finding the primes that generate a key, and six weeks from now, they manage to clean up and take every prize offered. For a total outlay of $635,000, we find out that encryption based on primes is vulnerable to cracking. I think anyone would be hard-pressed to find medical research that benefits from that same amount of money to the same degree that cryptography would from the revelation that the factors from a large key can be easily obtained.
Imagine if you will.. (Score:3)
While cool, and prestigious, and definitely worth money, the government would SURELY seek to either supress his findings, or acquire them.
If someone came up with an entirely new number theory solution that allowed easy factoring of huge numbers (ala Sneakers), the government would indeed be something to fear.
Not to mention, very few secrets would be safe.
Just an interesting thought for a boring day..
Re:Answered my own question: see URL (Score:1)
pi(x) ~ x/(log x - 1) where x = 10^617 and log is the natrual log
See http://www.utm.edu/research/primes/howmany.shtml#
Re:Wonder if Distributed.net will pick this up? (Score:1)
Hope it helps.
Just to get us started ... (Score:5)
2
3
5
7
Well, they're not even (Score:2)
Conspiracy! (Score:2)
Re:Imagine if you will.. (Score:1)
I'd recommend giving the world a chance to update its mathematics first: apply the algorithm a few times to prove that you've got it, and then let the world know that you have a dead-man-switch in some random location, just waiting to release the algorithm should something happen to you.
use those cycles for something useful.... (Score:1)
http://www.ud.com/home.htm
Or, you could keep file sharing freedom alive by running a Gnutella client!!!
http://www.bearshare.com
If you really want to volunteer your hardware, do it for something that will help people, please.
http://www.redpolygon.com [redpolygon.com]
http://www.hyperpoem.net
Re:Translation (Score:3)
Isn't this almost like turning the community against itself "Here, factor this number and win 200k", but by doing so we're actually breaking a number that's important to us in some way we just don't know how? I mean, for someone to pay 200k for a SINGLE number to be factored, the payoff on their side must be enormous. What's their ROI for the 200k they've spent? More importantly, WHY are they asking us to do this?
.anacron
Re:would this be cheating? (Score:1)
Re:Imagine if you will.. (Score:2)
I'm serious here. I know it is one shot in a trillion or 10, but simply as an exercise, is that all there is to it?
T-Shirt (Score:2)
http://www.eff.org/Misc/Graphics/nsa_1984.gif
Now go to cafepress, and have one printed.
Re:Imagine if you will.. (Score:2)
Let's say I had a list of primes (which, I suppose, I would have to find first). I pick two, and want to multiply them. Can I use a computer? Is this one of the problems? I tried some large number operations with bc, and it core dumped on me.
Call it a shot in the dark, call it boring, but it would be nice to have a list of prime numbers, pick a couple, check them, and see if I hit it. Not that I expect to, but I'm always looking for a way to alleviate the boredom of confernece calls...
I'm sorry (Score:2)
The supercomputer steps cannot be done in parrallel - it's a huge linear algebra problem. You would have to find a new factoring algorithm if you wanted to make it a distributed.net-style problem.
Re:More than just two contests (Score:1)
Here is the list:
* 576 bits - $10,000
* 640 bits - $20,000
* 704 bits - $30,000
* 768 bits - $50,000
* 896 bits - $75,000
* 1024 bits - $100,000
* 1536 bits - $150,000
* 2048 bits - $200,000
Yeah, I got up to 1024 bits but then I ran out of lifelines and regis goaded me into picking the wrong factor.
---
any software recommendations? (Score:1)
---
Josh Woodward
would this be cheating? (Score:2)
The reason for not making a large (voluntary) distributed project is because you'll probably have to split the money with the lucky dope that found the number, this way you get to keep the money.
-Jon
Re:More than just two contests (Score:2)
While I am without the ability to actually check the number you've just provided, I know it should at least be odd, which your number isn't. The max # generated by 576 bits would be 2^576 -1.
2 times itself 576 times would be even. Subtracting 1 would then make it odd.
You are the weakest link, goodbye!
Re:More than just two contests (Score:2)
24733040147310453406050252101964719003513134910
so, say you wanted to solve it in a lunar month.You would need to try something on the order of
88332286240394476450179471792731139298261196107
factors per day or
36805159266831031854241446580304641374275498378
per hour or
61341865444718386423735744300507735623792497296
per minute or
10223644240786397737289290716751289270632082882
per second....
now distributed.net is getting 127Gkeys per second... or about 127000000000 keys per second... look at the difference in the number of digits... RSA won't have to pay on that for a LONG time about8 41 91243355002259457438595524172029124979552458558672 34341034133758742263188689327699355242471411637798 00504
61754295921048244341300860763463725504842696735
years at that rate if my calculations are right....
---
Re:Answered my own question: see URL (Score:2)
Did you actually read my message? If you did, please read it again. My whole point was how dumb a brute force algorithm was -- I sincerely hope you didn't think that I was suggesting that taking far longer than the lifespan of the universe to solve the problem was reasonable.
Re:Answered my own question: see URL (Score:3)
I don't know how many primes there are below 10^617, but here's a hint: it's a LOT. A lot a lot. I don't know what the ratio of primes to nonprimes if, but let's just assume that 1 in 1 trillion numbers up to that level is prime (and I imagine that's conservative). 1 trillion is 1,000,000,000,000, or 10^12. So that reduces our number of primes down to 10^605. That's still a 605-digit number of them. Say it's only 1 in 100 quadrillion numbers -- still 10^600 primes.
So in order to solve the problem, you just attempt to divide the big number by each of the primes, and when you get an integral result, you stop. In fact, you only have use primes up to the square root of the number. The square root of 10^600 is 10^300. Assume you have a super-duper fast machine which can divide such an insanely huge number in just, say, 10 clock cycles, and it runs at 10GHz. That's a billion checks per second (10^9) -- really fast, huh?
So let's figure out how long our super-fast machine would take to crack this code using your method. 10^300 checks, divided by 10^9 checks per second, gives you 10^291 seconds. There are approximately 31,557,600 seconds in a year, or 3.15 * 10^7. 10^291 / (3.15 * 10^7) = 3.17 * 10^283. That's 31.7 million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million million years.
I'm glad to know, however, that I can now file this problem away in my "trivial" category.
very bad timing (Score:1)
Re:No, don't (Score:1)
Method of doing this? (Score:1)
Error: 'long long long' is too long for GCC
Is there any nice, easy way around this that will let me not rewrite division?
Re:Pretty sad (Score:1)
Re:Just to get us started ... (Score:2)
Yeah? How long did it take to read your post?
It easy, all these number can be factored by ... (Score:2)
Re:Raise the Prize amount please. (Score:2)
Re:T-Shirt (Score:2)
Bad timing (Score:1)
Re:Brute force only way to do this? (Score:1)
You already have the "j", which will cover all numbers above the square root.
This is similar to brute force prime finding...
Also, why recurse? At this number of digits, the number of recursions is gonna give your system a headache. Just do a linear scan from 2 to square root of n equals x
Re:My user number is prime (Score:1)
Re:Raise the Prize amount please. (Score:2)
Maybe they should have based the prize ammount on one of the factors, moving the decimal to a reasonable position of course.
So, if you just randomly pick factors what are your odds, and how does it compare to the lottery when computed on an average PC? Of course unlike lotto, you don't have to pay to play unless you really decide to go all out and purchase additional hardware, which would probably not be justified.
Re:Brute force only way to do this? (Score:2)
Wouldn't it be quicker to stop once n is greater than or equal to the square root of the number to be factored?
Only in an abstract kind of sense. Given that the numbers are composite (and the RSA could be lying here) - the alogrithm will be sure to have finished before your optimization comes into play. Hence the calculation as to what the square root was will slightly slow down the overall run time.
Re:Sneakers (Score:2)
Please explain how that is possible.
Warning to Slashdot users workin on this! (Score:5)
Anyways, no they don't use SSL, but more surprisingly, they care who your referrer was. And they say "slashdot not found in list of allowed referrers". Not sure if this would actually prevent a legitimate submission, but maybe you don't want to risk clicking thru Slashdot to RSA when you find the real factors. (Especially considering the lack of SSL.)
Error Message:
slashdot not found in list of allowed referrers.
Required Field: email has not been completed.
Required Field: Submitters has not been completed.
Required Field: challnum has not been completed.
Required Field: p has not been completed.
Required Field: q has not been completed.
Required Field: description has not been completed.
Please use your 'back' button to return to the Web form.
Re:Translation (Score:3)
More than just two contests (Score:2)
RSA have several different levels of prizes.
Here is the list:
Good luck on getting those anytime soon.
Distributed computing legal advice of the day (Score:2)
Re:Translation (Score:2)
They are doing this to continually prove how difficult it is to factor numbers. Even with everybody's new 1.7GHz P4's it still takes forever.
Re:Answered my own question: see URL (Score:2)
Sig: Tell all your friends NOT to download the Advanced Ebook Processor:
Re:Software recommendations: GNFS (Score:2)
CWI [www.cwi.nl] has several source code license agreements with companies in The Netherlands, USA, Germany and France which allow them to use the Number Field Sieve factorization code as this was and is being developed by P.L. Montgomery, A.K. Lenstra, M. Elkenbracht-Huizing, S. Cavallar and B. Dodson. On a non-commercial basis, the NFS source code has also been made available for research purposes to other cooperating groups. A group of the Royal Institute of Technology in Stockholm (Hastad) has used this code as a basis for factoring a hard 512-bit challenge number in October 2000 [codebook.org].
Wrong (Score:2)
See the RSA Crypto FAQ [rsasecurity.com].
techniques to factor big numbers (Score:5)
The current record factorings were done with the GNFS (General Number Field Sieve).
GNFS consists of a sieving phase that searches a fixed set of prime numbers for candidates that have a particular algebraic relationship, modulo the number to be factored. This is followed by a matrix solving phase that creates a large matrix from the candidate values, then solves it to determine the factors.
The sieving phase may be done in distributed fashion, on a large number of processors simultaneously. The matrix solving phase requires massive amounts of storage and is typically performed on a large supercomputer.
Some pointers:
In case you haven't noticed...It isn't easy, and cannot be fully solved using a distributed.net technique.
to factor a 760-bit number in one year would require 215,000 Pentium-class machines, each with 4 Gigabytes of physical RAM.
to factor a 1620-bit number in one year would require 1.6 x 10^15 Pentium-class machines, each with 120 Terrabytes of physical RAM.
Good luck.
Re:Stupid joke (Score:3)
I just read Fermat's Last Theorem [amazon.co.uk] by Simon Singh a month ago and I loved it.
-Kraft
Are you sure it is (Score:2)
It's never to late to start now (Score:2)
Re:Method of doing this? (Score:2)
home page for GNU MP [gnu.org]
Raise the Prize amount please. (Score:5)
Can you raise the prized to $415,000 instead. I might need it. [slashdot.org]
What if... (Score:2)
...someone (think rich, dumb and unethical) used (or even intended to use) those factorable numbers to encrypt some original content, then called the DOJ and screamed "DMCA" and that evil software pirates were trying to crack their encryption?
Stupid scenario? Really? In the context of the DMCA, nothing's beyond the pale. Remember the SDMI cracking challenge?
Wonder if Distributed.net will pick this up? (Score:3)
It may be problematic insomuch as they are already working on three projects, and spliting off into another project would be troublesome. But, there are no other serious efforts going on towards these types of projects, so I suppose us d.net fans will just have to wait and see.
Re:techniques to factor big numbers (Score:3)
I started the task at 8:00 this morning, and by 9:32 a shrill schreeching sound told me that one of the monkeys had solved the 1620-bit number.
Now if I could just figure out which one...
Plus, an infinite number of bananas costs more than my prize money. :-( And don't get me started about the mess they've made...
Re:Imagine if you will.. (Score:2)
first of all, you need to know all the prime numbers less than the square root of the number you're trying to factor (up to appr 85 decimal digits). Now, due to the prime number theorem (see Riemann for outline, Hadamard & Vallee Poussin for proof) you can know that the number of prime numbers less than 'n' is on the order of n/log(n). Now, the odds you'll pick the correct pair are 2 out of that number, or:
2/[(sqr_root(RSA-576)/log(sqr_root(RSA_576))^2]
now, i just don't care enough to work that out, but i think you'd have a better shot if you started buying superball lotto tickets...
Clustering.. (Score:3)
Can you imagine that? :-)
Oh come on, I could to it... (Score:2)
Re:ok... (Score:2)
Re:Oh come on, I could to it... (Score:3)