cryptonite/Crypto/Random.hs
2015-04-20 10:56:39 +01:00

31 lines
721 B
Haskell

-- Module : Crypto.Random
-- License : BSD-style
-- Maintainer : Vincent Hanquez <vincent@snarc.org>
-- Stability : stable
-- Portability : good
--
module Crypto.Random
(
-- * Deterministic instances
ChaChaDRG
-- * Deterministic Random class
, drgNew
, drgNewTest
, withDRG
, DRG(..)
-- * Random abstraction
, MonadRandom(..)
) where
import Crypto.Random.Types
import Crypto.Random.ChaChaDRG
import Crypto.Random.Entropy
import Crypto.Internal.Memory
import Crypto.Internal.Imports
drgNew :: IO ChaChaDRG
drgNew = initialize <$> (getEntropy 40 :: IO SecureBytes)
drgNewTest :: (Word64, Word64, Word64, Word64, Word64) -> ChaChaDRG
drgNewTest = initializeWords