title: Using multiple threads to bruteforce passwords
body: <p>I'm working on my 10th grade science fair project right now and I've kind of hit a wall. My project is testing the effect of parallelism on the efficiency of brute forcing md5 password hashes. I'll be calculating the # of password combinations/second it tests to see how efficient it is, using 1, 4,16,32,64,128,512,and 1024 threads. I'm not sure if I'll do dictionary brute force or pure brute force. I figure that dictionary would be easier to parallelize; just split the list up into equal parts for each thread. I haven't written much code yet; I'm just trying to plan it out before I start coding. </p>
  
  <p>My questions are:</p>
  
  <ul>
  <li><p>Is calculating the password combinations tested/second the best way to determine the performance based on # of threads?</p></li>
  <li><p>Dictionary or pure brute force? If pure brute force, how would you split up the task into a variable number of threads?</p></li>
  <li><p>Any other suggestions? </p></li>
  </ul>