diff --git a/Test.hs b/Test.hs
--- a/Test.hs
+++ b/Test.hs
@@ -1,9 +1,10 @@
 import Control.Monad(replicateM)
-import Crypto.Random(CryptoRandomGen, genSeedLength, newGen)
-import Crypto.Random.DRBG(HashDRBG)
+import Crypto.Random(CryptoRandomGen(..), GenError(..), ReseedInfo(..), genSeedLength, newGen)
 import Crypto.Types(ByteLength)
+import Data.ByteString(ByteString)
 import qualified Data.ByteString as BS
-import Data.Tagged(Tagged, unTagged)
+import Data.Tagged(Tagged(..), unTagged)
+import Data.Word(Word64)
 import Test.Framework
 import Test.Framework.Providers.HUnit(testCase)
 import Test.Framework.Providers.QuickCheck2(testProperty)
@@ -16,15 +17,31 @@
 data KeyPair = KP PrivateKey PublicKey
   deriving (Show)
 
+data FakeRandom = FakeRandom ByteString
+
+randomBufferSize :: Word64
+randomBufferSize = 512
+
+instance CryptoRandomGen FakeRandom where
+  newGen = Right . FakeRandom
+  genSeedLength = Tagged (fromIntegral randomBufferSize)
+  genBytes len (FakeRandom bs)
+    | BS.length bs < len = Left RequestedTooManyBytes
+    | (retval, rest) <- BS.splitAt len bs = Right (retval, FakeRandom rest)
+  reseedInfo (FakeRandom bs) = InXBytes (fromIntegral (BS.length bs))
+  reseedPeriod _ = InXBytes randomBufferSize
+  genBytesWithEntropy len rest (FakeRandom bs) =  genBytes len (FakeRandom (BS.append bs rest))
+  reseed new (FakeRandom old) = Right (FakeRandom (old `BS.append` new))
+
 instance Arbitrary KeyPair where
   arbitrary =
-    do let taggedSeedLen = genSeedLength :: Tagged HashDRBG ByteLength
+    do let taggedSeedLen = genSeedLength :: Tagged FakeRandom ByteLength
            seedLen       = unTagged taggedSeedLen
        seedBS <- BS.pack `fmap` replicateM seedLen arbitrary
        case newGen seedBS of
          Left _ -> arbitrary
          Right g ->
-           case generateKeyPair (g :: HashDRBG) of
+           case generateKeyPair (g :: FakeRandom) of
              Left _ -> arbitrary
              Right (priv, pub, _) -> return (KP priv pub)
 
diff --git a/curve25519.cabal b/curve25519.cabal
--- a/curve25519.cabal
+++ b/curve25519.cabal
@@ -1,8 +1,11 @@
 name:                curve25519
-version:             0.2.6
+version:             0.2.7
 synopsis:            Fast implementations of the curve25519 elliptic curve primitives.
 description:         Haskell bindings and extensions to the curve25519-donna
-                     codebase.
+                     codebase. This module is a pretty straightforward implementation
+                     of the basic cryptographic routines you'd want from a project that
+                     uses curve25519: key generation, and key agreement. For further
+                     functionality, you'll want to look elsewhere.
 homepage:            http://github.com/acw/curve25519
 license:             BSD3
 license-file:        LICENSE
@@ -11,13 +14,16 @@
 category:            Math
 build-type:          Simple
 cabal-version:       >=1.10
+tested-with:         GHC==9.2.1, GHC==9.0.1,
+                     GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2,
+                     GHC==7.10.3, GHC==7.8.4, GHC==7.6.3
 
 library
   default-language:    Haskell2010
   exposed-modules:     Crypto.Curve25519,
                        Crypto.Curve25519.Exceptions,
                        Crypto.Curve25519.Pure
-  build-depends:       base       >= 4.6  && < 4.16,
+  build-depends:       base       >= 4.6  && < 4.20,
                        bytestring >= 0.10 && < 0.12,
                        crypto-api >= 0.10 && < 0.14
   hs-source-dirs:      src
@@ -34,15 +40,14 @@
   c-sources:           upstream-c/test-curve25519.c
   build-depends:       base,
                        bytestring,
-                       crypto-api,
                        curve25519,
-                       DRBG                       >= 0.5     && < 0.7,
-                       HUnit                      >= 1.2.5.2 && < 1.7,
-                       QuickCheck                 >= 2.4     && < 2.15,
-                       tagged                     >= 0.7     && < 0.9,
-                       test-framework             >= 0.2     && < 1.0.0,
-                       test-framework-hunit       >= 0.3     && < 0.5,
-                       test-framework-quickcheck2 >= 0.3     && < 0.5
+                       crypto-api,
+                       HUnit,
+                       QuickCheck,
+                       tagged,
+                       test-framework,
+                       test-framework-hunit,
+                       test-framework-quickcheck2
 
 source-repository head
   type:                git
