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
Vincent Hanquez
6346b8289c
Merge pull request #202 from ocheron/ed25519-arith-negate
...
Ed25519 arithmetic primitives
2017-12-17 18:12:50 +00:00
Olivier Chéron
3aaa89d52e
Add missing NFData instances
2017-11-27 20:43:08 +01:00
Olivier Chéron
8d7e0d236c
Add P256.pointNegate
2017-11-20 19:28:17 +01:00
Olivier Chéron
b8b59be5a5
Normalize result of ECC.pointNegate
2017-11-20 19:28:17 +01:00
Olivier Chéron
4f7d742461
Export and test ECC.pointNegate
2017-11-20 19:28:16 +01:00
Chris Martin
f77994a729
Various documentation copy editing
2017-11-18 14:27:44 -05:00
Olivier Chéron
aec6af5de4
Add note about P256 encoding of point-at-infinity
2017-07-05 22:24:22 +02:00
Olivier Chéron
8e274f8e60
Validate output point when calling P256.pointFromBinary
...
Function unsafePointFromBinary is added when validation is not needed.
2017-07-05 22:24:22 +02:00
Kazu Yamamoto
697fe61f9b
using pointSize in withTempPoint to fix #151 .
2017-04-11 20:32:57 +09:00
Kazu Yamamoto
9845734b2b
fixing P256 endian.
2016-12-05 13:34:54 +09: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
f1ebbff464
fixup haddock markup
2016-12-01 16:55:17 +00:00
Kazu Yamamoto
a6f177352a
Eq and Show for Point and Scalar.
2016-11-16 16:53:43 +09:00
Vincent Hanquez
01892ac494
Merge pull request #102 from ocheron/shamirs-trick
...
Implement Shamir's trick
2016-09-15 21:08:48 +01:00
Olivier Chéron
43233cb911
Double-scalar multiplication using Shamir's trick
2016-09-10 12:05:46 +02:00
Olivier Chéron
5854b092a8
Fix ECDH when scalar and coordinate bit sizes differ
2016-09-10 10:26:41 +02:00
Olivier Chéron
c84230c69a
Fixed hash truncation used in ECDSA signature & verification
...
The function tHash shifted the hash number to an incorrect number of bits
when the bit string had leading zeros. This is one of two issues reported
in vincenthz/hs-tls#152 .
2016-08-24 23:29:55 +02:00
Bodigrim
7e53922f4f
Fix pointMul with negative factor on CurveF2m
2016-07-24 13:40:24 +02:00
Vincent Hanquez
0c3f68929b
Fix serialization of ECDH and DH
2016-04-09 17:13:51 +01:00
Vincent Hanquez
fd24980530
[ECC] add Bounded instance to CurveName
2016-04-09 13:46:06 +01:00
Vincent Hanquez
0fa83e32d8
[ECDH][DH] change SharedKey representation to be the usual bytes-like representation
...
Prevent mistake when the serialization is not done properly, for example missing
the padding when necessary.
2016-04-09 13:45:05 +01:00
Vincent Hanquez
7928198923
[doc] Add missing documentation call
2015-11-04 15:18:05 +00:00
Vincent Hanquez
c94df41f02
[ECC] fix compilation of missing numBits
2015-09-22 17:48:43 +01:00
Vincent Hanquez
b63dc38c49
[ECC] add generate for ECC generic's scalar and point Base Multiplication helper.
2015-09-22 17:23:22 +01:00
Vincent Hanquez
08a8155f12
[P256] add function to generate a new scalar, and to get the base point.
2015-09-22 17:22:13 +01:00
Vincent Hanquez
9a1f06e3e8
[ECC] add curveSizeBits
2015-09-22 17:21:35 +01:00
Vincent Hanquez
7301c719bf
[P256] use ScrubbedBytes for Scalar
2015-06-02 14:22:48 +01:00
Vincent Hanquez
f63a3c6025
[p256] fix all the bugs found by the now useful P256 test suite
2015-06-01 07:48:31 +01:00
Vincent Hanquez
4edb580cda
[P256] add warning for non constant time operation
2015-05-30 10:38:59 +01:00
Vincent Hanquez
78fa0c3650
[P256] implement missing function, and remove un-implementable one.
...
remove temporary removal, and properly fixes #1
2015-05-29 15:47:25 +01:00
Vincent Hanquez
e413290d8f
[p256] temporary remove missing functions. fix #1
2015-05-26 22:09:12 +01:00
Vincent Hanquez
8eaaa06e1e
add optional support for deepseq
2015-05-22 18:35:46 +01:00
Vincent Hanquez
8065c26c2d
remove dangerous OverloadedStrings
2015-05-21 06:45:46 +01:00
Vincent Hanquez
881d167cb5
more fixing up description and comments
2015-05-20 06:22:00 +01:00
Vincent Hanquez
92343f856a
add comments and description
2015-05-20 06:07:31 +01:00
Vincent Hanquez
5d2b417854
[pubkey] make DSA and ECDSA ByteString free
2015-05-11 14:18:49 +01:00
Vincent Hanquez
9ae9e38ce2
move to memory stuff
2015-05-09 14:23:32 +01:00
Vincent Hanquez
df3c3523a4
[P256] add a point_add function
2015-05-04 06:56:27 +01:00
Vincent Hanquez
aa790db088
[P256] add more bindings
2015-05-03 20:36:00 +01:00
Vincent Hanquez
ad34f0e1e8
use mod after add/sub
2015-05-03 20:15:26 +01:00
Vincent Hanquez
1f30911e1c
[P256] define the n/p/b constants
2015-05-03 20:14:54 +01:00
Vincent Hanquez
c360e77148
[P256] properly define some bindings with X and Y types
2015-05-03 20:14:10 +01:00
Vincent Hanquez
ea875e5c88
[P256] define pointMul
2015-05-03 19:52:00 +01:00
Vincent Hanquez
25c303602d
[P256] add comment to `toPoint'
2015-05-03 19:51:21 +01:00
Vincent Hanquez
1267500318
[P256] improve bindings, still work in progress.
2015-05-02 14:50:11 +01:00
Vincent Hanquez
db7c3bbb4f
[hash] massive overhaul of the hash interface
...
use the typeclass for the lowest IO impure C bindings definitions,
and define the pure interface as generic on top of this.
At the same time define an Hash.IO interface to allow mutable manipulations
of hash contextes when necessary.
Use HashAlgorithm instead of HashFunction in the [PubKey] sections
Tweak the HMAC, PBKDF2 functions to be more efficient and use the new interface
2015-04-30 06:18:07 +01:00