Keysafe securely backs up a gpg secret key or other short secret to the cloud. But not yet. Today's alpha release only supports storing the data locally, and I still need to finish tuning the argon2 hash difficulties with modern hardware. Other than that, I'm fairly happy with how it's turned out.
Keysafe is written in Haskell, and many of the data types in it keep track of the estimated CPU time needed to create, decrypt, and brute-force them. Running that through a AWS SPOT pricing cost model lets keysafe estimate how much an attacker would need to spend to crack your password.
(Above is for the password "makesad spindle stick")
If you'd like to be an early adopter, install it like this:
sudo apt-get install haskell-stack libreadline-dev libargon2-0-dev zenity
stack install keysafe
Run ~/.local/bin/keysafe --backup --store-local
to back up a gpg key
to ~/.keysafe/objects/local/
I still need to tune the argon2 hash difficulty, and I need benchmark data to do so. If you have a top of the line laptop or server class machine that's less than a year old, send me a benchmark:
~/.local/bin/keysafe --benchmark | mail keysafe@joeyh.name -s benchmark
Bonus announcement: http://hackage.haskell.org/package/zxcvbn-c/ is my quick Haskell interface to the C version of the zxcvbn password strength estimation library.
PS: Past 50% of my goal on Patreon!
I am very interested in benchmark results from your 72-way system, especially if it has very fast CPUs. But, be sure to install keysafe from git and not this alpha release, as the hashes being benchmarked have changed and the benchmark improved.
The reason the benchmark does not parallelize is because we want to learn how long it takes to run the operation on a single CPU core.
From there we can estimate that a N core machine can perform N concurrent operations in the same amount of time (or somewhat longer; hyperthreading overheads & etc), and use that in calculating the expected brute-force attack cost.
(Actually, it should parallelize slightly, because argon2 is configured to need to run 4 threads, and those should run on 4 cpus. This is factored into the benchmark; if the system has at least 4 cores, it expects the benchmark to run in 1/4th the time it would on an equivilant single core system.)
Oh, one other thing: It would probably be good to build argon2 from source on the system being benchmarked. It has at least some CPU-specific optimisations that are disabled in the debian build for portability.