Vincent Hanquez
634768b2fa
add Data also to Hash algorithms
2017-02-14 12:02:26 +00:00
Vincent Hanquez
550a689faf
Merge pull request #133 from haskell-crypto/typeable
...
add Typeable for all hash algorithms
2017-02-14 10:37:04 +00:00
Vincent Hanquez
7c33fcedb4
add Typeable to hash algorithm
2017-02-14 10:19:44 +00:00
Vincent Hanquez
e3ef0684f9
Merge pull request #132 from NicolasDP/master
...
Add Fast PBKDF2 for SHA1, SHA256 and SHA512
2017-02-14 09:43:21 +00:00
Nicolas DI PRIMA
002f300021
add fastpbkdf2 with sha512
2017-02-11 14:08:27 +00:00
Nicolas DI PRIMA
4189aa9389
Port Fast PBKDF2 for sha1 and sha256
2017-02-11 14:08:23 +00:00
Vincent Hanquez
d2a8763918
Merge pull request #125 from colatkinson/fix_prime_size
...
Fix generated primes being too large
2017-02-09 07:48:16 +00:00
Vincent Hanquez
e76bbaa8a7
Merge pull request #63 from tekul/otp
...
[For Review] HOTP and TOTP implementation
2017-01-29 20:09:29 +00:00
Olivier Chéron
f832c328d0
Use new module name Crypto.PubKey.Curve448
2017-01-19 20:26:25 +01:00
Olivier Chéron
6d4a2bb707
Rename Ed448 to Curve448
...
This makes the API uniform for both D-H functions, avoids
confusion and leaves the name Ed448 available for EdDSA.
2017-01-19 20:26:25 +01:00
Colin Atkinson
345f4cd141
Fix bug in isProbablyPrime for small numbers
...
Fix bug in isProbablyPrime where too many iterations were specified for numbers less than 100
Add clause to isProbablyPrime to use hardcoded values <= 2903
2017-01-19 00:11:39 -05:00
Colin Atkinson
0cec622ddf
Fix generate(Safe)Prime to guarantee prime size
...
Add check for size in generatePrime
Add size test in generateSafePrime
Require only that top bit is set, instead of top 2
This is the general standard, see e.g. OpenSSL
Add an error for too few bits being supplied to prime generator, and add documentation
Add some documentation and require highest two bits set
Simplify return syntax in generatePrime and generateSafePrime
Switch exponent to bit-shift for small performance boost
2017-01-19 00:10:50 -05: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
4b34abe310
add support For Ed448 in Crypto.ECC. fix #121
2016-12-09 06:42:50 +00:00
Tim McIver
f5efdee75b
Add key length validation to several AES Ciphers.
2016-12-06 22:06:57 -05: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
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