summaryrefslogtreecommitdiffhomepage
path: root/Tunables.hs
Commit message (Collapse)AuthorAge
* key encryption hash benchmark was off by a factor of 16, fixJoey Hess2016-08-30
| | | | | | f2fa457a7e45721e94a3f5d0307faf874150cdb4 did in fact fix a laziness issue in the benchmark. This explains why restore was taking so long, although I need to re-run a real restore to double-check this.
* Added basic test suite.Joey Hess2016-08-30
|
* Improve time estimates, taking into account the number of cores.Joey Hess2016-08-30
| | | | | This only affects time estimates while keysafe is generating hashes; it does not affect cost estimates to brute-force.
* Tuned argon2 hash parameters on better hardware than my fanless laptop.Joey Hess2016-08-30
| | | | | | | | | | | | | Used a Purism Librem 13. The name generation hash was already ok, but the key encryption key hash was quite off. This is not a total blazing top of the line server, but that's ok; keysafe's hashes are intended to be tuned for commodity hardware. It should not take a user more than an hour to restore a key. The spotAWS value is adjusted because AWS's c4.8xlarge instances run at up to 3.5Ghz, compared with the 2.20Ghz of the Librem 13. Basically it's one Moore's doubling ahead of the reference laptop.
* refactorJoey Hess2016-08-28
|
* http: refuse to store object of unexpected sizeJoey Hess2016-08-28
|
* chunkingJoey Hess2016-08-19
| | | | | This changed the storage format, not that it matters because nobody is using it yet.
* rename shard -> shareJoey Hess2016-08-19
| | | | This makes it clearer that it's not a chunk of data, but a Shamir share.
* allow configuring N and MJoey Hess2016-08-17
| | | | | User has to remember they did this and use the same configuration on restore.
* improve options to select secret key to backup/restoreJoey Hess2016-08-16
|
* add --benchmarkJoey Hess2016-08-16
|
* switch to random salt byte to make decryption expensiveJoey Hess2016-08-16
|
* disable decryption puzzle, at least for nowJoey Hess2016-08-11
| | | | | | | | It only adds 1 minute GPU time to each crack attempt, on top of the 10 minutes CPU time needed to argon2 the password. Since my implementation of the AES puzzle is currently really slow, this is not worth it. Will revisit when I have a faster AES library to use, or a better puzzle.
* don't use IV as puzzle after allJoey Hess2016-08-11
| | | | | | | | Not a good idea to use IV, because all the parts of the IV that are 0 will not obscure the data in the first block at all. Instead, sha256 the password to generate the IV, and keep the puzzle as part of the key.
* guessing puzzle answersJoey Hess2016-08-11
|
* round-tripping now working, except for guessing the puzzleJoey Hess2016-08-11
|
* simplify by using the IV as the puzzleJoey Hess2016-08-11
|
* inline slightly modified version of secret-sharingJoey Hess2016-08-11
| | | | | Needed for efficient serialization of shares, unless upstream takes my suggestion to make the finite field be size 256.
* nearly able to generate shards nowJoey Hess2016-08-11
|
* reorg, and working on serializationJoey Hess2016-08-07
|
* shardingJoey Hess2016-08-07
|
* finish AES decryption puzzle implementationJoey Hess2016-08-07
|
* aws spot instance attack cost estimateJoey Hess2016-08-07
|
* more cost calculation and refactored TunablesJoey Hess2016-08-06