Commit Graph

216 Commits

Author SHA1 Message Date
Vincent Hanquez
a5b6fdc36e add Argon2 C sources 2017-02-20 11:46:17 +00:00
Vincent Hanquez
343b7593b5 add Constraint for divisibility 2017-02-14 23:01:18 +00:00
Vincent Hanquez
4b5ee83396 revert base back to >= 4.3 2017-02-14 23:01:18 +00:00
Olivier Chéron
d8ed5ce9f1 Add SHAKE128 and SHAKE256 as HashAlgorithm instances
Generalizes SHA-3 code for SHAKE support and uses GHC type-level literals
to keep the output length variable.
2017-02-14 23:01:18 +00:00
Nicolas DI PRIMA
4189aa9389 Port Fast PBKDF2 for sha1 and sha256 2017-02-11 14:08:23 +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
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
Luke Taylor
28ce4ddde6 Remove byteable dependency from test suite
This no longer seems to be used and is liable to make
people think that cryponite provides Byteable instances
when in fact its use is deprecated.
2017-01-01 17:20:20 +00:00
Vincent Hanquez
cb0e06a17b bump version to 0.21 2016-12-17 10:41:20 +00:00
Vincent Hanquez
2a91fe31be add .cabal support for alignment check 2016-12-09 15:04:14 +00:00
Vincent Hanquez
955f010bff add internal proxy type to create witnesses 2016-12-02 15:00:05 +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
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
Brandon Hamilton
548cbb6f79 Implement the XSalsa20 stream cipher 2016-10-09 15:25:31 +02:00
Vincent Hanquez
3c087f0f44 bump version to 0.20 2016-09-15 21:22:18 +01:00
Vincent Hanquez
571486be00 don't use rdrand on windows
fix #99
2016-09-15 20:50:55 +01:00
Vincent Hanquez
f95626dfb5 bump version to 0.19 2016-08-12 07:14:23 +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
Bodigrim
e80eaa56f3 Tests for Crypto.Number.F2m 2016-07-24 10:58:50 +02:00
Vincent Hanquez
ad559e02e6 bump version to 0.17 2016-06-14 08:22:31 +01:00
Vincent Hanquez
dc8bb8934c Merge pull request #77 from khibino/mp
Adding miyaguchi-preneel hash construction
2016-06-13 05:57:44 +01:00
Vincent Hanquez
32aec08dbf [rdrand] limit to i686 and x86_64 2016-06-13 05:51:49 +01:00
Vincent Hanquez
5cf7d08ca6 bump version to 0.16 2016-06-01 08:08:39 +01:00
Yann Esposito (Yogsototh)
92531e8ca6
Just adding an example. Inspired by the Turtle doc 2016-04-28 10:10:10 +02:00
John Galt
9dcef3451d Decoupled -DARCH_X86_64 and support_rdrand 2016-04-21 10:45:23 -07:00
John Galt
cb2440eaa5 Added Ed448 to asymmetric crypto list 2016-04-21 10:32:50 -07:00
John Galt
aa7269c6dc [Curve25519] Enabled 64-bit implementation 2016-04-20 11:23:51 -07:00
John Galt
33ed954fbe Removed unnecessary directives from cabal file 2016-04-20 10:42:15 -07:00
Luke Taylor
e39c849b18 Drop use of 'time' library from OTP implementation
It now exposes a type alias for Word64 and relies on the user to supply
a value for the current time, allowing them to use the time library of
their choice.

Also bump memory dep to 0.12 and use fromW64BE from that library.
2016-04-11 17:52:59 +01:00
Vincent Hanquez
5eb71a90ec bump version to 0.15 2016-04-09 17:16:08 +01:00
Vincent Hanquez
e76d43470d bump version to 0.14 2016-04-09 14:46:14 +01:00
Kei Hibino
a3255c7ab5 Add test suite of MiyaguchiPreneel. 2016-04-04 09:37:34 +09:00
Kei Hibino
5e4b126fc5 Add implementation of MiyaguchiPreneel. 2016-04-03 05:51:07 +09:00
Kei Hibino
b704f2c02a Add test-suite of CMAC. 2016-04-01 19:26:16 +09:00
Kei Hibino
ca0c3830eb Add implementation of CMAC. 2016-04-01 19:25:04 +09:00
Vincent Hanquez
e5748d5edf correct the description of support_rdrand 2016-02-25 07:45:15 +00:00
Vincent Hanquez
cd6d46170f bump version to 0.13 2016-02-21 09:28:41 +00:00
Vincent Hanquez
23a6ad1b35 bump version to 0.12 2016-02-20 06:21:15 +00:00
Vincent Hanquez
6d6a0cbabd bump version to 0.11 2016-02-12 09:46:47 +00:00
Vincent Hanquez
e4989deb4f Merge pull request #66 from haskell-crypto/ed448
Added Ed448-Goldilocks support
2016-02-11 08:02:12 +00:00
Vincent Hanquez
c82785473d Workaround bug with old distributions c99 issue
When in c99 mode (which is needed for some of our newer additions),
old distributions has an glibc inlining bug which triggers lots of
duplicated symbols.

