Commit Graph

600 Commits

Author SHA1 Message Date
Vincent Hanquez
0fa83e32d8 [ECDH][DH] change SharedKey representation to be the usual bytes-like representation
Prevent mistake when the serialization is not done properly, for example missing
the padding when necessary.
2016-04-09 13:45:05 +01:00
Vincent Hanquez
e29c8a6fe5 [DH] Keep The field size in bits, in Params 2016-04-09 13:41:40 +01:00
Vincent Hanquez
6164968912 update CHANGELOG 2016-04-09 08:46:30 +01:00
Vincent Hanquez
2b0f0dab9c Merge branch 'master' of https://github.com/haskell-crypto/cryptonite 2016-04-09 08:43:07 +01:00
Vincent Hanquez
81d3e31e0b Merge pull request #75 from khibino/cmac
Adding CMAC support
2016-04-09 08:42:40 +01:00
Vincent Hanquez
d7e26e34ee [random] add a seed capability with export/import from integer.
It decomposes the drgNew call that was gathering entropy then
initializing a ChaChaDRG, into 2 new calls seedNew and drgNewSeed.

drgNew remains unchanged.

The integer importing capability, should be used when wanting to bring
reproducibility to a debugging problem or for testing, otherwise it's
probably a bad idea to use.
2016-04-09 08:33:37 +01:00
Kei Hibino
327d75c2d4 Add comments about irreducible binary polynomial. 2016-04-06 11:59:26 +09:00
Kei Hibino
4442744b1d Add the smart constructor of CMAC type. 2016-04-06 09:41:50 +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
149bfa6010 [HKDF] document a bit better extractSkip 2016-03-29 07:17:24 +01:00
Vincent Hanquez
93fad940e4 Improve context memory usage of Keccak and SHA3
saves up to 72 bytes per context for SHA3-512
2016-03-26 10:29:33 +00:00
Vincent Hanquez
f362d50d46 [bcrypt] make the haddock comment reflect what happens to the cost value.
also fix a tpyo
2016-02-25 07:48:30 +00: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
b91c5889fa add to CHANGELOG 2016-02-21 09:28:28 +00:00
Mikael Bung
0ca7afcb87 [SECURITY] Fix a buffer overflow in SHA384
Caused by a difference in the size of the digest
byte array allocated on Haskell side and the
amount of bytes copied to it on the C side.

In cbits/cryptonite_sha512.c:cryptonite_sha384_finalize
SHA384_DIGEST_SIZE bytes is copied into the out buffer.
SHA384_DIGEST_SIZE is #defined as 64 in cbits/cryptonite_sha512.h
while the buffer given will have size 48, as defined in
Crypto/Hash/SHA384.hs.

Defining SHA384_DIGEST_SIZE as 48 fixes the issue.
2016-02-21 09:23:36 +00:00
Vincent Hanquez
23a6ad1b35 bump version to 0.12 2016-02-20 06:21:15 +00:00
Vincent Hanquez
cb1aa842dc update CHANGELOG 2016-02-20 06:21:07 +00:00
Vincent Hanquez
ec130aeca0 x448: set WBITS to 32 bits on 32 bits architectures 2016-02-17 07:05:25 +00:00
Vincent Hanquez
6d6a0cbabd bump version to 0.11 2016-02-12 09:46:47 +00:00
Vincent Hanquez
7a7f3a8c81 release update CHANGELOG 2016-02-12 09:46:31 +00:00
Vincent Hanquez
b07a856127 Merge pull request #62 from clinty/dsa-truncate
Do DSS truncation on verify
2016-02-11 08:04:32 +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
b7d12b957b Add support for AIX in bitfn. 2016-02-07 09:44:45 +00:00
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
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
Vincent Hanquez
43890b1175 Add support for HKDF (RFC 5869) 2015-12-28 14:32:07 +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
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