#wallet #vault #ssi #iop #crypto #encryption

iop-keyvault

A general-purpose hierarchical deterministic generator for asymmetric keys

7 releases

0.0.16 Jun 30, 2022
0.0.15 Nov 9, 2021
0.0.12 Mar 16, 2021
0.0.5 Sep 21, 2020
0.0.2 Jul 17, 2020

#2491 in Magic Beans

Download history 34/week @ 2023-12-19 24/week @ 2023-12-26 9/week @ 2024-01-02 48/week @ 2024-01-09 21/week @ 2024-01-16 5/week @ 2024-01-23 5/week @ 2024-01-30 33/week @ 2024-02-06 55/week @ 2024-02-13 25/week @ 2024-02-20 68/week @ 2024-02-27 40/week @ 2024-03-05 62/week @ 2024-03-12 47/week @ 2024-03-19 68/week @ 2024-03-26 94/week @ 2024-04-02

275 downloads per month
Used in 14 crates (13 directly)

LGPL-3.0-or-later

215KB
4K SLoC

Keyvault

Keyvault is a general purpose hierarchical deterministic (HD) generator for asymmetric keys. It is based on the same concepts as a Bitcoin HD-wallet and is built on the same specifications like HD wallets of Bip32, Mnemonic word lists of Bip39 and Purpose fields of Bip43.

Though keyvault is capable of generating wallet addresses as defined in Multi-Account cryptocurrency wallets of Bip44, it is not only an address generator for multiple cryptocurrencies. Keyvault can also derive all the keys you might need in other software stacks and aims to be your all-in-one Swiss Army knife identity manager.

Keyvault can

  • use the same seed to derive keys with multiple cipher suites, currently ed25519 and secp256k1
  • use any purpose field and account hierarchy, not only Bip43 and Bip44
  • handle several purposes (i.e. attached subhierarchies) at the same time
  • be used from other platforms via its C and WebAssembly bindings

Keyvault was originally created as part of the Mercury communication protocol but being a general-purpose tool it was reused in other components as well, hence was separated into its own repository then finally merged into this monorepository.

Dependencies

~10MB
~228K SLoC