Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): Implement Ed25519-BIP32 #127

Merged
merged 112 commits into from Mar 19, 2024
Merged

feat(api): Implement Ed25519-BIP32 #127

merged 112 commits into from Mar 19, 2024

Conversation

bkioshn
Copy link
Contributor

@bkioshn bkioshn commented Feb 15, 2024

Description

Implement Ed25519-BIP32

Related Issue(s)

Closes #101

Description of Changes

Implementation of BIP39

  • Converting Mnemonic and optional passphrase to XPrv SLIP-0023.
  • Generate a new mnemonic from a given mnemonic length, prefix, and language
    • Prefix should be words in BIP39 dictionary and should not be more than 3 words. eg. prefix: good, sun
      Both of the implementations should support mnemonic in various languages including - English, Chinese-simplified, Chinese-traditional, Czech, French, Italian, Japanese, Korean, Spanish.
  • Tests are provided

Implementation of BIP32-Ed25519

  • Getting the public key from an extended private key.
  • Signing a data
  • Check the sign data
  • Deriving new private key from an extended private key given a valid derivational path
  • Tests are provided

Cryptography State Management

  • Map of app name to resources
  • Tests are provided (Thread safe check)

Test vectors uses in this implementation

Please confirm the following checks

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream module

@bkioshn bkioshn added enhancement New feature or request draft Draft labels Feb 15, 2024
@bkioshn bkioshn self-assigned this Feb 15, 2024
@bkioshn bkioshn marked this pull request as draft February 15, 2024 08:27
@bkioshn bkioshn changed the title [WIP] feat(api): Implement Ed25519-BIP32 feat(api): Implement Ed25519-BIP32 Mar 18, 2024
@bkioshn bkioshn marked this pull request as ready for review March 18, 2024 12:51
@bkioshn bkioshn added review me PR is ready for review and removed draft Draft labels Mar 18, 2024
@bkioshn bkioshn requested a review from stevenj March 18, 2024 12:54
Copy link
Collaborator

@stevenj stevenj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@stevenj stevenj merged commit 3a82d46 into main Mar 19, 2024
23 checks passed
@stevenj stevenj deleted the feat/crypto-api branch March 19, 2024 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request review me PR is ready for review
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

🛠️ [TASK] : Cryptography utility API: Hermes Implementation (Rust Module)
4 participants