Commit Graph

1181 Commits

Author SHA1 Message Date
Vincent Hanquez
d80a499582 removed bounded names for useless parameter 2016-02-04 07:28:42 +00:00
Vincent Hanquez
4858574955 remove sysrand so that the linker doesn't complain of an empty symbol file on osx 2016-02-04 07:28:22 +00:00
Vincent Hanquez
0849f6d77d comment the WIP sysrand_init 2016-01-16 11:35:25 +00:00
Vincent Hanquez
4fff75d949 update .travis 2016-01-14 19:17:43 +00: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
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
Vincent Hanquez
50631d3150 Add support for blake2s(p) 224 bits 2016-01-09 10:09:35 +00:00
Vincent Hanquez
08edce4ec7 C-Sources are not kept in the order they are defined. fix #58
Cabal links to all C-sources defined unconditionally, then conditionally
append blocks that defined C-Sources; This lead to bug when the order of
.c files are important, like for cabal repl.

Workaround this bug, by defining everything aes related in the
conditional part.
2016-01-05 22:56:29 +00:00
Vincent Hanquez
99049cc66e Merge pull request #53 from kinoru/master
[ChaChaPoly1305] fix type error of example code
2016-01-05 17:49:58 +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
Vincent Hanquez
c2d791f2ec bump version to 0.10 2015-12-24 20:38:52 +00:00
Vincent Hanquez
4875406fe5 update CHANGELOG 2015-12-24 20:38:38 +00:00
Vincent Hanquez
823940f2d8 Force blake2 sse support on x86_64 (all having SSE2) 2015-12-24 20:38:17 +00:00
Vincent Hanquez
e4a856d28b Merge pull request #56 from haskell-crypto/blake2-fix
[blake2] Added reference implementation
2015-12-24 20:34:50 +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
John Galt
26976b1583 [blake2] Added reference implementation
This commit allows the user to select either the portable reference
implementation or the optimized (SSE) implementation.
2015-12-16 07:49:30 -06:00
kinoru
5a2809a0f8 [ChaChaPoly1305] fix type error of example code
The example code had a type mismatch.

    Couldn't match expected type ‘State’
                with actual type ‘CryptoFailable State’
    In the second argument of ‘appendAAD’, namely ‘st1’
    In the second argument of ‘($)’, namely ‘appendAAD hdr st1’

This is due to the following part:

    let st1 = ChaChaPoly1305.initialize key nonce
        st2 = ChaChaPoly1305.finalizeAAD $ ChaChaPoly1305.appendAAD hdr st1

`initialize` returns `CryptoFailable State`, not `State`.

This commit fixes the type mismatch, changes the return type of the
example function to `CryptoFailable ByteString`, and makes the code
to be immediately copy-and-paste-able.
2015-12-03 18:05:04 +00:00
John Galt
323327c9a5 Merge pull request #51 from mpietrzak/master
Add support_blake2 flag.
2015-12-02 11:37:36 -05:00
Maciej Pietrzak
8fd3cf74c5 Mention new support_blake2 flag in CHANGELOG.md. 2015-11-30 23:05:43 +01:00
Maciej Pietrzak
6020bde0e2 Add support_blake2 flag. 2015-11-30 22:17:21 +01:00
Vincent Hanquez
49bcf4f3f7 bump version to 0.9 2015-11-19 14:57:26 +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
69f9d225eb [hash] trim hash algorithm with multiple output size.
The output size is now passed by parameter to the finalize function
instead of being stored in the context. that simplify quite a
bit the passing of this parameter
2015-11-19 11:52:21 +00:00
Vincent Hanquez
ad285be68c [Hash] tweak internal C API to have the hashlen 2015-11-19 11:37:38 +00:00
Vincent Hanquez
f51fdf23ca [Gen] make sure it's harder to confuse bits and bytes, and add safer display operation 2015-11-19 11:08:51 +00:00
Vincent Hanquez
3fc6dd17a9 Separate multiples/simple hash at the type level 2015-11-19 11:00:56 +00:00
Vincent Hanquez
f3edfc70f1 improve the generator code documentation, and be more consitent with the bytes/bits 2015-11-19 10:40:38 +00:00
Vincent Hanquez
fb40e72be4 add support for blake2 in description 2015-11-19 10:01:38 +00: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
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
53270f1ef6 Removed unused language extension 2015-11-16 13:13:18 -05:00
John Galt
320186cdd1 Fix endianness of incrementNonce function for ChaChaPoly1305 2015-11-16 12:59:01 -05:00
Vincent Hanquez
2139bb1f1d [tests] quiet down imports warnings 2015-11-16 10:12:34 +00:00
Vincent Hanquez
f04b99fd68 Merge pull request #45 from centromere/blake2
Added BLAKE2 support
2015-11-16 10:03:46 +00:00
John Galt
4df1ead592 Removed unnecessary code 2015-11-13 15:56:25 -05:00
John Galt
441bef4f46 Updated CHANGELOG 2015-11-13 15:55:20 -05:00
John Galt
64d7dca79a Prevented internal blake2 functions from being exported 2015-11-13 15:49:13 -05:00
John Galt
958e07c5dc Added blake2 source and headers files to sdist 2015-11-12 13:06:04 -05:00
John Galt
880dfae098 Added BLAKE2 support 2015-11-12 12:33:20 -05:00
Vincent Hanquez
da2f445690 [Poly1305] fix size of Authentication tag creation from Bytestring 2015-11-06 22:00:49 +00:00
Vincent Hanquez
7f3b525699 add item to CHANGELOG 2015-11-05 15:04:15 +00:00