The Rand monad you linked seems to be a step in the right direction for what I want, but it uses getStdGen, which appears to end up using cpu time to seed the generator.<br><br><div class="gmail_quote">On Sat, Apr 3, 2010 at 9:21 AM, Ertugrul Soeylemez <span dir="ltr">&lt;<a href="mailto:es@ertes.de">es@ertes.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">Matthew Hayden &lt;<a href="mailto:mrehayden@googlemail.com">mrehayden@googlemail.com</a>&gt; wrote:<br>

<br>
&gt; What&#39;s wrong with the System.Random.StdGen implementation of<br>
&gt; RandomGen?[1] (I&#39;m not sure if it&#39;s cryptographically safe)<br>
<br>
</div>It&#39;s a poor PRNG.  And no, it&#39;s not anywhere near suitable for<br>
cryptographic applications.<br>
<div class="im"><br>
<br>
&gt; Someone (Cale IIRC) has already implemented a Rand monad[2] which is<br>
&gt; like a state monad but it keeps a RandomGen instead.<br>
<br>
</div><div class="im">  <a href="http://hackage.haskell.org/package/MonadRandom" target="_blank">http://hackage.haskell.org/package/MonadRandom</a><br>
<br>
</div>  by &quot;Cale Gibbard and others&quot;<br>
<br>
<br>
Greets,<br>
<font color="#888888">Ertugrul<br>
</font><div class="im"><br>
<br>
--<br>
nightmare = unsafePerformIO (getWrongWife &gt;&gt;= sex)<br>
<a href="http://blog.ertes.de/" target="_blank">http://blog.ertes.de/</a><br>
<br>
<br>
_______________________________________________<br>
</div><div><div></div><div class="h5">Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>          Alex R<br>