[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Divide and Conquer

O > As you may have surmised Hal has given us another challenge to satisfy
O > the people who want to do a challenge to see *how fast* they can do it
O > by involving as many people and their computers as possible.

  Here's a thought or twelve: Precompute the divsion-of-keyspace
problem, in advance of the actual issue of challenge. Use whatever
criteria of estimating spare mips (idle_percentage * mips_rate) and
allocating slices, then issue each participant a [start..end] space
(and a direction flag. More on this later).

  That way, when the challenge is issued, there is no fumbling about,
but rather a simple: "Gentlemen, start your programs."

  Divide the participants into two roughly equal groups of total spare
mips, so as to address reliability and trust issues. Then allocate the
entire keyspace twice.


  For more fun, if the cracker can be coded to read a direction flag
from the config file, so that the main loop can go ++ or --, the
lists of keyspace could alternate thusly:

       Red Team   Blue Team

        0000++     0000++
        --iiii     --jjjj         This method of allocating keyspace
        iiii++     jjjj++       puts the key in the space of 4
        --kkkk     --mmmm       different people at once, but only
        kkkk++     mmmm++       increases average search time by a
              . . .             factor of 2 to protect against holes.
      / --0000     --0000       since the direction flag is independent of
    / \ (FFFF--)   (FFFF--)     team, it reveals nothing to a Bad Guy.
 Two ways of saying the same thing.

  In effect, the ranges computed by the allocator are paired up, and the
two people who share the range play "meet in the middle". If there are n
participants in the group, and b of them are Bad Guys, the probablity of
failure would be roughly (b/n)**4.

 * On a clear disk you can seek forever
 * [email protected] *