Expand description
Secret sharing with authentication
Internally this uses sharks for Shamirs secret sharing.
This is part of a work-in-progress Rust implementation of the Dark Crystal Key Backup Protocol.
Modules
Basic authenticated encryption using xsalsa20poly1305
Structs
Error created when recovery fails
Error created when share fn fails
Functions
Recover a secret from a given set of shares
Combine a set of shares and ciphertext produced by share_authenticated
Give a recommended threshold value for a given number of shares
Create a set of shares for a given secret
Encrypt a secret and create shares of its key. This gives authentication so we know whether recovery was successful It also reduces duplication with long (> 32 bytes) secrets, and improves security when using non-uniformly random secrets such as passwords.
Gives a threshold ‘sanity’ factor, given a threshold and number of shares 0 is ideal. Positive values represent the level of danger of loosing access to the secret. Negative values represent the level of danger of an attacker gaining it.