Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7c71edf
secp256k1: Add caveats to documentation.
davecgh Jul 9, 2026
80ed947
secp256k1: Add scalar negation algebraic tests.
davecgh Jul 9, 2026
0821659
secp256k1: Add scalar inverse algebraic tests.
davecgh Jul 9, 2026
25d2550
secp256k1: Add scalar half order algebraic tests.
davecgh Jul 9, 2026
e684578
secp256k1: Implement 4x64 ModNScalar.
davecgh Jul 9, 2026
3d41b72
secp256k1: Add scalar reduction proofs.
davecgh Jul 9, 2026
ac88d32
secp256k1: Add width-5 windowed NAF recoder.
davecgh Jul 19, 2026
2e39810
secp256k1: Add wNAF tests.
davecgh Jul 19, 2026
823295d
secp256k1: Add wNAF benchmark.
davecgh Jul 19, 2026
f47e239
secp256k1: Integrate width-5 wNAF in scalar mult.
davecgh Jul 19, 2026
155ec1b
secp256k1: Remove unused NAF code.
davecgh Jul 19, 2026
7d198f2
secp256k1: Move constant time helpers to arith.
davecgh Jul 25, 2026
ebed98d
secp256k1: Add constant time helper tests.
davecgh Jul 25, 2026
9f2a7e3
secp256k1: Move mul/square primitives to arith.
davecgh Jul 25, 2026
7167a0f
secp256k1: Add Mul512 tests.
davecgh Jul 26, 2026
5c1c8cc
secp256k1: Add Square512 tests.
davecgh Jul 26, 2026
d74c9d5
secp256k1: Add arith README.md.
davecgh Jul 26, 2026
322eb99
secp256k1: Add internal cpufeat package.
davecgh Jul 27, 2026
83f3a54
secp256k1: Add cpufeat tests.
davecgh Jul 27, 2026
2a6cfa1
secp256k1: Add cpufeat README.md.
davecgh Jul 27, 2026
f266edf
secp256k1: Use the new internal cpufeat package.
davecgh Jul 27, 2026
18a8ed0
secp256k1: Cleanup field64 benchmarks.
davecgh Jul 27, 2026
ca9c6d2
secp256k1: Rename field64Mul/Square funcs.
davecgh Jul 27, 2026
28a20b8
secp256k1: Separate generic field64 impls.
davecgh Jul 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions dcrec/secp256k1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ structures and functions for working with public and private secp256k1 keys.

In addition, subpackages are provided to produce, verify, parse, and serialize
ECDSA signatures and EC-Schnorr-DCRv0 (a custom Schnorr-based signature scheme
specific to Decred) signatures. See the README.md files in the relevant sub
packages for more details about those aspects.
specific to Decred) signatures. See the README.md files in the relevant
subpackages for more details about those aspects.

## Features

Expand Down Expand Up @@ -95,6 +95,21 @@ secp256k1 elliptic curve cryptography.

The secp256k1 domain parameters are specified in [SEC 2: Recommended Elliptic Curve Domain Parameters](https://www.secg.org/sec2-v2.pdf).

## Caveats

Constant time implementations are designed to eliminate data dependent timing
variation at the algorithmic level. This property depends on the Go compiler
continuing to compile the relevant operations into constant-time machine
instructions.

This package also consistently uses temporary stack allocated buffers which it
attempts to clear in order to reduce the likelihood of sensitive data lingering
in memory, but Go does not guarantee such writes are never optimized away.

Significant effort has been made to ensure correctness including careful review
of the generated assembly, but it is impossible to guarantee exact behavior of
future versions of the Go compiler.

## secp256k1 use in Decred

At the time of this writing, the primary public key cryptography in widespread
Expand Down
55 changes: 0 additions & 55 deletions dcrec/secp256k1/common.go

This file was deleted.

37 changes: 0 additions & 37 deletions dcrec/secp256k1/common_test.go

This file was deleted.

Loading