aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/secp256k1/secp256_test.go
Commit message (Collapse)AuthorAgeFilesLines
* crypto/secp256k1: remove external LGPL dependencies (#17239)Péter Szilágyi2018-07-261-14/+25
|
* crypto/secp256k1: unify the package license to 3-Clause BSD (#17225)Péter Szilágyi2018-07-241-15/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Our original wrapper code had two parts. One taken from a third party repository (who took it from upstream Go) licensed under BSD-3. The second written by Jeff, Felix and Gustav, licensed under LGPL. This made this package problematic to use from the outside. With the agreement of the original copyright holders, this commit changes the license of the LGPL portions of the code to BSD-3: --- I agree changing from LGPL to a BSD style license. Jeff --- Hey guys, My preference would be to relicense to GNUBL, but I'm also OK with BSD. Cheers, Gustav --- Felix Lange (fjl): I would approve anything that makes our licensing less complicated ---
* crypto: fix golint warnings (#16710)kiel barry2018-05-091-1/+1
|
* 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