secp256k1 0.4.1 copy "secp256k1: ^0.4.1" to clipboard
secp256k1: ^0.4.1 copied to clipboard

Pure secp256k1 signature algorithm implement for dart language which uses pure dart and basic types to represent all matters

0.4.1 #

  • Fix verify to combine points through the infinity-aware _pointAdd, so malformed signatures (e.g. e == 0, or u1*G == -(u2*Q)) return false instead of throwing from the raw affine helpers.
  • isOnCurve takes the curve constant b as an optional parameter (defaulting to the secp256k1 value) instead of always using the global.

0.4.0 #

  • SECURITY (critical): replace private-key and nonce generation. The old getPrivKeyByRand produced low-entropy, structured keys, and sign reused it for the ECDSA nonce — allowing key recovery. Keys are now sampled uniformly from Random.secure(), and the nonce is derived deterministically per RFC 6979 (HMAC-SHA256).
  • SECURITY: sign normalizes to low-S (BIP-62).
  • SECURITY: verify and the uncompressed public-key parser reject points that are not on the curve.
  • Fix inverseMulti: use exact BigInt.modInverse instead of a double-precision quotient that lost precision for 256-bit values.
  • getPointByBig now uses a Montgomery ladder (constant-shape point operations).
  • Add crypto dependency; allow Dart 3.

0.3.0 #

  • implement null safety (from @andrebianchessi)
  • require dart sdk>=2.12.0

0.2.2 #

  • add == operator
  • optimize codes

0.2.1 #

  • Fix PrivateKey.generate()

0.2.0 #

  • Rewrite the interface in OOP

0.1.1 #

  • Add simple docstring
  • Fix prefix of compressed public key hex

0.1.0 #

  • Pass a basic test
  • Initial version, created by Stagehand
11
likes
150
points
1.21k
downloads

Documentation

API reference

Publisher

verified publisherc0mm4nd.com

Weekly Downloads

Pure secp256k1 signature algorithm implement for dart language which uses pure dart and basic types to represent all matters

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

crypto

More

Packages that depend on secp256k1