ufsecp 3.13.1 → 3.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,15 +4,14 @@ High-performance Node.js native addon for secp256k1 elliptic curve cryptography,
4
4
 
5
5
  ## Features
6
6
 
7
- - **ECDSA** sign, verify, recover, DER serialization (RFC 6979)
8
- - **Schnorr** BIP-340 sign/verify
9
- - **ECDH** compressed, x-only, raw shared secret
10
- - **BIP-32** HD key derivation
11
- - **Taproot** output key tweaking (BIP-341)
12
- - **Addresses** P2PKH, P2WPKH, P2TR
13
- - **WIF** encode/decode
14
- - **Hashing** SHA-256 (hardware-accelerated), HASH160, tagged hash
15
- - **Constant-time** — all secret-key operations use CT layer automatically
7
+ - **ECDSA** -- sign, verify, recover, DER serialization (RFC 6979)
8
+ - **Schnorr** -- BIP-340 sign/verify
9
+ - **ECDH** -- compressed, x-only, raw shared secret
10
+ - **BIP-32** -- HD key derivation
11
+ - **Taproot** -- output key tweaking (BIP-341)
12
+ - **Addresses** -- P2PKH, P2WPKH, P2TR
13
+ - **WIF** -- encode/decode
14
+ - **Hashing** -- SHA-256 (hardware-accelerated), HASH160, tagged hash
16
15
 
17
16
  ## Install
18
17
 
@@ -111,15 +110,15 @@ const { outputKeyX, parity } = secp.taprootOutputKey(xOnlyPub);
111
110
  const tweakedPriv = secp.taprootTweakPrivkey(privkey);
112
111
  ```
113
112
 
114
- ## Performance
113
+ ## Architecture Note
115
114
 
116
- Built on hand-optimized C/C++ with platform-specific acceleration (AVX2, SHA-NI, BMI2 on x86; NEON on ARM). All secret-key operations use the constant-time layer no opt-in required.
115
+ Built on hand-optimized C/C++ with platform-specific acceleration (AVX2, SHA-NI, BMI2 on x86; NEON on ARM). The C ABI layer uses the **fast** (variable-time) implementation for maximum throughput. A constant-time (CT) layer with identical mathematical operations is available via the C++ headers for applications requiring timing-attack resistance.
117
116
 
118
117
  | Operation | x86-64 | ARM64 | RISC-V |
119
118
  |-----------|--------|-------|--------|
120
- | ECDSA Sign | 8 μs | 30 μs | |
121
- | kG (generator mul) | 5 μs | 14 μs | 33 μs |
122
- | kP (arbitrary mul) | 25 μs | 131 μs | 154 μs |
119
+ | ECDSA Sign | 8 us | 30 us | -- |
120
+ | kG (generator mul) | 5 us | 14 us | 33 us |
121
+ | kP (arbitrary mul) | 25 us | 131 us | 154 us |
123
122
 
124
123
  ## License
125
124
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ufsecp",
3
- "version": "3.13.1",
3
+ "version": "3.15.2",
4
4
  "description": "Node.js bindings for UltrafastSecp256k1 — high-performance secp256k1 ECC (ufsecp C ABI v1)",
5
5
  "main": "lib/ufsecp.js",
6
6
  "files": ["lib/ufsecp.js", "prebuilds/", "README.md"],
@@ -15,7 +15,7 @@
15
15
  "secp256k1", "ecdsa", "schnorr", "bitcoin", "cryptography",
16
16
  "elliptic-curve", "taproot", "bip32", "ecdh", "ufsecp"
17
17
  ],
18
- "license": "AGPL-3.0-only",
18
+ "license": "MIT",
19
19
  "repository": {
20
20
  "type": "git",
21
21
  "url": "https://github.com/shrec/UltrafastSecp256k1"
Binary file
Binary file
Binary file
Binary file