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

Additional syscalls for finite field operations #394

Open
aido opened this issue Aug 2, 2023 · 0 comments
Open

Additional syscalls for finite field operations #394

aido opened this issue Aug 2, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@aido
Copy link
Contributor

aido commented Aug 2, 2023

Description

ledger-secure-sdk provides access to the cx_bn_gf2_n_mul() syscall which performs a multiplication over GF(2^n).
Can additional syscalls for other finite field operations such as invert (cx_bn_gf2_n_inv()) and addition (cx_bn_gf2_n_add()) be provided?

As part of my app_seed_tool Ledger application I have functions for performing these finite field operations but Ledger strongly advise against rolling our own crypto primitives (https://developers.ledger.com/docs/embedded-app/secure-app/#dont-roll-your-own-crypto-primitives) and ask to consult with Ledger developers for the possibility of including it in the OS.

Or even better, rather than just additional finite field operations, similar to the recent addition of cx_VSS_generate_shares() and cx_VSS_combine_shares() functions for VSS, can functions like cx_SSS_generate_shares() and cx_SSS_combine_shares() be added for implementing Shamir's Secret Sharing in applications?
Preferably the Shamir Secret Sharing functionality provided by cx_SSS_generate_shares() and cx_SSS_combine_shares() would operate to the standards defined by BlockchainCommons/bc-shamir, which provides similar functionality to SLIP-39 as used by Trezor devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant