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

Add bech32_mod to encode/decode 96-byte double public keys #132

Closed
wants to merge 171 commits into from
Closed

Add bech32_mod to encode/decode 96-byte double public keys #132

wants to merge 171 commits into from

Conversation

gogoex
Copy link
Collaborator

@gogoex gogoex commented Nov 25, 2023

This is an intermediate step to address the first 2 tasks in issue #122:

This change adds bech32_mod::Encode that is designed to encode 165-byte 5-bit input vector (after 8-bit to 5-bit conversion and inserting 1-byte separator, 96-byte double public key with 2-byte HRP becomes 165-byte long), and bech32_mod::Decode that is capable of perfectly detecting up to 5 errors with helper functions to convert betwen 8-bit based vector to 5-bit based vector and vice versa.

The process of finding a generator polynomial that is capable of the desired detection capability is discussed in doc/bech32-mod-gen-poly in detail.

@gogoex gogoex closed this Nov 25, 2023
@gogoex gogoex deleted the bech32-mod branch November 25, 2023 05:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant