Commit Graph

1073 Commits

Author SHA1 Message Date
Olivier Chéron
76ba39fc95 Add benchmark with AES GCM and CCM 2019-05-19 11:16:34 +02:00
Olivier Chéron
3161630390 Update CHANGELOG 2019-05-08 10:22:30 +02:00
Olivier Chéron
158d8dfd0c Remove unnecessary imports 2019-05-08 10:22:30 +02:00
Olivier Chéron
687765cacd Merge pull request #276 from ocheron/kmac
Keccak Message Authentication Code (KMAC)
2019-05-08 10:06:25 +02:00
Olivier Chéron
ae107a9285 Merge last cshakeUpdate with cshakeFinalize 2019-05-01 07:03:45 +02:00
Olivier Chéron
8b235612be Merge cshakeInit with first cshakeUpdate 2019-04-28 09:14:25 +02:00
Olivier Chéron
14093ac298 Optimize KMAC allocations
Adds a minimalist Builder type to merge intermediate allocations into
a single ByteArray.  Key is now copied to a ScrubbedBytes only.
2019-04-28 09:14:25 +02:00
Olivier Chéron
1551436111 Add KMAC 2019-04-28 09:14:25 +02:00
Olivier Chéron
c9f8dac6b0 Merge pull request #274 from ocheron/p256-add-sub
Improve P256.scalarAdd and P256.scalarSub
2019-04-28 09:12:47 +02:00
Olivier Chéron
7e5dbeb146 Use vector/vectorOf from QuickCheck and simplify 2019-03-26 06:25:45 +01:00
Olivier Chéron
6f67cefa3d Remove code duplication 2019-03-26 06:24:00 +01:00
Olivier Chéron
15f117d9c3 Remove tests add-n-1 and sub-n-1
Operation with value close to the curve order is now tested in other
tests.  This tests substraction with 0 instead.
2019-03-25 06:47:21 +01:00
Olivier Chéron
399fc891da Test P256 primitives will full scalar range 2019-03-24 08:31:58 +01:00
Olivier Chéron
47123ed97a Better P256 scalar primitives
Allows scalars in full range [ 0 .. 2^256-1 ].  Modular reduction is
added a few more operations with conditional selection.
2019-03-24 08:31:45 +01:00
Olivier Chéron
e3edc100c3 Remove unnecessary import 2019-03-24 07:59:57 +01:00
Olivier Chéron
3253501166 Time-constant P256.scalarAdd and P256.scalarSub 2019-03-21 07:04:01 +01:00
Olivier Chéron
f4be05eb2e Merge pull request #240 from lpeterse/bcrypt_pbkdf
Add bcrypt_pbkdf key derivation function
2019-03-17 19:02:27 +01:00
Lars Petersen
2a26202a32 Add implementation of bcrypt_pbkdf 2019-03-14 21:30:29 +01:00
Olivier Chéron
0ce2e5f325 Remove -fno-warn-unused-imports
Changing the build so that we don't diverge again after cleanup done
in #267.
2019-03-09 09:08:53 +01:00
Olivier Chéron
d67a21f95f Remove unnecessary imports and calls 2019-03-09 09:08:53 +01:00
Olivier Chéron
107317c84d Improve strictness in Blowfish rounds 2019-03-04 06:39:55 +01:00
Olivier Chéron
0f8dc3588d Add BCrypt benchmark 2019-03-04 06:39:46 +01:00
Olivier Chéron
717de392cd Merge pull request #238 from lpeterse/master
Extend the internal interface of the Blowfish module.
2019-03-04 06:37:15 +01:00
Olivier Chéron
8e28d7b2cd Merge pull request #271 from ocheron/hash-nat-constraints
Hash algorithms with runtime output length
2019-03-04 06:33:59 +01:00
Olivier Chéron
26057fa0f6 Merge pull request #270 from ocheron/pr-241-rebased
add ECDSA sign/verify digest APIs
2019-03-04 06:32:43 +01:00
Olivier Chéron
299140f884 Remove unnecessary hash arguments
We don't need to give the hash algorithm as a separate argument since
it is already available from the digest value itself.
2019-03-01 06:28:55 +01:00
Olivier Chéron
997cea369b Rename to signDigestWith 2019-03-01 06:28:55 +01:00
Baojun Wang
b55a93dfdc add ECDSA sign/verify digest APIs
(rebased from commit 045793427e8d46594b0b2afedb314d027ec707ab)
2019-03-01 06:28:32 +01:00
Olivier Chéron
3c41966b9a Add module Crypto.Number.Nat
This new module exposes type constraints required by some hash
algorithms and provides functions to check whether the constraints are
satisfied with runtime values.

