Vincent Hanquez
|
c06edc9591
|
add a byteArrayConvert which copy and returns potentially a different output type
|
2015-04-22 06:25:33 +01:00 |
|
Vincent Hanquez
|
26006dfe25
|
[cleanup] remove useless import now that bytearray is exporting necessary bits
|
2015-04-22 06:25:01 +01:00 |
|
Vincent Hanquez
|
7cd2d2b701
|
[cleanup] replace imports
|
2015-04-22 06:24:12 +01:00 |
|
Vincent Hanquez
|
61ee498643
|
remove further deprecated modules and such
|
2015-04-20 10:56:39 +01:00 |
|
Vincent Hanquez
|
b487aef898
|
cleanup module imports
|
2015-04-20 07:36:51 +01:00 |
|
Vincent Hanquez
|
f86b493e32
|
remove warnings
|
2015-04-20 06:02:12 +01:00 |
|
Vincent Hanquez
|
d7c8835068
|
Merge branch 'ed25519'
|
2015-04-19 09:25:00 +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
|
6e79d33e9f
|
[Internal] Improve Bytes
define Show and Eq instances, and add bytesIndex
|
2015-04-19 09:23:34 +01:00 |
|
Vincent Hanquez
|
3713c585fe
|
[Internal] add a utility to dump byte array in hexadecimal
|
2015-04-19 09:22:41 +01:00 |
|
Vincent Hanquez
|
be42fec6e5
|
[Internal] properly define ByteArrayCopy functions to only requires ByteArrayAccess from the source
|
2015-04-19 09:21:48 +01:00 |
|
Vincent Hanquez
|
da52607d41
|
[internal] make some binding stricter
|
2015-04-19 06:16:31 +01:00 |
|
Vincent Hanquez
|
b28b25abe7
|
[AES] add gcm / ocb support to base AES type
|
2015-04-18 07:58:52 +01:00 |
|
Vincent Hanquez
|
0e9d52de95
|
[Cipher] remove the need for bytestring in Block
|
2015-04-18 06:58:57 +01:00 |
|
Vincent Hanquez
|
d230fc662a
|
[AES] properly define AES128/192/256 variants.
|
2015-04-18 06:58:41 +01:00 |
|
Vincent Hanquez
|
7c138b9d9f
|
[AES] export AEAD modes (GCM/OCB)
|
2015-04-18 06:58:10 +01:00 |
|
Vincent Hanquez
|
8cc58e626b
|
[AEAD] remove AEADState wrapper
|
2015-04-18 06:57:40 +01:00 |
|
Vincent Hanquez
|
08732c0939
|
[AEAD] change interface to be less classy (!)
|
2015-04-18 06:57:18 +01:00 |
|
Vincent Hanquez
|
f686733fc6
|
[Blowfish] Stop using ecb{Encrypt,Decrypt}Legacy stop gap call.
|
2015-04-18 06:55:17 +01:00 |
|
Vincent Hanquez
|
d4213ca731
|
[Internal] Expose first and second over the whole codebase
|
2015-04-18 06:53:23 +01:00 |
|
Vincent Hanquez
|
38b7f6ad73
|
[Internal] Add a function to create a initialized to 0 bytearray
|
2015-04-18 06:52:57 +01:00 |
|
Vincent Hanquez
|
09365a745f
|
[Internal] add a function to set buffer's bytes (i.e. memset)
|
2015-04-18 06:52:27 +01:00 |
|
Vincent Hanquez
|
dc1215dbd7
|
[AES] repair genCounter
|
2015-04-15 11:25:44 +01:00 |
|
Vincent Hanquez
|
cd216f5ee9
|
[internal] add some new function to copy and alloc + ret
|
2015-04-15 11:24:23 +01:00 |
|
Vincent Hanquez
|
3adfa4ab2a
|
rename module properly
|
2015-04-15 11:24:02 +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
|
af0b1ece4d
|
[internal] add documentation and finish implementing various combinator for CryptoFailable
|
2015-04-12 08:18:00 +01:00 |
|
Vincent Hanquez
|
224b34eb2c
|
[cipher] re-enable XTS code
|
2015-04-12 08:05:52 +01:00 |
|
Vincent Hanquez
|
d6f2f7c1c0
|
[Cipher] make xtsGFMul work on arbitrary ByteArray
|
2015-04-12 06:50:54 +01:00 |
|
Vincent Hanquez
|
796bbef3c2
|
[DES] remove unnecessary imports
|
2015-04-11 16:03:42 +01:00 |
|
Vincent Hanquez
|
26fdfcf563
|
[Blowfish] use the key directly without stretching it all over the memory
|
2015-04-11 16:02:45 +01:00 |
|
Vincent Hanquez
|
4247520e91
|
[Internal] add a way to index bytestring
|
2015-04-11 16:02:31 +01:00 |
|
Vincent Hanquez
|
b76a2c135a
|
[DES] fix compat that don't have an instance of Bits for Bool
|
2015-04-11 08:45:04 +01:00 |
|
Vincent Hanquez
|
b08c7a223c
|
Merge branch 'cipher-framework'
|
2015-04-11 08:28:01 +01:00 |
|
Vincent Hanquez
|
8655eb0468
|
[Internal] move all primitives stuff in CompatPrim
|
2015-04-11 08:26:30 +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
|
d1554b36a6
|
[Blowfish] remove use of vectors operation in favor of mutableArray and array
|
2015-04-11 08:03:33 +01:00 |
|
Vincent Hanquez
|
7b597581c2
|
[Internal] add new methods for mutableArray32
|
2015-04-11 08:02:54 +01:00 |
|
Vincent Hanquez
|
c075ae354d
|
[Blowfish] Remove unnecessary imports
|
2015-04-11 07:20:17 +01:00 |
|
Vincent Hanquez
|
a2fb62ffd8
|
[Blowfish] put all the boxes together so we don't need to concat them
also create the vector in one place when mixing with the key
|
2015-04-11 07:18:40 +01:00 |
|
Vincent Hanquez
|
51cdd1bcd8
|
[Internal] add write Xor for mutable array
|
2015-04-11 07:17:49 +01:00 |
|
Vincent Hanquez
|
b191ef461c
|
rewrite blowfish core to mostly generate its key schedule in one allocation.
|
2015-04-11 07:00:21 +01:00 |
|
Vincent Hanquez
|
e0e0d8dafd
|
add mutable array methods
|
2015-04-11 06:59:41 +01:00 |
|
Vincent Hanquez
|
b6f70d5314
|
massively rewrite the core to be more optimised
|
2015-04-10 14:03:28 +01:00 |
|
Vincent Hanquez
|
a1c21f130c
|
move core to map over Word64 view of a byte array directly.
this bring a massive speedup and adapt the core blowfish encryption and
decryption to work on any bytearray without creating a bytestring.
|
2015-04-10 10:43:14 +01:00 |
|
Vincent Hanquez
|
3b966c0995
|
move boxes to their own private module
|
2015-04-10 10:42:10 +01:00 |
|
Vincent Hanquez
|
bb331f94f8
|
remove vector from camellia
|
2015-04-10 09:26:37 +01:00 |
|
Vincent Hanquez
|
0c3a57f573
|
[Internal] actually initialize the array to n, not to 0.
|
2015-04-10 09:26:17 +01:00 |
|
Vincent Hanquez
|
f470196f41
|
replace Vector creation by an already packed Addr#
|
2015-04-10 08:43:42 +01:00 |
|
Vincent Hanquez
|
cf9090219e
|
initial array abstraction
|
2015-04-10 08:29:49 +01:00 |
|
Vincent Hanquez
|
7e8171d9fe
|
add booleanPrim to compat.
|
2015-04-10 08:29:27 +01:00 |
|
Vincent Hanquez
|
fe2f6c33d6
|
add packed representation of some of the list.
|
2015-04-10 07:39:56 +01:00 |
|
Vincent Hanquez
|
7d1b5117a8
|
export some crypto failable combinators
|
2015-04-10 07:23:51 +01:00 |
|
Vincent Hanquez
|
02533b43a7
|
simplify boolean operation
|
2015-04-10 07:23:31 +01:00 |
|
Vincent Hanquez
|
bc306afc1b
|
[DES] fix serialization
|
2015-04-09 17:22:57 +01:00 |
|
Vincent Hanquez
|
7a85896359
|
[Camellia] More refactoring
|
2015-04-09 16:52:21 +01:00 |
|
Vincent Hanquez
|
c00d7b9eca
|
[Camellia] cleanup words handling
|
2015-04-09 07:59:08 +01:00 |
|
Vincent Hanquez
|
67c76c126b
|
[Camellia] remove the need to go through a ByteString to make the key schedule
|
2015-04-09 07:45:13 +01:00 |
|
Vincent Hanquez
|
d96d89e4ba
|
start cleaning up Camellia
|
2015-04-09 07:41:15 +01:00 |
|
Vincent Hanquez
|
f73b0e142e
|
comments some work in progress piece of code with error handling
|
2015-04-08 22:33:39 +01:00 |
|
Vincent Hanquez
|
842d3fd44a
|
fix some warnings
|
2015-04-08 22:30:01 +01:00 |
|
Vincent Hanquez
|
9d0cf74713
|
remove Byteable and unnecessary SecureMem
|
2015-04-08 20:42:43 +01:00 |
|
Vincent Hanquez
|
8d9f493fe2
|
add fast and time constant Eq function for bytearray
|
2015-04-08 20:42:15 +01:00 |
|
Vincent Hanquez
|
7e6f570e49
|
add a LE64 method
|
2015-04-08 20:41:57 +01:00 |
|
Vincent Hanquez
|
21c4c1befb
|
add an instance of Eq for IV
|
2015-04-08 20:41:34 +01:00 |
|
Vincent Hanquez
|
28e64ec8d3
|
remove Byteable in one module
|
2015-04-08 20:41:19 +01:00 |
|
Vincent Hanquez
|
65780e38cb
|
remove unnecessary cast in DES
|
2015-04-08 20:41:06 +01:00 |
|
Vincent Hanquez
|
f31772bd6e
|
swap endianess
|
2015-04-08 20:40:30 +01:00 |
|
Vincent Hanquez
|
32e7eee060
|
add Endian module
|
2015-04-08 15:52:26 +01:00 |
|
Vincent Hanquez
|
279eebf2c6
|
fix stuff
|
2015-04-08 15:52:11 +01:00 |
|
Vincent Hanquez
|
39ee0a4aa2
|
refactor some stuff
|
2015-04-08 14:58:49 +01:00 |
|
Vincent Hanquez
|
ca125f3e66
|
wip
|
2015-04-08 14:12:58 +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
|
3a940a6e2c
|
remove commented code
|
2015-04-08 08:17:45 +01:00 |
|
Vincent Hanquez
|
78d75b2ca2
|
re-add ivAdd
|
2015-04-08 08:08:56 +01:00 |
|
Vincent Hanquez
|
6b70e270e1
|
add Central Imports
|
2015-04-07 10:57:16 +01:00 |
|
Vincent Hanquez
|
6216137f43
|
wip in cipher refactoring
|
2015-04-07 10:56:59 +01:00 |
|
Vincent Hanquez
|
3b19f768ce
|
add crypto errors standard enumeration and some helper.
|
2015-04-07 10:56:38 +01:00 |
|
Vincent Hanquez
|
54ba47384c
|
introduce new byte array operation
|
2015-04-07 10:54:08 +01:00 |
|
Vincent Hanquez
|
6d9317f963
|
first issue found by QA code check. we don't need those extensions there.
|
2015-04-07 06:56:06 +01:00 |
|
Vincent Hanquez
|
fb7855985e
|
reorder extension
|
2015-04-07 06:52:54 +01:00 |
|
Vincent Hanquez
|
6c4557621c
|
merge crypto-cipher-types
|
2015-04-06 14:54:46 +01:00 |
|
Vincent Hanquez
|
abacea200d
|
further fix
|
2015-04-05 12:32:40 +01:00 |
|
Vincent Hanquez
|
6eae9b0557
|
fix warnings
|
2015-04-05 12:19:26 +01:00 |
|
Vincent Hanquez
|
ed4da5734b
|
fix old build
|
2015-04-05 11:17:52 +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
|
c5c04176de
|
remove unnecessary separator
|
2015-04-05 07:47:27 +01:00 |
|
Vincent Hanquez
|
3308ec0d92
|
cleanup extensions in modules
|
2015-04-05 07:47:16 +01:00 |
|
Vincent Hanquez
|
969daf5af1
|
move more compat things into Internal.Compat.
|
2015-04-05 07:46:34 +01:00 |
|
Vincent Hanquez
|
57aa7ce098
|
use more Internal.Compat to get UnsafeDoIO
|
2015-04-05 07:46:18 +01:00 |
|
Vincent Hanquez
|
827407fbed
|
use BinaryPolynomial when it is one in F2m
|
2015-04-03 08:17:47 +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
|
b570388917
|
add simple chacha interface
|
2015-04-03 07:27:19 +01:00 |
|
Vincent Hanquez
|
bae4bcd064
|
add new function. including commented out split for now.
|
2015-04-03 07:26:46 +01:00 |
|
Vincent Hanquez
|
9fd91da855
|
refactor AFIS import list
|
2015-04-03 07:26:25 +01:00 |
|
Vincent Hanquez
|
16d24161e1
|
add a wrapper to memcpy that does the right things with various versions of memcpy
|
2015-04-03 07:26:09 +01:00 |
|
Vincent Hanquez
|
a82a544fec
|
add a simple alias to SecureMem for future refactoring
Signed-off-by: Vincent Hanquez <vincent@snarc.org>
|
2015-04-03 07:25:22 +01:00 |
|
Vincent Hanquez
|
c991abda23
|
fix another old version's memcpy
|
2015-03-30 16:02:00 +01:00 |
|
Vincent Hanquez
|
4a6bfe98fc
|
fix old version
|
2015-03-30 15:50:05 +01:00 |
|
Vincent Hanquez
|
5f2aa94355
|
add AFIS
|
2015-03-30 15:08:11 +01:00 |
|
Vincent Hanquez
|
c3d9570881
|
re-add the primitives to generate primes and test for prime.
|
2015-03-29 10:55:46 +01:00 |
|
Vincent Hanquez
|
d9b16a529e
|
re-enable number generation
|
2015-03-29 10:43:45 +01:00 |
|
Vincent Hanquez
|
be3eacc068
|
ask for Functor for a MonadRandom too.
|
2015-03-29 10:43:24 +01:00 |
|
Vincent Hanquez
|
f3bf67df99
|
add withByteArray
|
2015-03-29 10:43:11 +01:00 |
|
Vincent Hanquez
|
37557af615
|
add length abstraction for byte array
|
2015-03-29 09:16:44 +01:00 |
|
Vincent Hanquez
|
a4d3dc4d10
|
add a simple random abstraction
|
2015-03-29 09:09:55 +01:00 |
|
Vincent Hanquez
|
d9ba6034c4
|
correct haddock
|
2015-03-29 09:08:34 +01:00 |
|
Vincent Hanquez
|
41039c7b5b
|
add a simple abstraction for bytearray allocation+fill
|
2015-03-29 09:00:09 +01:00 |
|
Vincent Hanquez
|
1a8a5aef62
|
remove useless function
|
2015-03-29 08:59:47 +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
|
7d28eb3630
|
add a more efficient types than bytestring.
|
2015-03-08 15:16:55 +08:00 |
|
Vincent Hanquez
|
c2283d51ae
|
make description more precise
|
2015-03-08 15:15:37 +08:00 |
|
Vincent Hanquez
|
bbbbdc4b39
|
use directly compat module instead of Crypto.Hash.Internal
|
2015-02-15 00:39:34 +00:00 |
|
Vincent Hanquez
|
effca93970
|
align dollar sign
|
2015-02-15 00:14:07 +00:00 |
|
Vincent Hanquez
|
41361968f6
|
add bytes manipulation function
|
2015-02-15 00:13:51 +00:00 |
|
Vincent Hanquez
|
b5dbc9caae
|
add internalUpdateUnsafe to process data more efficiently at the expense of threads.
internalUpdateUnsafe, just like internalUpdate update the context, but
does it using the unsafe key word for the ffi binding
|
2015-02-14 23:39:06 +00:00 |
|
Vincent Hanquez
|
90d02607ba
|
merge crypto-numbers minus all the random parts
|
2015-02-09 05:47:11 +00:00 |
|
Vincent Hanquez
|
7c6adacef9
|
add signature to compat popCount
|
2015-02-08 14:41:07 +00:00 |
|
Vincent Hanquez
|
d2a119d1ad
|
add popCount for old version
|
2015-02-08 13:30:10 +00:00 |
|
Vincent Hanquez
|
09e8670b70
|
add bang for unlifted bindings
|
2015-02-08 13:25:04 +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
|
bc75680084
|
fix Kekkak
|
2015-02-08 11:14:20 +00:00 |
|
Vincent Hanquez
|
36ad1997e3
|
update module texts
|
2015-02-08 11:02:42 +00:00 |
|
Vincent Hanquez
|
cd870d4259
|
really fix build issue with ghc 7.4
|
2015-01-27 16:26:01 +00:00 |
|
Vincent Hanquez
|
9754f8b31f
|
add bytestring instances for old ghc
|
2015-01-27 16:04:04 +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 |
|
Vincent Hanquez
|
6f877c84c3
|
create a module to put all the compat necessary for running over a wide range of versions
|
2015-01-27 05:58:06 +00:00 |
|
Vincent Hanquez
|
a98b7548b2
|
fix integral type for older version of memcpy. fix ghc 7.4.x
|
2014-11-09 14:15:55 +00:00 |
|
Vincent Hanquez
|
bd1c010df9
|
just like poly1305, add a way to mac multiple inputs
|
2014-11-09 09:59:35 +00:00 |
|
Vincent Hanquez
|
022f16eeef
|
While it's probably safe, don't use a "pure" bytestring as a buffer.
reallocate a new buffer and copy the old thing inside.
|
2014-10-04 22:37:31 +01:00 |
|
Vincent Hanquez
|
adca793a9f
|
Reorganize entropy interfaces.
* separate pool into a different module
* only export by default a simple gathering function
* export an unsafe module with all the memory methods
|
2014-08-25 08:00:10 +01:00 |
|
Vincent Hanquez
|
1f9d7af56f
|
add a working implementation of scrypt.
|
2014-08-23 16:36:29 +01:00 |
|
Vincent Hanquez
|
903ff726a2
|
add kekkak
|
2014-08-14 13:47:41 +02:00 |
|
Vincent Hanquez
|
c84acf079e
|
add Scrypt placeholder
|
2014-07-27 11:09:45 -07:00 |
|
Vincent Hanquez
|
04912a180a
|
correct a typo in PBKDF2
|
2014-07-27 11:07:59 -07:00 |
|
Vincent Hanquez
|
480ff26a34
|
cleanup in PBKDF2
|
2014-07-23 05:58:22 -07:00 |
|
Vincent Hanquez
|
9c9007c3b0
|
use securemem abstraction and byteable helpers in RC4
|
2014-07-21 11:17:42 +01:00 |
|
Vincent Hanquez
|
f2bfecfa3e
|
add RC4
|
2014-07-21 10:58:42 +01:00 |
|
Vincent Hanquez
|
5097e18d30
|
Merge branch 'entropy'
Conflicts:
cryptonite.cabal
|
2014-07-19 15:07:59 +01:00 |
|
Vincent Hanquez
|
6005eca7bd
|
make the entropy gathering simpler for certain setup, and cleanup a bit
|
2014-07-19 15:06:39 +01:00 |
|
Vincent Hanquez
|
a0ce598e37
|
add PBKDF2
|
2014-07-18 15:26:01 +01:00 |
|
Vincent Hanquez
|
5e23ef92a5
|
add HMAC
|
2014-07-09 13:15:49 +01:00 |
|
Vincent Hanquez
|
4e955ad505
|
merge entropy from crypto-random
|
2014-07-09 08:12:34 +01:00 |
|
Vincent Hanquez
|
09feb59f62
|
merge cryptohash
|
2014-07-07 14:55:55 +01:00 |
|
Vincent Hanquez
|
336093c53b
|
Merge branch 'salsa'
Conflicts:
README.md
cryptonite.cabal
tests/Tests.hs
|
2014-07-07 08:10:31 +01:00 |
|
Vincent Hanquez
|
16eb6fa387
|
Add Salsa20 cipher. most is copied from the ChaCha implementation
|
2014-07-07 08:04:57 +01:00 |
|
Vincent Hanquez
|
7c03f3314b
|
faster one-pass auth call.
|
2014-07-07 04:41:35 +01:00 |
|
Vincent Hanquez
|
c4c0802f80
|
Add working implementation of poly1305 with 1 test vector.
|
2014-07-06 15:44:54 +01:00 |
|
Vincent Hanquez
|
9fd200e407
|
add Poly1305 module (non-exposed)
|
2014-07-06 14:06:20 +01:00 |
|
Vincent Hanquez
|
fb85f8639f
|
initial commit.
|
2014-07-04 14:58:01 +01:00 |
|