@@ -74,10 +74,10 @@ For the checksums we use the leftmost 16 bits of a SHA-256 hash digest of the re
When enough M secrets are provided the master secret is reconstructed. To allow an additional protection of the final seed using a passphrase we suggest a following scenario. The passphrase is stretched using a key derivation function. Output is used as an encryption key passed to a symmetric-key cipher. The result of this encryption is the final seed to be used. If no passphrase is provided the passphrase is set to an empty string.
![passphrase](slip-0039/passphrase.png)
This mechanism is intentionally symmetric to allow reconstructing the master secret from the seed in case the passphrase is known.
![passphrase](slip-0039/passphrase.png)
We will use PBKDF2 (PRF = HMAC-SHA256, Salt = "SLIP0039", iterations = 100000, dkLen = 256 bits) as the key derivation function and ChaCha20 as the symmetric-key cipher.
## Versioning
...
...
@@ -97,6 +97,10 @@ Wordlist mandated by this SLIP is [available here](slip-0039/wordlist.txt). Seve
* no word is shorter than 4 letters and longer than 8 letters
* all words have unique 4-letter prefix
## Test Vectors
TBD
## References
*[Secret Sharing Step by Step by Point Software](http://www.pointsoftware.ch/en/secret-sharing-step-by-step/)