Add a cabal flag to revert the inliner to c89 mode.

Fixes #64
2016-02-10 12:05:42 +00:00
John Galt
a04b56d2a3 Added Ed448-Goldilocks support 2016-02-09 01:22:55 -07: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
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
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
Vincent Hanquez
c2d791f2ec bump version to 0.10 2015-12-24 20:38:52 +00:00
Vincent Hanquez
823940f2d8 Force blake2 sse support on x86_64 (all having SSE2) 2015-12-24 20:38:17 +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
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
fb40e72be4 add support for blake2 in description 2015-11-19 10:01:38 +00:00
Vincent Hanquez
093f1af8e4 Merge pull request #41 from kinoru/master
Fix typo: Kekkak -> Keccak
2015-11-18 15:38:19 +00:00
Vincent Hanquez
2139bb1f1d [tests] quiet down imports warnings 2015-11-16 10:12:34 +00: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
d3ca133ff6 [building] quiet down unused module imports 2015-11-02 11:16:48 +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
Vincent Hanquez
2dbbdc82ff bump version to 0.8 2015-10-11 10:55:04 +01:00
Vincent Hanquez
99814ca8af change URL 2015-10-11 10:50:26 +01:00
Vincent Hanquez
3230f849a0 bump version to 0.7 2015-08-28 17:11:08 +01:00
Vincent Hanquez
676c8e6be1 adjust bounds on memory for BCrypt and add item to CHANGELOG 2015-08-27 10:59:51 +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
Luke Taylor
39d5eb13fe Add bcrypt password hashing and validation API 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
1c0f5e7abf bump version to 0.6 2015-07-25 08:52:34 +01:00
Vincent Hanquez
ce849fb0d2 [ChaChaPoly1305] add implementation and simple KAT test 2015-07-19 17:53:56 +01:00
Vincent Hanquez
db3e180a41 [Random] add a flag to be able to disable rdrand 2015-06-22 14:05:29 +01:00
Vincent Hanquez
56839fcd82 bump version to 0.5 2015-06-21 15:19:42 +01:00
Vincent Hanquez
9877f77bdf bump version to 0.4 2015-06-20 16:22:44 +01:00
Vincent Hanquez
b37ee01636 [random] add a System "DRG" 2015-06-20 15:51:42 +01:00
Vincent Hanquez
0ff53203d0 bump version to 0.3 2015-06-19 11:15:11 +01:00
Vincent Hanquez
e79814cd1d revert merging of version upgrade 2015-06-19 11:07:27 +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
Vincent Hanquez
c7068873c5 bump version to 0.2 2015-06-01 14:35:55 +01:00
Vincent Hanquez
f37618d00f [random] add sysrand base. WIP 2015-06-01 13:37:32 +01:00
Vincent Hanquez
d873564c54 [number] split the serialization to support a more bit banging direct approach 2015-06-01 05:59:54 +01:00
Vincent Hanquez
e2c1b82234 [tests] add first P256 test 2015-05-30 10:38:39 +01:00
Vincent Hanquez
79efec7832 bump version to 0.1 2015-05-23 18:04:42 +01:00
Vincent Hanquez
c0e50547ad [number] remove the need for a random generator for testing primality
a DRG is implicitely created when calling the non gmp primality test
2015-05-23 12:55:29 +01:00
Vincent Hanquez
2b0cdcfd3c add missing modules for tests 2015-05-22 18:43:48 +01:00
Vincent Hanquez
f5f05e34f8 add CHANGELOG 2015-05-22 18:43:22 +01:00
Vincent Hanquez
8eaaa06e1e add optional support for deepseq 2015-05-22 18:35:46 +01:00
Vincent Hanquez
c78e9472b9 improve cabal description 2015-05-22 18:35:27 +01:00
Vincent Hanquez
22c1a1bb7f update memory to 0.2 minimum 2015-05-21 11:06:53 +01:00
Vincent Hanquez
b39283f5f9 add proper cpp defines for architecture instead of using the usual system one 2015-05-21 05:28:27 +01:00
Vincent Hanquez
92343f856a add comments and description 2015-05-20 06:07:31 +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
d035e3a3bc [number] properly handle gmp 2015-05-11 11:39:09 +01:00
Vincent Hanquez
761574a65f [internal] remove old cryptohash modules 2015-05-11 09:34:01 +01:00
Vincent Hanquez
ed8fbe8f69 [Number] add module to cleanup CPP around 2015-05-10 15:27:52 +01:00
Vincent Hanquez
357a296e38 [internal] compile tests with memory is its not built-in.
also move the flag to the end of the library
2015-05-10 07:01:12 +01:00
Vincent Hanquez
9ae9e38ce2 move to memory stuff 2015-05-09 14:23:32 +01:00
Vincent Hanquez
68e3a58be7 import memory as builtin 2015-05-09 14:23:10 +01:00
Vincent Hanquez
6ba517e945 [DES] remove DES.Serialization module 2015-05-06 07:52:49 +01:00
Vincent Hanquez
35ae906755 update version 2015-05-02 07:08:45 +01:00
Vincent Hanquez
e665c619a7 add pclmuldq flag 2015-05-02 06:46:08 +01:00