Crockett
0fb8a73d3b
Fixed compiler warnings
2019-02-03 16:06:05 -08:00
Olivier Chéron
455504b8e2
Implement SHAKE output not divisible by 8 bits
2018-10-23 06:59:07 +02:00
Olivier Chéron
0ab1c41ac8
Add missing Data instances
2018-10-23 06:59:07 +02:00
Olivier Chéron
e10ef06885
Remove unnecessary language extension
2018-10-23 06:59:07 +02:00
Leif Warner
8a61d8e5e2
Derive a Data instance for Digest.
2018-06-18 00:20:48 -07:00
Olivier Chéron
b3a1506d82
Remove conditionals related to SHAKE and Blake2
...
Not needed anymore now that GHC > 8.0.
2018-04-28 08:09:25 +02:00
Olivier Chéron
3e5be5fdf3
Add Read instance for Digest type
2018-02-11 09:15:05 +01:00
Vincent Hanquez
b4add57955
Hash: use Block instead of UArray to reduce memory usage
2018-02-04 23:06:02 +00:00
Vincent Hanquez
f861a52b1b
remove dependency on foundation and moving to basement
2017-11-30 12:08:08 +00:00
Vincent Hanquez
896382dfbc
Merge pull request #201 from chris-martin/pr/caps
...
Various documentation copy editing
2017-11-19 16:04:40 +00:00
Chris Martin
f77994a729
Various documentation copy editing
2017-11-18 14:27:44 -05:00
Vincent Hanquez
84e96d2fa3
Update context size for Blake2bp and Blake2sp
...
Also fix Blake2bp to not use blake2sp functions
2017-10-02 21:05:30 +01:00
Vincent Hanquez
74f1c1872b
[BLAKE2] update context size on the haskell to the latest code
2017-10-02 20:44:51 +01:00
Olivier Chéron
c6c715f465
Add note about Digest implementing ByteArrayAccess
2017-08-22 20:39:29 +02:00
Vincent Hanquez
9d43c332de
fix digest size for nat-typed blake2
2017-07-08 07:58:09 +01:00
Vincent Hanquez
b18ec653b8
rename bitLen -> bitlen. GHC 8.2 is stricted about name of type variables
2017-07-07 19:26:59 +01:00
Vincent Hanquez
0dc0f30b86
Add HashBlockSize & HashDigestSize & HashInternalContextSize type family for all Hash algorithms
...
supercedes PR #158
2017-07-07 18:28:06 +01:00
Vincent Hanquez
67dd8ed7fc
[Hash] change Digest to use a foundation UArray that have configurable pinnable memory setting
2017-04-25 14:23:13 +01:00
Vincent Hanquez
a9fd1f079d
[Hash] update part of Crypto.Hash.IO to ScopeTypeVariable
2017-04-25 14:22:20 +01:00
Nicolas DI PRIMA
8b6bd1ed5e
check for at least one byte and at most 256 or 512 (blake2s or blake2b)
2017-03-13 18:53:07 +00:00
Nicolas DI PRIMA
c0c33c5254
Use Nat for the Blake2's digest sizes
2017-03-13 00:24:17 +00:00
Nicolas DI PRIMA
cd552ae5f6
move Nat specific to Cryptonite's insternal module
2017-03-13 00:22:53 +00:00
Vincent Hanquez
26237c5c6d
remove spurious header modification
2017-02-19 17:17:49 +00:00
Vincent Hanquez
343b7593b5
add Constraint for divisibility
2017-02-14 23:01:18 +00:00
Vincent Hanquez
eb661e653e
add Typeable for SHAKE
2017-02-14 23:01:18 +00:00
Olivier Chéron
d8ed5ce9f1
Add SHAKE128 and SHAKE256 as HashAlgorithm instances
...
Generalizes SHA-3 code for SHAKE support and uses GHC type-level literals
to keep the output length variable.
2017-02-14 23:01:18 +00:00
Vincent Hanquez
7378fe3f45
add some missing blake2 modes
2017-02-14 16:26:44 +00:00
Vincent Hanquez
634768b2fa
add Data also to Hash algorithms
2017-02-14 12:02:26 +00:00
Vincent Hanquez
7c33fcedb4
add Typeable to hash algorithm
2017-02-14 10:19:44 +00:00
Vincent Hanquez
93fad940e4
Improve context memory usage of Keccak and SHA3
...
saves up to 72 bytes per context for SHA3-512
2016-03-26 10:29:33 +00:00
Vincent Hanquez
50631d3150
Add support for blake2s(p) 224 bits
2016-01-09 10:09:35 +00:00
John Galt
26976b1583
[blake2] Added reference implementation
...
This commit allows the user to select either the portable reference
implementation or the optimized (SSE) implementation.
2015-12-16 07:49:30 -06:00
Maciej Pietrzak
6020bde0e2
Add support_blake2 flag.
2015-11-30 22:17:21 +01:00
Vincent Hanquez
812b5d1aed
[blake2] uncapitalize the modules and types as it's not abbreviation.
2015-11-19 14:24:54 +00:00
Vincent Hanquez
fae5f084cf
[Blake2] define the algorithm as a multiple algorithm so that the output digest size is explicit in the digest types.
2015-11-19 12:10:14 +00:00
Vincent Hanquez
69f9d225eb
[hash] trim hash algorithm with multiple output size.
...
The output size is now passed by parameter to the finalize function
instead of being stored in the context. that simplify quite a
bit the passing of this parameter
2015-11-19 11:52:21 +00:00
Vincent Hanquez
ad285be68c
[Hash] tweak internal C API to have the hashlen
2015-11-19 11:37:38 +00:00
Vincent Hanquez
093f1af8e4
Merge pull request #41 from kinoru/master
...
Fix typo: Kekkak -> Keccak
2015-11-18 15:38:19 +00:00
John Galt
880dfae098
Added BLAKE2 support
2015-11-12 12:33:20 -05:00
kinoru
558c21491e
Fix typo: Kekkak -> Keccak
...
The SHA-3 winning algorithm's name is Keccak (pronounced "catch-ack"),
not Kekkak.
- <http://keccak.noekeon.org/ >
- <http://www.nist.gov/itl/csd/sha-100212.cfm >
- <https://en.wikipedia.org/wiki/SHA-3 >
2015-10-27 14:56:42 +00:00
Vincent Hanquez
35bad8c241
[hash] properly display Digest just like cryptohash.
...
fix #8
2015-06-09 14:35:23 +01:00
Nicolas DI PRIMA
57c814f20b
add Ord instance on Digest
2015-05-26 19:10:26 +01:00
Vincent Hanquez
a0009bf713
[hash] remove redundant module
2015-05-22 18:43:35 +01:00
Vincent Hanquez
8eaaa06e1e
add optional support for deepseq
2015-05-22 18:35:46 +01:00
Vincent Hanquez
881d167cb5
more fixing up description and comments
2015-05-20 06:22:00 +01:00
Vincent Hanquez
393b159d5f
[hash] add haddock documentation
2015-05-19 11:51:18 +01:00
Vincent Hanquez
9794e2132b
[hash] replace scrub by reset
...
reset make more sense as it leave the mutable context in a state where
it can be re-used by further update, whereas scrub doesn't.
2015-05-19 11:50:56 +01:00
Vincent Hanquez
987f9e7bb6
[internal] update to latest memory, and remove builtin support as memory is now available
2015-05-18 18:33:14 +01:00
Vincent Hanquez
761574a65f
[internal] remove old cryptohash modules
2015-05-11 09:34:01 +01:00
Vincent Hanquez
81e335cfff
[HASH] re-enable SHA512t
2015-05-06 07:53:51 +01:00