The paper is worth reading: <a href="http://crypto.stanford.edu/sjcl/#paper" rel="nofollow">http://crypto.stanford.edu/sjcl/#paper</a> It reads fairly well.<p>Interesting how they built their CSPRNG, using mouse movements gathered as the user interacts with a page (and optionally cookie data):<p><pre><code>  Since we extract 2 bits of entropy per mouse move sample,
  we need 128 samples to generate a 256-bit AES key. Our data 
  shows the that median time for the generator to be seeded 
  to the default level of 128 samples is 9, 28 and 41 seconds 
  on the survey, forum and blog, respectively.
</code></pre>
I wonder if there's a good way to buffer the entropy securely so it doesn't have to wait so long for every encryption.