Skip to content

This crate implements BIP32 for Ed25519 according to the paper *BIP32-Ed25519 Hierarchical Deterministic Keys over a Non-linear Keyspace*.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

BitBoxSwiss/rust-bip32-ed25519

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BIP32-Ed25519

This crate implements BIP32 for Ed25519 according to the paper BIP32-Ed25519 Hierarchical Deterministic Keys over a Non-linear Keyspace:

Fork information

This crate contains some code copied from https://github.com/typed-io/rust-ed25519-bip32, especially:

  • The add_28_mul8() and add_256bits() functions.
  • Some parts of the public and private key derivation functions.

This crate deviates from the above project in the following ways:

  • Using RustCrypto libraries for SHA512, HMAC, and Curve25519 operations instead of cryptoxide. Rationale: the primary user of this library, the BitBox02 firmware, already includes RustCrypto dependencies, so reusing these does not grow the firmware binary size unnecessarily.
  • no_std - no dependency on std. There is a dependency on alloc, so an allocator is required.
  • Use of zeroize.
  • Better unit test coverage.

Table tests

In tests/table_test.rs, this implementation is tested to yield the same results as:

About

This crate implements BIP32 for Ed25519 according to the paper *BIP32-Ed25519 Hierarchical Deterministic Keys over a Non-linear Keyspace*.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages