From 0cc47c7e933c5b1957ad0d7af9f190437bdae709 Mon Sep 17 00:00:00 2001 From: ryan Date: Wed, 17 Jan 2024 21:45:54 -0500 Subject: [PATCH] README: fixup start of document explaining bip39 and bip32 --- README.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fedee5a..d45c448 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,25 @@ # keyfork # An opinionated and modular toolchain for generating and managing a wide range -of cryptographic keys offline and on smartcards from a shared BIP-0039 mnemonic -phrase. +of cryptographic keys offline and on smartcards from a shared [BIP-0039] +mnemonic phrase. BIP-0039 phrases are used to calculate a [BIP-0032] seed, +which is used for hierarchical deterministic key derivation. + +**Note:** The difference between the data encoded in a BIP-0039 mnemonic, and +the BIP-0032 seed, is that a BIP-0039 mnemonic of any length can be used to +generate a BIP-0032 seed of a static length (512 bits). Keyfork makes use of a +BIP-0039 mnemonic and does not accept just a BIP-0032 seed - it will be treated +as the entropy provided for a mnemonic, or rejected outright for being of an +invalid size. Keyfork can be used by organizations and solo users, for the purposes of disaster recovery, cold storage, and reproducibility of private keys and secret -data. Keyfork achieves this by using a BIP-0032 seed loaded into an agent to +data. Keyfork achieves this by loading a BIP-0032 seed into an agent to generate deterministic and unique keypairs. This ensures only the agent has -control over the mnemonic itself, and other components can request -deterministic data. The seed can be split using the Keyfork Shard mechanism, -which utilizes Shamir's Secret Sharing to allow "M-of-N" recovery of the seed. +control over the root seed itself, and other components can request +deterministic data. The BIP-0039 data can also be split using the Keyfork Shard +mechanism, which utilizes Shamir's Secret Sharing to allow "M-of-N" recovery of +the data. All crate licenses are notated using the "license" field in their respective Cargo.toml. As a general rule, As a general rule, crates with binaries are @@ -217,6 +226,8 @@ which can be opened in-browser by running `mdbook serve --open docs`. [`docs`]: /public/keyfork/src/branch/main/docs/src/SUMMARY.md +[BIP-0039]: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki +[BIP-0032]: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki