Why Drycat ?
Drycat allows to share a secret between multiple people. Each people will get one part of the secret, but in order to recover the full secret it's need to combine multiple parts (defined by threshold).
The secret by itself can be some piece of text, or in case of a file, it's an encryption key
You can generate more parts than threshold limit and thus give more power to specific people.
When you select a file (so en cryption key), you can mark some parts as mandatory. In this case all mandatory parts are required to get the full secret.
Nevertheless, you still need to reach the threshold in order to combine the full secret.
How to use it
Text
Theory
Main idea is to generate a polynom with order k-1 (k-1 is threshold). Each part of the secret is a pair (i,f(i)) (i > 1), so a point on a curve.
With polynomial interpolation (according we know at least k points, you can compute the point at order 0 which is the secret.
All files are encrypted using AES256-CBC. You can decrypt them with OpenSSL :
openssl enc -aes-256-cbc -d -in <FILE.ENC> -K <SECRET> -iv <UUID> -out <FILE>
GPG
In preferences, user can import its own GPG key or generate a new key pair.
Generate a pair of keys is a feature for ease, but it's strongly recommended to import your own GPG public key (not private).
gpg --export --armor address@mail.com
GPG keys are protected by a user defined password.
If GPG public key is available, secret could be stored on server (but it's optional).
If GPG private key is available, secret will be automatically decoded once loaded.
To decrypt secret from your computer :
gpg --decrypt --armor secret.txt