Skip to content

Tarak/go1.26 cgo only - #44

Draft
tarakby wants to merge 9 commits into
mainfrom
tarak/go1.26-cgo-only
Draft

Tarak/go1.26 cgo only#44
tarakby wants to merge 9 commits into
mainfrom
tarak/go1.26-cgo-only

Conversation

@tarakby

@tarakby tarakby commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

closes #40

  • ECDSA on P-256 is based on Go crypto standard lib implements (no changes)
  • ECDSA on SECp256k1 is based on go-etehereum/crypto/secp256k1
    • this requires cgo, CGO_ENABLED=1, in the past version SECp256k1 did not use cgo
    • signatures generation is now based on RFC6979. The signatures are therefore deterministic. Moreover they are always normalized with a lower S.
    • verification still accepts both low S and high S versions of the valid signature. Although the underlying go-ethereum verification enforces non-malleability (low S only), signatures in this package are still malleable (no change compared to prior versions).

This PR also removes the non-cgo build mode, which is used to build the library without cgo (CGO_ENABLED=0) while disabling BLS. Now that ECDSA secp256k1 also uses cgo, the non-cgo mode has very limited utility and is discontinued.

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.

update to go1.26

1 participant