#secp256r1 #signature #public-key #precompile #instructions #elliptic-curve

rialo-s-secp256r1-program

Precompile implementation for the secp256r1 elliptic curve

10 releases

new 0.2.0 Feb 26, 2026
0.2.0-alpha.2 Feb 12, 2026
0.2.0-alpha.0 Jan 29, 2026
0.1.10 Dec 9, 2025
0.1.6 Nov 28, 2025

#1451 in Cryptography

Download history 482/week @ 2025-11-06 356/week @ 2025-11-13 57/week @ 2025-11-20 94/week @ 2025-11-27 47/week @ 2025-12-04 14/week @ 2025-12-11 27/week @ 2025-12-18 29/week @ 2025-12-25 34/week @ 2026-01-01 4/week @ 2026-01-08 13/week @ 2026-01-15 45/week @ 2026-01-22 51/week @ 2026-01-29 24/week @ 2026-02-05 33/week @ 2026-02-12 46/week @ 2026-02-19

154 downloads per month
Used in 20 crates (3 directly)

Apache-2.0

120KB
2K SLoC

Instructions for the secp256r1 native 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

~1.9–4MB
~78K SLoC