Vincent Hanquez
4b34abe310
add support For Ed448 in Crypto.ECC. fix #121
2016-12-09 06:42:50 +00: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
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
f1ebbff464
fixup haddock markup
2016-12-01 16:55:17 +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
a5fb2ee23a
don't export function that replace existing functionality and by-pass errors handling
2016-12-01 12:50:01 +00: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
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
Vincent Hanquez
60bb2cacb4
[ECC] Improve the code base to allow multiples different implementations
...
* Use TypeFamilies; need to see what to do for older GHC versions
* Start implementing some API related to ECIES
2016-11-15 15:05:58 +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
John Galt
e2b0e9ee6b
[Ed448] Fixed incorrect base point
2016-04-18 13:25:11 -07: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
e29c8a6fe5
[DH] Keep The field size in bits, in Params
2016-04-09 13:41:40 +01:00
Vincent Hanquez
b07a856127
Merge pull request #62 from clinty/dsa-truncate
...
Do DSS truncation on verify
2016-02-11 08:04:32 +00:00
John Galt
a04b56d2a3
Added Ed448-Goldilocks support
2016-02-09 01:22:55 -07:00
Clint Adams
4c6b774a3d
Do DSS truncation on verify
...
RFC 4880 and FIPS 186-4 require that DSA signatures truncate the
hash to the size of q. This changes Crypto.PubKey.DSA.verify
to do so in all cases.
2016-01-10 17:05:37 -05:00
Vincent Hanquez
2785a50228
Merge pull request #42 from Rufflewind/master
...
Document the arguments for DH.generateParams
2015-11-18 21:51:53 +00:00
Vincent Hanquez
7928198923
[doc] Add missing documentation call
2015-11-04 15:18:05 +00:00
Phil Ruffwind
fba0565d78
Document the arguments for DH.generateParams
...
Also fix the formatting in the docs of Serialize.i2ospOf
2015-11-03 20:20:53 +08:00
Vincent Hanquez
2191dddf5b
[Curve25519] use the Crypto.Error api instead of an Either type for parsing types
2015-11-02 11:17:19 +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
0d2290a4a1
[RSA] allow data to be passed as is, instead of hashed
2015-06-19 11:04:37 +01:00
Vincent Hanquez
39cf449ba7
add some missing instance of HashAlgorithmASN1
2015-06-19 11:04:17 +01:00
Vincent Hanquez
a9df2a2180
[RSA] remove hashdescr in favor of just specifying the algorithm directly
...
The extra information is embedded in the HashAlgorithmASN1 class
that allow a digest to ASN1 structured.
2015-06-10 12:27:37 +01:00
Luke Taylor
4e1437d4fd
Minor haddock fixes
...
Fix some incorrect parameter descriptions and spelling/typos.
2015-06-07 13:26:26 +02: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
5d85834264
remove unnecessary extension
2015-05-21 14:51:23 +01:00
Vincent Hanquez
7f11a66d50
[DSA] re-align imports
2015-05-21 14:46:45 +01:00
Vincent Hanquez
28958a6d03
[RSA] remove ByteString from Primitive module
2015-05-21 14:32:53 +01:00
Vincent Hanquez
c111dfeb8e
[pubkey] remove bytestring from MaskGenFunction
2015-05-21 11:09:48 +01:00
Vincent Hanquez
c7de32a6f6
[RSA] remove the need for bytestring in HashDescr and work towards more removal
2015-05-21 09:46:13 +01:00