Commit Graph

201 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
7f64eae1f3 [Cryptonite] remove temporarily added vector package 2015-04-11 08:27:32 +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
b93a424c9b add missing KAT file 2015-04-09 19:59:53 +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
cf47754776 use more Imports 2015-04-08 22:48:46 +01:00
Vincent Hanquez
39d58bef52 remove tabs 2015-04-08 22:44:28 +01:00
Vincent Hanquez
ba80bccaf7 add missing tests and module 2015-04-08 22:41:06 +01:00
Vincent Hanquez
61d940b700 add SecureMem to the disallowed module 2015-04-08 22:38:30 +01:00
Vincent Hanquez
ca5fdb49dc add Byteable to the bad module list 2015-04-08 22:35:21 +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
386e0e170f fixup cipher tests 2015-04-08 20:44:20 +01:00
Vincent Hanquez
10995f7d01 fix DES tests 2015-04-08 20:43:31 +01:00
Vincent Hanquez
3a3b0a6277 fix Camellia tests 2015-04-08 20:43:20 +01:00
Vincent Hanquez
929047bc17 enable Blowfish tests 2015-04-08 20:43:07 +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
b74f7619e4 temporarily export byteArray stuff 2015-04-08 20:40:43 +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