Resolves #256.
2019-02-28 07:07:48 +01:00
Olivier Chéron
eccbc11824 Remove Crypto.Internal.Proxy
Data.Proxy can be used instead now that GHC >= 8.0.  In Data.Proxy the
Proxy type is poly-kinded.
2019-02-28 07:07:48 +01:00
Olivier Chéron
8c77f0c1ea Update generation templates per latest changes 2019-02-25 06:42:44 +01:00
Olivier Chéron
65932e5a7e Add missing Data instances in Crypto.Hash.Blake2 2019-02-25 06:40:53 +01:00
Olivier Chéron
540ef78abb Merge pull request #267 from crockeea/master-clean
Code maintenance and cleanup
2019-02-25 06:36:11 +01:00
Crockett
133c6e1b2d Added some redundant constraints for documentation/consistency. Added an INLINABLE pragma to i2ospOf to hopefully increase specializations. 2019-02-24 17:04:10 -08:00
Olivier Chéron
101c2c05cf Merge pull request #268 from psibi/blake2-update
Update blake2 with upstream
2019-02-24 17:47:22 +01:00
Sibi Prabakaran
dee3782a83
Add Changelog 2019-02-22 03:28:57 +05:30
Sibi Prabakaran
af9f9548d6
Update reference blake2 implementation with upstream 2019-02-21 17:16:00 +05:30
Olivier Chéron
1d82f647a4 Merge pull request #265 from crockeea/master
Fixed hash truncation bug in DSA
2019-02-04 21:22:04 +01:00
Crockett
0fb8a73d3b Fixed compiler warnings 2019-02-03 16:06:05 -08:00
Crockett
88596509f0 Changed imports to match style of rest of library 2019-02-03 13:51:01 -08:00
Crockett
109600cec2 Added missing imports and removed duplicate imports. Tests pass. 2019-02-03 13:43:54 -08:00
Crockett
c71a6733dd Unified DSA and ECDSA truncate&hash function. 2019-02-03 13:30:56 -08:00
Crockett
d5003a46a6 Fixed hash truncation bug in DSA; added more KATs from RFC 6979. 2019-01-26 15:15:34 -08:00
Olivier Chéron
69ef95b0de Use GHC 8.6.3 for CI and bump versions 2019-01-19 08:54:31 +01:00
Olivier Chéron
f81c08c089 Merge pull request #262 from ocheron/rsapss-any-length
RSA-PSS with arbitrary key size
2019-01-19 08:49:38 +01:00
Olivier Chéron
1d5947f055 Use any instead of not all 2019-01-15 21:24:31 +01:00
Olivier Chéron
ae0e9c0f3e Remove commented example 10 2019-01-12 17:43:49 +01:00
Olivier Chéron
8eb8d01577 RSASSA-PSS vectors with key size 1025, 1026, 1031 2019-01-12 17:43:49 +01:00
Olivier Chéron
f9ae52327c RSASSA-PSS with key of arbitrary length
Instead of public_size / private_size which are in bytes only, this
uses function numBits to recover the effective length of the modulus
in bits.  The patch also handles removal of unneeded initial byte when
the length is 1 modulo 8.
2019-01-12 17:43:49 +01:00
Olivier Chéron
274911c608 Accept hlint suggestions 2019-01-12 17:43:49 +01:00