Commit Graph

734 Commits

Author SHA1 Message Date
Vincent Hanquez
7c33fcedb4 add Typeable to hash algorithm 2017-02-14 10:19:44 +00:00
Vincent Hanquez
9227ab9225 add Typeable to template 2017-02-14 10:15:58 +00:00
Vincent Hanquez
16fc2a3104 missing entry 2016-12-18 06:50:29 +00:00
Vincent Hanquez
b157a2760c add CHANGELOG post-facto 2016-12-17 10:49:45 +00:00
Vincent Hanquez
cb0e06a17b bump version to 0.21 2016-12-17 10:41:20 +00:00
Vincent Hanquez
e76f53d2a7 Drop test support for GHC 7.0, GHC 7.4 and GHC 7.6.
fix #115
2016-12-17 10:37:16 +00:00
Vincent Hanquez
df0849ad40 add CONTRIBUTING guide - non definitive 2016-12-09 15:06:05 +00:00
Vincent Hanquez
2a91fe31be add .cabal support for alignment check 2016-12-09 15:04:14 +00:00
Vincent Hanquez
ba10930add process unaligned data through a trampoline buffer when architecture needs it
should fix #108
2016-12-09 15:04:02 +00:00
Vincent Hanquez
12a26c14c4 add basic support for unaligned key/iv in chacha. barely tested 2016-12-09 15:02:51 +00:00
Vincent Hanquez
12e5eca4ea add basic framework to tests and query for alignments 2016-12-09 15:01:58 +00:00
Vincent Hanquez
fab2ab62f3 Merge pull request #118 from tmciver/master
Add key length validation to several AES Ciphers.
2016-12-09 10:59:17 +00:00
Vincent Hanquez
00d9120f90 Merge pull request #119 from flashcurd/master
Update the index into a partial Poly1305 buffer instead of overwriting
2016-12-09 07:43:58 +00:00
Vincent Hanquez
4b34abe310 add support For Ed448 in Crypto.ECC. fix #121 2016-12-09 06:42:50 +00:00
Dom Crossley
a251c9ff15 Update the index into a partial Poly1305 buffer instead of overwriting 2016-12-07 09:33:55 +00:00
Tim McIver
f5efdee75b Add key length validation to several AES Ciphers. 2016-12-06 22:06:57 -05:00
Vincent Hanquez
88e614b675 Merge pull request #116 from kazu-yamamoto/fix-ecc2
Fix ecc2
2016-12-05 06:32:44 +00:00
Kazu Yamamoto
9845734b2b fixing P256 endian. 2016-12-05 13:34:54 +09:00
Kazu Yamamoto
1ba4871032 fixing P256 binary format. 2016-12-05 13:34:33 +09:00
Vincent Hanquez
07bfa10ad7 fix proxy 2016-12-02 21:07:13 +00:00
Vincent Hanquez
6e1d18f6c2 use the correct compat imports 2016-12-02 16:29:49 +00:00
Vincent Hanquez
a9b722b492 Add missing compatibility modules 2016-12-02 15:48:05 +00:00
Vincent Hanquez
f627bf437a make a faster and more secure related to memory blits of pointDh for P256 2016-12-02 15:47:51 +00:00
Vincent Hanquez
5e52a7ffa2 use binary serializer for P256 instead of going through the simple point layer 2016-12-02 15:28:36 +00:00
Vincent Hanquez
052417e5b1 properly check for point validity before making a point 2016-12-02 15:28:03 +00:00
Vincent Hanquez
922bed5ac5 add some documentation to ECIES 2016-12-02 15:03:19 +00:00
Vincent Hanquez
8b5a36f44e fix ECIES to work with the rewrite 2016-12-02 15:03:08 +00:00
Vincent Hanquez
7e6d7ccb1c complete rewrite of the type class
Now there's no type created by associated type, it just become a routing type class,
however this has a cost, since the associated type are not injective,
requiring more witness for the curve than before.
2016-12-02 15:02:48 +00:00
Vincent Hanquez
955f010bff add internal proxy type to create witnesses 2016-12-02 15:00:05 +00:00
Vincent Hanquez
11e42a256d add the binding to get the size by bytes 2016-12-02 14:59:46 +00:00
Vincent Hanquez
422c5fdb09 remove reference to the old api in the documentation 2016-12-02 11:36:48 +00:00
Vincent Hanquez
07b6e80b6d Rewrite EC primitive and types to have the curve as type 2016-12-01 16:56:28 +00:00
Vincent Hanquez
f1ebbff464 fixup haddock markup 2016-12-01 16:55:17 +00:00
Vincent Hanquez
f37d0b79ec remove arithmetic on Curve25519. it's mathematically not possible 2016-12-01 12:53:56 +00:00
Vincent Hanquez
55f385a136 change point decoding to be able to fail explicitely instead of async error call. 2016-12-01 12:51:26 +00:00
Vincent Hanquez
a9e3917334 fix Curve25519 generate secret key to work in the MonadRandom instead of IO 2016-12-01 12:50:31 +00:00
Vincent Hanquez
d80a87da48 add new EC errors 2016-12-01 12:50:10 +00:00
Vincent Hanquez
a5fb2ee23a don't export function that replace existing functionality and by-pass errors handling 2016-12-01 12:50:01 +00:00
Kazu Yamamoto
e9ea55ab57 relaxing types of encodePoint and decodePoint. 2016-11-30 15:34:35 +09:00
Kazu Yamamoto
58151b9965 making PRK an instance of ByteArrayAccess and removing fromPRK/toPRK. 2016-11-30 15:10:48 +09:00
Kazu Yamamoto
f84aa5d7ce documentation & relaxing types. 2016-11-30 14:48:49 +09:00
Kazu Yamamoto
be6bf11138 using ScrubbedBytes directly. 2016-11-30 14:41:01 +09:00
Kazu Yamamoto
3a2eb3c631 using ByteArray(Access) instead of ByteString. 2016-11-30 14:19:39 +09:00
Kazu Yamamoto
39ecb3597a removing a trailing space / a warning. 2016-11-30 14:06:21 +09:00
Kazu Yamamoto
2b9dce2c8a Dropping Show from PRK. 2016-11-28 19:23:20 +09:00
Kazu Yamamoto
c0b0846232 implmenting encodePoint and decodePoint for TLS. 2016-11-17 13:08:21 +09:00
Kazu Yamamoto
a6f177352a Eq and Show for Point and Scalar. 2016-11-16 16:53:43 +09:00
Kazu Yamamoto
aa33c00855 adding Curve_X25519. 2016-11-16 13:10:57 +09:00
Kazu Yamamoto
dea0469c61 adding Curve_P384R1. 2016-11-16 10:02:00 +09:00
Kazu Yamamoto
9a0ec9166a implementing ecdh fpr P256 and P521. 2016-11-15 15:41:00 +09:00