summaryrefslogtreecommitdiffhomepage
path: root/ExpensiveHash.hs
Commit message (Collapse)AuthorAge
* updated many dependencies, ghc 8.xJoey Hess2020-02-14
| | | | | | | | | | | | | Updated many dependencies, notably secret-sharing which dropped the dep on polynomial, and so allows building with ghc 8.x. Did not try to support building with older ghc because the semigroup-monid transition would make it nontrivial. Stackage lts-14.25 is a compromise, since the stack shipped in debian (even unstable) is not able to handle newer ones. This commit was sponsored by Eric Drechsel on Patreon.
* Updated to argon2-1.3.Joey Hess2018-03-26
| | | | | | | New parameters are set to the old values and test suite passes so this looks good. This commit was sponsored by Nick Daly on Patreon.
* implement client-server Proof Of WorkJoey Hess2016-09-12
| | | | | | | | | | | | | | | | | | | Mashed up a argon2-based PoW with token buckets and bloom filters. This is intended to prevent a few abuses including: * Using a keysafe server for general file storage, by storing a whole lot of chunks. * An attacker guessing names that people will use, and uploading junk to keysafe servers under those names, to make it harder for others to use keysafe later. * An attacker trying to guess the names used for objects on keysafe servers in order to download them and start password cracking. (As a second level of defense, since the name generation hash is expensive already.) Completely untested, but it builds! This commit was sponsored by Andreas on Patreon.
* commentJoey Hess2016-08-31
|
* make sure to hash a different value each time, to avoid any laziness issuesJoey 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.
* fix calculation of usedcoresJoey Hess2016-08-30
|
* rename varJoey Hess2016-08-30
|
* oopsJoey Hess2016-08-30
|
* fence postJoey Hess2016-08-30
|
* use number of physical cores, not including hyper-threadingJoey Hess2016-08-30
| | | | CPUCost is per physical core
* show estimate for all roundsJoey Hess2016-08-30
|
* improve calcuation of expected time for the key encryption key hashJoey Hess2016-08-30
| | | | Take randomSaltBytes into account rather than hardcoding
* adjust benchmark expected time based on the host's number of coresJoey Hess2016-08-30
| | | | | | The goal of benchmarking the expensive hash is to get an accurate time estimate for a single CPU, but argon2 uses 4 threads, so on a machine with 4 cores, it should only take a quarter as long.
* more polishingJoey Hess2016-08-19
|
* add progress bars to restoreJoey Hess2016-08-17
| | | | also, restore actually works!
* 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
|
* 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
|
* types for new version storage schemeJoey Hess2016-08-10
|
* reorg, and working on serializationJoey Hess2016-08-07
|
* more cost calculation and refactored TunablesJoey Hess2016-08-06
|
* some basic data types and expensive hashingJoey Hess2016-08-06