title: is it safe to generate Diceware passwords client side
body: <p>Currently generating a diceware passed password in client side javascript (each client gets a Cryptographically secure pseudorandom seed).</p>
  
  <pre><code>var password = this.word() + this.separtor() + this.word() + this.separtor() + this.word();
  </code></pre>
  
  <p>Although the passwords generated pass all strength testers I could find, my concern is that an attacker will not simply brute force the password using character combinations but actually use my generator against me. </p>
  
  <p>word() has only 6^4 = 1296 combinations</p>
  
  <p>So the generator will only produce  1296*1296*1296
  = 2,176,782,336 combinations.</p>
  
  <p>I added seperators (24 combinations) 1296*24*1296*24*1296
  = 1,253,826,625,536 </p>
  
  <p>The CGI limits user attempts but as always an attacker could have my password hashes offline. </p>
  
  <p>Generating the password server side is only safer in so far as having the wordlist compiled which may still be relatively easy to retrieve (at least for an attacker who has my password hashes).</p>
  
  <p>As I am trying to ensure the passwords are memorable I didn't wish to add a  special character at random into the passphrase, but that would force the attacker to try every character combination ? </p>
  
  <p>p.s move this to crypto if its more suitable there.</p>