threefish 0.2.4 → 0.2.5
raw patch · 2 files changed
+7/−8 lines, 2 files
Files
Crypto/Threefish/Skein/StreamCipher.hs view
@@ -32,14 +32,13 @@ stream256 :: Skein256Ctx -> [BS.ByteString] stream256 (Skein256Ctx c) =- unsafePerformIO $ go 0+ unsafePerformIO $ withForeignPtr c $ go 0 where- go n = unsafeInterleaveIO $ do- bs <- withForeignPtr c $ \ctx -> do- allocaBytes 1024 $ \ptr -> do- skein256_output ctx n (n+32) ptr- BS.packCStringLen (castPtr ptr, 1024)- bss <- go (n+32)+ go n ctx = unsafeInterleaveIO $ do+ bs <- allocaBytes 1024 $ \ptr -> do+ skein256_output ctx n (n+32) ptr+ BS.packCStringLen (castPtr ptr, 1024)+ bss <- go (n+32) ctx return $ bs : bss keystream256 :: Key256 -> Nonce256 -> [BS.ByteString]
threefish.cabal view
@@ -1,5 +1,5 @@ name: threefish-version: 0.2.4+version: 0.2.5 synopsis: The Threefish block cipher and the Skein hash function for Haskell. description: Implements 256 and 512 bit variants of Threefish and Skein. Skein is usable as a "normal" hash function as well as in Skein-MAC, as a cryptographically secure PRNG, as a stream cipher and as a key derivation function, all implemented according to the specifications of the Skein 1.3 paper. homepage: http://github.com/valderman/threefish