-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A platform independent entropy source
--   
--   A platform independent method to obtain cryptographically strong
--   entropy (urandom on Linux, CryptAPI on Windows, patches welcome).
--   Users looking for cryptographically strong (number-theoretically
--   sound) PRNGs should see the <a>DRBG</a> package too!
@package entropy
@version 0.2.1


-- | Obtain entropy from system sources. Currently, windows and *nix
--   systems with a <i>dev</i>urandom are supported.
module System.Entropy

-- | Inefficiently get a specific number of bytes of cryptographically
--   secure random data using the system-specific facilities.
--   
--   Use '/dev/urandom' on *nix and CryptAPI when on Windows. In short,
--   this entropy is considered <a>cryptographically secure</a> but not
--   true entropy.
getEntropy :: Int -> IO ByteString

-- | Handle for manual resource mangement
data CryptHandle

-- | Open a <a>CryptHandle</a>
openHandle :: IO CryptHandle

-- | Read random data from a <a>CryptHandle</a>
hGetEntropy :: CryptHandle -> Int -> IO ByteString

-- | Close the <a>CryptHandle</a>
closeHandle :: CryptHandle -> IO ()
