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

Re: SSL trouble

I did a distributed scheme for something else that had two levels, a master
and a group of slaves.  Only the slaves talked to the master.  For this 
effort I think a variation of the idea would be better.  Have all of the
brutes contact the master, who will, in the first transaction assign them
to the next slave in a round-robin fashion.  Then all of the transactions
from that point would take place between the brute and the slave:)  (Sounds
kind of like Conan or the Princess Bride.)

The slaves would each be delegated large chunks of the keyspace, but not
keyspace/numslaves.  Maybe 1/16th or something like that, and could ask for
more when their space was depleted.  Periodically, perhaps when requesting
more key space, and/or when a timer pops, the slaves could report results.
What I mean is that every so often they'd report even if they didn't need
more keyspace yet, iff they had any new stats to report.

The nice thing here is that the work of the master and of the slaves is
almost the same.  The slaves don't have to do the initial assignment of
slave, and the master doesn't have to report results, but everything else
is the same.  With careful design you could use the same daemon for both
with a command line argument to tell it if it was the master (-m) or the
slave (-s).  Of course I'm sure you see that this allows you to add as
many levels as you want to the hierarchy.  A slave doesn't care whether
a slave or a brute talks to it.  The only thing that changes with the 
levels is the max size of an allocated chunk.

For each daemon it would be nice to have the minimum, maximum and default
chunk size configurable.  The master might have all three the same, since
it would be expected to talk only to slaves.  That doesn't mean you couldn't
get more than, (for example), 16th of the keyspace to work on.  It just
means that you'd have to make more than one request.

You could make the slave software available as well, and a site with many
machines could have only the slave contact the master to get assigned a
slave to talk to, and could configure all of their brutes to talk to
their own slave.

Software like this is easy to write, (and fun), and we should go for it:)
Of course I do everything like this in C++, but I suppose perl would be the
most portable.  It's a shame it's so aethestically displeasing to the eye.
perl's never a pleasant read.

  /  These opinions are mine, and not Verity's (except by coincidence;).  \
 |                                                       (\                |
 |  Patrick J. Horgan         Verity Inc.                 \\    Have       |
 |  [email protected]        1550 Plymouth Street         \\  _ Sword     | 
 |  Phone : (415)960-7600     Mountain View                 \\/    Will    | 
 |  FAX   : (415)960-7750     California 94303             _/\\     Travel |