#solana #secp256r1 #developing #com #facilities #programs #secp256r1-program

clone-solana-secp256r1-program

Precompile implementation for the secp256r1 elliptic curve

1 stable release

new 2.2.2 Apr 30, 2025

#13 in #facilities


Used in 2 crates (via clone-solana-precompiles)

Apache-2.0

120KB
2K SLoC

Instructions for the [secp256r1 native program][np]. [np]: https://docs.solana.com/developing/runtime-facilities/programs#secp256r1-program

Note on Signature Malleability: This precompile requires low-S values in signatures (s <= half_curve_order) to prevent signature malleability. Signature malleability means that for a valid signature (r,s), (r, order-s) is also valid for the same message and public key.

This property can be problematic for developers who assume each signature is unique. Without enforcing low-S values, the same message and key can produce two different valid signatures, potentially breaking replay protection schemes that rely on signature uniqueness.

Dependencies

~2.3–9MB
~90K SLoC