Skip to content
This repository has been archived by the owner on Sep 20, 2023. It is now read-only.

Commit

Permalink
Added tests and benchmarks for Whirlpool
Browse files Browse the repository at this point in the history
  • Loading branch information
Stijn van Drongelen committed Aug 9, 2012
1 parent d4c217a commit b4f1814
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Bench.hs
Expand Up @@ -13,6 +13,7 @@ import qualified Crypto.Hash.RIPEMD160 as RIPEMD160
import qualified Crypto.Hash.Tiger as Tiger import qualified Crypto.Hash.Tiger as Tiger
import qualified Crypto.Hash.Skein256 as Skein256 import qualified Crypto.Hash.Skein256 as Skein256
import qualified Crypto.Hash.Skein512 as Skein512 import qualified Crypto.Hash.Skein512 as Skein512
import qualified Crypto.Hash.Whirlpool as Whirlpool


allHashs = allHashs =
[ ("MD2",MD2.hash) [ ("MD2",MD2.hash)
Expand All @@ -28,6 +29,7 @@ allHashs =
, ("Tiger",Tiger.hash) , ("Tiger",Tiger.hash)
, ("Skein256-256",Skein256.hash 256) , ("Skein256-256",Skein256.hash 256)
, ("Skein512-512",Skein512.hash 512) , ("Skein512-512",Skein512.hash 512)
, ("Whirlpool",Whirlpool.hash)
] ]


benchHash :: Int -> (B.ByteString -> B.ByteString) -> Pure benchHash :: Int -> (B.ByteString -> B.ByteString) -> Pure
Expand Down
7 changes: 7 additions & 0 deletions Tests.hs
Expand Up @@ -16,6 +16,7 @@ import qualified Crypto.Hash.RIPEMD160 as RIPEMD160
import qualified Crypto.Hash.Tiger as Tiger import qualified Crypto.Hash.Tiger as Tiger
import qualified Crypto.Hash.Skein256 as Skein256 import qualified Crypto.Hash.Skein256 as Skein256
import qualified Crypto.Hash.Skein512 as Skein512 import qualified Crypto.Hash.Skein512 as Skein512
import qualified Crypto.Hash.Whirlpool as Whirlpool


v0 = "" v0 = ""
v1 = "The quick brown fox jumps over the lazy dog" v1 = "The quick brown fox jumps over the lazy dog"
Expand Down Expand Up @@ -48,6 +49,8 @@ tigerHash = HashFct { fctHash = Tiger.hash, fctInc = hashinc Tiger.init Tiger.up
skein256Hash x = HashFct { fctHash = Skein256.hash x, fctInc = hashinc (Skein256.init x) Skein256.update Skein256.finalize } skein256Hash x = HashFct { fctHash = Skein256.hash x, fctInc = hashinc (Skein256.init x) Skein256.update Skein256.finalize }
skein512Hash x = HashFct { fctHash = Skein512.hash x, fctInc = hashinc (Skein512.init x) Skein512.update Skein512.finalize } skein512Hash x = HashFct { fctHash = Skein512.hash x, fctInc = hashinc (Skein512.init x) Skein512.update Skein512.finalize }


whirlpoolHash = HashFct { fctHash = Whirlpool.hash, fctInc = hashinc Whirlpool.init Whirlpool.update Whirlpool.finalize }

results :: [ (String, HashFct, [String]) ] results :: [ (String, HashFct, [String]) ]
results = [ results = [
("MD2", md2Hash, [ ("MD2", md2Hash, [
Expand Down Expand Up @@ -123,6 +126,10 @@ results = [
"b95175236c83a459ce7ec6c12b761a838b22d750e765b3fdaa892201b2aa714bc3d1d887dd64028bbf177c1dd11baa09c6c4ddb598fd07d6a8c131a09fc5b958e2999a8006754b25abe3bf8492b7eabec70e52e04e5ac867df2393c573f16eee3244554f1d2b724f2c0437c62007f770", "b95175236c83a459ce7ec6c12b761a838b22d750e765b3fdaa892201b2aa714bc3d1d887dd64028bbf177c1dd11baa09c6c4ddb598fd07d6a8c131a09fc5b958e2999a8006754b25abe3bf8492b7eabec70e52e04e5ac867df2393c573f16eee3244554f1d2b724f2c0437c62007f770",
"3265708553e7d146e5c7bcbc97b3e9e9f5b53a5e4af53612bdd6454da4fa7b13d413184fe34ed57b6574be10e389d0ec4b1d2b1dd2c80e0257d5a76b2cd86a19a27b1bcb3cc24d911b5dc5ee74d19ad558fd85b5f024e99f56d1d3199f1f9f88ed85fab9f945f11cf9fc00e94e3ca4c7", "3265708553e7d146e5c7bcbc97b3e9e9f5b53a5e4af53612bdd6454da4fa7b13d413184fe34ed57b6574be10e389d0ec4b1d2b1dd2c80e0257d5a76b2cd86a19a27b1bcb3cc24d911b5dc5ee74d19ad558fd85b5f024e99f56d1d3199f1f9f88ed85fab9f945f11cf9fc00e94e3ca4c7",
"3d23d3db9be719bbd2119f8402a28f38d8225faa79d5b68b80738c64a82004aafc7a840cd6dd9bced6644fa894a3d8d7d2ee89525fd1956a2db052c4c2f8d2111c91ef46b0997540d42bcf384826af1a5ef6510077f52d0574cf2b46f1b6a5dad07ed40f3d21a13ca2d079fa602ff02d" ]) "3d23d3db9be719bbd2119f8402a28f38d8225faa79d5b68b80738c64a82004aafc7a840cd6dd9bced6644fa894a3d8d7d2ee89525fd1956a2db052c4c2f8d2111c91ef46b0997540d42bcf384826af1a5ef6510077f52d0574cf2b46f1b6a5dad07ed40f3d21a13ca2d079fa602ff02d" ])
, ("Whirlpool", whirlpoolHash, [
"19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3",
"b97de512e91e3828b40d2b0fdce9ceb3c4a71f9bea8d88e75c4fa854df36725fd2b52eb6544edcacd6f8beddfea403cb55ae31f03ad62a5ef54e42ee82c3fb35",
"dce81fc695cfea3d7e1446509238daf89f24cc61896f2d265927daa70f2108f8902f0dfd68be085d5abb9fcd2e482c1dc24f2fabf81f40b73495cad44d7360d3"])
] ]


hexalise s = hexalise s =
Expand Down
2 changes: 2 additions & 0 deletions cryptohash.cabal
Expand Up @@ -84,6 +84,7 @@ Executable Tests
cbits/skein256.c cbits/skein256.c
cbits/skein512.c cbits/skein512.c
cbits/tiger.c cbits/tiger.c
cbits/whirlpool.c
if flag(test) if flag(test)
Buildable: True Buildable: True
Build-depends: base >= 4, HUnit, bytestring Build-depends: base >= 4, HUnit, bytestring
Expand All @@ -106,6 +107,7 @@ Executable Bench
cbits/skein256.c cbits/skein256.c
cbits/skein512.c cbits/skein512.c
cbits/tiger.c cbits/tiger.c
cbits/whirlpool.c
if flag(benchmark) if flag(benchmark)
Buildable: True Buildable: True
Build-depends: base >= 4, bytestring, criterion Build-depends: base >= 4, bytestring, criterion
Expand Down

0 comments on commit b4f1814

Please sign in to comment.