Commit Graph

174 Commits

Author SHA1 Message Date
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
Vincent Hanquez
d99c430080 allow -rts flags in test suite 2015-05-01 07:36:05 +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
1c8d966d71 [Hash] remove unnecessary modules and not used template 2015-04-28 11:37:42 +01:00
Vincent Hanquez
e52a75af75 add P256 work in progress binding 2015-04-22 10:15:23 +01:00
Vincent Hanquez
e1e449d121 add google's mincrypt p256 2015-04-22 07:07:04 +01:00
Vincent Hanquez
3d46eaea9b add missing headers 2015-04-19 10:22:15 +01:00
Vincent Hanquez
0aaa6a9e9a [Ed25519] Add haskell bindings and tests 2015-04-19 09:24:37 +01:00
Vincent Hanquez
655d8b9c33 [Error] Add new public key error values 2015-04-19 09:24:21 +01:00
Vincent Hanquez
fd13a4f0e2 [Internal] add new hexadecimal dumper in the list of internal module 2015-04-19 09:23:09 +01:00
Vincent Hanquez
5c851e3d01 [ED25519] add ed25519-donna C files 2015-04-18 21:38:04 +01:00
Vincent Hanquez
c9a70b649f [AES] properly split lowlevel from highlevel 2015-04-13 10:31:46 +01:00
Vincent Hanquez
d7186b9a59 wip AES merging 2015-04-13 10:15:55 +01:00
Vincent Hanquez
7f64eae1f3 [Cryptonite] remove temporarily added vector package 2015-04-11 08:27:32 +01:00
Vincent Hanquez
6dcba8d8cd [Internal] properly handle big endian architecture
add a CompatPrim module to handle all the primitive compatibility needed,
instead of putting all in Compat.
2015-04-11 08:23:52 +01:00
Vincent Hanquez
3b966c0995 move boxes to their own private module 2015-04-10 10:42:10 +01:00
Vincent Hanquez
cf9090219e initial array abstraction 2015-04-10 08:29:49 +01:00
Vincent Hanquez
d96d89e4ba start cleaning up Camellia 2015-04-09 07:41:15 +01:00
Vincent Hanquez
ba80bccaf7 add missing tests and module 2015-04-08 22:41:06 +01:00
Vincent Hanquez
b74f7619e4 temporarily export byteArray stuff 2015-04-08 20:40:43 +01:00
Vincent Hanquez
279eebf2c6 fix stuff 2015-04-08 15:52:11 +01:00
Vincent Hanquez
72354397e8 merge all crypto ciphers available. add temporarily a vector dependency 2015-04-08 11:53:41 +01:00
Vincent Hanquez
3b19f768ce add crypto errors standard enumeration and some helper. 2015-04-07 10:56:38 +01:00
Vincent Hanquez
6c4557621c merge crypto-cipher-types 2015-04-06 14:54:46 +01:00
Vincent Hanquez
e74448aeb4 cryptonitize AES, and add foreign function interfaces to it (not exported). 2015-04-05 10:44:23 +01:00
Vincent Hanquez
599024e581 add public key tests 2015-04-03 07:33:16 +01:00
Vincent Hanquez
b556bdb649 add missing modules 2015-04-03 07:33:16 +01:00
Vincent Hanquez
b1e222cf3d merge crypto-pubkey-types and crypto-pubkey
adapt CPRG to MonadRandom
2015-04-03 07:33:16 +01:00
Vincent Hanquez
abb470f8b7 add Crypto.Random abstraction interface 2015-04-03 07:28:07 +01:00
Vincent Hanquez
ac77a20c06 add simple ChaChaRNG 2015-04-03 07:27:44 +01:00
Vincent Hanquez
e409172a1c remove commas in list of exported modules 2015-04-03 07:25:48 +01:00
Vincent Hanquez
5f2aa94355 add AFIS 2015-03-30 15:08:11 +01:00
Vincent Hanquez
3b6c72e242 add bytearray into internal module 2015-03-29 09:09:10 +01:00
Vincent Hanquez
95160dee56 update modules to use more efficient byte array memory allocation and representation for contextes 2015-03-08 15:18:28 +08:00
Vincent Hanquez
41361968f6 add bytes manipulation function 2015-02-15 00:13:51 +00:00
Vincent Hanquez
90d02607ba merge crypto-numbers minus all the random parts 2015-02-09 05:47:11 +00:00
Vincent Hanquez
6259788612 add missing file 2015-02-08 14:51:33 +00:00
Vincent Hanquez
289c488c58 fix READMe not being a source file 2015-02-08 14:43:15 +00:00
Vincent Hanquez
410373ec26 add missing modules 2015-02-08 14:17:59 +00:00
Vincent Hanquez
850d9605e9 update dependencies requirements 2015-02-08 13:17:32 +00:00
Vincent Hanquez
70e2321d95 update architectures of modules to separate IO and mutable parts from the immutable part 2015-02-08 12:03:00 +00:00
Vincent Hanquez
033b9ced81 add support for curve 25519 2015-01-27 06:25:41 +00:00
Vincent Hanquez
ec26f9a25b add initial support for curve25519 2015-01-27 06:20:19 +00:00