One possible solution under Linux is to use Haskell's lazy file I/O with /dev/urandom (or /dev/random if you're doing cryptography). David