Commit Graph

188 Commits

Author SHA1 Message Date
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