Commit Graph

16 Commits

Author SHA1 Message Date
Vincent Hanquez
ea8cb2d45a [blowfish] remove unnecessary list of word32 for the schedule
Just use the binary's array directly
2015-08-27 10:57:28 +01:00
Luke Taylor
2566e46185 Implement the eksBlowfish function
This modifies the standard blowfish key schedule function to accept an
optional salt and cost as used in bcrypt and modifies the algorithm
accordingly to implement the "expensive" version.

The standard blowfish version is just the same but with a salt value of
zero and a single call to the expandKey function. See the original
bcrypt paper for more details.
2015-08-26 10:33:35 +01:00
Luke Taylor
08ebde2f09 Modify creation of Blowfish key schedule
Changes to create it from an array of Word32, instead of using
mutableArray32FromAddrBE, which seems to reverse the words.
2015-08-26 10:33:35 +01:00
Vincent Hanquez
8eaaa06e1e add optional support for deepseq 2015-05-22 18:35:46 +01:00
Vincent Hanquez
92343f856a add comments and description 2015-05-20 06:07:31 +01:00
Vincent Hanquez
ec4e0c4ed9 remove all the byteArray prefix from byteArray function.
instead expect module import to be qualified for functions.
2015-04-24 06:54:33 +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
d1554b36a6 [Blowfish] remove use of vectors operation in favor of mutableArray and array 2015-04-11 08:03:33 +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
b191ef461c rewrite blowfish core to mostly generate its key schedule in one allocation. 2015-04-11 07:00:21 +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
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