Commit Graph

122 Commits

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