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
Vincent Hanquez
c29fa82417
add a note about scalarInverse
2016-11-15 15:05:58 +09:00
Vincent Hanquez
f3255c2fa0
fix imports on older versions
2016-11-15 15:05:58 +09:00
Vincent Hanquez
7c833eddfd
improve description
2016-11-15 15:05:58 +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
Kazu Yamamoto
e00c89fb25
adding toByteString and fromByteString to PRK.
2016-11-15 15:04:06 +09:00
Brandon Hamilton
548cbb6f79
Implement the XSalsa20 stream cipher
2016-10-09 15:25:31 +02: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
Vincent Hanquez
39a3a6bbcb
Merge pull request #95 from glguy/master
...
Derive Show instance for CryptoFailable
2016-07-30 11:08:55 +01:00
Vincent Hanquez
d6608ffc6e
Merge pull request #85 from yogsototh/master
...
Example of symmetric encryption in documentation.
2016-07-30 07:10:56 +01:00
Eric Mertens
5b8ae08701
Derive Show instance for CryptoFailable
...
Fixes #50
The derived instances use precedences to decide when
parentheses are appropriate.
2016-07-28 14:02:36 -07:00
Vincent Hanquez
18a9634bb7
Merge pull request #92 from Bodigrim/number-f2m
...
Arithmetic over F2m
2016-07-28 20:23:38 +01:00
Luke Taylor
fb66c35f46
Add a check for salt length in bcrypt function
...
Raises an error (as the original doc claimed) if the salt is not the
required length of 16 bytes.
validatePasswordEither doesn't require separate checking since the hash
length as a whole is checked, implicitly ensuring the salt is the right
length. Therefore it shouldn't be possible to trigger the error by
calling this function.
Fixes #93 .
2016-07-27 17:45:33 +02:00
Bodigrim
2dec05f48b
Restore import of <$>
2016-07-24 14:54:22 +02:00
Bodigrim
7e53922f4f
Fix pointMul with negative factor on CurveF2m
2016-07-24 13:40:24 +02:00
Bodigrim
b25df69e26
Speed up squaring 3x (now 10% faster than mul)
2016-07-24 11:00:54 +02:00
Bodigrim
66ae77e805
Fix tests and provide documentation for Crypto.Number.F2m
2016-07-24 11:00:54 +02:00