aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/secp256k1/secp256_test.go
Commit message (Collapse)AuthorAgeFilesLines
* all: unify big.Int zero checks, use common/math in more places (#3716)Felix Lange2017-02-281-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/math: optimize PaddedBigBytes, use it more name old time/op new time/op delta PaddedBigBytes-8 71.1ns ± 5% 46.1ns ± 1% -35.15% (p=0.000 n=20+19) name old alloc/op new alloc/op delta PaddedBigBytes-8 48.0B ± 0% 32.0B ± 0% -33.33% (p=0.000 n=20+20) * all: unify big.Int zero checks Various checks were in use. This commit replaces them all with Int.Sign, which is cheaper and less code. eg templates: func before(x *big.Int) bool { return x.BitLen() == 0 } func after(x *big.Int) bool { return x.Sign() == 0 } func before(x *big.Int) bool { return x.BitLen() > 0 } func after(x *big.Int) bool { return x.Sign() != 0 } func before(x *big.Int) int { return x.Cmp(common.Big0) } func after(x *big.Int) int { return x.Sign() } * common/math, crypto/secp256k1: make ReadBits public in package math
* crypto/secp256k1: sign with deterministic K (rfc6979) (#3561)Felix Lange2017-01-231-0/+18
|
* crypto/secp256k1: update to github.com/bitcoin-core/secp256k1 @ 9d560f9 (#3544)Felix Lange2017-01-131-61/+51
| | | | | - Use defined constants instead of hard-coding their integer value. - Allocate secp256k1 structs on the C stack instead of converting []byte - Remove dead code
* all: fix ineffectual assignments and remove uses of crypto.Sha3Felix Lange2017-01-091-7/+2
| | | | | go get github.com/gordonklaus/ineffassign ineffassign .
* crypto, crypto/ecies, crypto/secp256k1: libsecp256k1 scalar multGustav Simonsson2015-11-301-1/+1
| | | | thanks to Felix Lange (fjl) for help with design & impl
* core/secp256k1: update libsecp256k1 Go wrapper and testsGustav Simonsson2015-11-301-16/+15
|
* crypto/secp256k1: verify recovery ID before calling libsecp256k1Felix Lange2015-11-171-4/+11
| | | | | | | | The C library treats the recovery ID as trusted input and crashes the process for invalid values, so it needs to be verified before calling into C. This will inhibit the crash in #1983. Also remove VerifySignature because we don't use it.
* core/secp256k1: update libsecp256k1 Go wrapper and testsGustav Simonsson2015-10-091-161/+138
|
* all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* all: update license informationFelix Lange2015-07-071-0/+16
|
* Remove the awesome, ever misunderstood entropy mixingGustav Simonsson2015-05-121-10/+10
|
* Added invalid sec key testobscuren2015-02-161-1/+10
|
* Remove secp256_rand.go and update testsGustav Simonsson2015-02-141-10/+11
|
* Moved `obscuren` secp256k1-goobscuren2015-01-221-0/+228