Slashdot Mirror


Xbox Private Key Distributed Computing Project

aeiz writes "The Neo Project has added "The Xbox Public Key Challenge" to it's distributed computing client. The aim is to compute the 2048 bit private key that Microsoft uses to sign Xbox media. If it is a success, modchips wouldn't be necessary. Now many Xbox hacking and scene sites have started groups in order to compete with one another." gee, only 2048 bits? No problem *cough cough*.

37 of 522 comments (clear)

  1. Relating.. by Karamchand · · Score: 5, Insightful

    Could anyone of you tell how much time/processnig power this will need in comparisson to things like the RSA challenge?
    Thank you.

    1. Re:Relating.. by lrichardson · · Score: 4, Interesting
      I'd like to point out that IBM's demo of the 7 q-bit machine last year involved factoring a number ... which seemed to me to be pretty explicit about one intended use.

      Given the demo was last year, give it another year or so, and they'll have the beast large and stable enough to do the breaking in no time flat.

      As an aside, an earlier q-bit demo had 25 ops in 9 nanoseconds ... which scales to about 25 billion hertz, kinda leaving most Athlons and PIVs in the dust. That's 8 orders of magnitude faster, which, by the way Moore's law is going, would still take several years to achieve with mainstream processors...

    2. Re:Relating.. by cschieke · · Score: 5, Informative

      I'm all for this effort, but as a pragmatist, I don't think that it's going to be very successful.

      Check out these stats from a "similar" project
      [paraphrased from the website...]

      The RC5-64 project was able to brute force a key in 1757 days using 58,747,597,657 work units tested the winning key was found!

      They completed 86,950,894 workunits on the best day. This is 0.12% of the total keyspace meaning that at the peak rate they could expect to exhaust the keyspace in 790 days.

      The peak rate of 270,147,024 kkeys/sec is equivalent to 32,504 800MHz Apple PowerBook G4 laptops or 45,998 2GHz AMD Athlon XP machines or (to use some rc5-56 numbers) nearly a half million Pentium Pro 200s.

      Over the course of the RC5-64 project, 331,252 individuals participated. They tested a toal of 15,769,938,165,961,326,592 keys.

      So the real question is did MS make the key length long enough? Given the example of approx 5 years, seems like it's close.

      later...
      chad

    3. Re:Relating.. by szakacs · · Score: 5, Informative
      If we assume it was a kilobyte, the difference in processing power required is a factor of 2^2048/2^1024 = 2^1024 ~= 1.8x10^308.

      I can't check it right now (the website is /.-ed), but the 2048 suggests we're talking about an asymmetric key in which case you're wrong. For an RSA key, about 10 additional bits double the strength of the encryption (instead of 1 bit for a symmetric key).

      I think you made the same mistake than this other poster:

      If the RSA crack took x^56 time, this one will need approx. x^2048.

      RSA != RC5

      RSA is asymmetric, RC5 is symmetric.

      Of course, it's still some 5*10^30 harder than a 1024 key...

    4. Re:Relating.. by interiot · · Score: 5, Interesting
      Well, the 2048-bit key is an RSA key (see here).

      RSA is currently providing monitary awards for groups who can crack a larger RSA key than has been cracked before. Here's a quote from the FAQ associated with that contest:

      • To date, the largest number of this type to be factored is 512 bits. It was factored in 1999 as part of the previous RSA Factoring Challenge, which this challenge replaces. See the announcement for information about this factorization. The 576-bit value is likely to be factored in the next year or so,
      • while RSA-2048 should stand for decades.
    5. Re:Relating.. by new-black-hand · · Score: 5, Funny
      er, i don't have a calculator on me...

      And you typed this post into a computer?

    6. Re:Relating.. by weave · · Score: 5, Funny
      So unless they've reduced the effective key size by a lot, there probably isn't enough matter in the universe to make the computers that would be required to break that key.

      Yeah, but there's always the chance you get lucky and happen upon it early, plus it's more likely that you'll crack this one than there is finding aliens in white noise (*ducks*)

    7. Re:Relating.. by Temporal · · Score: 5, Funny

      So, for a 64-bit key, it took five years? Correct me if I'm wrong, but at that rate, won't the 2048-bit key only take about 5 * 2^(2048 - 64), or a little over 2^1986 years to compute? I think that's somewhere around 10^587 times the age of our universe.

      By that time, we'll all be playing Duke Nukem Forever on our Itanium-based systems running GNU/HURD and the Fesco windowing system. Open source software will have gone mainstream, giving us no reason to care about hacking the X-Box. Right?

    8. Re:Relating.. by DarkZero · · Score: 5, Insightful

      I know only a little bit about encryption, so I may be completely talking out of my ass here (and feel free to educate me if I am), but I noticed this one point that you mentioned:

      The RC5-64 project was able to brute force a key in 1757 days using 58,747,597,657 work units tested the winning key was found!

      1,757 days is nearly 5 years, meaning that the project would have had to have started five years ago in order to have already been finished. My memory of where, exactly, computers were in 1997-1998 (depending on when the project finished, I'm not sure) is a little fuzzy, but I remember that in mid-1999, a 700mhz Pentium 3 was considered "high end" and the average Dell/Gateway type of computer was running a low-end processor like a Cyrix at roughly 200-300mhz. By comparison, it isn't out of the ordinary to find a 1.6-2ghz processor in a consumer PC right now and the sort of geeks that would make up a decent portion of this project probably have much faster processors than that and a lot more RAM. In addition to that, if Moore's Law were to hold, processors would be improving by at least 2ghz per year from now on instead of the 500-700mhz that they were in 1999.

      So really, doesn't the RC5-64 project essentially just show us the length of the race track without giving us any data about the speed of the cars that will be driving on it?

  2. But... by Majestix · · Score: 5, Interesting

    Ok this may be a stupid question, but doesn't this violate that DMCA thingy that everyone is all concerned about? Just a thought.

    -Majestix-

    --
    --- I was far from home, and the spell of the Eastern sea was upon me. -Lovecraft-
    1. Re:But... by Tom7 · · Score: 5, Insightful

      Why would it? The relevant section of the DMCA only bans the circumvention of mechanisms that control access to a copyrighted work. The private key itself isn't such a mechanism, as far as I know, though programs that use it probably would be. The DMCA is a bit vague, but it isn't so vague that it outlaws every possible kind of "hacking."

      It's a good idea to read the DMCA (http://www4.law.cornell.edu/uscode/17/1201.html), because in fact Microsoft or someone probably would make DMCA threats against this kind of activity. In that case it's good to understand the law, because such a letter often sounds pretty convincing and scary!

    2. Re:But... by anthony_dipierro · · Score: 5, Insightful

      The private key isn't a mechanism? Isn't that the essence of DeCSS?

      I think certainly distribution of the actual private key would violate the DMCA. But does distribution of keys which are not the private key qualify? I doubt it.

  3. Oh my, here we go again... by stevens · · Score: 4, Funny
    #include "duplicate_story.h"
    #define DUPE

    ...

    #ifdef DUPE
    # include "standard_rant.h"
    bitch();
    #endif /* DUPE */
  4. Gee... by salimma · · Score: 5, Insightful

    1. Provided Microsoft uses a proper public key infrastructure, brute-forcing this thing could potentially take forever

    2. This so that you can feel good subverting an X-Box by making it run Linux

    3. By that time the hardware would be definitely obsolete, or X-Box 2 would be out with programs signed with a different key

    4. And in any case, buying the X-Box already helps Microsoft. The more units sold, the more games developed.

    5. There are tons of other worthwhile distributed computing projects to do out there - Folding@Home, SETI@Home, Mersenne Prime Search etc.

    Grow up folks! Running Linux on a hacked X-Box is cool, yes, but this might be going too far...

    --
    Michel
    Fedora Project Contribut
    1. Re:Gee... by archnerd · · Score: 5, Informative

      > 4. And in any case, buying the X-Box already helps Microsoft. The more units sold, the more games developed.

      Nope. Remember the big story last month? Micros~1 is losing their ass on everything except Windows and Office. Obviously, Micros~1 makes money on each game license sold because all the cost is up-front with development. However, they're not going to be making money on the hardware any time in the near future. Therefore, people buying the X-box then not buying any games is pretty devestating.

    2. Re:Gee... by Trogre · · Score: 5, Informative

      Therefore, people buying the X-box then not buying any games is pretty devestating.

      Not really. Even given that MS is selling the unit for less than it costs them to make it, you're still giving them money.

      Say it costs MS $250 to produce an XBox. They then sell it for $200. If you buy it, MS loses $50. If you *don't* buy it, MS loses $250.

      If you don't like MS, it would be much more devastating if you just didn't bother with the XBox and instead invested in a PS2 or GameCube.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  5. Re:How to Compute Key Cracking? by BorgDrone · · Score: 4, Informative

    if you just try all possible keys, it would take 2^2048 attempts to try them all. it could be the first key you try but it could also be the last. on average you need (2^2048)/2 tries. you can measure how long it takes on average to try 1 key. multiply that by the number of tries, divide by the number of machines trying codes. and you'de get an estimate.

  6. Xbox client by BorgDrone · · Score: 4, Funny

    All we need now is an xbox version of this distributed computing client. I'd love to see the xbox key cracked by a modchipped xbox.

  7. How is this thing done anyhow? by Sesse · · Score: 5, Interesting

    The question is -- would one really need to crack that key to fool the Xbox? I mean, reading all the data on the disc would be way too slow, so it could only check a part of it. Would it be possible to re-use some already signed code from an existing game? What kind of code is signed, really? (All of it, just not the data?) And of course, how many buffer overflows are there in the signature verification code? =)

    /* Steinar */

    --
    (This comment is of course GPLed.)
    1. Re:How is this thing done anyhow? by exhilaration · · Score: 5, Insightful
      Would it be possible to re-use some already signed code from an existing game?

      You'd run into copyright infringement issues - the signed code would be property of the copyright owner, and redistributing it would almost definitely be illegal. No need to take chances; I'm sure Microsoft's IP lawyers are looking for any excuse they can to take this project down.

    2. Re:How is this thing done anyhow? by greenrom · · Score: 4, Informative
      Here's how it works. Not all the data on the DVDs have signatures. Only executable code. Basically, there's a 256 byte field in the program header of executables that contain the signature. The kernel is designed so that when a program is loaded into memory, the signature is verified before control is passed to the application. If the kernel determines the executable doesn't have a valid signature, it won't allow the program to execute.

      It's not possible to re-use a signature because any change in the code will change the signature. That's the whole point of a signature. Mod chips get around this by replacing the kernel (compressed in the bios) with a patched version of the kernel that skips the signature check. If we knew Microsoft's private key, we could sign our own software. This would allow people to install linux (or pirate games) without using a mod chip.

      It might be possible to exploit a bug in the kernel or third party software that would allow us to transfer program control to our unsigned code, but nobody's found one yet. Given Microsoft's track record, I'm sure such a bug exists and will be found soon. With $100,000 up for grabs, there's a heck of a lot of people looking for it.

  8. Re:How to Compute Key Cracking? by bo-eric · · Score: 4, Informative

    That is slightly incorrect. For normal symmetric key ciphers (DES, AES, IDEA, Blowfish, etc.) that is how you do it. This, though, is RSA, which is a asymmetric key cipher. This means that you have access to the public key, and you know that the public key is the product (as in multiplication) of the two parts of the private key, N=p*q. So, when bruteforcing, you only need to try 2^1024 keys, which is a lot better, but still infeasible. There are nice ways of doing better, though. The largest effort I know of is when the RSA-155 (512 bit) challenge was factored in 1999, using more than 35 cpu years. This would take about 2^512 times as long...

    --

    -- Free speech is only free if your time is worth nothing.
  9. calling all quantum computers by sydlexic · · Score: 5, Funny

    nothing drives innovation like porn and piracy. bring on the flames.

  10. It's your hardware, enhance it as you like by Morgaine · · Score: 5, Interesting

    Cracking keys is a very hands-off approach to improving your Xbox or any other device. You bought the hardware, it's yours, so enhance it to your heart's content by installing a hardware mod that makes it general purpose, or get it done for you by a supplier. Voiding the warranty is no issue if you value the extended specification.

    It's no different in concept to any other kind of DIY improvements that you carry out at home --- absolutely everything that you buy has patents, trademarks, or other legal constraints, but in no other industry do they see fit to limit what you can do with items that you have purchased, simply because they can. It's your equipment, do with it what you wish. (If you were merely leasing the hardware then it would cost much less and they might have a case, but here they're trying to have their cake and eat it too, take your money for an outright purchase and still lay claim to controlling your possessions. That's simply not right.)

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  11. Sigh... by FosterSJC · · Score: 5, Informative

    OK. First, obviously this story is a duplicate... but don't mod me redundant just yet. The story is still on the front page, too. In any case, the same questions get asked here and are not being answered to the extent they were in the other discussion. So here:

    1. Could anyone of you tell how much time/processnig power this will need in comparisson to things like the RSA challenge?
    Thank you.

    Answer: Somewhat more complicated.

    2. Doesn't this violate that DMCA thingy?

    Answer: RE: DMCA Anyone?

    3. How is this done anyhow?

    Answer: RE: Buffer Overflow...

    I found these comments to be most helpful in the other discussion... certainly surpassing what I've seen here. Who can blame them: who wants to keep posting the same stuff over and over again, even if it is smart writing? Anyway, sorry for the whoring. I'll stop now.

  12. RSA != RC5 by jpatokal · · Score: 5, Informative
    First up, since many posters seem to be rather confused, RC5 is a symmetric algorithm while RSA is asymmetric, which are very different beasts. Asymmetric keys need about 10 bits more length to double their security, compared to only one for symmetric keys. Cracking a 2048-bit asymmetric key isn't thus quite as difficult as you might think.

    Which, however, does not mean it's easy. RSA has been running the RSA Challenge for a few years now, the lowest prize being $10,000 for a 576-bit key and up to a whopping $200,000 for a 2048-bit key -- like the one in the Xbox. There have been no takers yet, and the largest RSA key cracked to date remains 512 bits. RSA's own estimate is that you would need 320 million 520 MHz Pentium-class machines to crack a 1024-bit key in one year, and we're talking 2^100 times that for a 2048-bit key!

    Cheers,
    -j.

  13. Re:By the time you finish this: by Reality+Master+101 · · Score: 5, Funny

    By the time you finish this: There will be an XBOX 4

    By the time they finish this, XBoxes will have evolved into higher life forms and be enslaving us all.

    And I for one welcome our new X-shaped overlords. I'd like to remind them that as a trusted Slashdot personality, I can be helpful in rounding up others to toil in their underground deathmatch sessions.

    --
    Sometimes it's best to just let stupid people be stupid.
  14. Who the hell does that? by bogie · · Score: 4, Interesting

    "Therefore, people buying the X-box then not buying any games is pretty devestating."

    Wealthy idiots who hate Microsoft? I'd venture the amount of people who 1) really want to run linux on Xbox and 2) Are never going to buy game for it, is on the order of .001 percent. Somehow I don't think MS will be hurt by the 10-20 people who buy Xbox's but never buy any games for them. Let's not be silly in estimating how many people would actually consider doing this, its just not realistic. Although I guess its possible Larry Ellison has a stack of them in his closet out of spite.

    --
    If you wanna get rich, you know that payback is a bitch
  15. not quite by RelliK · · Score: 5, Informative

    RSA encryption works like this:

    You pick two large primes, p and q; multiply them together to get N.
    Then, arbitrarily pick an encryption key e (1 < e < N) and calculate the corresponding decryption key d (1 < d < N, d != e).
    Make the set {e, N} public but keep d private.

    Now, to encrypt a message M you calculate cyphertext C as follows:
    C = M ^ e (mod N)

    To decrypt, you calculate M' = C ^ d (mod N). The claim is, of course, that M' == M. (Notice that M' = (M ^ e) ^ d (mod N) = (M ^ d) ^ e (mod N), so it's really irrelevant which of {e,d} you make public.)

    Anyway, from the public key, you know N and e and you want to figure out d. To do that you need to factor N into p and q (see above), then you can make an easy calculation to get d. Since p and q are primes, those are the only factors of N (other than 1 and N). Further, since we are talking about 2048 bit encryption (N >= 2^2048), the factors p and q can be up to 1024 bits long (2^1024). To brute-force the private key you need to go through 2^1024 (*) possible factors of N until you find one that works.

    Now, suppose we have a computer that can check the divisibility of N 1000 times per second. It will need 10 ^ 298 years to go through all possible combinations (though of course it can get lucky and pick the right factor early on). If we have 1,000,000 of these computers, we'll still need 10 ^ 292 years, so don't hold your breath...

    (*) It's actually less than 2^2048 because you only need to consider prime numbers, but it's still staggeringly large. Also, given a number x, it's not so easy to tell if it's prime (unless it's even). You need to use an algorithm to determine that, which takes time.

    --
    ___
    If you think big enough, you'll never have to do it.
  16. Two-step key solution... by jvl001 · · Score: 4, Funny
    Two-step key solution:
    1. Break into Bill G.'s office.
    2. Copy key from Post-It note on corner of monitor.

    --
    /. is to journalism as graffiti is to a bathroom wall
  17. Lets try a little calculation... by markbthomas · · Score: 5, Insightful

    Let's assume we want to find the key in about one year.

    The keyspace is 2^2048. This means that to find it on average in one year, we need to search (2^2048)/2 keys.

    There are 365 * 24 * 60 * 60 = 31536000 seconds in a year. A current machine, say 2 GHz, will not be able to check keys any faster than 2 billion per second (in practice the number would be much lower than this, but it cannot be any higher, ignoring chips which can parallelise operations). This means we can check 63072000000000000 keys per machine per second.

    This means we need:

    ( (2048^2)/2 divided by 63072000000000000 ) machines to participate.

    That's:
    256191385014832313076443403480704210746 79812491847 0034501286984934080\
    5360450587494704242882065172 6173015536181603483336 1032784430099655323\
    2423908579595405498527942459 9902489291405217648393 6232454940842516362\
    7883076229723065910368797710 4019484459166088424059 6873702316740293441\
    5552151969860441431944756023 7127342032430926831573 9828884343009334529\
    2378237199258154020627668325 9628831104499868523479 9854643717630057264\
    7428213934658612248791246642 4010974519290044145762 9590988748658836010\
    6319531783273982390734283246 1834647652719112497108 8586363327032331220\
    1716731957297646596715233805 68862609019439636890

    That's a lot of machines. In fact, every person in the world would need to have:
    4088182880916853059137581913995608598938002 0574938 1512491823325275367\
    0039983761093737657581366182 3437132028369300928737 2136090488973662885\
    0749520857823194202487813723 5281529166119647272954 3623272112620364581\
    9171026696185476725881661520 6188703489047492973236 7903825810597884676\
    0087066526446068063036669029 6494498088117693882712 8484532375726579806\
    8929812355659309066834995984 8375737098966810233408 2736619960338101994\
    5191141043929531602040535969 8321364177283871960956 9923672820142531423\
    1154135179174732484135445198 3247750938845967420404 6551928328834053889\
    0325273138153871592525085498 7565463644
    machines.

    Good luck :)

    1. Re:Lets try a little calculation... by CTho9305 · · Score: 4, Funny

      Assuming your garage can hold 40881828809168530591375819139956085989380020574938 1512491823325275367\
      0039983761093737657581366182 3437132028369300928737 2136090488973662885\
      0749520857823194202487813723 5281529166119647272954 3623272112620364581\
      9171026696185476725881661520 6188703489047492973236 7903825810597884676\
      0087066526446068063036669029 6494498088117693882712 8484532375726579806\
      8929812355659309066834995984 8375737098966810233408 2736619960338101994\
      5191141043929531602040535969 8321364177283871960956 9923672820142531423\
      1154135179174732484135445198 3247750938845967420404 6551928328834053889\
      0325273138153871592525085498 7565463644 machines, your garage alone, assuming each machine is a laptop (1 foot by 10.5 inches by .75 inches = .055 cu ft), is 22485005845042691825256700526975847294159011316215 98318705028289014518521991068601555711669751400289 04226156031155108054674849768935514586791223647180 27568113682975479404841041365806000124899279966194 12005200544064682902012199234913836340378691897612 11352802347104195828836571804788658954533743467016 79663071973948464731635492066649280664961889379113 96795612619986759247791660665540443174562837455051 40978185956096985512757416124238112229478340767502 97506129578526345802005107839228271347743485461028 66274494859078626301636528208122256035605808587296 389678900225984629375888797024316100500
      cu ft, or
      1527535236702389162673723920219749205081264399 3997 94854961724120329145966644337960324143415902552971 01026348539927449571224231277983755226968934762883 30131192099041893874203522455126277928716888646789 13471024749083929443537501958528496605970911808346 43237972731512049725281892376321009516853701515505 32213295993376636606761683794791710597279158733889 15625410752988437806384466996891670866835727072514 84706924425210063732923007056672984301764158218385 38559374507144193012960606842701365401974808359445 55991169536841535880632719814010901480209322876514 1988381062706528888227254663
      cubic miles.

      13600000000 light years for the observed universe: 186000 mps * 3600 sph = 669600000mph * 24hpd * 365.25dpy = 5869713600000 miles per light year.
      Thus, the farthest observed object is 79828104960000000000000 miles away.

      The volume of a sphere extending from the Sun to this object 13.6b light years away is approximately 20348268066000324435755076157440000000000000000000 00000000000000000000 cubic miles.

      Therefore, your garage is
      7506954556268743857175731713285829597245889967 6737 67278409202199204184199626823913221118601230384789 69615772672230618996386111621561776499129478319286 64756117518223656440512561382444347413642325197110 56738823839270223873000969599844183353687342203120 56527978054364910636301046261986873080375457073203 06038764208187242347396911934568567073598816809777 57333465244156873121011927106030406077422213778744 80769462038768245779346227201445299292993670038386 15124565775569113763528356856665926430955287721778 43293464
      times larger than the observable universe. Damn, you own a LOT of land :-)

  18. Difficulty of breaking RSA. by Zeinfeld · · Score: 5, Informative
    RSA is a public key algorithm and so there are faster attacks than brute force. The difficulty of breaking an n+1 bit key is not twice the difficulty of breaking an n bit key.

    The difficulty of breaking RSA keys depends on the assumptions you build into the model. Unlike DES cracking factoring does not neatly decompose with trivial parallelism. There are parallel algorithms but there is a tradeoff between the part you do on a loosely coupled parallel box and the part that requires a tightly coupled processor.

    The rough equation that is generally used is 512 bits RSA is roughly equivalent to a 56 bit symmetric cipher. 1024 bit RSA is roughly equivalent to a 76 to 80 bit symmetric cipher and 2048 bit RSA is roughly equivalent to a 112 to 128 bit symmetric cipher.

    This is on the basis that the breaks of 56 bit DES and 512 bit RSA came at arround the same time and used roughly equivalent amounts of processing. In fact there is a slight discontinuity since only half of the RSA calculation could be farmed out. The farming stage results in a heck of a big matrix that you have to invert which was done on a CM5 I seem to recall.

    Unlike the DES challenge there is no chance that you just 'get lucky' after a very small number of trials.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
    1. Re:Difficulty of breaking RSA. by Xilman · · Score: 5, Interesting
      This is on the basis that the breaks of 56 bit DES and 512 bit RSA came at arround the same time and used roughly equivalent amounts of processing. In fact there is a slight discontinuity since only half of the RSA calculation could be farmed out. The farming stage results in a heck of a big matrix that you have to invert which was done on a CM5 I seem to recall.

      Close, but no cigar. Much more than half of the RSA-155 factorization was farmed out. The General Number Field Sieve algorithm falls naturally into several phases. The first phase, polynomial selection, was run over several weeks on a number of computers and used 100 MIPS-years. The sieving phase, which accounted for about 90% of the computation, was spread over close to three hundred machines and took 15 weeks. The sieving used about 8400 MIPS-years.

      The final three stages were not widely distributed, though the last was run on four different machines concurrently. I don't have details of the filtering stage but, based on personal experience, I suspect it was done on one or two machines and used less than a week of cpu time.

      The linear algebra was actually done on the Cray C916 (not a CM5) at SARA in Amsterdam. It took 224 cpu-hours and 2Gb of RAM. The last stage, extracting a square root in an algebraic number field, was run on four 300MHz SGI processors and each job ran for around 40 hours.

      Incidentally, the matrix stage doesn't require a single supercomputer. A parallelized version is being developed which runs nicely on a Beowulf-type cluster. I'll be starting the matrix for a 506-bit GNFS factorization on just such a cluster later this week.

      Paul

      --
      Lasciate ogne speranza, voi ch'intrate
  19. Oops by Temporal · · Score: 5, Funny

    Correction: Apparently (according to another poster), you need to add 10 bits to an RSA key to double the strength of the encryption. It would actually only take a little over 10^53 times the age of our universe to crack. So, never mind about having Duke Nukem Forever by then.

  20. Re:How to Compute Key Cracking? by kasperd · · Score: 5, Interesting

    Ok so I havent passed the discrete matchs exam yet, but doesn't numbers that are divisible by 5 end in either 0 or 5 (thus beeing eliminated already)?

    Yes, that was also what was said.

    Why not numbers that end in 0,2,4,6,8 AND numbers where the total sum of the individual digits is divisible by 3?

    You can do almost that. In fact you wouldn't be looking on a decimal representation, but rather a binary representation. So computing the last digit of a decimal representation would take som computation time. Unless you are smart and keep the last digit in a seperate variable. Just adding one to a byte and starting from zero every time you reach ten would be a lot faster than computing the last digit every time.

    But in fact we can be even smarter than that. Why keep the last digit of a base 10 representation? It would be smarter to save the last digit of the number in a higher base, because there will be a larger fraction of digits that can be ruled out immediately. For example the case of divisibility by three would be trivial if we kept the last digit of a base 30 representation rather than base 10. I'd even go as far as base 210, which happens to be the product of the first four primes. Only 48 of the 210 possibilities would have to be tested. That has cut the number of cases down to 23%

    But we can be even smarter. Why even add only one each time, given the last digit we already know how many times we will have to add one before reaching the next candidate. So rather just keep an array telling us how much to add each time, then we don't even have to remember the last digit, but just an index in an array with 48 bytes.

    But why stop at base 210. Take another two primes and make the base 30030, only 5760 of those would have to be tested. So we would be down to 19% of the original search space. But here we notice that increasing the array by a factor 120 only saved us a few percent. And in fact each time we add another prime the size of the array grows faster and faster while the gain in reduction of search space gets smaller. So as soon as we hit the size of the L1 cache, we will probably gain no more. All in all we might have cut the search space by a factor four, maybe five or six, but no more.

    But for a problem of exponential complexity cutting the time usage by a constant factor doesn't really help. All our efforts to avoid candidates that are obviously not prime can be defeated by just using a key five bits larger. Those five bits would be enough to make the problem harder than before we used those tricks. And the price for those five bits in normal use of the key is close to nothing. In fact they already did add another five bits and then again some more.

    But we can be even smarter, first of all we obviously only have to verify divisors up to the square root of the number. Of course we'd already just do that, because we would be starting from zero and going upwards.

    But we can be even smarter, because trial and error is absolutely not the fastest way to factorize products of large primes. Other techniques like quadratic sieve would be a lot faster. And then all our smart ways to avoid obviously nonprimes is not usefull at all. The way to actually factorize is completely different.

    --

    Do you care about the security of your wireless mouse?
  21. The point really isn't to crack the key... by Lethyos · · Score: 4, Insightful

    If it did, that'd be great, but it never will. The point however, would be moot if a genuine attempt was not made.

    The point is thus: to resist technologies that limit what consumers can do with what they legally own.

    Microsoft is a very visible example of an entity trying to tell consumers "you may not do this or that with what you have purchased." In no other industry (save the closely related entertainment industry in this case) do there exist similar shenanigan. If I purchase a computer, I should be damn well permitted to run any type of software on that computer I see fit. The XBox, amongst consoles, is the closest device to a personal computer you can get. And yet, the manufacturer is trying to make it impossible for you to use it how you see fit.

    This project is a protest of such consumer-unfriendly tactics. They will never crack the key, but they are still trying and Microsoft as well as many others will be well aware that they are trying. This is resistance. Microsoft, we will put forth the same effort against DRM technologies like Palladium. We'll never stop.

    Of course, we could all just not buy XBoxes, Windows, Office, and switch to unencumbered/open technologies, but... I digress.

    --
    Why bother.