Commit Graph

246 Commits

Author SHA1 Message Date
Vincent Hanquez
2ecbd5c052 Merge pull request #189 from ocheron/cast5-wordarray
CAST5 block cipher
2017-09-18 21:09:49 +09:00
Olivier Chéron
cdc1a1aa17 Fix link error with OpenBSD and strip --strip-unneeded
Resolves #186
2017-09-17 18:15:00 +02:00
Olivier Chéron
bb2363eea7 Add CAST5 aka CAST-128
Haskell translation of RFC 2144.
2017-09-17 11:28:56 +02:00
Domen Kožar
e7c6dcd107
Link against pthread on Linux
Since we're using pthread_join and pthread_create,
to make the gold linker happy on linux we need to explicitly
link against pthread library.
2017-08-02 11:23:01 +02:00
Vincent Hanquez
1992594f82 bump version to 0.24 2017-07-08 08:15:36 +01:00
Vincent Hanquez
fe2fb33acb remove 7.6 from supported list 2017-07-07 18:10:00 +01:00
Olivier Chéron
099f3405cb Add ECC tests to Other-modules 2017-07-02 18:41:44 +02:00
Olivier Chéron
c80df7ffc3 Merge pull request #173 from remove-blake2-sse-flag 2017-06-22 21:26:48 +02:00
John Galt
1cb7bdfc5f Remove support_blake2_sse flag in favor of support_sse 2017-06-19 08:57:26 -04:00
Olivier Chéron
8d51bce071 Reorder C sources based on symbol dependencies
GHCi dynamic loader processes modules in order and expects to resolve
symbols at each intermediate step.
2017-06-04 19:25:19 +02:00
Olivier Chéron
3c89f0d0b7 Simplify decaf build with Cabal
Keeping only one finite field, header 'f_field.h' can be included
from Cabal standard 'include-dirs'.
2017-06-04 19:25:19 +02:00
Olivier Chéron
961dd63eaf Remove decaf code related to SHAKE
Use cryptonite code instead.
2017-06-04 19:25:19 +02:00
Olivier Chéron
6805ddd4f7 Add support for Ed448
This replaces the Diffie-Hellman API that was previously exported.
2017-06-04 19:25:19 +02:00
Olivier Chéron
6b4621b14f Remove previous X448 implementation
This ensures it is not necessary anymore.
2017-06-04 19:25:19 +02:00
Olivier Chéron
b3d9156846 Added code from decaf library
In sync with upstream commit '0a6e968'.
2017-06-04 19:25:19 +02:00
Vincent Hanquez
f26c02278f bump version to 0.23 2017-04-25 17:21:14 +01:00
Vincent Hanquez
468d8fe582 require memory at least 0.14.5 2017-04-25 16:06:49 +01:00
Vincent Hanquez
67dd8ed7fc [Hash] change Digest to use a foundation UArray that have configurable pinnable memory setting 2017-04-25 14:23:13 +01:00
Vincent Hanquez
4f988181c7 Merge pull request #150 from SamProtas/twofish
Twofish
2017-04-12 07:47:19 +01:00
Sam Protas
762d818ec0 Twofish 192 and 256 bit key support 2017-04-10 00:33:54 -04:00
Sam Protas
b658c8a99b Cleanup and performance 2017-04-04 19:29:40 -04:00
Sam Protas
7eedbaa112 Initial implementaiton with passing tests 2017-04-02 18:34:10 -04:00
Olivier Chéron
762f2d9032 Consolidate cryptonite benchmark code
Enables `cabal bench' or `stack bench' to run benchmarks
that depend only on cryptonite.
2017-03-29 11:38:32 +02:00
Nicolas DI PRIMA
c0c33c5254 Use Nat for the Blake2's digest sizes 2017-03-13 00:24:17 +00:00
Vincent Hanquez
6440a7ebab bump version to 0.22 2017-02-24 18:11:31 +00:00
Vincent Hanquez
ef27301a8f update description 2017-02-24 16:04:24 +00:00
Vincent Hanquez
baa2b6d9c9 extra-doc-files requires cabal 1.18 2017-02-24 16:04:14 +00:00
Vincent Hanquez
75e98e9699 Merge pull request #138 from haskell-crypto/blake2-update
Blake2 & Argon2
2017-02-24 15:31:38 +00:00
Vincent Hanquez
253bf0cb8b Argon2: add working hash function
* Cleanup argon c files:
  * Remove encoded format and base64 encoder
  * Remove verification code
  * Remove all variants based simple caller
* Add basic hashing function
* Add a simple KAT test
* Define more things at the haskell level
2017-02-24 13:37:40 +00:00
cielavenir
ad40f40818 Merged Keccak code into SHA3 2017-02-24 21:04:46 +09:00
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