Deprecate this package #6

Open
opened 2025-12-28 18:14:19 +00:00 by sami · 3 comments
Owner

Originally created by @roman-khimov on GitHub (Feb 14, 2025).

I'm always frustrated when we're maintaining packages we no longer need. Go 1.24 provides RFC6979 ECDSA signatures out of the box.

Describe the solution you'd like

Check how it works, archive this package if it's OK and if it's not slower than this library.

Describe alternatives you've considered

Keep maintaining it.

Additional context

https://github.com/nspcc-dev/neo-go/issues/3812

Originally created by @roman-khimov on GitHub (Feb 14, 2025). ## Is your feature request related to a problem? Please describe. I'm always frustrated when we're maintaining packages we no longer need. Go 1.24 provides RFC6979 ECDSA signatures out of the box. ## Describe the solution you'd like Check how it works, archive this package if it's OK and if it's not slower than this library. ## Describe alternatives you've considered Keep maintaining it. ## Additional context https://github.com/nspcc-dev/neo-go/issues/3812
Author
Owner

@roman-khimov commented on GitHub (Feb 14, 2025):

Notice that crypto/ecdsa returns ASN.1 encoded signature, this can be inconvenient and require some adaptation (see #6 also).

@roman-khimov commented on GitHub (Feb 14, 2025): Notice that crypto/ecdsa returns ASN.1 encoded signature, this can be inconvenient and require some adaptation (see #6 also).
Author
Owner

@roman-khimov commented on GitHub (Feb 19, 2025):

Implementation from core is ~30% slower:

BenchmarkECDSASign-16              60477             18239 ns/op            3779 B/op         52 allocs/op
BenchmarkECDSACore-16              45722             23930 ns/op            4184 B/op         63 allocs/op

It's supposed to be safer though because of constant time functions used instead of big.Int.

@roman-khimov commented on GitHub (Feb 19, 2025): Implementation from core is ~30% slower: ``` BenchmarkECDSASign-16 60477 18239 ns/op 3779 B/op 52 allocs/op BenchmarkECDSACore-16 45722 23930 ns/op 4184 B/op 63 allocs/op ``` It's supposed to be safer though because of constant time functions used instead of `big.Int`.
Author
Owner

@roman-khimov commented on GitHub (Sep 5, 2025):

Leaving this issue open but blocked, core implementation is still slower with Go 1.25 (see #15).

@roman-khimov commented on GitHub (Sep 5, 2025): Leaving this issue open but blocked, core implementation is still slower with Go 1.25 (see #15).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/rfc6979#6
No description provided.