Olivier Chéron
5630efb5f9
Decreased QuickCheck iterations
2016-09-11 18:37:10 +02:00
Olivier Chéron
43233cb911
Double-scalar multiplication using Shamir's trick
2016-09-10 12:05:46 +02:00
Olivier Chéron
5d42d817ec
Add new hash algorithms to ECDSA tests
2016-08-25 18:13:15 +02:00
Olivier Chéron
75d83d75e7
Prepare utility functions for more hash algorithms
2016-08-25 18:11:57 +02: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
e80eaa56f3
Tests for Crypto.Number.F2m
2016-07-24 10:58:50 +02:00
Vincent Hanquez
dc8bb8934c
Merge pull request #77 from khibino/mp
...
Adding miyaguchi-preneel hash construction
2016-06-13 05:57:44 +01:00
Kei Hibino
7989dc71b0
fix unpad of zero-padding and add tests.
2016-06-08 22:57:35 +09:00
Kei Hibino
c2285db4e3
add zero padding and its test.
2016-06-08 22:23:41 +09:00
Kei Hibino
87867b49bc
rename definitions which compute miyaguchi-preneel hash.
2016-06-08 01:13:23 +09:00
Kei Hibino
5e76b8af5f
apply convertFromBase.
2016-06-08 01:05:08 +09:00
John Galt
e2b0e9ee6b
[Ed448] Fixed incorrect base point
2016-04-18 13:25:11 -07:00
Vincent Hanquez
a73c1b9171
[CMAC] drop the accessor in favor of just using the ByteArrayAccess constraint
2016-04-09 10:31:13 +01:00
Kei Hibino
5d96c804ae
Add infered cipher version.
2016-04-08 16:43:55 +09:00
Kei Hibino
3af88f3145
Add smart constructor of MiyaguchiPreneel hash type.
2016-04-08 16:11:17 +09:00
Kei Hibino
f99827c05d
Drop unused imports.
2016-04-07 15:33:00 +09:00
Kei Hibino
4442744b1d
Add the smart constructor of CMAC type.
2016-04-06 09:41:50 +09:00
Kei Hibino
a3255c7ab5
Add test suite of MiyaguchiPreneel.
2016-04-04 09:37:34 +09:00
Kei Hibino
b704f2c02a
Add test-suite of CMAC.
2016-04-01 19:26:16 +09:00
John Galt
a04b56d2a3
Added Ed448-Goldilocks support
2016-02-09 01:22:55 -07:00
Luke Taylor
f2e5942246
Add totpVerify function
...
Also adds a ClockSkew type which limits the acceptable clock skew window
to a limited number of time steps.
2016-01-10 18:19:53 +00:00
Luke Taylor
5217b6dbfd
Add TOTP KAT tests for SHA256 and SHA512
2016-01-04 19:37:03 +00:00
Luke Taylor
0be97fc5ca
Add hash parameter to hotp function
...
While HOTP only mentions SHA1, TOTP allows the use of different hash
functions, which implicitly requires that the HOTP implementation support
them too.
This will also allow users to use HOTP with another hash if they so choose,
though it would not be compatible with most client applications, such as
Google authenticator.
2016-01-04 19:04:38 +00:00
Luke Taylor
47d202a90f
Add TOTParams data type
...
Reduce the arguments to the totp function (most people will use defaults)
and allows validation of the time step value.
Added a top-level module overview.
2015-12-28 17:23:26 +00:00
Vincent Hanquez
43890b1175
Add support for HKDF (RFC 5869)
2015-12-28 14:32:07 +00:00
Luke Taylor
88a2cd80f6
Add TOTP function and KATs
...
Just uses SHA1 for now. HashAlgorithm is ignored.
2015-12-27 19:13:22 +00:00
Luke Taylor
48f0598cc7
Make OTP resynch values a tuple
...
This is clearer than having two separate arguments.
2015-12-27 18:43:00 +00:00
Luke Taylor
c5b3622562
Add an OTP resynchronize function
...
Allows server to reset its counter to the client's current value, given
a sequence of one or more OTP values.
2015-12-20 23:33:52 +00:00
Luke Taylor
476f7c10d5
One-time password (OTP) implementation
...
Initial commit
- Implementation of HOTP algorithm as defined in RFC 4226
- Tests using values from the spec
2015-12-20 23:04:14 +00:00
Vincent Hanquez
812b5d1aed
[blake2] uncapitalize the modules and types as it's not abbreviation.
2015-11-19 14:24:54 +00:00
Vincent Hanquez
081a14326e
[tests] remove duplicated symbol in BCrypt
2015-11-19 14:23:45 +00:00
Vincent Hanquez
fae5f084cf
[Blake2] define the algorithm as a multiple algorithm so that the output digest size is explicit in the digest types.
2015-11-19 12:10:14 +00:00
Vincent Hanquez
6ae67d5c91
Merge pull request #46 from centromere/nonce-fix
...
Fix endianness of incrementNonce function for ChaChaPoly1305
2015-11-18 16:52:27 +00:00
Vincent Hanquez
093f1af8e4
Merge pull request #41 from kinoru/master
...
Fix typo: Kekkak -> Keccak
2015-11-18 15:38:19 +00:00
John Galt
320186cdd1
Fix endianness of incrementNonce function for ChaChaPoly1305
2015-11-16 12:59:01 -05: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
kinoru
558c21491e
Fix typo: Kekkak -> Keccak
...
The SHA-3 winning algorithm's name is Keccak (pronounced "catch-ack"),
not Kekkak.
- <http://keccak.noekeon.org/ >
- <http://www.nist.gov/itl/csd/sha-100212.cfm >
- <https://en.wikipedia.org/wiki/SHA-3 >
2015-10-27 14:56:42 +00:00
John Galt
55c6988a6e
Added support for incrementing Nonces
2015-10-05 14:08:08 -04:00
Vincent Hanquez
b00a1a2553
[tests] expands tabs, and remove redundant binding
2015-08-30 07:49:30 +01:00
Vincent Hanquez
5f72788041
[tests] fix last number test problem
2015-08-27 15:42:08 +01:00
Vincent Hanquez
3af592e997
[tests] make sure we don't use 0 for number parameters
2015-08-27 15:03:07 +01:00
Luke Taylor
a888501bb8
Add bcrypt tests
...
Mostly copied from openwall source, leaving out the unsupported 2x
tests and special bug-related tests for passwords containing 0xFF bytes.
2015-08-26 10:33:36 +01:00
Vincent Hanquez
cd8f70e062
[Padding] add PKCS5/PKCS7 padding/unpadding methods
2015-08-18 12:03:05 +01:00
Vincent Hanquez
8a0bacfc6d
[Poly1305] make initialize explicitely failable
2015-07-29 09:49:49 +01:00
Vincent Hanquez
e064af5cba
[chachapoly1305] properly handle the decryption, and change combine to encrypt.
2015-07-29 07:24:46 +01:00
Vincent Hanquez
169570c963
fix 0 case.
2015-07-29 07:13:04 +01:00
Vincent Hanquez
ce849fb0d2
[ChaChaPoly1305] add implementation and simple KAT test
2015-07-19 17:53:56 +01:00
Vincent Hanquez
58c6efe4c4
[tests] introduce a new checker for hunit based on the property checker
2015-07-19 17:53:07 +01:00
Vincent Hanquez
6e5ad0c640
[tests] reduce the size of the number generated as this basically block the test suite now
2015-07-19 17:52:35 +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
59bc2a9528
[tests] remove unnecessary binding in P256
2015-06-01 13:03:38 +01:00
Vincent Hanquez
6c8ab6b610
[tests] remove unnecessary modules
2015-06-01 13:03:29 +01:00
Vincent Hanquez
69723be05c
[tests] add the reverse of the previous number kat test
2015-06-01 10:46:59 +01:00
Vincent Hanquez
360f4f51dc
[tests] add some vectors for i2ospOf_
2015-06-01 10:41:42 +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
2c112b8877
[tests] generate smaller number in one of the case
2015-06-01 07:47:40 +01:00
Vincent Hanquez
1d383a3d12
[ECC] add a simple property test for point addition
2015-06-01 05:59:08 +01:00
Vincent Hanquez
1634c6bbb5
[tests] add missing extension related to previous commit
2015-06-01 05:58:43 +01:00
Vincent Hanquez
df5ed2a4e9
[tests] add a more elaborate report testing for property checks
2015-06-01 05:58:32 +01:00
Vincent Hanquez
f79081670c
[tests] add better range integer generation. by default the number generated are fairly small.
2015-06-01 05:58:15 +01:00
Vincent Hanquez
3eda859c8d
[test] add marshalling tests for numbers
2015-06-01 05:57:09 +01:00
Vincent Hanquez
e2c1b82234
[tests] add first P256 test
2015-05-30 10:38:39 +01:00
Vincent Hanquez
d0cb713ccb
[tests] only generate prime > 48 bits
2015-05-23 16:22:58 +01:00
Vincent Hanquez
d9913a81f8
[tests] fix generate prime test to only start prime generation above 32 bits
2015-05-23 16:06:02 +01:00
Vincent Hanquez
e989d2a404
[tests] add a test for prime number
2015-05-23 15:55:05 +01:00
Vincent Hanquez
a4baf9383b
[test] add random number generation tests
2015-05-23 11:58:57 +01:00
Vincent Hanquez
ca2ec5a03d
[random] export MonadPseudoRandom
2015-05-23 11:58:36 +01:00
Vincent Hanquez
02956f9ef0
[KDF] move PBKDF2 and Scrypt to not be pinned to ByteString
2015-05-22 15:19:42 +01:00
Vincent Hanquez
1dacb7fa94
[Salsa] opaquify the state just like for hash functions
...
add more tests
2015-05-22 14:04:54 +01:00
Vincent Hanquez
9a69c61e84
[ChaCha] opaquify the state to be handled directly in the C level just like the hash function
...
increase the number of tests
2015-05-22 14:04:27 +01:00
Vincent Hanquez
80b379c98d
cleanup tests, and improve testing of hash algorithms
2015-05-20 07:14:05 +01:00
Vincent Hanquez
987f9e7bb6
[internal] update to latest memory, and remove builtin support as memory is now available
2015-05-18 18:33:14 +01:00
Vincent Hanquez
c5f9ab2d35
[internal] update memory to latest
2015-05-14 10:04:16 +01:00
Vincent Hanquez
26ec954a48
[Cipher] fix salsa and chacha related to chunking
2015-05-12 14:36:50 +01:00
Vincent Hanquez
ffe42392ca
[tests] more refactoring
2015-05-12 14:36:20 +01:00
Vincent Hanquez
5d2e2ce999
[Tests] factorise assertEq
2015-05-12 13:34:12 +01:00
Vincent Hanquez
ec57ecc0a0
[tests] add utility to do random chunking and add a Salsa chunking test
2015-05-12 07:54:27 +01:00
Vincent Hanquez
e6a7cc0dab
[Tests] split ChaCha in own module
2015-05-10 08:00:05 +01:00
Vincent Hanquez
7f39b15e91
[Tests] move Salsa tests
2015-05-10 07:57:20 +01:00
Vincent Hanquez
bdb463cc91
move Poly1305 tests to its own file
2015-05-10 07:50:18 +01:00
Vincent Hanquez
9ae9e38ce2
move to memory stuff
2015-05-09 14:23:32 +01:00
Vincent Hanquez
e82c0524e4
[tests] rename Hash module
2015-05-06 11:48:08 +01:00
Vincent Hanquez
81e335cfff
[HASH] re-enable SHA512t
2015-05-06 07:53:51 +01:00
Vincent Hanquez
c23ddb2eaa
[PBKDF2] make the code more friendly to a future mutable PRF.
...
Prevent doing B.take . B.concat by allocating only once the output buffer
2015-05-03 08:17:03 +01:00
Vincent Hanquez
b28109ecb4
[tests] re-enable poly1305
2015-05-02 15:43:49 +01:00
Vincent Hanquez
09e83a7f68
[hash] fix hash printing
2015-05-02 05:40:47 +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
Vincent Hanquez
ec4e0c4ed9
remove all the byteArray prefix from byteArray function.
...
instead expect module import to be qualified for functions.
2015-04-24 06:54:33 +01:00
Vincent Hanquez
0424d67616
[Curve25519] convert to Bytearray
2015-04-22 06:26:06 +01:00
Vincent Hanquez
0aaa6a9e9a
[Ed25519] Add haskell bindings and tests
2015-04-19 09:24:37 +01:00
Vincent Hanquez
5ea8614999
[AES] tests: remove dead definitions
2015-04-18 07:59:15 +01:00
Vincent Hanquez
03fab98cd2
[AES] add KAT and properties tests for AES128,192,256
2015-04-18 07:33:34 +01:00
Vincent Hanquez
08732c0939
[AEAD] change interface to be less classy (!)
2015-04-18 06:57:18 +01:00
Vincent Hanquez
b93a424c9b
add missing KAT file
2015-04-09 19:59:53 +01:00
Vincent Hanquez
bc306afc1b
[DES] fix serialization
2015-04-09 17:22:57 +01:00
Vincent Hanquez
cf47754776
use more Imports
2015-04-08 22:48:46 +01:00
Vincent Hanquez
39d58bef52
remove tabs
2015-04-08 22:44:28 +01:00
Vincent Hanquez
842d3fd44a
fix some warnings
2015-04-08 22:30:01 +01:00
Vincent Hanquez
386e0e170f
fixup cipher tests
2015-04-08 20:44:20 +01:00